github ppy/osu 2022.810.0

latest releases: 2022.927.0, 2022.923.1, 2022.923.0...
one month ago

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

Code Quality

  • Remove nullable disable annotation in mods for osu ruleset. (#19407 by @andy840119)
  • Remove nullable disable annotation in audio namespace (#19500 by @andy840119)
  • Update nullability specifications in osu!catch and osu!taiko mods (#19534 by @andy840119)
  • Improve IBeatSyncProvider interface and reduce beatmap track dependence (#19548 by @peppy)
    • As a preliminary step to moving out more of the clock/offset logic to a higher level, I want to start by reducing dependence on WorkingBeatmap.Track. Most of the usages outside of editor/player are for beat sync purposes (ie. animating various components), so I've gone through each of these usages and removed any references to the beatmap itself.
  • Remove nullable disable in the osu.Desktop (#19552 by @andy840119)
  • Clean up SoloScoreInfo serialised output (#19575 by @smoogipoo)
  • Remove nullable disable annotation in the clock namespace (ppy/osu-framework#5337 by @andy840119)
  • Fix possible null assignment inspection in TestScenePreviewTrackManager (#19635 by @frenzibyte)
  • Don't serialise empty mod settings (#19582 by @smoogipoo)
  • Apply IRenderer changes (#19560 by @smoogipoo)
  • Fix typo in IBindable xmldoc (ppy/osu-framework#5340 by @peppy)
  • Simplify task logic in ModPresetColumn (#19640 by @peppy)
  • Remove nullable disable annotation in the threading namespace. (ppy/osu-framework#5338 by @andy840119)



Fix circular song progress display incorrectly blocking mouse input from gameplay (#19564 by @peppy)


Gameplay (osu!)

Imitate osu!stable's slider followcircle behaviour at ticks (#19262 by @goodtrailer)

This change is most visible in two ways:


The default skin will now bounce when reaching a tick, just like classic skins.


Classic skins will now correctly wait until the next tick before dismissing the follow circle.

Add "strength" setting for wiggle mod (#16589 by @mk56-spn)


Gameplay (osu!mania)

Adjust visuals of osu!mania barlines to be less present (#19642 by @peppy)

Roughly matches the new design. Metrics adjusted to fit with the existing design. This also makes also barlines less opaque than before. We'll continue to adjust as the new gameplay designs are introduced.


Gameplay (osu!taiko)

Allow osu!taiko hitsounds to fall back to classic skin rather than use non-taiko samples (#19467 by @frenzibyte)

Smaller changes


Fix multi-spectator potentially getting stuck for passed players (hotfix) (#19597 by @frenzibyte)


Smaller changes

  • Fix host room status incorrectly showing "ended" after playing (#19668 by @smoogipoo)


Adjust pooling to fix stutters during some special beatmaps (#19587 by @peppy)

This basically means we are preloading more hitobjects. For weird edge cases like beatmaps containing sliders with 1,000 repeats or ticks, preloading is now heuristically aware and will prepare for the worst.

This should add minimal overhead during beatmap load but greatly smooth performance on more intensive beatmaps.

Smaller changes

  • Fix preview tracks at the beatmap listing not being cleaned up correctly (#19583 by @peppy)


Refactor android input handling (ppy/osu-framework#5317 by @Susko3)

This is especially important if the game/device is lagging. Previously we were dropping a lot of events. I expect the UI to feel marginally smoother with historic handling, and scrolling/dragging to be more precise.

Update SDL (ppy/osu-framework#5339 by @peppy)

Includes a fix for startup crashes on macOS with certain display configurations.

Smaller changes

  • Fix game folder migration potentially failing on macOS (#19563 by @peppy)


Fix common editor crash when returning from testing a beatmap (#19516 by @peppy)

Smaller changes


Ensure skin samples are looked up in correct order (#19574 by @smoogipoo)

For skins which contained '.ogg' files, the lookup order may have meant that the skin samples were never used.

Song Select

Fix newly imported beatmaps not sorting into place correctly (#19532 by @frenzibyte)

Show "locally modified" pill when local modifications have been made (#19529 by @peppy)


Add mod preset column to solo mod select overlay (#19622 by @bdach)


This is only supported in solo for the time being, as it is the simplest case.

Smaller changes

  • Add persistence of mod presets to realm (#19510 by @bdach)
  • Fix song select not updating selected beatmap card on editor resume (#19479 by @frenzibyte)
    • Along with all other components, selected beatmap card will get refreshed on screen resume to ensure it doesn't become out of sync.
  • Add flow for deleting mod presets (#19613 by @bdach)
  • Fix spurious sample playbacks from already-removed mod preset panels (#19651 by @bdach)


  • Add test coverage of deserialisation of skin layouts (#19504 by @peppy)
  • Add more missing realm Refresh() calls to new beatmap import tests (#19517 by @peppy)
  • Change all filter control button state test to until steps (#19570 by @peppy)
  • Safely restore TPL capacity after test failures (ppy/osu-framework#5334 by @smoogipoo)
  • Fix gameplay tests crashing when run multiple times (#19656 by @smoogipoo)
  • Refactor dodgy test to avoid TPL exhaustion (ppy/osu-framework#5342 by @smoogipoo)
  • Update multiple tests to use new assert output for easier to understand failures (#19664 by @peppy)
    • Splitting out some of the larger auxiliary changes from incoming clock refactorings.


  • Isolate development builds' storage from release builds (#19513 by @peppy)
    • I've also updated the game title/name to better know when an instance is running in development mode.
  • Fix GetLocalisableDescription() crashing on unnamed enum values (ppy/osu-framework#5335 by @smoogipoo)
  • Fix TestBrowser potentially crashing from null ref on quickly switching scenes (ppy/osu-framework#5333 by @peppy)
  • Unify usages of GetCultureInfo and fix LocalisationManager throwing on invalid culture (ppy/osu-framework#5341 by @Susko3)


Display readable error message when reaching download limit (#19522 by @frenzibyte)

Display connecting / failing states on toolbar user display (#19658 by @peppy)


Smaller changes

  • Prevent tags overflowing on beatmap info overlay (#19508 by @gutyina70)
    • This isn't the final solution (pending larger design changes), but at least it looks more correct.
  • Fix broken sheared button autosizing logic (#19538 by @bdach)
  • Hide F rank from the beatmap overlay filter (#19535 by @naipofo)
  • Fix textbox initial commit of empty string being considered "new" due to null equality (ppy/osu-framework#5331 by @peppy)
  • Add missing icons to UserProfileRecentSection (#19323 by @LukynkaCZE)
    • image
  • Unify implementations of deletion dialogs (#19612 by @bdach)
  • Implement selection logic for mod preset panels (#19621 by @bdach)


Prevent capturing arrow keys on playlist creation (#19507 by @naipofo)

You can now once again use the arrow keys to navigate song select during playlist creation.

Don't clear chat overlay textbox when pressing "back" key binding (#19543 by @peppy)

Fix FPS counter disappearing even when hovered (#19637 by @its5Q)

The intention was for it to stay visible when hovering, in case a user wants to monitor it for longer.

Fix incorrect FPS damping implementation (#19639 by @peppy)

Resolves a case where the FPS display would show way too high values after returning to the game from a suspended state. Also fixes the frame time display not updating to new values as fast as intended.

Smaller changes

  • Fix collection import not showing progress notification (#19638 by @peppy)

New Contributors

Full Changelog: 2022.731.1...2022.810.0

Don't miss a new osu release

NewReleases is sending notifications on new releases.