diff --git a/BUILDING.md b/BUILDING.md index 52fb150f3..aa1bb55c5 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -2,7 +2,7 @@ This is a standard Maven project. If you wish, you can build the binaries from this source. -This file describes how to build the program without changing it. If you want to change the code, please see the [Contributing](https://owlcms.github.io/owlcms4/#/Gitpod) documentation for additional information on how to setup a Gitpod or VisualStudio Code environment. +This file describes how to build the program without changing it. If you want to change the code, please see the [Contributing](https://owlcms.github.io/owlcms4-prerelease/#/Gitpod) documentation for additional information on how to setup a Gitpod or VisualStudio Code environment. ### Pre-requisites @@ -30,30 +30,4 @@ This file describes how to build the program without changing it. If you want t There is a Dockerfile in owlcms4top to build owlcms for quick testing to the fly.io cloud (see deploy.sh). Building publicresults would be similar. -When building for the actual release repositories `owlcms-docker` project to build Docker containers using `mvn package`, once the production build has been done. - -### Building official releases - -When building official releases, it is assumed that you have been added as a contributor to the Azure Devops project https://dev.azure.com/jflamy/owlcms4 . - -In order to run a build, - -1. Make sure you are on the branch you want to build. The release number you pick will determine whether the release is sent to the main release repository (if there is no -alpha/-beta/-rc modifier) or to the prereleases repository (if there is a modifier). - - The project typically uses two branches. For version 60, there would be `dev60` for the prereleases, and `main60` for the main releases. - - All releases, whether maintenance or not, are released first as a prerelease. So if there is a fix on release 60.0.0 to be called 60.0.1, there would first be a release 60.0.1-rc01. The results would be pulled back on the dev60 branch, and then merged to the main60 branch (this should be a fast-forward). - - After building main60, the results are merged back to the dev60 branch. Sometimes typos are fixed in the release notes, or similar, so we merge back to get all the tags ang everything back in sync. -2. Edit the `azure-pipeline.yaml` file and the `/owlcms4top/src/main/markdown/ReleaseNotes.md` files. Change the release number in `azure-pipeline.yml` file. - Use the release number as the commit comment (this is for readability, does not actually affect anything) - Commit and Push. -3. Go to the pipelines page https://dev.azure.com/jflamy/owlcms4/_build - Click on the first pipeline listed at the top -4. Use the "Edit" button at the top right. -5. At the left, select the branch you want to build. This should show you the azure-pipeline file, double-check you are on the correct release. -6. Run the build. Note that the page that comes up does NOT refresh automatically (it used to, Azure DevOps bug). To watch the build, click on any of the steps, that second page *does* refresh. -7. Once the build is over, go back to your dev environment and pull. This will bring back the tag just created. -8. If you built a main release, switch to the corresponding dev release and merge as described above. - -Should you need to recreate the pipeline structure and release directories from scratch, the credentials are stored in two locations (depending on who needs them) - -- Most credentials used by the Azure Devops tasks are stored as "Service Connections". These are in the "Project Settings" / "Pipelines" / "Service Connections". These are the ones actually used to push to github or docker. -- Other credentials are used as variables. They are defined in a the pipeline "Library" as a "Variable Group". See https://dev.azure.com/jflamy/owlcms4/_library?itemType=VariableGroups . The same credential may actually have been stored in both locations, for historical reasons. +The current process for actual production builds uses the `owlcms-docker` project to build Docker containers using `mvn package`, once the production build has been done. diff --git a/README.md b/README.md index eed0b4a65..3daf9b9bf 100644 --- a/README.md +++ b/README.md @@ -25,9 +25,9 @@ Yet it is simple enough to setup that you can use it to run a club or regional c ### Licensing and Notes -This is free, as-is, no warranty *whatsoever* software. If you just want to run it as is for your own club or federation, just download from the [Releases](https://github.com/owlcms/owlcms4/releases) repository and go ahead. You should perform your own tests to see if the software is fit for your own purposes and circumstances. +This is free, as-is, no warranty *whatsoever* software. If you just want to run it as is for your own club or federation, just download from the [Releases](https://github.com/owlcms/owlcms4-prerelease/releases) repository and go ahead. You should perform your own tests to see if the software is fit for your own purposes and circumstances. -If you host the software, package it, or modify it, the license *requires* you to make the full sources available, including your modifications and the corresponding building instructions available for free (see the [License](https://github.com/owlcms/owlcms4/blob/master/LICENSE.txt) for details.) You may charge for your services and expertise, but everyone is entitled to the original software and to your modifications for free. +If you host the software, package it, or modify it, the license *requires* you to make the full sources available, including your modifications and the corresponding building instructions available for free (see the [License](https://github.com/owlcms/owlcms4-prerelease/blob/master/LICENSE.txt) for details.) You may charge for your services and expertise, but everyone is entitled to the original software and to your modifications for free. ### Authoring and Software Acknowledgments diff --git a/ReleaseNotes.md b/ReleaseNotes.md index 1c721f7de..9c156bb08 100644 --- a/ReleaseNotes.md +++ b/ReleaseNotes.md @@ -1,50 +1,30 @@ -> [!IMPORTANT] +> [!WARNING] > -> - You should test all releases, with actual data, *several days* before a competition. -> - It is always wise to export your current database before updating if it contains important data. +> - This is a release candidate [(see definition)](https://en.wikipedia.org/wiki/Software_release_life_cycle#Release_candidate), used for final public testing and translation. *It is still a preliminary release* +> - You should test all releases, with actual data, *several days* before a competition. This is especially important when considering the use of a release candidate. -- Maintenance log +- Maintenance log: + - rc02: fix issue with liftType published during event forwarding to public results and video information feeds. + - rc01: Translations for de, dk, ro, hu, pt, fr + - beta04: Fixed an empty cell in the translation file that was preventing languages from being loaded. + - beta03: Fixed the propagation of the selected Best Athlete scoring system to the classes that need to know (e.g. Athlete) + - beta02: Changed the standard final package templates to use the selected Best Athlete scoring system + - beta02: Updated the Result Documents documentation. + - beta01: Jury sheets no longer have a forced page break. Scoring sheet in a second tab. + - beta01: Updated translations to use Q-Youth and Q-Masters for the Huebner age+bodyweight scaled totals. +- Ability to override the Best Athlete scoring system + - On the competition results page, it is possible to select a scoring system that will be shown in the grid. This allows computing the best athlete for a championship using a different scoring system (for example, using Q-youth age-adjusted totals for a Youth Championship) + - The standard templates have been updated to use the Best Athlete scoring system selected if one is picked (the default is the competition global best athlete scoring system) +- Children Categories Bar Rules + - The feature flag `lightBarU13` selects using the 15kg bar for boys in the U11 and U13 categories. This is the same as removing the 20kg bar for younger boys age groups. However, if an athlete needs the 20kg bar, the "Non-Standard bar" feature can be used. +- Support for Q-masters results + - Q-masters is like SM(H)F but based on Q-points instead of Sinclair. It is Q-points * the same age factor as SM(H)F + - The default templates for Masters protocols, result sheets and competition books now show the Q-masters value in addition to the SM(H)F. +- Import of External Session Results: the following is now possible + - If a session needs to be run outside or in another building a) perform weigh-in normally and enter data normally in the main database. b) Export the main database and load it into the owlcms running in the other building c) Run the session, export the remote database c) Use the new feature at the bottom of the Results page to selectively read back the lifts from the remote session. + - Only the lift information is read back. Note that owlcms follows the rules and will determine winners according to the lifting order that would have been followed had all sessions taken place normally. +- jxls3 Templates + - In the top cell, where `jx:area` is given, it is now possible to add a directive of the form `owlcms:fixMerges(4, [1, 2, 3])` This would merge cells vertically in columns 1, 2, 3, starting with row 4. The cells are merged from the non-empty value down to the next non-empty cell. This is a workaround for a limitation/bug in jxls3. See the `templates/schedule/DaySchedule.xlsx` file for an example. +- Locale: fixed a race condition where pages would load before it was determined that the application should switch to English because there is no translation for the local language. - - 52.0.6 - - Weigh-ins and registrations - - When weight is cleared and category is defined, don't reset eligibilities needlessly - - When a super-heavyweight athlete from a youth age group weighs in, correctly recompute the participation in older age groups if eligible. - - Record Exports. Fix: The file produced by an export records definition could not be read back as is. - - Break Timers: if a short CJ break was running, it was not cancelled if a longer break was started manually - - Medal Schedule: Added a new template that lists, for each category, when the medals will be handed out (computes when the last athlete from that category is done) - - 52.0.5 - - Publicresults: improved traces and exception catching for cleaner logs. - - Competition Results: - - Recalculate Ranks now recomputes the global best lifter ranking according to the selected global scoring system - - The championship category names are now used when producing the result sheet for a specific championship. Each athlete appears once under the most specific category he is registered in that championship. - - Updated the Scores templates. This is used when Age-Group-Specific scores are used. Now shows the global "Best Lifter" scores as well. - - 52.0.4 - - Fix: If "Medals according to score" or "Show Score on Scoreboard" are selected, then the global Scoring System is displayed on the scoreboard (as was the case in previous release) - - (Advanced usage note) If an AgeGroup-specific scoring system has been defined using the AgeGroups file, then the score and rank columns are automatically shown for any session in which such an age group is present, and the specific rankings are used instead of the global one. - - Translations (ru) - - 52.0.3 - - Publicresults: fixed memory allocation configuration for using large containers in large competitions (ex: 200 simultaneous viewers of scoreboards for 3 simultaneous platforms) - - owlcms: fixed occasional extra notification of weight changes to the announcer. - - owlcms: ${athlete.categoryFinished} can now be used in results templates (those used in the Session Results page). When producing interim results, this variable can be used to hide athlete ranks in categories where some athletes have finished but others still need to lift. - - 52.0.2 The new faster SBDE (Start Book Data Entry) full export was not correctly exporting the session information, now fixed. - - 52.0.2 Fixed formatting for schedules, restored the DaySchedule with individual age groups. - - 52.0.1 Overzealous check was preventing some customized schedules from printing. -- **MIGRATION NOTES** - - If you have created your own document templates, or if you created a "kit" of local documents for your federation, some templates have been moved to more specific folders and you may need to move your own templates. Install a clean copy of the application and look at the locations in `local/templates`. Use the updated `Prepare Competition > Documents` page to check that the buttons show your templates. -- Documents: New and Improved Documents page - - All documents needed to prepare and run the competition are here (Results are still on their own page). - - The Competition-wide documents such as the Start List are handled as in the previous versions. - - Documents like the Athlete Cards can be produced for one or more sessions. If more than one session is selected, a zip file is produced, otherwise the Excel is produced. - - Document sets can be produced, for example, a weigh-in form together with the cards. When a document set is selected, a zip file is produced. The document set can be produced for one or more sessions. - - If more than one copy of a document is needed (for example, two weigh-in forms for each session), you can adjust your template by duplicating the tab. Same for jury forms if you want to avoid printing 3 copies manually. - - Schedule: - - added a Simple schedule template that uses the description of the sessions. - - A more sophisticated DaySchedule template shows age groups and bodyweight categories, now available in local languages. -- Scoreboards: - - Fix: Immediately after the 3rd snatch, while the decision lights were shown, the bottom line of the scoreboard would be stretched. Now fixed. -- SBDE export: - - Converted the template to jxls3, resulting in massive speed improvement (~7 seconds for 1000 athletes). - - - -For other recent changes, see [version 50 release notes](https://github.com/owlcms/owlcms4/releases/tag/50.0.0) and [version 51 release notes](https://github.com/owlcms/owlcms4/releases/tag/51.0.0-rc02) +For other recent changes, see [version 51 release notes](https://github.com/owlcms/owlcms4/releases/tag/50.0.0) and [version 52 release notes](https://github.com/owlcms/owlcms4/releases/tag/52.0.6) diff --git a/Releases.md b/Releases.md index 5a2930951..30b19cbf5 100644 --- a/Releases.md +++ b/Releases.md @@ -4,6 +4,6 @@ There are two release channels: one repository contains stable releases, the sec | | STABLE releases | PRELIMINARY releases | | :----------------------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | -| **Local Setup** This installs the `owlcms` program to run a competition locally, on a master laptop. No internet access is needed. | | | -| **Cloud-based Setup** This installs the `owlcms` competition management software in the cloud. Good internet access is needed but no local software is needed. The `publicresults` companion program allows individuals to see the scoreboard on their own phone or tablet no matter where they are located. | | | +| **Local Setup** This installs the `owlcms` program to run a competition locally, on a master laptop. No internet access is needed. | | | +| **Cloud-based Setup** This installs the `owlcms` competition management software in the cloud. Good internet access is needed but no local software is needed. The `publicresults` companion program allows individuals to see the scoreboard on their own phone or tablet no matter where they are located. | | | | Documentation | [Documentation site](https://owlcms.github.io/owlcms4/#/index) | [Documentation Site](https://owlcms.github.io/owlcms4-prerelease/#/index) | \ No newline at end of file diff --git a/docs/Downloads.md b/docs/Downloads.md index eb6563049..1d9171767 100644 --- a/docs/Downloads.md +++ b/docs/Downloads.md @@ -2,9 +2,9 @@ Several options are available for installation, depending on your needs. Additio | | | | ------------------------------------------------------------ | ------------------------------------------------------------ | -| **Local Setup**
This installs the `owlcms` program to run a competition locally, on a master laptop. No internet connection is needed. | file_download **[Windows Installer](https://github.com/owlcms/owlcms4/releases/download/52.0.6/owlcms_setup_52.0.6.exe)**
file_download[Zip for Mac, Linux or Raspberry](https://github.com/owlcms/owlcms4/releases/download/52.0.6/owlcms_52.0.6.zip) | -| **Cloud-based Setup**
This installs the `owlcms` competition management software in the cloud. Good internet access is needed but no local software is needed. The `publicresults` companion program allows individuals to see the scoreboard on their own phone or tablet no matter where they are located. | | -| **Documentation** | [Documentation site](https://owlcms.github.io/owlcms4/#/index) | +| **Local Setup**
This installs the `owlcms` program to run a competition locally, on a master laptop. No internet connection is needed. | file_download **[Windows Installer](https://github.com/owlcms/owlcms4-prerelease/releases/download/53.0.0-rc02/owlcms_setup_53.0.0-rc02.exe)**
file_download[Zip for Mac, Linux or Raspberry](https://github.com/owlcms/owlcms4-prerelease/releases/download/53.0.0-rc02/owlcms_53.0.0-rc02.zip) | +| **Cloud-based Setup**
This installs the `owlcms` competition management software in the cloud. Good internet access is needed but no local software is needed. The `publicresults` companion program allows individuals to see the scoreboard on their own phone or tablet no matter where they are located. | | +| **Documentation** | [Documentation site](https://owlcms.github.io/owlcms4-prerelease/#/index) | Note: the table above matches the repository you are looking at. If you are looking at the stable release documentation, the links will take you to stable releases, and if you are looking at the prerelease documentation, the links will take you to the preliminary release. If you need the other kind, please use the following links: diff --git a/docs/LocalLinuxMacSetup.md b/docs/LocalLinuxMacSetup.md index f466ee7a2..1e1234c28 100644 --- a/docs/LocalLinuxMacSetup.md +++ b/docs/LocalLinuxMacSetup.md @@ -4,7 +4,7 @@ ## Installation -- **Get the installation zip archive**: Get the current **[`owlcms_setup_52.0.6.zip`](https://github.com/owlcms/owlcms4/releases/download/52.0.6/owlcms_setup_52.0.6.zip)** file. Installation files are available as assets at the bottom of each release in the [release repository](https://github.com/owlcms/owlcms4-prerelease/releases/latest) . +- **Get the installation zip archive**: Get the current **[`owlcms_setup_53.0.0-rc02.zip`](https://github.com/owlcms/owlcms4-prerelease/releases/download/53.0.0-rc02/owlcms_setup_53.0.0-rc02.zip)** file. Installation files are available as assets at the bottom of each release in the [release repository](https://github.com/owlcms/owlcms4-prerelease/releases/latest) . > Tip: [This page](RaspberryInstall) illustrates the sequence of steps on a RaspberryPI and may help you follow along since the process is similar for the other platforms. diff --git a/docs/LocalWindowsSetup.md b/docs/LocalWindowsSetup.md index bc8a1f602..8808af1fa 100644 --- a/docs/LocalWindowsSetup.md +++ b/docs/LocalWindowsSetup.md @@ -1,6 +1,6 @@ ## Windows Installation -- **Windows Installer** : Get the current [`owlcms_setup_52.0.6.exe`](https://github.com/owlcms/owlcms4/releases/download/52.0.6/owlcms_setup_52.0.6.exe) file (located in the `assets` section at the bottom of each release in the [release repository](https://github.com/owlcms/owlcms4/releases/latest) ). +- **Windows Installer** : Get the current [`owlcms_setup_53.0.0-rc02.exe`](https://github.com/owlcms/owlcms4-prerelease/releases/download/53.0.0-rc02/owlcms_setup_53.0.0-rc02.exe) file (located in the `assets` section at the bottom of each release in the [release repository](https://github.com/owlcms/owlcms4-prerelease/releases/latest) ). - Download and open the installer > You may get false alarms about the software being potentially dangerous. *Rest assured that it is absolutely not*. Use the `...` and dropdown menu options to get and keep the downloaded files anyway. > diff --git a/pom.xml b/pom.xml index eaa56f20b..bf91e566e 100644 --- a/pom.xml +++ b/pom.xml @@ -30,7 +30,7 @@ - 53.0.0-SNAPSHOT + 53.0.0-rc02 24.4.10 1.4.14 diff --git a/version.txt b/version.txt index e076d839c..89aa393a4 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -52.0.6 \ No newline at end of file +53.0.0-rc02 \ No newline at end of file