Releases: osu-tournament-rating/otr-api
Releases · osu-tournament-rating/otr-api
v1.0.0-alpha.6
v1.0.0-alpha.5
What's Changed
Breaking Changes ⚠️
- Field renames by @hburn7 in #349
- Change naming of all screening classes/fields/strings to filtering by @hburn7 in #412
- Use oriented deisgn in
PlayersController
by @hburn7 in #443 - Add tournament pagination by @hburn7 in #436
- Remove
system
client permission by @hburn7 in #461
New Features ✅
- Access layer for admin notes by @myssto in #431
- More swagger improvements by @myssto in #454
- Admin notes/tournament endpoints by @myssto in #433
- Add endpoints and relationships for MatchAdminNotes + TournamentAdminNote relationship fixes by @hburn7 in #456
- Add endpoints and relationships for GameAdminNotes by @hburn7 in #457
- Add endpoints and relationships for PlayerAdminNotes by @hburn7 in #459
- Add endpoints and relationships for GameScoreAdminNotes by @hburn7 in #458
- Support including mappools in tournament submission by @myssto in #474
- Allow tournaments to be rejected at submission by @myssto in #475
- Add
MatchWarningFlags
andGameWarningFlags
bitwise enums by @myssto in #481 - Add warning flags to
MatchDTO
andGameDTO
by @myssto in #484
Code Quality 👨💻
- Refactor usage of
claim
torole
in the context of JWT by @myssto in #444 - OAuth security and code quality overhaul by @myssto in #445
Bug Fixes 🔧
- Improve auditing memory consumption by @myssto in #359
- Adjust MatchGameCountCheck to be more accurate by @myssto in #370
Misc. Fixes 🚧
- Working initial implementation by @hburn7 in #325
- osu!track service method implementation by @hburn7 in #339
- Prep for staging deploy by @hburn7 in #348
- Refactor
Mode
toRuleset
everywhere by @hburn7 in #350 - Data processor rewrite by @hburn7 in #343
- Add savechanges calls to tournament processing steps by @hburn7 in #354
- Feature/tournament start end dates by @hburn7 in #360
- Refactor
RatingAdjustment
entity and remove rank history features by @myssto in #377 - Rename
AdjustmentType
column toadjustment_type
inRatingAdjustment.cs
by @hburn7 in #381 - Update staging and prod deployment cfg file paths by @hburn7 in #382
- Update source file pathing by @hburn7 in #383
- Generate migrations script on deploy by @hburn7 in #384
- Install dotnet ef by @hburn7 in #385
- Fix migrations by @hburn7 in #386
- Use -o instead of piping migrations output by @hburn7 in #387
- Nuke migrations by @hburn7 in #389
- Add new default values for core entities by @hburn7 in #390
- Default start / end time for tournaments by @hburn7 in #391
- Add empty string by default for match names by @hburn7 in #392
- Move PlayerOsuRulesetData to own table and sync migrations by @myssto in #394
- Remove
RatingAdjustmentsService
&RatingAdjustmentsRepository
by @hburn7 in #398 - redirect old links to their respective new links by @alixdotsh in #402
- Improve processors by @myssto in #403
- Include ProcessingStatus & VerificationStatus in TournamentDTO by @hburn7 in #399
- Rewrite matches navigation inclusion query extensions by @myssto in #407
- Add
HTTP PATCH
endpoints forMatch
,Game
, andGameScore
by @hburn7 in #406 - Update DataWorkerService example.appsettings.json by @hburn7 in #413
- DataWorker fix a crash for tournaments with no matches by @myssto in #415
- Tournament verification query param by @hburn7 in #405
- Tournament admin notes by @hburn7 in #408
- Create PlayerHighestRanks database entity by @alixdotsh in #410
- Match admin notes by @hburn7 in #409
- Fix ordering / missing interface by @hburn7 in #422
- Add GameScoreAdminNote & migrations by @hburn7 in #423
- [OAuthClientAdminNotes] Create entity, migrations and configure relationships by @hburn7 in #424
- Game admin notes by @hburn7 in #421
- Player Admin Notes by @alixdotsh in #417
- Include rejection reason in TournamentDTO by @hburn7 in #427
- Database this should fix infinite / blank audits by @myssto in #429
- Add --startup-project API to migrations script by @hburn7 in #430
- Create
TAdminNoteEntity
repository base by @hburn7 in #425 - re-add OtrDbContextFactory with appsettings import & exception handling by @hburn7 in #432
- Improve swagger doc generation by @myssto in #434
- Deploy using postgres 16 by @hburn7 in #441
- Strip query string from tournament submission forum urls by @Artrix9095 in #453
- Remove
post_mod_sr
column fromgames
table by @bugg86 in #448 - Use
appsettings.Development.json
for debug design time operations by @hburn7 in #452 - Utility console app for generating and validating JWTs in development by @myssto in #455
- Add log file size limitation by @hburn7 in #463
- fix logging key by @hburn7 in #464
- Add qodana CI checks by @qodana-cloud in #466
- Update qodana.yaml by @hburn7 in #468
- Update qodana_code_quality.yml by @hburn7 in #467
- Remove push master qodana check by @hburn7 in #469
- Target master by default by @hburn7 in #470
- Remove qodana baseline by @hburn7 in #471
- Use full linter by @hburn7 in #483
- Remove OsuSharp by @myssto in #465
New Contributors
- @alixdotsh made their first contribution in #402
- @Artrix9095 made their first contribution in #453
- @qodana-cloud made their first contribution in #466
Full Changelog: v1.0.0-alpha.4...v1.0.0-alpha.5
v1.0.0-alpha.4
v1.0.0-alpha.3
What's Changed
Breaking Changes ⚠️
- Add settings storage capabilities for users by @myssto in #311
- Use pagination for
GET
/matches
by @myssto in #312 - Hash OAuthClient secrets by @myssto in #317
- Allow queries for player stats to use optional ruleset by @myssto in #322
Bug Fixes 🔧
- Fix average mod scores being larger than expected by @myssto in #313
- Fix 500 status when
GET
/matches/{id}
does not exist by @myssto in #314 - Fix returning invalid data in some cases by @hburn7 in #318
- Rename
MatchWinRecord
properties to match new table schema by @hburn7 in #320
Misc. Fixes 🚧
Full Changelog: v1.0.0-alpha.2...v1.0.0-alpha.3
v1.0.0-alpha.2
What's Changed
New Features ✅
- Implement strict access control to
User
resources by @myssto in #310 - Implement caching using CachingFramework.Redis by @myssto in #302
Full Changelog: v1.0.0-alpha.1...v1.0.0-alpha.2
v1.0.0-alpha.1
What's Changed
Breaking Changes ⚠️
- Implement rank progress stat field by @hburn7 in #60
- Return proper playeridmapping object by @hburn7 in #81
- Add MatchIdMappingDTO by @hburn7 in #82
- Add whitelisted ids by @hburn7 in #96
- Rating chart updates & stat fixes by @hburn7 in #75
- OAuth2 Implementation by @hburn7 in #110
- Support Api Versioning by @bugg86 in #140
- Fix refreshed access tokens not receiving
user
orclient
claims by @myssto in #183 - Introduce rate limits by @myssto in #198
- BeatmapsController refactor by @myssto in #210
- Modify leaderboard tier filter behavior to match new requirements by @hburn7 in #217
- MeController Refactor by @myssto in #213
- TournamentsController Refactor by @myssto in #223
- Refactor
MatchesController.EditVerificationStatus
andMatchesRepository.UpdateVerificationStatus
by @myssto in #250 - Refactor
Game.PlayMode
toGame.Ruleset
by @myssto in #264 - Add Users Controller by @myssto in #228
- Rename
Winrate
toWinRate
everywhere by @foxtail286 in #283 - Move
/api/v1/stats/ratingadjustments DELETE
into/api/v1/stats DELETE
by @hburn7 in #288 - Use redirect actions for
/me
endpoints by @myssto in #291
New Features ✅
- Implement territory merging for country leaderboards by @hburn7 in #58
- Ci updates by @hburn7 in #63
- Feature/merge duplicate matches by @hburn7 in #64
- Fix underscore matching when fetching playerId by @hburn7 in #76
- Add mode to MatchDTO by @hburn7 in #83
- feature/edit match validation by @bugg86 in #127
- Move SubmitterUserId from Match level to Tournament level by @myssto in #139
- Add ability to modify client ratelimits by @hburn7 in #214
- Improve
/api/v1/search
to use a single query parameter for all searches by @myssto in #242 - Add location service and improve search service by @myssto in #243
- Add screening API by @hburn7 in #220
- Store a player's default play mode by @myssto in #247
- Requested web changes for search by @myssto in #253
- Add the ability to enable / disable the whitelist globally by @myssto in #289
Code Quality 👨💻
- Add configuration validation, use IOptions by @myssto in #132
- Refactor IPlayerRepository method names & docs by @hburn7 in #106
- Enforce styling across the entire project. by @hburn7 in #149
- Fix styling by @hburn7 in #156
- Return
T
instead ofT?
inRepositoryBase.CreateAsync()
by @myssto in #155 - Use proper
ClaimsPrincipal
when identifying refresh token scopes by @hburn7 in #167 - Add versatile player fetching by @hburn7 in #168
- Update formatting settings by @myssto in #170
- Update all uses of configuration values to instead use
IOptions<T>
by @myssto in #184 - OAuthController refactor by @myssto in #208
- Use error checking in pre-commit by @myssto in #212
- Refactor PlayerMatchStatsDTO PlayerId field to 'Id' by @hburn7 in #239
- Refactor
PlayerMatchStatsRepository.GetModStatsAsync
by @myssto in #248 - Refactor
Entities.Game
to use enums where possible by @myssto in #256 - Refactor
Entities.BaseStats
to use enums by @myssto in #265 - Refactor
Entities.Match.VerificationStatus
andEntities.Match.VerificationSource
to map to enums by @myssto in #255 - Move all
Osu/OsuEnums
into individual files atOsu/Enums/
by @myssto in #271 - Code quality improvements to
OAuthHandler
by @myssto in #290
Bug Fixes 🔧
- Remove unused ambiguous methods by @hburn7 in #153
- Fix role extension methods by @hburn7 in #158
- Correct all controllers' role authorization schemes by @hburn7 in #177
- Update role parsing in
ClaimsPrincipalExtensions
by @hburn7 in #178 - Fix
Jwt.Audience
not being initialized by @myssto in #185 - Add unique instance claim to all tokens. by @hburn7 in #186
- Disable husky for docker build by @myssto in #188
- Improve robustness of
GameAutomationChecks
by @hburn7 in #229 - Fix invalid id fetching by @hburn7 in #270
- Automation checks improvements by @hburn7 in #246
- Fix permissions on tournaments endpoints by @myssto in #296
- Add logging to whitelist middleware by @myssto in #300
- Fix bad git ref in staging deployment by @hburn7 in #301
- Fix critical match submission issues & recursive error logs by @hburn7 in #309
Misc. Fixes 🚧
- Add workflows by @hburn7 in #9
- Move dockerfile, update staging-deploy by @hburn7 in #10
- Appease warnings by @o-saund in #26
- Feature/test seeding by @o-saund in #31
- Issue/29 by @hburn7 in #48
- Feature/test improvements by @hburn7 in #49
- Feature/net 8 by @hburn7 in #50
- Develop by @hburn7 in #51
- Staging by @hburn7 in #52
- Add endpoints for player info by @hburn7 in #56
- return null object when user is restricted by @hburn7 in #59
- Fix failing unit tests by @hburn7 in #62
- Add /me/validate endpoint by @hburn7 in #57
- Feature/endpoint cleanup by @hburn7 in #66
- AllowAnonymous for endpoints by @hburn7 in #67
- Develop by @hburn7 in #68
- Staging by @hburn7 in #69
- Update rating scale by @hburn7 in #74
- Fix pattern matching on username url by @hburn7 in #77
- Remove broken test by @hburn7 in #79
- Develop by @hburn7 in #78
- Staging by @hburn7 in #80
- Add
/api/tournaments
PUT method (fixed commit history) by @hburn7 in https://github.com/osu-tournament-rating/otr-api...