What's Changed
- Add difficulty calculation benchmarks by @stanriders in #32542
- Refactor Skill Attributes to display contribution to
StarRating
by @Lawtrohux in #32426 - Fix osu!catch SR buzz slider detection by @wulpine in #32412
- Use
Precision.AlmostEquals
to compare deviation lower bound by @tsunyoku in #32694 - Reduce relax Ok miss multiplier by @stanriders in #32434
- Move difficulty calculation fields from
Slider
toOsuDifficultyHitObject
by @stanriders in #32410 - Move osu!catch movement diffcalc to an evaluator by @wulpine in #32655
- Move all score-independent bonuses into star rating by @tsunyoku in #31351
- Award slider accuracy PP for scores set with ScoreV2 by @Finadoggie in #32634
- Add diffcalc considerations for Magnetised mod by @stanriders in #33004
- Use proportion of difficult sliders to better estimate sliderbreaks on classic accuracy scores by @TextAdventurer12 in #31234
- Remove track usage in difficulty and performance calculations by @tsunyoku in #33132
- Change effective misscount to be based on legacy score and combo at the same time by @Givikap120 in #33066
- Add
AimEstimatedSliderBreaks
andSpeedEstimatedSliderBreaks
performance attributes by @tsunyoku in #33181 - Improve accuracy of difficulty calculation benchmarks by @tsunyoku in #33220
- Buff precision difficulty rating in osu! by @stanriders in #28877
- Add spinners support to combo based estimated misscount by @Givikap120 in #33170
- Add a
consistency
factor to osu!taiko diffcalc by @Lawtrohux in #33233 - Rebalance HD bonus by @Givikap120 in #33237
- Replace HD acc scaling adjust with reverse lerp util by @Givikap120 in #33271
- Fix incorrect limit for sliderbreak estimation by @Givikap120 in #33110
- osu!taiko remove stamina skill component from
strainLengthBonus
by @buyaspacecube in #33380 - osu!taiko remove multipliers nerfing Easy mod by @buyaspacecube in #33415
- Reduce combo scaling for osu!catch by @wulpine in #33417
- osu!taiko simplify pp summing and make performance attributes accurate by @buyaspacecube in #33500
- Refactor and re-comment osu! standard deviation calculations by @Natelytle in #33218
- osu!taiko new miss penalty using consistency factor by @buyaspacecube in #33409
- Decouple velocity change bonus from wide angle bonus by @stanriders in #33541
- osu!taiko changes to length bonus using consistency factor by @buyaspacecube in #33582
- Remove wide/wiggle angle bonus rhythm requirements by @stanriders in #31409
- Q2 osu! PP rebalance by @tsunyoku in #33640
- Optimize rhythm evaluation by replacing curve by @Givikap120 in #33423
- Replace error functions in DifficultyCalculationUtils with good-enough approximations by @Natelytle in #33717
- Implement difficulty evaluators in the osu! mania ruleset by @Natelytle in #33411
- Refactor AR and OD calculations in osu! pp calculation by @Givikap120 in #34065
- ensure
monolengthbonus
applies to new strain contribution only by @Lawtrohux in #33635 - Don't apply high CS bonus to slider velocity bonus by @Givikap120 in #34214
- Fix backwards logic on visibility bonus by @tsunyoku in #34369
- Move rating calculations to
OsuRatingCalculator
by @tsunyoku in #33265 - Make visibility-based bonuses be additive to
ratingMultiplier
instead of multiplicative by @stanriders in #34367 - Fix colour penalties being bypassed via repeated ratio variance by @Lawtrohux in #33641
- osu!taiko consistency factor changes using object strains by @buyaspacecube in #34327
- osu!taiko new acc pp formula + rhythm difficulty penalty by @buyaspacecube in #34188
- osu!taiko reduce multiplier for hidden on lazer by @buyaspacecube in #34089
- Add DF flashlight rating reduction by @stanriders in #34081
- Fix edge case that estimates sliderbreaks in impossible scenarios by @tsunyoku in #34544
- Nerf Low AR HD bonus for slideraim by @Givikap120 in #34215
- Implement
deltatimenormaliser
into rhythm grouping logic by @Lawtrohux in #33403 - Move SpunOut penalty back to PP by @tsunyoku in #34838
- Prevent Taiko difficulty crash if a map only contains 0-strains by @tsunyoku in #34829
- Reduce rhythm difficulty if current object is doubletappable by @stanriders in #34877
- Update difficulty calculation tests for osu ruleset by @tsunyoku in #34828
- Add matchmaking by @smoogipoo in #34815
- Fix argon judgement counter looking misaligned with wireframe off by @bdach in #35000
- More matchmaking SFX work by @nekodex in #34985
- osu!taiko final balancing before deploy by @buyaspacecube in #34962
- Update difficulty calculation tests for taiko ruleset by @tsunyoku in #35026
- Remove databasing of
MechanicalDifficulty
andReadingDifficulty
attributes by @tsunyoku in #35028 - Fix errors in gameplay stage of matchmaking by @smoogipoo in #35022
- Use DeltaTime in RhythmEvaluator to increase stability by @Givikap120 in #32790
- Add client-side support for TOTP authentication by @bdach in #35037
- Fix osu!mania legacy skin WidthForNoteHeightScale not being used by @qinvvv in #35050
- Play gameplay start sample in matchmaking by @smoogipoo in #35100
- Add display styles to matchmaking player list by @smoogipoo in #35053
- Attempt to fix intermittent tests by @smoogipoo in #35098
- Fix players positioning on next matchmaking round by @smoogipoo in #35106
- Improve
FailRetryDisplay
performance by @EVAST9919 in #35101 - Various improvements to matchmaking testability by @smoogipoo in #35105
- Fix matchmaking chat not working by @smoogipoo in #35109
- Matchmaking stage display / screen layout design improvements by @peppy in #35118
- Adjust matchmaking naming, namespaces, xmldoc by @peppy in #35123
- Match profile badge centre alignment with web by @Joehuu in #35044
- Fix composition tool tooltip not changing text when enabled by @LumpBloom7 in #35120
- Fix TestDouble failing on systems where the decimal separator isn't a dot by @Valerus9 in #34934
- Switch to using more standardised beatmap cards in quick play by @peppy in #35128
- Colour Rank Achieved panels to the related rank by @tadatomix in #35145
- Fix certain sliders incorrectly registering as a horizontal/vertical only slider. by @AeroKoder in #35049
- Ensure submission progress sample is stopped when transitioning into a final state by @bdach in #35151
- Allow snapping to nearby visible slider control points in the editor by @OliBomby in #35057
- Allow snapping slider control points to nearby objects in the editor by @OliBomby in #35056
- Fix nullref when users leave quick-play rooms by @smoogipoo in #35149
- Update framework by @peppy in #35157
- Add keybinds to matchmaking queue screen by @smoogipoo in #35111
- Forcibly refetch online beatmap content on re-entering song select by @bdach in #35161
- Fix song select not changing global beatmap correctly when switching rulesets by @bdach in #35160
- Add half-height-of-selected-panel adjustment to carousel scroll target by @bdach in #35159
- Fix song select carousel sometimes teleporting on beatmap set deletion by @bdach in #35158
- Do not forcibly re-expand carousel groups on refilters if the user manually collapsed them by @bdach in #35163
- Refactor spritesheet-based icons to be single-file based by @Jinkku in #34976
- Use silver S/SS terminology when grouping by rank/grade in song select by @Joehuu in #35126
- Use consistent ordering of update button on carousel beatmap panels by @bdach in #35167
- Fix pressing Enter not starting current global beatmap if carousel is fully filtered out by @bdach in #35169
- Add structure and support for jumping in quick play rooms by @smoogipoo in #35154
- Fix clicking the osu! logo when in the multiplayer submenu opening solo play instead by @bdach in #35175
- Attempt to scroll carousel to nearest expanded panel when the current selection is filtered out by @bdach in #35179
- Fix wrong leaderboard flashing briefly when quickly changing beatmaps by @bdach in #35188
- Adjust colouring to make current row in timing visualisation more obvious by @peppy in #35199
- Fix selection being changed on re-entering song select when a converted beatmap is selected by @bdach in #35178
- Fix a few issues regarding incorrect treatment of locally-modified beatmaps by @bdach in #35176
- Fix missing tiny droplets not changing catcher animation state to fail by @bdach in #35189
- Expand group that current selection resides in when moving mouse to left side of song select by @bdach in #35184
- Yet more matchmaking SFX work by @nekodex in #35185
- Fix hovering left area in song select not always activating reset action by @peppy in #35222
- Adjust display tag threshold to match web by @bdach in #35221
- Fix mods deselection difference by @diquoks in #35216
- Q3 SR & PP release by @tsunyoku in #35029
- Disallow zero-length sliders from specifying a non-zero number of repeats by @bdach in #35220
- Fix current beatmap set being incorrectly expanded after collapsing group with current selection by @bdach in #35239
- Fix
spinner-rpm
being layered abovespinner-spin
/spinner-clear
by @diquoks in #35234 - Mute SFX when holding restart beatmap bind by @diquoks in #35233
- Fix carousel sometimes crashing when attempting to select next random set by @bdach in #35241
- Fix test scene leaks through RealmRulesetStore/RealmAccess by @smoogipoo in #35250
- Fix test failures during individual runs by @smoogipoo in #35251
- Fix song select V2 not preserving selection after an update operation by @bdach in #35240
- Fix wrong beatmap shown when presenting a beatmap from results screen by @bdach in #35252
- Fix default origin in skin editor when rotating multiple objects by @dnfd1 in #35255
- Quick play forward design work by @peppy in #35253
- Reading bonus hotfix for Traceable mod by @tsunyoku in #35266
- Improve design of quick play endgame results by @peppy in #35267
- Move realm refetches of beatmap in song select wedges off of update thread by @bdach in #35262
- Localise
Break
&PlayerSettings
onPlay
screen by @diquoks in #35273 - Localise "back" button in
BindingSettings
by @diquoks in #34845 - Fix not-equals user, artist, and title tag filters not working by @bdach in #35263
- Show leaderboard in solo spectator by @bdach in #35300
- Colour Ranked Status panel to the related status by @tadatomix in #35236
- Fix screen event misusages in multplayer/matchmaking by @smoogipoo in #35312
- Fix Hold Off mod changing scroll speed in rare scenarios by @bdach in #35265
- SSV2 : Replace "Mark as Played" with "Remove from Played" if map is already played by @bemanisoundteam in #35287
- Add locus 2025 winners to bundled download beatmaps list by @peppy in #35317
New Contributors
- @wulpine made their first contribution in #32412
- @TextAdventurer12 made their first contribution in #31234
- @qinvvv made their first contribution in #35050
- @tadatomix made their first contribution in #35145
- @Jinkku made their first contribution in #34976
- @dnfd1 made their first contribution in #35255
- @bemanisoundteam made their first contribution in #35287
Full Changelog: 2025.911.0-tachyon...2025.1017.0-tachyon