Thanks for following along! This is a tagged release (2022.1227.0). For more information check out the osu! changelog page and dev blog.
Mobile releases will come later after some fixes. The android APK is from the previous release so new users still have something to download.
Beatmap Listing
Turn on featured artist filter by default and add disclaimer when toggling for the first time (#21646 by @peppy)
Another step in the direction of promoting featured artist beatmaps and providing new users with better directed access to licenced content. I hope the overhead of clicking through the dialog will not be too bad once per session, but depending on feedback we can consider adding a "don't show again" or similar.
This is a personal requirement for pushing osu! out to a new audience (aka mobile). We've made huge progress with the featured artist project and I think making it the default visibility is the right next step.
osu.2022-12-15.at.09.47.14.mp4
Code Quality
- Allow keeping stream open after encoding scores (#21627 by @smoogipoo)
- Fix SDL error on startup caused by setting min/max size before window creation (ppy/osu-framework#5584 by @Susko3)
- Fix wrong paths to macOS log folder in docs (#21667 by @bdach)
- Remove unnecessary
yield return
fromgetSDLDisplays()
and log errors (ppy/osu-framework#5602 by @Susko3) - Use new ArgumentNullException.ThrowIfNull throw-helper API (ppy/osu-framework#5605 by @turbedi)
- Use new ArgumentNullException.ThrowIfNull throw-helper API (#21763 by @turbedi)
- Fix parameters with the same default value inspection (#21792 by @Joehuu)
- Remove obsoleted "ForDifficultyRating" method (#21800 by @mk56-spn)
- Use generic Enum methods (#21802 by @turbedi)
Database
Allow imports from stable on windows to not use extra disk space (#21628 by @peppy)
A common user request is to "make lazer share a beatmaps directory with stable". This finally realises that goal when both games are on the same drive, using "hard links". You can find more details about how this works at the explanatory wiki page.
Editor
- Fix track changes not updating initial timeline zoom correctly (#21766 by @frenzibyte)
Framework
- Fix WhitePixel texture rectangle doesn't respect provided area (ppy/osu-framework#5577 by @EVAST9919)
- Bring Android framework to .NET 6 (ppy/osu-framework#5080 by @huoyaoyuan)
- Update SDL2 (ppy/osu-framework#5579 by @peppy)
- Fix one more case of using AutoGen's
ffmpeg
class for constants (ppy/osu-framework#5580 by @frenzibyte) - Guard against attempting to call
OpenUrlExternally
with non-http content (ppy/osu-framework#5574 by @peppy) - Add more logging to
SDL2DesktopWindow
(ppy/osu-framework#5585 by @Susko3) - Add bare-minimum Veldrid renderer implementation (ppy/osu-framework#5483 by @frenzibyte)
- Fix some issues with Veldrid/Vulkan on Linux (ppy/osu-framework#5587 by @smoogipoo)
- Fix osuTK graphics surface causing mobile platforms to crash (ppy/osu-framework#5591 by @frenzibyte)
- Fix bypassing front-to-back not actually disabling depth test (ppy/osu-framework#5601 by @frenzibyte)
- Avoid performing GL occlusion queries on Veldrid (ppy/osu-framework#5600 by @frenzibyte)
- Implement Veldrid vertex buffers (ppy/osu-framework#5595 by @frenzibyte)
- Update framework (#21629 by @peppy)
- Update framework (again) and remove some no-longer required workarounds (#21711 by @peppy)
- Simplify
TriangleBorder
shader (ppy/osu-resources#237 by @EVAST9919) - Don't post notifications from custom log targets (#21760 by @Flutterish)
- Remove Roslyn 3.11 and update source generator to .NET 6 (ppy/osu-framework#5607 by @frenzibyte)
- Update framework (#21798 by @peppy)
Gameplay
Retrofit lazer scoring data onto .osr
files (#21553 by @smoogipoo)
This retrofits a minimal subset of scoring data that is required by lazer in order to properly show scores to the end of .osr
files. This leaves the files backwards compatible with osu-stable should you choose to import a lazer replay into it, and also perhaps the path for us to potentially show lazer scores in stable?
Add argon "pro" skin (#21735 by @nekodex)
Adds a new argon "pro" skin variant that inherits from "argon".
Initially the only difference will be the new "pro" hitsounds, but this provides a home for potential "pro"-targeting skin modifications in the future.
Smaller changes
- Add description for lazer score version 30000001 (#21637 by @smoogipoo)
- Call spectator
EndPlaying()
immediately after score submission (#21686 by @bdach) - Add samples for argon "pro" skin (ppy/osu-resources#235 by @nekodex)
Gameplay (osu!)
Don't show "great" or higher judgements when using argon "pro" skin (#21774 by @peppy)
Done in the easiest-to-implement way for now. I would have liked to use MaxResult
from the triggering Judgement
but doing so would come with its own weirdness due to how drawable judgements are pooled. Eventually we will want to move this logic inside DrawableJudgement
to allow for toggling as a setting, but that will come later.
Gameplay (osu!catch)
Always hide cursor in osu!catch gameplay (#21625 by @Mogiiii)
Gameplay (osu!mania)
Localisation
- Fix parsing of ruleset configuration values being incorrect on some locales (#21612 by @peppy)
- Add
StringFormatMethod
annotation toLocalisableString.Format
(ppy/osu-framework#5586 by @Susko3) - Use
LocalisableString
s for date and time formats (#21654 by @Susko3) - Fix some comment actions not being lowercased (#21707 by @Joehuu)
- Update translations (ppy/osu-resources#236 by @peppy)
Multiplayer
Only show local results in multi-spectator results screen (#21618 by @smoogipoo)
Was previously showing local results as if it was a non-multiplayer display.
Online
- Fix clients not reconnecting after a connection error (#21586 by @smoogipoo)
- Store maximum statistics to spectator state (#21587 by @smoogipoo)
- Add score token to
BeginPlaySession()
(#21588 by @smoogipoo) - Ensure score submission completion before notifying spectator server when exiting play early (#21753 by @bdach)
- Add score processed callback to spectator client (#21738 by @bdach)
- Add solo statistics watcher component to deliver incremental global user statistics updates (#21762 by @bdach)
- Use new lazer API endpoint (#21810 by @peppy)
Performance
- Fix search container filtering too much (ppy/osu-framework#5578 by @bdach)
Platform
Fix android crash when using non-Gregorian calendars (#21583 by @Susko3)
Fix iPad devices not rendering various circular elements (ppy/osu-framework#5610 by @frenzibyte)
Results
Limit SFX panning range on results screen (#21661 by @nekodex)
At least one user reported that the panning effect was too intense, so it is now reduced to match other panning effects.
Add overall ranking display to solo results screen (#21778 by @bdach)
Smaller changes
Settings
Add button to settings to show lazer upgrade guide (#21777 by @peppy)
Smaller changes
- Fix language dropdown in settings and language selector in first run dialog not syncing (#21746 by @peppy)
- Fix restore default button having a minuscule hit area (#21737 by @bdach)
Tooling
- Bring iOS framework to .NET 6 (ppy/osu-framework#5582 by @frenzibyte)
- Move away from .NET Standard (ppy/osu-framework#5583 by @frenzibyte)
- Include missing properties to iOS templates (ppy/osu-framework#5593 by @frenzibyte)
- Replace project references during packing templates in GH workflow (ppy/osu-framework#5594 by @frenzibyte)
- Work around DirectX libraries blocking iOS from building (ppy/osu-framework#5592 by @frenzibyte)
- Fix wrong path separator used in templates pack CI (ppy/osu-framework#5603 by @frenzibyte)
- Remove no longer needed
Linker.xml
configurations for mobile projects (#21716 by @Susko3) - Fix iOS workflow failing to restore workloads (ppy/osu-framework#5606 by @frenzibyte)
- Move system packages version pinning workaround to game project (#21812 by @frenzibyte)
UI
Only show song select for now at UI scale adjust first run screen (#21730 by @peppy)
Having both was a bit too much. Still not happy with this but it's a bit less sensory overload. I think while it's cool being able to show nested screens like this, it needs more thought to actually be a good experience.
Smaller changes
- Fix buttons in setting overlay receiving input outside the visible corners (#21614 by @EVAST9919)
- Fix changelog single build dates disappearing before being off screen (#21616 by @Joehuu)
- Fix buttons receiving input outside the content (#21619 by @EVAST9919)
- Fix welcome screen language buttons not working (#21718 by @bdach)
- Fix file select popup getting stuck when switching first run screens while selecting (#21731 by @peppy)
- Fix breadcrumb tab item click area not extending to background height (#21675 by @Joehuu)
- Fix wiki overlay showing error message when load is cancelled (#21772 by @peppy)
- Implement overall ranking display for solo results screen (#21776 by @bdach)
- Link beatmap set title and artist to listing search (#21781 by @Joehuu)
- Highlight "open" option on external link button context menu (#21807 by @Joehuu)
- Add link to hard link explanation wiki page (#21811 by @peppy)
Wiki
- Add footnote support to Markdown container (ppy/osu-framework#5589 by @bdach)
- Add Markdown footnote support to wiki overlay (#21722 by @bdach)
- Add support for block attributes in wiki overlay (#21723 by @bdach)
Full Changelog: 2022.1225.1...2022.1227.0