Caution
This release changes the directory structure used by the Local image storage implementation. If you use this image storage, carefully read the migration notices below before updating to this version!
Caution
This release includes multiple naming-related breaking changes in the Turnierplan.Adapter package.
New Features
- The expiry date of API keys can now be extended after the API key was created.
Further Changes
- Added HTTP response header with turnierplan.NET version (
X-Turnierplan-Version). - Added Terraform deployment scripts for Microsoft Azure (documentation).
- Improved error handling logic in
TurnierplanClient(C# SDK). - Renamed
TurnierplanClientmethods to include 'Async' suffix and renameApiKeyproperty inTurnierplanClientOptionstoApiKeyId. - The
LocalImageStoragenow uses a folder structure identical to the cloud-based image storage implementations.
Migrating from 2026.1
- The
Localimage storage implementation now uses a new directory structure for saving the image files. The migration, which checks for old files and moves them accordingly, is run automatically upon every startup. If you use this image storage (which is the default), create a backup of your images directory before you start 2026.2.0 for the first time and review the startup logs for any warnings or errors.
Full Changelog
- Bump version to 2026.2.0 by @eliaspr in #370
- Remove sonarqube analysis from validate workflow by @eliaspr in #373
- Add security policy (SECURITY.md) by @eliaspr in #372
- Add 'bump-version' script and explicit versions by @eliaspr in #371
- Include version in all responses to authenticated requests by @eliaspr in #374
- Improve error handling logic in TurnierplanClient by @eliaspr in #376
- Refactor authentication logic for better exception handling by @eliaspr in #377
- Fix code smells and update dependencies by @eliaspr in #375
- Add terraform deployment files for Azure by @eliaspr in #378
- API key expiry can be extended by @eliaspr in #381
- Add cancellation token support in TurnierplanClient by @eliaspr in #382
- Pass cancellation token in Turnierplan.Adapter functional tests by @eliaspr in #386
- Update packages to address vulnerability in OpenTelemetry by @eliaspr in #385
- Update pinned versions of workflow steps by @eliaspr in #391
- Adjust naming to include 'Async' suffix in Turnierplan.Adapter by @eliaspr in #393
- Add error handling in bump-version.sh script if a file is missing by @eliaspr in #394
- Update directory structure of local image storage by @eliaspr in #384
- Rename 'ApiKey' property in TurnierplanClientOptions by @eliaspr in #395
- Update 2026.2 splash image and fix vulnerable npm packages by @eliaspr in #396
Full Changelog: 2026.1.0...2026.2.0