Releases: ppy/osu
Releases ยท ppy/osu
2025.605.3
What's Changed
- Fix extreme Drawable thrashing on initial leaderboard population by @smoogipoo in #33451
- Disallow selected mods from being valid for freestyle as required mods due to them not being consistently compatible with other mods across rulesets by @bdach in #33450
Full Changelog: 2025.605.1...2025.605.3
2025.605.1
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
- SongS...
2025.424.0
2025.420.0
What's Changed
- Change "Delete Difficulty" editor menu item type to destructive by @SchiavoAnto in #32874
- Fix gameplay leaderboard showing scores from wrong beatmaps by @bdach in #32863
Full Changelog: 2025.418.1...2025.420.0
2025.418.1
What's Changed
- Fix culture variance in new formatting helper by @bdach in #32837
- Fix storyboard videos not displaying by @bdach in #32853
Full Changelog: 2025.418.0...2025.418.1
2025.418.0
Check out the curated changelog.
What's Changed
- Fix letterbox showing above playfield border by @peppy in #32661
- Avoid writing out team acronyms to JSON by @peppy in #32663
- Add
[JsonIgnore]
toMultiplayerRoom.CurrentPlaylistItem
by @bdach in #32666 - Fix argon reverse arrow animating weirdly after hit by @peppy in #32667
- Use median instead of mean for offset calibration by @sineplusx in #32601
- Add support for ruleset-specific user tags by @bdach in #32657
- Fix stutters when sliders with hundreds of repeats display for the first time by @peppy in #32593
- Fix metronome BPM text not matching expectations due to custom rounding implementation by @peppy in #32664
- Fix storyboards with no-op alpha operations causing extended drawable lifetimes by @peppy in #32572
- Allow users to include or exclude multiple key mods by comma separated values by @iamnotcoding in #32636
- Fix batch import failing if one beatmap can't complete difficulty calculation by @peppy in #32662
- Fix potential crashes due to asynchronous
BindableList
usage by @peppy in #32676 - Fix thread-race leading to
OnScreenDisplay
crash by @smoogipoo in #32681 - Disallow adjusting scroll speed during gameplay by @peppy in #32675
- Fix slider repeat arrow fade in length not matching expectations by @peppy in #32638
- Fix weird behaviour when skipping back and forth with shuffle enabled by @bdach in #32678
- Re-do user tag voting UI to address user complaints by @bdach in #32640
- Remove filtering & rearranging controls from now playing overlay by @bdach in #32679
- Fix incorrect sizing of legacy health display "ki" markers by @peppy in #32726
- Add transition when vote-count changes in user tag control by @minetoblend in #32718
- Fix saving via ctrl+s while metadata textbox is focused not saving changes by @peppy in #32665
- Fix editor setup screen sliders not having correct keyboard steps by @peppy in #32730
- Adjust menu tips and supporter display to not overlap by @peppy in #32731
- Increase range of vertex selection in polygon generation popover by @peppy in #32732
- Include beatmap details in logs when load fails by @peppy in #32733
- Rewrite match subscreen to remove bindables by @smoogipoo in #32669
- Use actual keybind in multiplayer chat hint by @sineplusx in #32723
- Fix exception cancelling disposed cancellation token by @smoogipoo in #32742
- Fix difficulty stats not showing in playlists by @smoogipoo in #32741
- Allow viewing results of historical multiplayer items by @smoogipoo in #32680
- Fix slider placement not working correctly with UI button clicks by @peppy in #32729
- Fix success rate / points of failure not showing for unranked beatmaps on beatmap info overlay by @Joehuu in #32749
- Fix
StarRatingDisplay
not using fixed width text by @peppy in #32744 - Use more distinctive window title for tournament client by @bdach in #32755
- Fix progressively worsening performance on taiko argon skin by @smoogipoo in #32756
- Fix carousel handling of bleed areas by @peppy in #32760
- Add new icons, font templates, statistics naming changes and colour updates by @peppy in #32764
- Improve group panel design by @frenzibyte in #32771
- Fix "spins per minute" shows up early (fix #31173) by @Rudicito in #32796
- Allow showing "unknown" state on status pill by @peppy in #32759
- Add support for closing chat channels with middle click by @peppy in #32799
- Combine "spinnable time" conditions by @smoogipoo in #32802
- Introduce numeric data in beatmap object count statistics by @frenzibyte in #32772
- Extract leaderboard fetch logic from song select beatmap leaderboard drawable by @bdach in #32494
- Fix thread safety when calling
BeatmapStore.GetBeatmapSets
by @peppy in #32814 - Fix local leaderboards not showing when starting game offline by @bdach in #32816
- Change global shear definition to be a
Vector2
by @peppy in #32815 - Rename song select v2 classes and namespaces by @peppy in #32818
- Add display to show completed playlist items by @smoogipoo in #32757
- Apply various minor refactors (split out from song select v2 ongoing work) by @peppy in #32819
- Add test cases for lazer-specific replay instability due to truncation issue by @bdach in #32770
- Fix osu!mania beatmap objects getting corrupted when updating beatmap background by @peppy in #32829
- Refuse to import scores specifying incompatible mods by @bdach in #32830
- End high performance session when showing results screen by @peppy in #29816
- Fix multiplayer background changing in results screen by @smoogipoo in #32823
- Add test cases covering correct legacy replay playback with respect to hitwindow treatment by @bdach in #32810
- Update framework by @peppy in #32836
- Fix global offset adjust control showing adjustment available when it shouldn't by @peppy in #32820
New Contributors
- @sineplusx made their first contribution in #32601
- @iamnotcoding made their first contribution in #32636
Full Changelog: 2025.403.0...2025.418.0
2025.321.0
What's Changed
- Fix tag add request using wrong method by @peppy in #32415
- Update beatmap overlay to show all guest mappers by @cdwcgt in #31970
- Fix editor reading wrong beatmap version by @bdach in #32429
- Fix miscellaneous text flow container breakage by @bdach in #32418
- Make freestyle not bypass ruleset filter once more by @smoogipoo in #32435
- Highlight difficulty attribute changes in mod select by @zihadmahiuddin in #32363
- Fix multiplayer join errors potentially not being logged by @smoogipoo in #32436
- Improve SFX playback behaviour of rapid kiai/star fountain activations by @nekodex in #32376
- Update framework by @peppy in #32439
- Fix editor crashing if beatmap does not have a mode explicitly specified in the
.osu
by @bdach in #32442 - Allow copying version via right click in settings footer by @GAMIS65 in #32366
- Add some lenience around mod customisation expanding overlay by @peppy in #32447
- Re-fetch status of any beatmaps stuck in qualified status by @peppy in #32455
- Fix intermittent mod customisation panel test by @smoogipoo in #32461
- Replace superfluous method with concrete implementation by @smoogipoo in #32459
- Allow vertical layout for skinnable mod display by @peppy in #32457
- Add more functionality to right clicking in the chat window by @GioSDA in #32446
- Fade out pause loop sound when the game window is inactive by @peppy in #32450
- Build iOS tests project by @smoogipoo in #32437
- Fix some image attachments in comments not loading in game by @frenzibyte in #30866
- Fix
DifficultySpectrumDisplay
churning drawables by @peppy in #32467 - Fix lag when scrolling right-hand toolboxes in editor during long edit session by @peppy in #32475
- Disallow tagging beatmaps when playing as convert by @peppy in #32478
- Update framework and resources by @peppy in #32486
- Attempt to fix intermittent BackgroundDataStoreProcessor tests by @smoogipoo in #32489
Full Changelog: 2025.316.0...2025.321.0
2025.316.0
What's Changed
- Allow grid spacing setting up to 256 pixels by @peppy in #32311
- Disable user customisation of spectator list font / colour by @peppy in #32312
- Ensure that star rating reprocessing does not incur online lookup requests by @bdach in #32273
- Attempt to fix spectator list showing other users in multiplayer room even if they're not spectating better by @bdach in #32009
- Ensure realm database file is touched on startup by @peppy in #32327
- Fix edge cases which allow very short slider placement in editor by @peppy in #32328
- Apply more granular copying from database when retrieving working beatmap by @bdach in #32315
- Ensure qualified beatmaps are never looked up on stale cache source by @peppy in #32329
- Update framework by @bdach in #32330
- Add tip pressure threshold option in tablet settings by @Finadoggie in #32054
- Adjust timeline placement display by @64ArthurAraujo in #32319
- Add visual component for assigning user tags to beatmaps by @bdach in #32221
- Fix osu!taiko mobile scaling not being accurate by @frenzibyte in #32341
- Fix default beatmap not being correctly set after aborting new beatmap creation by @peppy in #32340
- Fix storyboard letterbox hiding HUD elements by @peppy in #32342
- Rewrite playlists to not inherit
RoomSubScreen
by @smoogipoo in #31882 - Improve handling for top-anchored judgement positions in osu!mania by @frenzibyte in #32344
- Remove JSON property attributes from non-databased taiko difficulty attributes by @tsunyoku in #32354
- Fix
OsuTextFlowContainer.AddArbitraryDrawable()
not aligning the drawable correctly by @bdach in #32349 - Add back right-click-for-new-combo and right-click-delete when in object placement mode by @peppy in #31148
- Make friends display respond to realtime user presence by @smoogipoo in #32352
- Add team beatmap leaderboards by @peppy in #32360
- Remove end note conversion in mania invert mod (causing unwanted jacks) by @Nunolin in #32357
- Filter freestyle rooms against all rulesets by @smoogipoo in #32373
- Add ability to vote for beatmap user tags after completing a play by @bdach in #32346
- Allow spectator button to work without begin play requests by @peppy in #32390
New Contributors
Full Changelog: 2025.310.0...2025.316.0
2025.310.0
What's Changed
- Use localisation from web for the report button by @GAMIS65 in #32262
- Fix precise movement popover crashing if selection bounding box exceeds playfield size by @bdach in #32269
- Fix leaderboard date text being cut off sometimes by @bdach in #32268
- Fix error message on invalid room password by @smoogipoo in #32299
- Fix initial multiplayer room settings not applied by @smoogipoo in #32298
- Allow kiai/star-fountain activation SFX to be skinnable by @nekodex in #32267
New Contributors
Full Changelog: 2025.306.0...2025.310.0
2025.306.0
What's Changed
- Limit number of allowed beatmap combo colours to 8 by @bdach in #32110
- Fix sliders not being selectable if the body is hidden but the head is still visible by @bdach in #32130
- Add support for legacy osu!mania barline height and colour spec by @peppy in #32151
- Adjust preview time display to not conflict with bookmarks by @peppy in #32149
- Fix multiplayer results screen displaying same beatmap for all users by @smoogipoo in #32109
- Cancel beatmap load in more loops by @smoogipoo in #32192
- Apply first wave blanket fixes to new beatmap carousel design by @peppy in #32153
- Make
TestSceneSongSelect
work with local database by @peppy in #32152 - Add SFX for kiai/star fountain activation by @nekodex in #32162
- Fix settings control not visible because of previous search by @zihadmahiuddin in #32135
- Always zoom timeline to centre rather than focus point by @peppy in #32197
- Fix intermittent score panel test by @smoogipoo in #32209
- Use web localisable string for team channel label by @Joehuu in #32204
- Cancel difficulty calculation after 10 seconds by default by @smoogipoo in #32208
- Fix being unable to join multiplayer rooms with many users by @smoogipoo in #32210
- Create, join, and part multiplayer rooms only via the multiplayer server by @smoogipoo in #31637
- Remove unused virtual method after refactor the scale handling. by @andy840119 in #32200
- Fix drain length calculation helper method being able to return negative durations by @bdach in #32196
- Fix possible crash when scaling objects in editor by @bdach in #32158
- Fix broken test by @smoogipoo in #32215
- Remove
RoomManager
, centralise listing management to lounge by @smoogipoo in #31866 - Add Alt + mousewheel volume adjustment on result screens by @Gennadiyev in #32075
- Fix multiplayer not joining correct chat channel by @smoogipoo in #32217
- Adjust scale and display of rooms in multiplayer lounge by @peppy in #32219
- Fix thread safety when kicking multiplayer users by @smoogipoo in #32214
- Attempt to fix common editor test failures by @peppy in #32218
- Attempt to preserve sample control point bank when encoding beatmap by @bdach in #32098
- Remove
SelectedRoom
from online play tests by @smoogipoo in #31867 - Fix playlists results screens potentially displaying negative score positions by @bdach in #32199
- Fix "use these mods" context menu option doing broken things with system mods by @bdach in #32235
- Localise skin rename/export/delete buttons in settings by @SchiavoAnto in #32243
- Add taskbar flashing when a multiplayer game is starting by @GioSDA in #32180
- Bump difficulty calculator versions in preparation for release by @peppy in #32246
- Add current beatmap info to window title by @zihadmahiuddin in #32222
- Fix differential submission process crashing when no files have changed by @bdach in #32248
- Add ability to start gameplay from carousel v2 by @peppy in #32220
- Add "discard unsaved changes" operation to beatmap editor by @bdach in #32240
- Fix initial multiplayer room items not having freestyle by @smoogipoo in #32249
- Fix intermittent playlists results screen tests by @smoogipoo in #32245
New Contributors
- @zihadmahiuddin made their first contribution in #32135
- @Gennadiyev made their first contribution in #32075
- @GioSDA made their first contribution in #32180
Full Changelog: 2025.227.0...2025.306.0