Thanks for following along! Concise changelog here.
What's Changed
- Allow toggling leaderboard visibility in replays by @bdach in #32893
- Fix slider tooltip text not updating with current value by @SchiavoAnto in #32884
- Add accounting of nested group items for group panel display purposes by @peppy in #32838
- Separate gameplay leaderboard data management from display by @bdach in #32822
- Fix slider repeat arrows appearing too early in editor when hit markers are enabled by @bdach in #32894
- Use new font specifications in beatmap panels and apply minor adjustments by @frenzibyte in #32839
- Prerequisite changes for song select v2 design work by @frenzibyte in #32840
- Add shear-aligning drawable wrapper by @frenzibyte in #32841
- Add sheared collection dropdown by @frenzibyte in #32849
- Minor fix to the Easy mod description by @Shavixinio in #32918
- Implement blocking users by @zihadmahiuddin in #32612
- Fix free mod selection sub-button being clickable even if the main button isn't by @bdach in #32912
- Remove
LeaderboardManager
return value and simplify flow further by @peppy in #32913 - Keep multiplayer settings open during room updates by @smoogipoo in #32923
- Add song select beatmap metadata wedge by @frenzibyte in #32843
- Add song select beatmap title wedge by @frenzibyte in #32842
- Fix daily challenge marker text spacing by @bdach in #32909
- Show true beatmap background when viewing historical multiplayer results by @smoogipoo in #32924
- Add basic support for beatmap updates in
BeatmapCarousel
by @peppy in #32915 - Fix tablet settings adjusting with too much precision by @peppy in #32922
- Fix presenting score potentially dying due to deleted beatmap by @bdach in #32936
- Fix multiple issues with editor ternary toggle state management by @bdach in #32937
- Allow mods/freemods in combination with freestyle by @smoogipoo in #32674
- Fix user covers not loading if slightly off-screen by @peppy in #32941
- Update 404ing cover image URLs in tests by @peppy in #32940
- Add audio feedback to the BSS process by @nekodex in #32845
- Attempt to improve appearance of new combo toggle / combo colour control when contracted by @bdach in #32946
- Add test scene coverage of HUD layouts on various ruleset/skin combinations by @bdach in #32938
- Add more test cases covering correct legacy replay playback with respect to hitwindow treatment with mods active by @bdach in #32896
- Fix metadata subwedges pop out transition being back-to-front by @frenzibyte in #32956
- Fix user tags potentially re-flowing on mouse down by @peppy in #32968
- Fix culture variance for MIME type resolution in TagLib file creation by @Stedoss in #32967
- Exclude non-user-playable mods from mod filter in beatmap leaderboard by @bdach in #32949
- Add hover click sounds to tag overflow button by @frenzibyte in #32977
- Fix overlay buttons in screen footer not correctly aligned with back button by @frenzibyte in #32976
- Fix play count statistic hiding on local difficulties instead of showing
-
by @frenzibyte in #32959 - Fixes and improvements to existing sheared components by @frenzibyte in #32847
- Add song select beatmap leaderboard display by @frenzibyte in #32844
- Remove pre-rate rounding in BPM display by @frenzibyte in #32985
- Fix osu!catch getting incorrectly upscaled on portrait orientation by @frenzibyte in #32987
- Use actual score positions in gameplay leaderboard by @bdach in #32947
- Improve visibility of setting adjustments on mod icons by @peppy in #32970
- Fix incorrect handling of beatmap with local diffs in metadata wedge by @frenzibyte in #32957
- Add sheared "range" slider bar by @frenzibyte in #32848
- Add support for user tags in new song select by @frenzibyte in #32960
- Use leaderboard criteria set in song select on results screen too by @bdach in #32980
- Add song select filter control by @frenzibyte in #32852
- Change tooltip text to better cover mod setting scenarios by @Marvefect in #32990
- Bring all new song select components together by @frenzibyte in #32854
- Fix beatmap title wedge sheared incorrectly in test scene by @frenzibyte in #33000
- Limit maximum UI scale to 1.1x on mobile platforms by @frenzibyte in #32998
- Fix song select title wedge not accessing beatmap asynchronously by @frenzibyte in #33002
- Fix mania columns not handling touch input in gaps by @frenzibyte in #32986
- Fix test in old song select not working on Apple platforms by @frenzibyte in #33016
- Add minimal slider body transparency to "Argon" skins by @peppy in #33044
- Fix startup "welcome" sound sometimes not loading from skin for supporters by @peppy in #33045
- Adjust song select beatmap background transition to better support transparent backgrounds by @peppy in #33047
- Ignore "image proxying" test scene by @bdach in #33050
- Ensure carousel filters are manifested to lists at each step by @peppy in #33049
- Add support for opening multiplayer / playlist room links directly by @bdach in #32971
- Add filtering support in carousel v2 by @frenzibyte in #33046
- Fix group pill count moving with panel selection state by @frenzibyte in #33054
- Hook up filter control with beatmap carousel by @frenzibyte in #33039
- Add osu!taiko mod
Simplified Rhythm
by @Hiviexd in #30731 - Fix gameplay leaderboard score reading off wrong combo property by @bdach in #33062
- Improve logging and errors around beatmap submission process by @bdach in #33059
- Discard distance snapping result if it results in objects being placed out of playfield bounds by @bdach in #33063
- Use localised strings for user/mapper tags on beatmap set overlay by @bdach in #33065
- Fix song select filtering test scene reading from local database by @frenzibyte in #33061
- Fix group panel overlapping with other panels by @frenzibyte in #33058
- Add "no results" placeholder to new song select by @frenzibyte in #33040
- Fix Show More button may incorrect displayed by @ohdj in #33070
- SongSelectV2: Show beatmap match count on filter control's textbox by @peppy in #33072
- SongSelectV2: Add delete hotkey functionality by @frenzibyte in #33073
- Convert gameplay leaderboard to skinnable component by @bdach in #32939
- Fix fetching too few items per page in profile subsections by @ohdj in #33077
- Fix
HitWindows.WindowFor()
returning values for invalid results by @bdach in #33075 - Display unique group panel for difficulty grouping by @frenzibyte in #33057
- Use fast invert helper in hot path by @smoogipoo in #33090
- Fetch more scores for supporter scope leaderboards by @bdach in #33100
- Update framework by @peppy in #33101
- SongSelectV2: Add back skinning support by @frenzibyte in #33099
- Fix mod tooltip not handling settings changes to same mod instance by @frenzibyte in #33103
- Fix rate adjust / time ramp mods not showing "Adjust pitch" in tooltip by @frenzibyte in #33104
- Add "Require perfect hits" option for Mania Perfect mod by @fredzio2006 in #33011
- SongSelectV2: Refactor test scenes to have a place for non-filtering tests by @frenzibyte in #33105
- SongSelectV2: Allow switching between details and rankings page via keyboard by @frenzibyte in #33107
- SongSelectV2: Add rate adjustment keybinds by @frenzibyte in #33106
- Do not show previous best online score on solo results screen if the local user just beat it by @bdach in #33114
- Fix letterbox overlay potentially fading incorrectly during seeks by @peppy in #33111
- Display separate design for beatmap panels on difficulty sort mode by @frenzibyte in #33056
- SongSelectV2: Allow adjusting volume by scrolling by @frenzibyte in #33117
- Add non-skinnable position indicator to multiplayer player by @bdach in #32972
- SongSelectV2: Apply mod adjustments to beatmap track by @frenzibyte in #33119
- SongSelectV2: Fix
SongSelect
not cached for subcomponents by @frenzibyte in #33120 - Remove replay recorder depth hack by @bdach in #33129
- Allow accessing song select v2 by holding control while entering song select by @peppy in #33127
- Fix new (beatmap) carousel not correctly accounting for user scroll overrides by @peppy in #33128
- Fix crashes when attempting to adjust length of slider whose maximum path length is less than the current beat snap by @bdach in #33130
- SongSelectV2: Expose method for opening editor and clearing local scores by @frenzibyte in #33133
- Implement complete sorting mode support by @frenzibyte in #33067
- SongSelectV2: Allow starting beatmap with autoplay via ctrl-enter by @frenzibyte in #33118
- Fix back button not displaying when transitioning to non-footer screen by @frenzibyte in #33141
- Tidy some
ScreenFooter
code by @peppy in #33147 - Hook up footer beatmap options via new
ISongSelectBeatmapActions
class by @peppy in #33149 - SongSelectV2: Add support for deselecting all mods by right clicking mod button by @peppy in #33159
- Fix multiple inconsistencies in beatmap carousel animations by @peppy in #33160
- SongSelectV2: Open results screen when clicking leaderboard scores by @frenzibyte in #33142
- Fix possible replay playback inaccuracy with very large lead-in time by @bdach in #33161
- Emit important replay frames on every judgement by @bdach in #33148
- Add "Tachyon" (unstable) release stream by @smoogipoo in #33162
- Fix footer buttons not restoring when exiting an already displayed screen by @peppy in #33178
- Fix analog clock animation not animating when hand crosses zero by @peppy in #33189
- Fix multiplayer position display looking wrong when player count is low by @peppy in #33192
- Fix distance snap grid being used before it's ready for use by @bdach in #33115
- Fix hold notes getting incorrectly missed after rewinding gameplay by @bdach in #33194
- Fix inconsistent display of rotation in tooltip when dragging selection box rotation handles by @pe1agio in #33199
- Fix hidden beatmap difficulties not handled in new carousel by @frenzibyte in #33202
- Disable status pill animation on carousel panels by @frenzibyte in #33205
- SongSelectV2: Hook mod select overlay to selected beatmap by @frenzibyte in #33207
- Fix song select tests not loading footer buttons with dependencies by @frenzibyte in #33200
- Fix carousel potentially selecting filtered difficulty by @frenzibyte in #33203
- Increase diff calc processor timeout minutes by @tsunyoku in #33208
- Reduce difficulty calculation churn overheads when using keyboard to iterate quickly at song select by @peppy in #33191
- Fix Strict Tracking running miss-on-tracking-loss logic during rewind by @bdach in #33210
- Fix nominations count logic not updated to newer API structure by @frenzibyte in #33223
- Fix editor player sometimes crashing because of instantiating wrong judgement result type for object by @bdach in #33234
- Improve reliability of unapplying speed adjustment on exiting editor by @bdach in #33232
- SongSelectV2: Display total scores count in personal best score by @frenzibyte in #33228
- SongSelectV2: Choose recommended difficulty on beatmap selection by @frenzibyte in #33229
- SongSelectV2: Show loading spinner underneath user tags during transitions by @frenzibyte in #33216
- SongSelectV2: Fix "no results" placeholder having weird transitions by @frenzibyte in #33222
- Attempt to give users better disclaimer on how not to nuke their data by @bdach in #33236
- Fix combo accounting when rewinding mania replays by @bdach in #33209
- Attempt to fix test failures in osu! replay analysis container test by @bdach in #33239
- Add support for most grouping modes by @frenzibyte in #33175
- Add context menus to new carousel panels by @peppy in #33193
- SongSelectV2: Change beatmap title wedge to use debounced difficulty retrieval by @peppy in #33256
- Add even more logging to beatmap submission process by @bdach in #33263
- Make concurrent object check ruleset specific by @LumpBloom7 in #33259
- SongSelectV2: Hook up screen to carousel and move selection logic up one level by @peppy in #33264
- Implement list virtualisation in multiplayer participants list by @bdach in #33241
- Fix profile score display logic not matching website by @bdach in #33266
- Fix context menus not showing for standalone panels by @peppy in #33274
- Fix leaderboard wedge transition looking bad when user is scrolled down by @peppy in #33277
- SongSelectV2: Fix multiple issues with osu! logo animations by @peppy in #33268
- Use stacked position when determining distance snap by @chris-ehmann in #33248
- SongSelectV2: Scroll to selection when mouse moves to left area by @peppy in #33279
- Fix panels not updating visually when changing between difficulty sort modes by @peppy in #33281
- Fix filtering performance being abysmal due to implementation failure by @peppy in #33284
- SongSelectV2: Change difficulty information order to match stable by @peppy in #33285
- SongSelectV2: Fix carousel not correctly handling traversal when current selection is filtered away by @peppy in #33287
- SongSelectV2: Add support for presenting beatmaps by @peppy in #33289
- Add grouping support for Ranked Date and Submitted Date by @WitherFlower in #33292
- SongSelectV2: Add back missing song select sound effects by @peppy in #33288
- SongSelectV2: Fix status pill still animating on stand-alone panels by @peppy in #33299
- SongSelectV2: Fix group panels being recreated every filter by @peppy in #33300
- SongSelectV2: Fix holding beatmap carousel previous / next traversal actions resetting position to start / end when update frame rate is low by @bdach in #33303
- SongSelectV2: Fix expanded group not being persisted over filter operations by @peppy in #33301
- SongSelectV2: Add back basic random selection support by @peppy in #33298
- SongSelectV2: Fix carousel loading state looking out of place by @peppy in #33302
- SongSelectV2: If only one results is visible after filter, select it automatically by @peppy in #33306
- SongSelectV2: Fix filtering all results away nuking user's selection by @peppy in #33304
- SongSelectV2: Fix incorrect conditional being used for "split out" check by @peppy in #33307
- SongSelectV2: Fix being able to progress to player loader when no beatmap is selected by @bdach in #33316
- SongSelectV2: Disable footer buttons when transitioning to another screen by @bdach in #33318
- SongSelectV2: Update general metrics and design of standalone beatmap panel by @peppy in #33319
- SongSelectV2: fix title wedge difficulty display tooltip not displaying correct changes to difficulty by @bdach in #33320
- SongSelectV2: Various polish by @peppy in #33317
- Split out difficulties when sorting and grouping by "last played" by @peppy in #33283
- SongSelectV2: Read/write last active tab in details area from/to local configuration by @bdach in #33322
- SongSelectV2: Add back ability to manage collections from beatmap / set panel context menus by @peppy in #33330
- SongSelectV2: Various polish, pass 2 by @peppy in #33329
- SongSelectV2: Fix carousel activating selection when only one valid item in list by @peppy in #33331
- SongSelectV2: Fix carousel not displaying anything if there is only one panel to display by @bdach in #33335
- SongSelectV2: Fix carousel filtering twice on entering song select by @peppy in #33332
- Attempt to stabilise hot-reload by @smoogipoo in #33327
- SongSelectV2: Fix carousel never displaying if too many beatmap updates are arriving in background by @peppy in #33334
- SongSelectV2: Fix some missing/incorrect SFX by @nekodex in #33338
- Adds SFX for rank changes to the in-game rank display by @nekodex in #33333
- SongSelectV2: Fix scroll to selected not always scrolling by @peppy in #33321
- SongSelectV2: Fix more crashes resulting from users deliberately trying to break things by @bdach in #33345
- SongSelectV2: Fix input gap between last beatmap panel in set and next set panel by @bdach in #33348
- Duck music and dim background when "no results" placeholder is visible by @frenzibyte in #33328
- Fix directory breadcrumb buttons playing clicking sounds twice by @Joehuu in #33372
- SongSelectV2: Various polish, pass 3 by @peppy in #33353
- Fix random selection potentially selecting a filtered-away beatmap by @peppy in #33354
- SongSelectV2: Add padding to avoid overlap between mods button and personal best by @peppy in #33382
- SongSelectV2: Fix unstable positions of panels when scrolling by @peppy in #33381
- SongSelectV2: Fix backgrounds taking too long to load due to model backed drawable by @peppy in #33378
- SongSelectV2: Fix background dim not being applied correctly when returning to screen by @peppy in #33389
- Isolate EditorBeatmap instance to fix flaky tests by @smoogipoo in #33396
- Fix argon & triangles skins reading legacy slider colour overrides from beatmap skins by @bdach in #33400
- Use UTF-8 encoding when exporting skin archives by @bdach in #33401
- Remove local manifestation of beatmap sets now that set items is always populated by @peppy in #33404
- SongSelectV2: Store input padding adjustments in
CarouselItem
to allow more reliable inflation by @peppy in #33373 - SongSelectV2: Fix being able to reach gameplay with invalid ruleset selection by @peppy in #33390
- Attempt to fix flaky tests by removing finaliser by @smoogipoo in #33391
- SongSelectV2: Fix incorrect selection change when filtered down to one set by @peppy in #33416
- Update framework by @bdach in #33413
- SongSelectV2: Fix triangles being sheared on leaderboard panels by @bdach in #33414
- Fix track not looping if specified preview point exceeds duration of track by @bdach in #33402
- SongSelectV2: Fix crash when returning to song select from editor by @peppy in #33419
- Change method of accessing song select v2 to hold by @peppy in #33420
- SongSelectV2: Debounce leaderboard load operations by @peppy in #33424
- SongSelectV2: Animate placeholder ghost by @minetoblend in #33418
New Contributors
- @Shavixinio made their first contribution in #32918
- @Marvefect made their first contribution in #32990
- @ohdj made their first contribution in #33070
- @fredzio2006 made their first contribution in #33011
- @pe1agio made their first contribution in #33199
- @chris-ehmann made their first contribution in #33248
Full Changelog: 2025.424.0...2025.605.1