2024.312.0
Code Quality
- Don't clear
Logger.NewEntry
handlers when flushing (ppy/osu-framework#6191 by @Susko3) - Update github actions to resolve deprecation warnings (ppy/osu-server-spectator#221 by @bdach)
- Update github actions to resolve most node deprecation warnings (ppy/osu-framework#6194 by @bdach)
- Update github actions to resolve most node deprecation warnings (#27324 by @bdach)
- Cleanup common Renderer methods (ppy/osu-framework#6186 by @smoogipoo)
- Don't use sentry when running in debug mode (ppy/osu-server-spectator#223 by @peppy)
- Fix first call to
cycleLogs
failing due to directory not existing (ppy/osu-framework#6200 by @peppy) - Fix test failure on leap years (#27427 by @Detze)
- Remove useless DrawablePool in
ColourHitErrorMeter
(#27441 by @cdwcgt) - Fix
DebugUtils.IsDebugBuild
not working on Android (ppy/osu-framework#5617 by @Susko3) - Use new BCL APIs from .NET 7/8 (ppy/osu-framework#6203 by @huoyaoyuan)
- Introduce abstraction of
VeldridDevice
and pipelines (ppy/osu-framework#6187 by @smoogipoo) - Use new ToDictionary() overload without delegates (#27502 by @turbedi)
- Log
GlobalStatistics
when exporting logs from settings (#27242 by @Susko3) - Update framework (#27506 by @peppy)
- Increase interface surface of Veldrid components (ppy/osu-framework#6189 by @smoogipoo)
- Use ThrowHelper methods in more places (#27501 by @turbedi)
- Use ThrowHelper methods in more places (ppy/osu-framework#6184 by @turbedi)
- Fix
TestSceneSkinnableSound
failing (#27558 by @EVAST9919) - Remove leftover method in
KeyCombination
struct (ppy/osu-framework#6208 by @frenzibyte) - Track Veldrid staging resources per-frame (ppy/osu-framework#6206 by @smoogipoo)
- Implement a "deferred" renderer (ppy/osu-framework#6190 by @smoogipoo)
- Available for testing in the next release, probably.
- Fix incorrect disposal pattern (ppy/osu-framework#6211 by @smoogipoo)
Editor
Fix editor displaying combo colours in effectively incorrect order (#27344 by @bdach)
Fix "Use current" snap not working (#27386 by @peppy)
Change editor screen switcher control design and behaviour to act like a button (#27516 by @frenzibyte)
Smaller changes
- Fix incorrect gradient application to some timeline blueprints (#27564 by @EVAST9919)
- We were applying colour to the drawable with negative padding (which by itself is a workaround). Now applying directly to the content.
master | pr |
---|---|
![]() |
![]() |
![]() |
![]() |
Gameplay
Make flashlight scale with playfield (#26181 by @rushiiMachine)
When the playfield is shrunk with mods such as BarrelRoll, flashlight does not account for this, making it significantly easier to play. This makes it scale along with the playfield Scale
.
Avoid stopping / starting gameplay when running behind but a replay isn't attached (#27504 by @peppy)
Should fix the underlying issue causing the backwards seeks during gameplay.
Add "Argon" performance points counter (#27498 by @frenzibyte)
Add new hitsounds for "argon" skin (ppy/osu-resources#311 by @nekodex)
My primary goal with this sampleset is to offer a fresh, modern take on stable/legacy's hitsounds that would work as a drop-in replacement for beatmaps that were created with stable/legacy's sampleset in mind.
I've used reverb and increased stereo width to make the hitsounds less 'in your face' than the stable/legacy ones, making them more pleasant to the ear IMO. To compensate for potential audibility loss, I've used increased transients (punchyness), greater frequency range (with distortion/saturation/etc) and in some cases a volume bump to get them sounding equally legible.
I also decided to shorten the samples (relative to stable/legacy) in response to modern beatmaps being of increased difficulty/hitobject-density compared to maps from back when peppy created the stable/legacy sampleset.
In theory this allows for new players to progress further through harder maps before feeling the need to find an alternative skin/sampleset to hear what they're doing accurately - at which point, there's now conveniently also argon pro.
The sampleset does diverge a bit in some aspects (i.e. spinner sounds, fail sound, etc) to lean into lazer's aesthetic, but otherwise I hope the hitsounds should still be recognizable as some facsimile of their stable/legacy counterparts and hopefully still feel and play just as good (if not better) than stable/legacy did.
Smaller changes
- Fix
Argon
andTriangles
spinner freeze at low replay speed (#27359 by @EVAST9919) - Fix menu cursor tracking rotation while override by gameplay cursor (#27412 by @frenzibyte)
- Fix missing event unbinds (#27520 by @smoogipoo)
- Add support for new "argon" hitsounds (#27535 by @nekodex)
Gameplay (osu!)
- Fix old-style legacy spinner fade-in not matching stable (#27320 by @frenzibyte)
- Allow pp for muted mod for any combination of settings (#27144 by @cdwcgt)
- "Muted" doesn't change gameplay so can we make it ranked when adjust settings.
- Fix slider head being incorrectly dimmed twice (#27369 by @Detze)
- Rewrite legacy slider path rendering to match stable better (#27383 by @Detze)
- Fix slider tails sometimes not dimming correctly (#27401 by @bdach)
- Fix osu! standardised score estimation algorithm violating basic invariants (#27513 by @bdach)
- Fix slider tracking state not restoring correctly in all cases on rewind (#27429 by @bdach)
- Fix cross-talk between pooled
DrawableSliderRepeat
usage causing incorrect rotation (#27529 by @peppy)
Gameplay (osu!catch)
- Fix draining processor failing gameplay on bonus misses, tiny droplet misses, and ignore hits (#27154 by @bdach)
- Fix catch fruit position getting randomised when last fruit has zero position (#27456 by @frenzibyte)
- Fix catch pp calculator not matching live with respect to miss handling (#27489 by @bdach)
Gameplay (osu!mania)
- Fix osu!mania key images potentially showing gaps between columns (#27453 by @frenzibyte)
Gameplay (osu!taiko)
- Hide osu!taiko scrolling graphic when the beatmap has storyboard (#27424 by @frenzibyte)
- Fix 1px flashlight gaps when gameplay scaling mode is active (#27533 by @bdach)
Main Menu
Allow better menu navigation using same hotkey to progress to destination (#27389 by @peppy)
You can now use:
L L L
to get to playlistsM M M
to get to multiplayerS
to get to settingsE E
to get to the beatmap editor
Smaller changes
Multiplayer
Implement difficulty tooltips for multiplayer lobbies (#26531 by @smallketchup82)
Online
Show user statistics updates on multiplayer and playlists results screens (#27331 by @bdach)
When discord is set to privacy mode, don't show beatmap being edited (#27440 by @peppy)
Scenarios include:
- Editing one's own map and revealing their username in the creator field
- Editing a private beatmap by someone else (ie. an unrevealed pool beatmap for a tournament)
Add flow for displaying achieved medals (#27276 by @bdach)
Smaller changes
- Clear stored username/token from config when relevant checkboxes are unticked on login panel (#27299 by @BoudewijnPopkema)
- Resolve issues with Discord RPC while on Do Not Disturb (#27354 by @jvyden)
Performance
Improve storyboard performance by better handling sprites lifetime (#27454 by @EVAST9919)
Let's use world.execute(me) as a storyboard example, since it has a lot of objects, which makes all the values exaggerated and easier to see the difference.
Smaller changes
- Fix allocations in
SliderInputManager.updateTracking
(#27230 by @EVAST9919) - Reduce allocations in
TimelineBlueprintContainer
(#27297 by @EVAST9919) - Rework
AccuracyCircle
to not useBufferedContainer
s (#26769 by @EVAST9919) - Reduce allocations in
SmokeSegment
(#27357 by @EVAST9919) - Reduce osu spinner allocations (#27364 by @EVAST9919)
- Further reduce allocations during gameplay (#27379 by @EVAST9919)
- Reduce allocations in
PerformanceOverlay
while in expanded state (ppy/osu-framework#6197 by @EVAST9919) - Reduce allocations in
AggregateBindable
(ppy/osu-framework#6198 by @smoogipoo) - Reduce allocations when
ModSelectOverlay
is visible (#27366 by @EVAST9919) - Remove bindable from
CircularProgress
(ppy/osu-framework#6199 by @EVAST9919) - Use high performance session during gameplay (#27391 by @smoogipoo)
- Reduce frequency of global UBO changes (ppy/osu-framework#6188 by @smoogipoo)
- Fix allocations in
EffectPointVisualisation
(#27432 by @EVAST9919) - Fix
WikiPanelContainer
causing allocations and poor performance (#27543 by @EVAST9919) - Reduce allocations while hovering
DrawableFlag
(#27551 by @EVAST9919) - Reduce allocations in
CursorEffectContainer
andTooltipContainer
(ppy/osu-framework#6207 by @EVAST9919) - Reduce allocations in editor timing screen (#27556 by @EVAST9919)
Platform
Add missing .olz association to iOS (#27329 by @SupDos)
Associate with files and URIs on windows (#27001 by @Susko3)
Smaller changes
- Fix file association descriptions not being written when updating from an older version (#27449 by @Susko3)
Skin Editor
- Fix skin editor freezing when replay screen exits early (#26149 by @rushiiMachine)
Song Select
- Fix visual BPM difference between beatmap wedge and mod selection (#27232 by @maromalo)
- Adjust search terms for mods (#27192 by @smoogipoo)
- Adjust beatmap carousel padding to avoid scrollbar disappearing underneath logo (#26701 by @peppy)
- Fix mod select overlay settings order not always matching mod panels (#27497 by @frenzibyte)
- Update F rank badge colours to match latest designs (#27491 by @bdach)
- Fix mod selection in online-play rooms not accounting for mods of selected item (#27214 by @Givikap120)
- Change initial scroll effect to mod columns (#27403 by @Gabixel)
UI
Add highest rank tooltip to global rank display (#27107 by @Joehuu)

Fix low pass filter getting stuck in multiple locations (#27390 by @peppy)
Fix advanced stats in beatmap info overlay showing "key count" on non-mania beatmaps (#27380 by @frenzibyte)
Smaller changes
- Update markdown code block implementation in line with framework changes (#27218 by @frenzibyte)
- Localisation updates (ppy/osu-resources#310 by @peppy)
- Add feedback to delete buttons even when no-op (#27234 by @brandondong)
- Move back/quit button from bottom left to fail overlay when spectating (#27414 by @Joehuu)
- Fix wireframe misalignment in argon accuracy counter (#27417 by @bdach)
- Fix "unranked explanation" tooltip text using incorrect translation key (#27472 by @frenzibyte)
- Fix results screen accuracy circle not showing correctly for failed S with no flair (#27517 by @Joehuu)
- Update localisations (ppy/osu-resources#312 by @peppy)
- Wrap beatmap listing filters and match web spacing (#27541 by @Joehuu)
New Contributors
- @BoudewijnPopkema made their first contribution in #27299
- @smallketchup82 made their first contribution in #26531
- @SupDos made their first contribution in #27329
- @brandondong made their first contribution in #27234
- @Detze made their first contribution in #27369
Full Changelog: 2024.221.0...2024.312.0