Releases: ppy/osu
2025.221.0
First hotfix for last major release
What's Changed
- Implement designs for beatmap carousel v2 by @frenzibyte in #31774
- Adjust handling of team flags with non-matching aspect ratio to match web by @bdach in #31969
- Fix results screen applause playing too loud during multiplayer spectating by @peppy in #31967
- Update framework by @bdach in #31965
- Fix osu!taiko and osu!catch being oversized on mobile platforms by @frenzibyte in #31968
Full Changelog: 2025.220.0...2025.221.0
2025.220.0
New release!
Importantly, if you're one of those reading release notes here on github, we're changing up the format a bit. Now, all merged PRs will be listed here, rather than the edited version. If you prefer to read my curated changelog, head over to the usual place on the osu! website.
The curated changelog will now have anything not interesting to end users removed. I'm opting to keep the full list here on github to give everyone involved in making the release happened the credit they deserve, while making the actual user facing changelog a lot more relevant.
What's Changed
- Don't highlight friends' scores under beatmap's friend score leaderboard by @CloneWith in #31576
- Seek in replay scaled by replay speed by @Rudicito in #31539
- Remove redundant ToArray() calls in Osu/ManiaHitObjectComposer by @turbedi in #31583
- add warning text on team acronym conflict by @ILW8 in #31553
- Add precise movement tool to osu! editor by @bdach in #31547
- Add completion marker to daily challenge profile counter by @bdach in #31543
- Fix player settings in replay hiding when dragging a slider by @Rudicito in #31593
- Fix beat snap grid being lines not being corectly centered to time by @peppy in #31602
- Display up to 2 decimal places for bpm in timing screen metronome by @minetoblend in #31586
- Add special handling for file import button on iOS by @frenzibyte in #31026
- Show spectating users during gameplay by @bdach in #31527
- Make friend notifications less prominent by @peppy in #31613
- Fix song select right click handling by @peppy in #31604
- Tidy up various input handling anomalies by @peppy in #31603
- Snap to beat divisor when pasting hitobjects in editor by @minetoblend in #31588
- Fix crash from new combo colour selector when there are no combo colours present by @bdach in #31616
- Refetch local metadata cache if corruption is detected by @bdach in #31509
- Initial carousel additions in preparation for selection logic by @peppy in #31632
- Roll back windows build image to 2019 on android build job by @bdach in #31633
- Hide Discord RPC error messages away from user attention by @frenzibyte in #31640
- Fix potential crash when adjusting offset by @peppy in #31644
- Add selection support to beatmap carousel v2 by @peppy in #31634
- Add view in browser context menu functionality to multiplayer/playlist rooms by @Layendan in #31623
- Make offset adjust more lenient by @peppy in #31645
- Split out beatmap and set panels in beatmap carousel v2 by @peppy in #31652
- π§ Specify we're not using non-exempt encryption by @ThePooN in #31664
- Work around rare sharpcompress failure to extract certain archives by @bdach in #31698
- Catch and display user-friendly errors regarding corrupted audio files by @bdach in #31697
- Do not bundle explicit beatmaps by @bdach in #31696
- Remove "Accuracy" from osu!catch editor setup by @peppy in #31709
- Change friend online notifications' icon and colours by @peppy in #31711
- Enable sentry caching to avoid sentry writing outside of game directory by @peppy in #31417
- Fix recent editor textbox regressions by @frenzibyte in #31590
- Fix incremental unstable rate calculation not matching expectations by @peppy in #31723
- Make multiplayer change room settings more obvious as to what it does by @peppy in #31726
- Refactor editor object snapping to remove bad abstractions by @bdach in #31655
- Do not display autocorrect suggestions in two factor verification code text box by @frenzibyte in #31685
- Add unique samples for friend online/offline notifications by @nekodex in #31663
- Change mirror mod direction setting description & tooltip to hopefully be less confusing by @bdach in #31731
- Fix stacked objects selection order on editor timeline by @KareVulli in #31732
- Abstract out
WizardOverlay
for multi-step wizard type screens by @bdach in #31733 - Improve osu!mania playability on mobile devices by @frenzibyte in #31368
- Do not reset online information when saving beatmap by @bdach in #31747
- Fix results screen sounds persisting after exit by @smoogipoo in #31742
- Fix distance snap time part ceasing to work when grid snap is also active by @bdach in #31737
- Avoid moving already placed objects temporally when "limit distance snap to current time" is active by @bdach in #31743
- Make distance snap settings mutually exclusive by @peppy in #31778
- Avoid accessing
WorkingBeatmap.Beatmap
every update call by @peppy in #31775 - Fix depth ordering in new carousel not being relative to selected item by @frenzibyte in #31776
- Fix multi-segment-type sliders getting mangled on legacy export by @bdach in #31734
- Add group support to beatmap carousel v2 by @peppy in #31764
- Fix carousel tests failing due to dependency on depth ordering by @peppy in #31785
- Add expanded state tracking to beatmap carousel v2 by @peppy in #31787
- Implement "form button" control by @bdach in #31783
- Always select the closest control point group regardless of whether it has a timing point on entering timing screen by @bdach in #31791
- Add support for "freestyle" in multiplayer by @smoogipoo in #31260
- Update framework by @peppy in #31795
- Added warning before bookmark reset by @necocat0918 in #31780
- Change menus to fade out with a slight delay so settings changes are visible by @peppy in #31779
- Implement visual appearance of beatmap submission wizard by @bdach in #31784
- Fix distance snap grid not properly working due to multiple issues by @bdach in #31789
- Display up-to-date online status in user panels by @smoogipoo in #31524
- Fix
Carousel.FilterAsync
not working when called from a non-update thread by @peppy in #31798 - Implement visual component for displaying submission progress by @bdach in #31803
- Improve bookmark controls by @bdach in #31806
- Allow ordering certain carousel panels behind others by @frenzibyte in #31802
- Add invalidation on draw size change in beatmap carousel v2 by @peppy in #31817
- Add support for grouping by artist to beatmap carousel v2 by @peppy in #31801
- Add ruleset icon to expanded score panel by @smoogipoo in #31815
- Support variable spacing between beatmap carousel panels by @frenzibyte in #31799
- Don't attempt to submit zero scores by @peppy in #31822
- Add API request & response structures for beatmap submission by @bdach in #31804
- Always transfer keyboard selection on activation by @peppy in #31824
- Refactor grouping to be much more efficient by @peppy in #31823
- Changed the Currently Playing Text when no track is selected by @SebastianPeP in #31835
- Fix slider ball rotation not being updated when rewinding to a slider by @peppy in #31825
- Add percent progress display to editor footer by @peppy in #31841
- Fix incorrect thread access in recent iOS orientation changes by @frenzibyte in #31845
- Fix spectator list showing other users in multiplayer room even if they're not spectating by @bdach in #31844
- Add menu items to open beatmap info & discussion pages in browser from editor by @bdach in #31848
- Disable scale animation when holding editor "test" button by @peppy in #31854
- Fix score position not being displayed in solo results screen by @bdach in #31846
- Fix osu!mania judgement position not shifted on flipped scroll direction by @frenzibyte in #31682
- Show c...
2025.118.3
Just a 'lil hotfix, with android this time!
Editor
Fix crash from new combo colour selector when there are no combo colours present (#31616 by @bdach)
Reliability
Fix discord error messages popping up constantly (#31640 by @frenzibyte)
Discord seems to have broken something. Until it's fixed we're just going to hide the messages as to not bother you peoples.
Fix potential crash when adjusting offset (#31644 by @peppy)
Gameplay
Make offset adjust more lenient (#31645 by @peppy)
We added new rules to disallow changing offset too far into gameplay, but it wasn't accounting for intro time correctly. Now it does, so you have a full 10 seconds to adjust.
(you can also always adjust during breaks)
Tooling
Fix android builds not building (#31633 by @bdach)
Full Changelog: 2025.118.2...2025.118.3
2025.118.2
Hotfix release for right click at song select and editor setup screen mishaps.
Android release is not updated because github actions are not working currently for android.
Full Changelog: 2025.118.1...2025.118.2
2025.118.0
Code Quality
- Cleanup Objective-C interop code (ppy/osu-framework#6474 by @frenzibyte)
- Expose game host from iOS app delegate class (ppy/osu-framework#6477 by @frenzibyte)
- Show whether drawable is receiving input in draw visualiser (ppy/osu-framework#6481 by @peppy)
- Fix crash when dragging in a text box while a key is held down (ppy/osu-framework#6485 by @424ever)
- Upgrade packages (#27920 by @peppy)
- Clean up windows association manager code (#31450 by @peppy)
- Simplify editor "ternary button" structure (#31462 by @bdach)
- Add new osu!(stable) registry ProgId (#31481 by @Susko3)
- Use
double
inScrollContainer
for scroll tracking (ppy/osu-framework#6467 by @peppy) - Allow
TextBox
to specify type of text being input (ppy/osu-framework#6408 by @frenzibyte) - Update game
ScrollContainer
usage in line with framework changes (#31474 by @peppy) - Specify type of text input in most
TextBox
usages (#30495 by @frenzibyte) - Ensure API starts up with
LocalUser
in correct state (#31507 by @peppy) - Change
OffsetScrollPosition
to take adouble
(ppy/osu-framework#6492 by @peppy) - Add entry point to
Game
for logging setup purposes (ppy/osu-framework#6493 by @peppy) - Typo fix (#31531 by @shawwn)
- Bump NVika tool to 4.0.0 (#31534 by @bdach)
- Bump NVika tool to 4.0.0 (ppy/osu-framework#6494 by @bdach)
- Remove
Status
andActivity
bindables fromAPIUser
(#31513 by @smoogipoo) - Fix incorrect release pattern in macOS/iOS texture loading code (ppy/osu-framework#6495 by @frenzibyte)
- Move error function from osu.Game.Utils to osu.Game.Rulesets.Difficulty.Utils (#31520 by @Natelytle)
Editor
Speed up metronome in timing screen when pressing control key (#31342 by @minetoblend)
Changes the speed at which the metronome swings & the tick sample plays to 2x (or 3x when beat divisor is in triples mode) the speed when control is pressed, matching stable behavior.
Fix slider repeats not properly respecting "show hit markers" setting (#31354 by @bdach)
Fix slider end circles not remaining for long enough when hit animations disabled (#31390 by @peppy)
Reset playback speed to 100% on entering test play (#31445 by @bdach)
Force new combo on objects succeeding a break (#31448 by @bdach)
Display storyboard in editor (#31364 by @bdach)
Add combo colour override control to editor (#31473 by @bdach)
Fix performance degradation while trying to place object with a new combo in the editor. (#31446 by @EVAST9919)
Smaller changes
- Round object coordinates to nearest integers on legacy export rather than truncating (#31305 by @bdach)
- This fixes minor issues with snapping when exporting for use in stable. It's going to be more important soon as BSS comes online.
- Always block scroll input above editor toolbox areas (#31383 by @peppy)
- Constrain range of usable characters in romanised metadata to ASCII only (#31433 by @bdach)
- Reduce allocations in the editor caused by
TimelineBlueprintContainer
(#31436 by @EVAST9919) - Select closest timing point every time the timing screen is changed to (#31454 by @bdach)
- Delete entire juice stream when only one vertex remains after deleting another vertex (#31452 by @bdach)
- Fix juice stream placement blueprint being initially visually offset (#31453 by @bdach)
Gameplay
Fix not being able to apply last play offset after returning to song select (#31386 by @peppy)
This stopped working recently, but we heard the feedback that this is too useful to do away with!
Implement spectator list display (#31526 by @bdach)
Smaller changes
- Fix rate adjustments changing the spacing between replay frames (#31459 by @peppy)
- Apply beatmap offset to all difficulties only if they have the same audio (#31523 by @Rudicito)
- Fix gameplay offset adjustment limits not being enforced (#31533 by @peppy)
Gameplay (osu!)
Fix slider repeat arrows animating incorrectly in editor / replays (#31388 by @peppy)
Gameplay (osu!catch)
- Fix slider event generator incorrectly not generating repeats when tick distance is zero (#31306 by @bdach)
Online Play
Add multiplayer auto-start setting for 10 seconds (#31381 by @peppy)
This was added due to feedback that the previous minimum of 30 seconds feels too long for most cases.
Fix star range display looking a bit bad when changing opacity (#31435 by @peppy)
Before | After |
---|---|
![]() |
![]() |
Add notifications for when friends go online or offline (#31444 by @smoogipoo)
Note that the friends overlay won't yet update in realtime with status changes β that's coming soon!
Smaller changes
- Remove status check for metadata update queue watching (ppy/osu-server-spectator#254 by @peppy)
- Avoid sending user presence updates when nothing has changed (ppy/osu-server-spectator#256 by @peppy)
- Ensure user state is never conveyed for "appear offline" users (ppy/osu-server-spectator#257 by @peppy)
- Always broadcast user presence to users' friends (ppy/osu-server-spectator#255 by @smoogipoo)
- Fix connection errors on self-friends (ppy/osu-server-spectator#260 by @smoogipoo)
- Always broadcast local user's state back to themselves (ppy/osu-server-spectator#261 by @smoogipoo)
Performance
- Fix stutter on intensive storyboards when entering break time with 100% background dim (#31506 by @peppy)
- This avoids piled-up overhead when entering break time. It's not great, but it is what we need for now to avoid weirdness.
Platform (Desktop)
Change the way extensions are handled to better support side-by-side osu!stable installs (#31438 by @Susko3)
With this change, you will now be able to select which game version to open files with on windows:
You can change your preferences at any time by right-clicking on a beatmap:
osu! and osu!(lazer) appear in the "Open with" context menu:
You can also choose the default app for each file type from system settings:
Add native macOS image loading support (ppy/osu-framework#6475 by @frenzibyte)
Improves texture loading time by a magnitude on macOS.
Fix replays not correctly pre-importing beatmap when arriving from a cold start (#31508 by @peppy)
Until now, if you double-clicked a replay while lazer wasn't open, if the beatmap isn't already locally available it would just show a fail message rather than attempting to download the beatmap for you.
Platform (Mobile)
Implement system-provided file selection display on iOS (ppy/osu-framework#6445 by @frenzibyte)
Display popup disclaimer about game state and performance on mobile platforms (#31403 by @frenzibyte)
Smaller changes
- Enable "Game Mode" on iOS (#31363 by @hrfarmer)
- Disable dropdown searching on mobile when no hardware keyboard is attached (ppy/osu-framework#6479 by @frenzibyte)
- Fix mobile release dialog obstructed by the software keyboard (#31414 by @frenzibyte)
- Fix error when opening files on startup on Android (#31492 by @Susko3)
Reliability
- Ensure intro files exist in storage during startup (#31418 by @peppy)
- Fix initial skin state being stored wrong to skin editor undo history (#30060 by @peppy)
Skinning
- Add support for
CursorTrailRotate
skin command (#31519 by @EVAST9919)- Preview: https://streamable.com/1g3bh8
Song Select
Make the score background yellow for friends on the leaderboard (#31240 by @Plextora)
Changes to absolute scrolling at song select (#31535 by @peppy)
This is a bit of a catch-all fix up while implementing this in the new carousel.
- Users can now choose a custom binding instead of right mouse if you wish
- Removes the setting. This can now be disabled by unbinding the key. Note that this changes the default to have it as right mouse button. This is an intentional change β I believe this functionality should be on by default as it's beneficial to most users.
Smaller changes
- Add basic framework for carousel displays (aka
BeatmapCarouselV2
) (#31...
2025.101.0
Switch scroll direction for beat snap key bindings (#31277 by @kongehund)
Populate metadata from ID3 tags when changing beatmap audio track in editor (#31307 by @bdach)
Pause playback when entering gameplay test from editor (#31303 by @bdach)
Speed up metronome in timing screen when pressing control key (#31342 by @minetoblend)
Changes the speed at which the metronome swings & the tick sample plays to 2x (or 3x when beat divisor is in triples mode) the speed when control is pressed, matching stable behavior.
Smaller changes
- Take custom bank name length into account when collapsing sample point indicators (#31352 by @bdach)
- Fix quick-deleting unselected slider path control point also deleting all selected control points (#31348 by @bdach)
- Fix slider end drag marker blocking open of control point piece context menus (#31350 by @bdach)
Framework
- FFmpeg build: Use macos-13 CI image (ppy/osu-framework#6473 by @FreezyLemon)
Gameplay (osu!)
Change relax mod hit leniency to be the same as in stable (#31287 by @stanriders)
Settings
- Fix volume adjust key repeat not working as expected (#31282 by @peppy)
- Ignore whitespace while 2FA authentication (#31362 by @CuNO3)
New Contributors
Full Changelog: 2024.1224.0...2025.101.0
2024.1224.1
Difficulty Calculation
- Refactor
TaikoDifficultyCalculator
and addDifficultStrain
attributes (#31191 by @Lawtrohux) - Increase
accscalingshift
and includecountok
in hit proportion (#31195 by @Lawtrohux) - Remove Conditional
SkillRating
nerf to Converts (#31196 by @Lawtrohux) - Simplify osu! high-bpm acute angle jumps bonus (#30902 by @stanriders)
- Implement
Reading
Skill into osu!taiko (#31208 by @Lawtrohux) - Change slider drop penalty to use actual number of difficult sliders, fix slider drop penalty being too lenient (#31055 by @stanriders)
- Use
lastAngle
when nerfing repeated angles on acute bonus (#31245 by @tsunyoku)
Editor
Change beat snap divisor adjust defaults to be Ctrl+Scroll instead of Ctrl+Shift+Scroll (#31147 by @peppy)
Smaller changes
Framework
- Fix
BindableList
methods crashing with non-IList
collections (ppy/osu-framework#6466 by @smoogipoo) - Move "global" scroll-adjusts-volume to a per-screen component-based implementation (#31146 by @peppy)
- Implement getting OpenGL iOS main framebuffer on SDL3 (ppy/osu-framework#6468 by @Susko3)
- Fix typo in main menu tip (#31224 by @frenzibyte)
- Use Accelerate framework for texture image processing on iOS and fix premultiplication issues (ppy/osu-framework#6470 by @frenzibyte)
- Shave allocation overheads in recent iOS texture loading code (ppy/osu-framework#6471 by @frenzibyte)
Gameplay
Skip the pause cooldown when in intro / break time (#31143 by @peppy)
Implement skinnable mod display (#30993 by @Tom94)
Gameplay (osu!)
Fix some hitcircle sprites missing in certain skins since last release (#31254 by @peppy)
Gameplay (osu!mania)
- Fix "spinner" conversion for mania-specific beatmaps (#30984 by @smoogipoo)
Main Menu
- Load seasonal backgrounds without requiring being logged in (#31198 by @peppy)
- No reason not to.
- Add christmas / seasonal mode (#31206 by @peppy)
- Slightly reduce background brightness at main menu when seasonal lighting is active (#31258 by @peppy)
- Fix adjusting volume using scroll wheel not working during intro (#31259 by @peppy)
Platform
Fix logo animation not rendering correctly on iOS (ppy/osu-resources#351 by @frenzibyte)
Save "featured artists" filter to user settings (#31238 by @frenzibyte)
Also sets it to always on for iOS in preparation for a larger scale release.
Smaller changes
- Update game structure with the returned iOS application delegates (#31152 by @frenzibyte)
- Fix hardware cursor showing on iPadOS when it shouldn't (#31226 by @frenzibyte)
Settings
Add ability to rename the current skin (#31220 by @normalid-awa)
In settings for now, very temporary.
Song Select
Implement ability to mark beatmap as played (#31138 by @bdach)
Would you believe it that this button that has been there for literal years never did anything? Also available via context menu.
Tournament
Hide !mp
commands from tournament streaming chat (#31150 by @peppy)
Full Changelog: 2024.1219.2...2024.1224.1
2024.1219.2
Christmas!
Add Christmas festivities (ppy/osu-resources#350 by @peppy)
One Christmas at a time, we will make lazer the festive paradise it deserves to be.
Special thanks to nekodex for the new track and pishifat for helping make the beatmap that fuels the lighting system. Also to everyone else who gave feedback along the way.
Code Quality
- Update game packages (ppy/osu-server-spectator#250 by @bdach)
- Allow tsunyoku and stanriders to trigger diffcalc spreadsheet generator (#31071 by @smoogipoo)
- Fix potential issues with medal display (#30877 by @peppy)
- Intends to address rare instances of medal display "soft-locking" the game.
- Access beatmap store via abstract base class (#31076 by @peppy)
- Attempt to fix flaky editor beatmap creation test (#31107 by @bdach)
- Update localisations (ppy/osu-resources#349 by @peppy)
- Fix
BindableList
methods crashing with non-IList
collections (ppy/osu-framework#6466 by @smoogipoo)
Editor
Implement basic bookmark support in editor (#30960 by @bdach)
2024-12-03.15-21-03.mp4
Front-loaded as "basic" support because:
- Bookmarks only display on bottom timeline. I thought a bit about having them show on the top timeline too, but I'm not sure I can fit it in there and not make the timeline even more oversaturated with info than it already is.
- Hotkeys from stable work, with slight alterations:
Ctrl
-B
to add a bookmarkCtrl
-Shift
-B
to remove the closest bookmarks (all within 2s of current timestamp)Alt
-β
to seek to previous bookmarkAlt
-β
to seek to next bookmark- The only exposed way to mutate the bookmarks from the UI that is not the hotkey is in the timing menu. That's different from stable where there are bookmark controls near the bottom timeline, but again, not sure how to make that happen without cluttering things further.
Allow choosing different background/audio files for individual difficulties (#30860 by @frenzibyte)
CleanShot.2024-11-27.at.05.36.41-converted.mp4
Smaller changes
- Preserve effect point specifications when creating blank difficulties (#30973 by @frenzibyte)
- Fixes kiai time and scroll speed specifications being lost when creating a new difficulty. Scroll speed specifications are only retained when creating a new difficulty for the same ruleset as the original beatmap.
- Fix adjusting control point offset after undo/redo causing catastrophic failure (#31109 by @peppy)
- Change the way "current" points are hinted on timing screen (#31110 by @peppy)
Gameplay
- Fix player settings overlay cog overlapping skin elements (#31106 by @peppy)
- This brings it down to be in line with the flowing elements that usually do their best to not get in the way.
osu.2024-12-13.at.08.29.32.mp4
Gameplay (osu!)
- Use time-based resume overlay when playing osu! on touchscreen (#31156 by @frenzibyte)
- The "click to resume" overlay does not work on touchscreen devices as the idea is to point with a pointer and press a key / mouse button to resume.
Gameplay (osu!catch)
Add convert to stream functionality for juice streams (#30763 by @Darius-Wattimena)
Gameplay (osu!taiko)
- Update recommended difficulty for osu!taiko (#31103 by @Joehuu)
- Implement considerations for Relax within osu!taiko diffcalc (#30591 by @Lawtrohux)
- Adjust
DifficultyValue
curve to avoid lower star rating of osu!taiko being too inflated (#31067 by @YaniFR)
Multiplayer
Improve multiplayer room status handling (#30838 by @smoogipoo)
Thanks to this change, you can now see whether players in a multiplayer room are currently playing a map or not on the listing.
2024-11-22.20-58-07.mp4
Add ability to filter out currently playing rooms (#31073 by @bdach)
2024-12-11.13-10-42.mp4
Performance
Fix increased CPU usage when game is in the background (ppy/osu-framework#6451 by @smoogipoo)
Smaller changes
- Avoid beatmap lookup per bar in logo visualisation (#31047 by @peppy)
- Improve
BindableList
performance + reduce allocations (ppy/osu-framework#6450 by @smoogipoo)
Platform
Enable beatmap exports on iOS (#31037 by @frenzibyte)
Bump OpenTabletDriver to 0.6.5.0 (ppy/osu-framework#6465 by @jamesbt365)
Pulls in detection & support improvements for tens of tablet models.
Smaller changes
- Fix IPC not working in release (#31000 by @LittleEndu)
- Prefer HDTV / Rec. 709 colorspace for videos with HD resolution and unspecified colorspace (ppy/osu-framework#6403 by @frenzibyte)
- Fix unobserved exceptions on named pipe shutdown (ppy/osu-framework#6447 by @peppy)
- Add descriptions to osu! file associations in iOS (#31035 by @frenzibyte)
- Add support for presenting/opening files on iOS (ppy/osu-framework#6448 by @frenzibyte)
- Use temporary storage for file exports on iOS (#31039 by @frenzibyte)
- Fix multiple instances of a game being allowed to start concurrently (ppy/osu-framework#6452 by @peppy)
- Bring back iOS application delegates and fix many issues (ppy/osu-framework#6453 by @frenzibyte)
- Fix iOS audio session allowing other background audio to mix with game audio (ppy/osu-framework#6457 by @frenzibyte)
- Fix disabling hold-to-right-click not cancelling in-progress actions (ppy/osu-framework#6459 by @frenzibyte)
- Affects mobile devices. Noticed in osu! gameplay, where if you press resume from the pause overlay, a right click is always triggered at the point where the button was clicked:
ScreenRecording_12-15-2024.11-14-24_1.mov
- Fix iOS app configuration missing certain specifications (#31162 by @frenzibyte)
- Fixes some iOS submission guideline failures.
Results
Allow using "quick retry" shortcut in more cases from results screen (#31108 by @peppy)
Fixes "quick retry" hotkey not working for autoplay, but also allows using it for other replays when the replay is already guaranteed to be local (ie. on the second playback).
Skin Editor
Fix player settings overlay appearing while in skin editor (#31105 by @peppy)
Also stops the settings appearing if the mouse is too far away from the window.
Skinning
- Fix lookups of hit circle slider pieces potentially using wrong source skin (#31052 by @peppy)
- Visible on some maps with partial beatmap skins included:
Before | After |
---|---|
![]() |
![]() |
UI
Add recommended difficulty numerical value near filter in beatmap listing (#31101 by @Joehuu)
Smaller changes
- Fix top score statistics section total score display being terminally broken (#31041 by @bdach)
- Fixes total score displaying completely wrong and mangled values on languages that use spaces as thousands separators.
- Expose high precision mouse toggle when searching for "sensitivity" and other keywords (#31139 by @peppy)
- Add missing mania tooltip overlay for 4k and 7k (#31084 by @NicholasChin28)
New Contributors
- @NicholasChin28 made their first contribution in #31084
Full Changelog: 2024.1208.0...2024.1219.2
2024.1208.0
Audio
- Improve menu/context-menu sample playback (#30910 by @nekodex)
- Updates menus to use new samples and fixes various cases where samples were previously not being played (e.g. when navigating menubars and submenus)
Chat
Sort public chat channels alphabetically, private channels based on recent messages (#30874 by @peppy)
Code Quality
- Add
DifficultyCalculationUtils
(#30536 by @stanriders) - Hide cursor trail from draw visualiser (#30507 by @smoogipoo)
- Remove field that's used only in one method (#30619 by @Givikap120)
- Update Velopack to 0.0.915 (#30659 by @smoogipoo)
- Fix reference issues in iOS tests (#30729 by @minisbett)
- Build Android with non-maui workflow (#30747 by @smoogipoo)
- Remove
CachedModelDependencyContainer
andOnlinePlayComposite
from multiplayer (#30634 by @smoogipoo) - Add test case covering stability of compatibility export operation (#30795 by @bdach)
- Recreate beatmap every test run in
ModTestScene
(#30819 by @frenzibyte) - Enable NRT for multiplayer and playlists (#30807 by @smoogipoo)
- Add localisation support for menu tip (#30865 by @ItsShamed)
- Update databased room status depending on gameplay state (ppy/osu-server-spectator#249 by @smoogipoo)
- Work around Android CI workflow errors (#30904 by @frenzibyte)
- Centralise supported file extensions to one helper class (#30915 by @bdach)
- Expose more migration helper methods (#30918 by @peppy)
- Stop loudly logging backwards seek bug to sentry (#30928 by @peppy)
- Update localisations (ppy/osu-resources#347 by @peppy)
- Move unnecessary properties from
BeatmapInfo
/ realm toIBeatmap
(#28473 by @bdach) - Use
LocalisationManager.GetLocalisedString()
instead of bindable hack (#30965 by @Susko3) - Set up-to-date .NET code quality analyzers (#30921 by @huoyaoyuan)
Editor
Fix placing objects via touch in editor not working sometimes (#30411 by @frenzibyte)
ScreenRecording_10-23-2024.16-55-59_1.MP4
Collapse sample point indicators into dots if they cannot be displayed in full (#29896 by @OliBomby)
Improve visual appearance of mania selection blueprints (#30512 by @bdach)
This isn't by all means supposed to be the end product, it's 80% of the target result in my mind in 20% of the time. Placement blueprints are all unchanged because attempting to access anything skinnable in the placement blueprint, before there is a DHO placed in an actual column, is hell. So I'm leaving that for later.
before | after |
---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Fix osu!mania notes disappearing on seek to their end time (#30755 by @bdach)
Change some beatmap default settings to match stable (#30826 by @peppy)
- Countdown should be off by default
- Samples match playback rate also
Do not deselect objects when control-clicking without hitting anything (#30947 by @bdach)
I checked a few apps to see what they do in this type of scenario and it's a very mixed bag but I think this behaviour makes sense.
Smaller changes
- Fix slow performance of polygon generation tool (#30214 by @minetoblend)
- Fix timing point truncation causing mis-snaps on compatibility-exported lazer beatmaps (#30607 by @OliBomby)
- Deactivate new combo toggle on deselecting objects (#30756 by @bdach)
- Add snapping info to the osu!catch selected objects inspector (#30766 by @Darius-Wattimena)
- Fix editor grid settings not displaying decimal portion in slider tooltips (#30859 by @frenzibyte)
- Fix hitobjects' samples getting in bad state when changing selection between objects (#30881 by @peppy)
Framework
Bring back borderless mode for macOS and Linux (ppy/osu-framework#6264 by @Susko3)
Smaller changes
- Disable
OnScreenKeyboardOverlapsGameWindow
on iOS when hardware keyboard is attached (ppy/osu-framework#6407 by @frenzibyte) - Use SDL3 text editing events on windows (ppy/osu-framework#6419 by @Susko3)
- Fix
RearrangeableListContainer<>
crashing on replacement operations (ppy/osu-framework#6424 by @smoogipoo) - Remove SourceLink package reference (ppy/osu-framework#6430 by @smoogipoo)
- Make
RearrangeableListContainer<>
only replace differences (ppy/osu-framework#6425 by @smoogipoo) - Factor window scale in
UserInputManager.mouseOutsideAllDisplays
(ppy/osu-framework#6432 by @Susko3) - Work around Android CI workflow errors (ppy/osu-framework#6436 by @frenzibyte)
- Update SDL3 package (ppy/osu-framework#6437 by @smoogipoo)
- Set up-to-date .NET code quality analyzers (ppy/osu-framework#6434 by @huoyaoyuan)
- Clean up
IWindow
and remove platform-agnostic code probingISDLWindow
(ppy/osu-framework#6438 by @Susko3) - Document
CursorEffectContainer
and update outdated name (ppy/osu-framework#6441 by @voidedWarranties) - Update transitive vulnerable dependencies for source generation tests (ppy/osu-framework#6435 by @huoyaoyuan)
- Add callback for when a submenu is opened (ppy/osu-framework#6439 by @nekodex)
- Fix Rider support of .globalconfig (ppy/osu-framework#6444 by @huoyaoyuan)
- Fix recent warnings seen on Rider 2024.3 (ppy/osu-framework#6443 by @frenzibyte)
- Switch to using named pipes for IPC (ppy/osu-framework#6442 by @peppy)
- Allow rewriting URL lookups in
OnlineStore
(ppy/osu-framework#6433 by @frenzibyte)
Gameplay
Increase idle time before gameplay loads when hovering controls (#30602 by @peppy)
Fix occasional flash when quick exiting / retrying from player (#30623 by @peppy)
Don't play fail animation if restarting on fail (#30862 by @frenzibyte)
Fixes red flashes.
Fix pause shortcut on multiplayer no longer requiring hold (#30861 by @frenzibyte)
Add a toggle for star fountains during gameplay (#30894 by @HenintsoaSky)
Adds an option under Gameplay > General that allows users to enable/disable star fountains during gameplay.
Fix "watch replay" button sometimes not loading the replay on first click (#30895 by @peppy)
Delay back button appearance when performing a quick restart (#30863 by @frenzibyte)
Fix quick retry transition from results screen looking a bit wrong (#30970 by @peppy)
Fix score no longer being saved when quick-restarting after pass (#30937 by @frenzibyte)
Smaller changes
- Do not show timing distribution graph in offset control if there's not enough timed hits (#30622 by @bdach)
- Fix black layer not fading fast enough when exiting quickly from quick restart (#30680 by @peppy)
- Fix key counter not updating activation state on initial load (#30718 by @frenzibyte)
- Adjust beat synced animation to be smoother in skip and break overlay (#30794 by @Fivoka)
- Fix beatmap load not continuing when settings slider is focused (#30799 by @peppy)
- Clear previous
LastLocalUserScore
when returning to song select (#30905 by @peppy)
Gameplay (osu!)
Implement new osu! mod "Bloom" (#30299 by @jhk2601)
This mod dynamically adjusts the cursor size as your combo increases, similar to how No Scope functions. The idea is for it to play as a sort of "reverse flashlight". I think it plays well and adds an interesting dynamic where your cursor essentially becomes an obstacle you have to work around sometimes, see attached video to get a better idea.
Bloom.demo.mp4
Gameplay (osu!mania)
Fix stage line alignment in mania not matching stable (#30590 by @frenzibyte)
Before | After |
---|---|
![]() |
![]() |
Make mania award SS even if there are GREAT judgements (#29640 by @smoogipoo)
Allow setting osu!mania scroll speed to single decimal precision (#30832 by @peppy)
Gameplay (osu!taiko)
##...
2024.1115.3
A hotfix exclusively for linux users. Note: may require a manual download if your linux install is already borked.
Full Changelog: 2024.1115.2...2024.1115.3