What's Changed
- Implement legacy bar hit error meter by @bdach in #38535
- RankedPlay / Quickplay queue NullReferenceException by @austin19moore in #38490
- Move inlined usages of "stable magic ratio" to constant by @bdach in #38547
- Use colour hit error meter in catch by @MingxuanGame in #38269
- Fix legacy bar hit error meter origin resetting to center on every load by @sp2dev in #38576
- Minimize crash/freezes on multiple "block all realm operations" by @logisticalissue in #38572
- Save last song select collection filter to local config by @bdach in #38549
- Fix text clipping on form controls by @bdach in #38578
- Merge
RadioButtonmodel intoEditorRadioButtondrawable by @bdach in #38580 - Inherit previous object's sample settings in polygon tool by @bdach in #38579
- Fix stutter on returning to song select when updating large beatmap sets by @SevenSec114 in #38514
- Automatically close the now playing overlay when interacting with other overlays by @peppy in #38604
- Fix spinner spin sample not modulating as high as it should by @peppy in #38606
- Refactor report popovers to use dialogs by @LiquidPL in #38337
- Use Inter font in chat for better legibility by @peppy in #38630
- Batch chat message delivery when possible by @peppy in #38629
- Move up selection state bindables to
HitObjectComposerlevel by @bdach in #38603 - Limit star rating display animation duration for large changes by @peppy in #38635
- Add support for customizing ruleset-specific editor key bindings by @bdach in #38608
- Fix replay analysis cursor path shifting in rare cases by @bdach in #38637
- Add store for caching online assets to disk by @bdach in #38454
- Precompile path shaders during game load by @EVAST9919 in #38647
- Fix presenting beatmap sometimes not working correctly when scoped to beatmap by @bdach in #38639
- Allow reporting users in ranked play by @LiquidPL in #38632
- Fix infinite recursion in song select logic in certain circumstances by @bdach in #38638
- Add ability to sync bookmarks/preview point across difficulties by @Hiviexd in #38381
- Add ellipsis to menu items which open a dialog by @peppy in #38649
- Change extended result screen layout by @stanriders in #38643
- Improve settings sidebar and ruleset visibility by @peppy in #38640
- Avoid using
GetDescriptionfor hover sounds lookups by @peppy in #38655 - Fix
OnlineAssetCachingStorenot ever disposing by @peppy in #38656 - Adjust operation of left sidebar toggles in editor by @bdach in #38648
- Add rebind support for more editor actions by @bdach in #38666
- Temporarily disable online asset cache due to unacceptable performance by @bdach in #38668
- Fix editor toggle states not applying to current placement by @bdach in #38696
- Make "clear all local scores" menu item destructive by @Joehuu in #38677
- Fix editor verify issue messages potentially overflowing by @Joehuu in #38737
- Do not insert leading spaces into song select search bar when it is empty by @diquoks in #38713
- Fix user tags are not showing on first beatmap selection by @diquoks in #38733
- Make osu! autoplay mod incompatible with a few mods that move objects around by @Tom94 in #38777
- Fix osu! performance calculator using
LegacyTotalScore == nullchecks by @stanriders in #38754 - Upgrade to .NET 10.0 by @smoogipoo in #38039
- Restore Filipino language by @Joehuu in #38779
- Reduce log spew from game-breaking beatmaps by @bdach in #38789
- Retain the release stream which is specified by the game installer by @peppy in #38794
- Adjust rounding tolerance in distance snap grid ring colour logic again by @bdach in #38788
- Fix incorrect dependency container overrides by @bdach in #38772
- Remove link on beatmap deletion in recent activity on user profiles by @AndiTafel in #38801
- Improve performance when loading chat overlay with too many channels joined by @peppy in #38803
- Fix VSCode executable path directory by @TechStudent10 in #38815
- Avoid importing case-sensitive beatmaps files leading to crashes by @logisticalissue in #38792
- Fix zero duration storyboard loops potentially causing load thread pool exhaustion and infinite disposal block by @logisticalissue in #38817
- Update framework by @peppy in #38818
- Fix follow point animation showing twice on low approach rates with Hidden enabled by @bdach in #38820
- Ensure report confirmations arrive in the correct channel by @LiquidPL in #38833
- Add
/watchchat command by @jotkauser in #38152 - Adjust alignment of legacy key counter display by @peppy in #38838
- Add a limit to size of files extracted via
ZipArchiveReaderby @bdach in #38845 - Allow reporting messages in ranked play chat by @LiquidPL in #38841
- Add "block private messages from people not on your friends list" setting synced with web by @bdach in #38806
- Fix ranked play chat box not getting focus on keyboard input by @peppy in #38853
New Contributors
- @MingxuanGame made their first contribution in #38269
- @sp2dev made their first contribution in #38576
- @SevenSec114 made their first contribution in #38514
- @AndiTafel made their first contribution in #38801
- @TechStudent10 made their first contribution in #38815
- @jotkauser made their first contribution in #38152
Full Changelog: 2026.804.2-lazer...2026.920.0-lazer