github ppy/osu 2022.704.0

latest releases: 2022.816.0, 2022.810.2, 2022.810.1...
one month ago

Thanks for following along! This is a tagged release (2022.704.0). For more information check out the osu! changelog page and dev blog.


Update SFX for mod select overlay show/hide (#18970 by @nekodex)

Code Quality


Update beatmap statistics and difficulty after making changes in the editor (#18835 by @peppy)

Smaller changes

  • Fix PerformWrite not rolling back transaction on exception (#18951 by @peppy)
  • Ensure all async writes are completed before realm is disposed (#18874 by @peppy)
  • Add more verbose logging to realm blocking process (#18979 by @peppy)



Fix replays showing incorrect star difficulty on load (#18984 by @frenzibyte)

Send beatmap hash to server on solo score request (#18978 by @peppy)

Right now, the client does nothing to ensure a beatmap is in a valid state before requesting to submit a score. There is further work to be done client-side so it is more aware of this state (already handled for playlists, but not for the solo gameplay loop), but the solution I have in mind for that is a bit more involved.

This is not used server-side yet, but I want to get this sending so we can start using it for some very basic validation.

Smaller changes

Gameplay (osu!)

  • Imitate stable's slider ball fade in/out animation (#18977 by @goodtrailer)
    • Though only a minor change which is basically imperceptible for most skins, some skins actually draw the followcircle as part of the ball sprite, resulting in instantly fading followcircles. An example in a relatively popular skin is shigetora's, Seoul v10 (reddit). The effect is slight but noticeable in this case, and doesn't work the same with lazer's current slider ball fade anims.



Add room public/private filter to multiplayer lounge screen (#18821 by @ggliv)

Smaller changes


Reduce overhead of transform processing when no transforms are present in a drawable (ppy/osu-framework#5279 by @peppy)

Should help quite a bit for cases with many things on screen (like multiplayer spectator).


Song Select

Add difficulty filter reset to song select "no results" suggestions (#18963 by @peppy)

Also now displays multiple suggestions at once.

Move star difficulty filter to song select (#18962 by @peppy)

A lot of people accidentally set this setting in the global settings then can't see any beatmaps. Moving it to song select is a usability priority, to the point I've taken some shortcuts to get this in sooner (before the full song select redesign). Focus is on usability, not getting the control looking great, but I think it works okay.


  • Fix crash on visual testing TestSceneChatOverlay due to null user (#18939 by @peppy)
  • Fix flaky song select placeholder test by changing ruleset post-display (#18941 by @peppy)
  • Attempt to fix editor navigation test failures again (#18944 by @bdach)
  • Attempt to fix flaky TestSceneAutoplay test (#18947 by @smoogipoo)
  • Ensure PlaylistItem's beatmap is not null (#18949 by @smoogipoo)
  • Fix directory cleanup occurring too early during realm tests (#18953 by @peppy)
  • Fix various multiplayer test failures due to not waiting for ongoing operation (#18955 by @peppy)
  • Fix test sometimes referencing old ModSelect object (#18966 by @smoogipoo)
  • Fix cross-pollution of server- and client-side multiplayer objects in tests (#18969 by @smoogipoo)
  • Allow disabling forced GC during test runs (ppy/osu-framework#5284 by @peppy)
  • Fix ID clash with announce and PM channels in chat overlay tests (#18982 by @peppy)
  • Fix BeatmapInfoWedge test potentially failing due to quick initial load (#18981 by @peppy)
  • Mark, document and silence remaining flaky tests on standard CI runs (#18965 by @peppy)
    • Will still continue to be monitored via teamcity (which will have the environment variable set).


  • Fix dragging slider bars on nub not performing correctly relative movement (#18986 by @peppy)

Full Changelog: 2022.630.0...2022.704.0

Don't miss a new osu release

NewReleases is sending notifications on new releases.