Releases: turnierplan-NET/turnierplan.NET
Releases · turnierplan-NET/turnierplan.NET
2025.4.0
Caution
Breaking changes: This release changes the algorithm responsible for determining the tournament rankings. Because of this, the displayed rankings may change when an existing tournament is opened with the new version.
New Features
- Team Rankings: The algorithm for determining the rankings has been re-written and improved. The calculated rankings can also be changed manually if necessary. See #2 for details on the new algorithm.
- Fullscreen Tournament Page: Three new options have been added that can be toggled via query parameters:
- Automatically scroll to the relevant matches when the page is opened or refreshed
- Change the interval of auto-reload with a minimum of 3 seconds
- Display a QR-code which, when scanned, opens the public tournament page
- Team Statistics: The teams table on the tournament page now shows per-team statistics calculated from all matches that the team participated in.
Further Changes
- Added color scheme toggle button in the footer.
- Contact details of applications can now be changed.
- Improved layout of banner image on public tournament page and added drop shadow.
- Improved UI notifications with proper support for color schemes.
- Rotate x-axis labels of 'public page views' chart on folder statistics page to ensure readability with a lot of tournaments.
- Several tables are now scrollable horizontally if their content does not fit in the available screen width.
- Updated to .NET 10 and reduced size of container image by removing unused native libraries.
Bug Fixes
- Fixed issue that could result in stale data shown on tournament class page after new applications are added.
- Fixed offcanvas content not scrollable when the content is too long.
- Fixed organizations being shown with duplicates if the user has multiple role assignments on a single organization.
- Fixed tournament name incorrectly displayed on public page HTML titles if the name contains unicode characters.
Full Changelog
- Bump version to 2025.4.0 by @eliaspr in #220
- Fix application teams with link to other tournament not disabled in dialog by @eliaspr in #223
- Application contact details can be changed by @eliaspr in #225
- Increment numberOfTeams when adding team to existing application by @eliaspr in #229
- Include tournament class name in TeamAdded change log by @eliaspr in #230
- Include tournament class name in TeamRemoved change log by @eliaspr in #231
- Migrate to slnx solution format and update dependencies by @eliaspr in #232
- Add dark mode and adjust some styles accordingly by @eliaspr in #233
- Revert changes to build.yaml from previous commit 7cfb465 by @eliaspr in #238
- Replace ngx-toastr with custom implementation by @eliaspr in #239
- Add minified version of theme switcher on identity pages by @eliaspr in #241
- Always show color theme selector in footer by @eliaspr in #243
- Add configurable auto-reload of fullscreen tournament page by @eliaspr in #242
- Add colored ranking rows on public pages by @eliaspr in #252
- Refactored how rankings are stored in domain model by @eliaspr in #253
- Framework update: .NET 10 by @eliaspr in #260
- Use new C# 14 features + fix code smells by @eliaspr in #261
- Revert accidental test logging statement by @eliaspr in #262
- Update identity page background for next release by @eliaspr in #240
- Fix duplicate organizations and some unrelated required nullable properties by @eliaspr in #266
- Fix build warning and update packages by @eliaspr in #267
- Move repository interfaces into DAL project by @eliaspr in #269
- Add option to display QR code on fullscreen tournament view by @eliaspr in #271
- Fix slight mistake in comment of NumberSchemaTransformer by @eliaspr in #272
- Reduced container image size using runtime-specific publish by @eliaspr in #277
- Rotate tournament labels in public page views chart by @eliaspr in #278
- Make offcanvas scrollable if content is too long by @eliaspr in #279
- Add some 'table-responsive' wrappers to avoid layout issues on mobile by @eliaspr in #280
- Display per-team statistics in the team list page of tournaments by @eliaspr in #281
- Improved layout & styling of banner image on public pages by @eliaspr in #283
- Implement new algorithm for calculating the rankings by @eliaspr in #244
- Copy multiple email adresses to clipboard with commas by @eliaspr in #285
- Improved behavior of copy-to-clipboard component when value is changed by @eliaspr in #287
- Display reason for rankings + minor ranking algorithm improvements by @eliaspr in #288
- Add autoScroll feature on fullscreen tournament page by @eliaspr in #289
- Rankings can be overwritten in the UI by @eliaspr in #291
- Update NuGet and npm dependencies by @eliaspr in #293
- Update Dockerfile to fix issue with missing package by @eliaspr in #295
- Some minor table layout improvements by @eliaspr in #297
- Update shadow on fullscreen tournament when page is loaded by @eliaspr in #298
Full Changelog: 2025.3.1...2025.4.0
2025.3.1
New Features
- Added a dark mode that can be toggled on/off in the user information popover.
Full Changelog
- Bump version to 2025.3.1 by @eliaspr in #234
- Cherry-pick bba481d: SLNX-Migration and dependency updates by @eliaspr in #235
- Cherry-pick 906e8f1: Added dark mode by @eliaspr in #236
- Revert changes to build.yaml from 7cfb465 by @eliaspr in #237
Full Changelog: 2025.3.0...2025.3.1
2025.3.0
Caution
Please review the migration notes below before upgrading to 2025.3.0
Major Changes
- Added planning realms. They can be used to manage team applications and organize tournaments.
- Added an image storage implementation to store images in an Azure Blob Storage container.
- Improved UX on tournament configuration page, especially regarding the groups/teams section.
- Users now have to log in using a dedicated login name instead of their email address which is now optional.
- Users can no longer update their own name and email address. This must now be done by an administrator.
Further Changes & Fixes
- Added an application version banner visible to logged in administrators. This banner notifies you if a new turnierplan.NET version is available.
- Added new layout and styling for the login and change password pages.
- Fixed several incorrect HTML page titles.
- Improved client-side token validity check resulting in no more unnecessary login prompts.
- Improved display of charts on the statistics page using a different chart library.
- Issued access tokens now have a shorter lifetime by default. The artificial delay present in the token refresh endpoint has been removed.
- Removed all limitations on string lengths and increased the image upload size to
8MB. API keys can now be issued for up to 365 days. - Renamed the tournament images to be more generic (now: primary logo, secondary logo and banner image instead of organizer logo, sponsor logo and sponsor banner).
- The match tiles on the match tree page are no longer clickable if he user has no write permission.
- To rename an organization, you now have to have the owner role.
- Updated how external links are displayed on public tournament page.
Migrating from 2025.2.0
- Due to a technical change related to the receipts document configuration, the Show sponsor logo property (which now has a different name) is reset to off for any existing receipts documents.
- As stated above, users now have a dedicated login name they must use to log in instead of their email address. Upon migration, the login name is set to the current user email for all users.
- The
TurnierplanClientOptionsclass in theTurnierplan.AdapterNuGet package no longer contains theUserAgent,DisableIdVerificationandDisableVersionVerificationproperties. Update your usages accordingly.
Full Changelog
- Bump version to 2025.3.0 by @eliaspr in #79
- Fix clickable tiles in match tree even if disallowed by rbac by @eliaspr in #80
- Fix incorrect exception message in IncrementPublicPageViews() method by @eliaspr in #81
- Update external links on public tournament page by @eliaspr in #84
- Remove 'IsMigrated' property from tournament entity by @eliaspr in #85
- Remove string length limitations and loosen other limitations by @eliaspr in #87
- Increase max image upload size to 8MB by @eliaspr in #88
- Remove text length validation from frontend by @eliaspr in #89
- Increase maximum API key validity to 365 days by @eliaspr in #90
- Add first data model and database migration for planning feature by @eliaspr in #86
- First UI elements for planning realms along with various fixes by @eliaspr in #91
- Prevent page reload of DiscardChangesDetector is active by @eliaspr in #97
- Implement UI for configuring invitation links by @eliaspr in #95
- Extract share-link component from share-widget by @eliaspr in #102
- Fix organization delete not working when it has planning realm by @eliaspr in #103
- Fix html title not updated after renaming org/tournament/venue by @eliaspr in #104
- Require owner role for renaming organization by @eliaspr in #105
- Improve how full-width content is displayed with tp-page-frame by @eliaspr in #107
- Add post/get endpoints for applications and start work on applications UI by @eliaspr in #106
- Remove 'MaxTeamCount' property from tournament class by @eliaspr in #108
- Always show 'unsaved changes' even when scrolling down by @eliaspr in #109
- Implement basic version of invitation link public form by @eliaspr in #100
- Improve invitation link delete button and fix bug in update planning realm endpoint by @eliaspr in #110
- Implement applications manager with filter options by @eliaspr in #111
- Implement UI for editing notes of existing applications by @eliaspr in #113
- Use ctrl+enter instead of shift+enter for submitting textarea dialog by @eliaspr in #114
- Rename 'TurnierplanMetadata' class to 'TurnierplanVersion' by @eliaspr in #118
- Add dialog for creating new applications by @eliaspr in #117
- Reworked styling & layout of identity pages by @eliaspr in #119
- Fix incorrect delete behavior in ApplicationTeam entity type configuration by @eliaspr in #120
- Add option to deactivate invitation links by @eliaspr in #121
- Fix incorrect page title on create user page by @eliaspr in #123
- Move nested records in configure tournament endpoint to outer scope by @eliaspr in #124
- Implement linking mechanism between application teams and tournaments by @eliaspr in #125
- Implement image storage adapter for Azure Blob Storage by @eliaspr in #126
- Refactor to-do comments and fix some code smells by @eliaspr in #128
- Fix incorrect token validity check in 'isLogggedIn' method by @eliaspr in #129
- Update to Angular 20 along with other npm packages by @eliaspr in #130
- Migrate to angular standalone components and bootstrapping by @eliaspr in #131
- Remove shared module and fix client app code smells by @eliaspr in #132
- Switch to Apache ECharts for displaying charts by @eliaspr in #134
- Remove 'tools' directory from repository root by @eliaspr in #135
- Fix missing client app files during publish by @eliaspr in #137
- Display ids of organizations, folders and tournaments in UI by @eliaspr in #138
- Use flat folder structure for portal directives by @eliaspr in #139
- Updated NuGet dependencies and removed Xunit.Combinatorial package by @eliaspr in #140
- Add tag on rendered HTML pages by @eliaspr in #143
- Fix duplicated line in EndpointBase by @eliaspr in #145
- Remove redundant Angular module import in main.ts by @eliaspr in #146
- Fix authentication interceptor not working without base url by @eliaspr in #147
- Update proxy.conf.js to include favicon by @eliaspr in #152
- Improved auth handling and reduced access token lifetime by @eliaspr in #153
- Remove ConfigureAwait(false) calls by @eliaspr in #156
- Administrators can modify existing users by @eliaspr in #148
- Rename repository flags enum and fix some code smells by @eliaspr in #157
- Add end-to-end test framework using Cypress by @eliaspr in #136
- Merge e2e job into the 'validate' workflow by @eliaspr in #158
- Remove obsolete badge from readme by @eliaspr in https://github.com/t...
2025.2.0
Caution
Please review the migration notes below before upgrading to 2025.2.0
Notable Changes & Fixes
- Introduced role-based access control system. In addition, administrator users now have full access to all resources.
- Added an alternative implementation for storing image data in AWS S3 or an S3-compatible bucket.
- Improved logging behavior by logging specific categories in INFO level and added a startup ASCII-art.
- Added customizability options for public pages. This includes the option to set logo/title and add links to external imprint/privacy pages.
- Removed some restrictions on the outcomes when reporting matches.
- Added a new configuration option on tournaments which, when enabled, "inverts" the match outcomes such that the team with the higher score loses.
- Fixed nonsensical referee cards being generated if the numer of groups is four.
Migrating from 2025.1.0
- The
ApplicationUrlenvironment variable was renamed toTurnierplan__ApplicationUrl. Please update your configuration accordingly - After the update, no users will have administrator privileges. To fix this, you must change the value of the
IsAdministratorcolumn manually in the database like this (make sure to insert the correct email address):UPDATE turnierplan."Users" SET "IsAdministrator" = true WHERE "EMail" = '<your email>';
Full Changelog
- Fix duplicate test case in TeamSelectorConverterTest by @eliaspr in #38
- Database & backend changes for new RBAC system by @eliaspr in #37
- Bump version to 2025.2.0 by @eliaspr in #41
- Add endpoints for getting and modifying role assignments by @eliaspr in #40
- Fix typo in app-data readme by @eliaspr in #44
- Add UI for viewing & deleting RBAC role assignments by @eliaspr in #42
- Add 'PrincipalId' property for api key and user entities by @eliaspr in #46
- Update build workflow to validate against latest released version by @eliaspr in #49
- Change help text in venue references dialog by @eliaspr in #47
- Add special case for referee cards when group count is 4 by @eliaspr in #51
- Implement UI for adding RBAC role assignments by @eliaspr in #50
- Drop 'Description' property from role assignment entity by @eliaspr in #52
- Ensure consistent ordering of assignment groups by @eliaspr in #53
- Resolve names of role assignment principals by @eliaspr in #54
- Some minor improvements for readme by @eliaspr in #56
- Add new 'Reporter' role and corresponding action by @eliaspr in #58
- Fix UI not updating correctly after resetting 'entry-fee-paid' by @eliaspr in #59
- Remove restriction that match outcome 'AfterPenalties' requires non-draw by @eliaspr in #60
- Fix delete user UI inconsistency and display missing principals by @eliaspr in #61
- Update build workflow to publish container image to GitHub registry by @eliaspr in #63
- Add screenshots of the application in readme by @eliaspr in #65
- Fix wrong text on edit user information page by @eliaspr in #67
- Add startup ASCII art and fine-tune log levels by @eliaspr in #66
- Fix wrong group display names on configure tournament page by @eliaspr in #68
- Add ImageStorage implementation for AWS S3 by @eliaspr in #69
- Require 'Owner' role for deleting an organization by @eliaspr in #62
- Add customizability options through app settings by @eliaspr in #71
- Fix missing error handling in presentation config widget by @eliaspr in #72
- Pass application version along to sonar scanner during validate by @eliaspr in #74
- Implement client-side authorization checks by @eliaspr in #73
- Fix SetTournamentImageEndpoint not working when removing image by @eliaspr in #76
- Add new configuration option 'HigherScoreLoses' by @eliaspr in #39
- Use 'workflow_dispatch' trigger for build workflow by @eliaspr in #78
- Upgrade to Node.js 24 and update dependencies by @eliaspr in #77
Full Changelog: 2025.1.0...2025.2.0