Releases: ppy/osu
2023.1231.0
Generated at 12/31/2023 1:54:41PM
Code Quality
Gameplay (osu!mania)
Fix argon miss judgement on mania placed on a different position (#26235 by @frenzibyte)
Main Menu
Add some new menu tips (and reword some others) (#26225 by @peppy)
Settings
Fix suggested value in audio offset adjust control being opposite in signs (#26267 by @frenzibyte)
Hopefully the last fix here.
UI
Adjust menu button metrics to read better (#26201 by @iminlikewithyou)
Smaller changes
New Contributors
- @iminlikewithyou made their first contribution in #26201
Full Changelog: 2023.1229.1...2023.1231.0
2023.1229.1
Framework
- Update game packages (ppy/osu-server-spectator#207 by @bdach)
- Add setting to control automatic minimising on focus loss in fullscreen mode (ppy/osu-framework#6094 by @Susko3)
- Expose
Mod.UsesDefaultConfiguration
(#26216 by @smoogipoo)
Main Menu
Stop showing game version at main menu (#26220 by @bdach)
Don't show online menu image until clicking osu! logo (#26221 by @bdach)
Add some new menu tips (and reword some others) (#26225 by @peppy)
Smaller changes
- Make the menu tip about mod select's fun mods more up to date. (#26203 by @LeNitrous)
Reliability
Fix crash after changing audio track in editor (#26219 by @bdach)
Smaller changes
Settings
Fix global audio offset suggestion feature not taking previous offset value into account (#26222 by @bdach)
Oops, now it works properly.
UI
- Remove opaque background from toolbar user button (#26224 by @bdach)
- Fix dropdown colour not updating correctly on enabled state changes (#26207 by @frenzibyte)
Full Changelog: 2023.1229.0...2023.1229.1
2023.1229.0
Editor
Add visual offset to better align editor waveforms with expectations (#26136 by @peppy)
In preparation for locking in better audio constants in lazer, let's fix the editor waveform looking completely misaligned.
This adds a visual-only offset to better align the editor waveform (in the timeline and on the timing screen) with osu! community expectations. With this change, visual-based timing is feasible, and assuming done correctly, should be accurate within 2 ms.
Fix editor timing mode not handling undo/redo correctly (#26141 by @peppy)
When undoing, selection would be lost, and (kind of as a result) the controls on the right of the screen would enter a detached state where they don't update correctly. Quite annoying when you're making changes.
Framework
Fix audio being initialised more than once unnecessarily (ppy/osu-framework#6090 by @peppy)
Bump OpenTabletDriver to 0.6.4.0 (ppy/osu-framework#6086 by @X9VoiD)
Added support for:
- Gaomon GM116HD
- Huion Kamvas 22
- VEIKK VK1060PRO
- Wacom CTC-4110WL
- Wacom CTC-6110WL
- Wacom DTH-1320
- Wacom PTU-600U
- XP-Pen Deco M
Improved detection for:
- Artisul A1201
- Gaomon 1060 Pro
- Huion H1060P
- Huion H420x
- Huion H950P
- Huion Kamvas 20
- Huion Kamvas Pro 24 (4K)
- Kamvas Pro 13 (2.5k)
- UGEE S640
Also:
- Huion Q11K: Fix digitizer specifications
- XP-Pen Star 05 V3: Fix digitizer specifications
Fix "Windows Ink" events being handled as touch events (ppy/osu-framework#5309 by @Susko3)
This fixes some tablet devices incorrectly enabling the "touch device" mod.
Smaller changes
- Rename concept of "global" mixer with "fallback" (ppy/osu-framework#6091 by @peppy)
- Add basic global statistics for input handler events (ppy/osu-framework#6087 by @Susko3)
- Add low latency initialisation support on windows by directly interacting with WASAPI (ppy/osu-framework#6088 by @peppy)
- Seems good, but had issues.
- Disable WASAPI initialisation mode for now (ppy/osu-framework#6093 by @peppy)
- Need some more time to test this out. As I kinda expected, it doesn't work well across the board.
- Update framework (#26159 by @peppy)
Gameplay
- Bail from score submission if audio playback rate is too far from reality (#26138 by @peppy)
- Handles cases where audio drivers aren't working as expected.
Gameplay (osu!)
Add new mod "Depth" (#25653 by @EVAST9919)
Update argon and triangles slider tick/end miss to match display style (#26120 by @peppy)
Add classic skin sprites for slider tick and slider end misses (#26117 by @peppy)
A lot of complaints asking for disable on the new elements. Mostly because it was confusing to just downscale the normal miss.
Now they get their own sprites. And as a result it's skinnable for the people that are really adverse to change. You can skin via slidertickmiss@2x.png
and sliderendmiss@2x.png
.
CleanShot.2023-12-25.at.08.12.17.mp4
CleanShot.2023-12-25.at.08.13.40.mp4
Fix spinner max bonus sound playing when seeking in replay (#26170 by @rushiiMachine)
Force minimum cursor size for click-to-resume screen (#26148 by @rushiiMachine)
On cursor sizes below 0.3x it becomes exceedingly difficult to quickly locate and then accurately click the resume cursor on the pause overlay as it could as big as a handful of pixels. In the event the cursor aligns somewhere on top of or close to the text, it becomes nearly impossible to find it as it's even the same color.
This clamps the minimum cursor size to 1x for the resume overlay, which is way more comfortable and less likely to cause the player to miss afterwards (note that not the entire cursor aura is interactable, only about 2/3s) and more closely resembles stable.
Smaller changes
- Add new sprites for slider end / tick misses (ppy/osu-resources#300 by @peppy)
Gameplay (osu!catch)
Fix catch objects not being clamped to playfield bounds (#26158 by @bdach)
Gameplay (osu!mania)
Make mania scroll speed independent of hit position (#26131 by @smoogipoo)
This fixes skins using a custom "HitPosition" having incorrect scroll speed.
Main Menu
Add support for displaying online images on main menu (#26172 by @bdach)
Move menu tips to main menu (#26182 by @peppy)
Show supporter love message at main menu and remove the disclaimer screen (#26183 by @peppy)
Goodbye disclaimer screen!
Settings
Always show settings section text on buttons (#26147 by @peppy)
Was really annoying to decode the icons quickly. Now text always shows.
Implement automatic suggestion of global audio offset based on last plays (#26169 by @bdach)
This control takes the place of the existing audio offset slider in game settings.
This is supposed to be a crude something to be in place by next year while the work on the real "offset wizard" can be postponed just a little bit longer.
Song Select
Fix rewind sometimes incorrectly selecting the same beatmap (#26127 by @ntransw)
Cycle between Daycore and Half Time mod when using classic hotkeys style (#26162 by @Gabixel)
Fix song select leaderboard tab ordering not matching stable (#26177 by @peppy)
Before | After |
---|---|
Smaller changes
- Do not attempt to stop preview tracks when arriving from a "track completed" sync (#26124 by @bdach)
Spectator
Allow entering spectator mode from context menu on user panels (#26184 by @peppy)
Fix using "Back" binding at spectator fail screen not working (#26189 by @peppy)
UI
Update icons game-wide (#26167 by @bdach)
main menu, top level | main menu, play submenu | main menu, edit submenu |
---|---|---|
settings | editor |
---|---|
All editorial decisions ("why is this variant of the icon used?" "why are the icons smaller / have more padding?") are either mine alone or/and were made in line with feedback from @peppy.
All traces of hexacons have been erased. May they rest well. Note that this also affects overlay headers since they are weirdly conjoined to toolbar icons for whatever reason. But I think it's fine.
Toolbar design iteration (#26168 by @peppy)
Takes some inspiration from flyte's newer designs but also makes some changes I feel works well. Iterative and not final.
Update popup dialog design (#26187 by @peppy)
Had to be done. I got irked every time these came up.
As usual, disclaimer that this is an iterative design and will probably be replaced in the future.
Smaller changes
- Add new icon assets (ppy/osu-resources#301 by @bdach)
Full Changelog: 2023.1228.0...2023.1229.0
2023.1224.0
Gameplay
Add control to allow changing offset from gameplay (#26076 by @peppy)
This behaves how you'd expect it to coming from stable. It's intended to be a very quick implementation just to get the functionality back, and will improve in the future. Controls are configurable but default to +
/-
.
Smaller changes
- Change "cinema" mod to never fail (#26080 by @peppy)
- Fix standardised score conversion failing for scores set with 0.0x mod mutliplier (#26082 by @bdach)
Gameplay (osu!)
Replace recently-added HP drain density calculation with combo-end bonus (#26083 by @smoogipoo)
When maps have very consistent density, HP drain is as harsh as it can get to the point that it feels like if you miss a note you can never regain HP.
I don't know how to maths enough to fix this just from just the hp increase / hp drain side of things, so I'm taking another approach by adding combo-end bonuses similar to stable.
Stable gives one of three bonuses at the time combo:
- "Geki" if every object was hit with a 300.
- "Katu" if every object was hit with 100 or above.
- "Mu" if any object was hit with 50 or below.
Online
Fix "spectate" button not always being clickable in online users list (#26081 by @peppy)
Smaller changes
Performance
- Fix hovering a toolbar button while running an import or reprocess potentially causing a stutter (#26086 by @peppy)
Reliability
Skinning
Change version checks to account for users specifying incorrect skin versions (#26069 by @peppy)
Some skins have been reported to use versions like "1.5", expecting "2.0" behaviour. So now anything above "1.0" defaults to "2.0" behaviour.
Song Select
Adjust BeatmapInfoWedge's beatmap length field according to mod rate (#26060 by @jeenyuhs)
I noticed the displayed length of the beatmap didn't change according to the change in rate (BPM does). These changes makes the beatmap length in BeatmapInfoWedge
refresh the same time as BPM according to the mods rate.
New Contributors
Full Changelog: 2023.1223.0...2023.1224.0
2023.1223.0
Gameplay (osu!)
Fix "relax" mod not considering full follow area radius when automatically holding sliders (#26041 by @bdach)
Fix strict tracking mod forcefully missing tail before slider start time (#26053 by @bdach)
Switch back to classic HP values for non-classic osu! HP drain (#26012 by @smoogipoo)
Add basic density consideration to HP drain (#26039 by @smoogipoo)
The highlight of today's release, HP drain has been reworked again for osu! mode. Please give it a try and see how it feels!
Gameplay (osu!mania)
Fix perfect mod not failing with special judgements (#26036 by @smoogipoo)
Scoring
Add versioning of local scores (#25998 by @peppy)
This saves the client version a local score was achieved with, so we can filter or upgrade scores in the future to provide a better experience for users that like to compare their local scores.
Skin Editor
Fix scale of skin element bounding box (#26004 by @DanielPower)
New Contributors
- @DanielPower made their first contribution in #26004
Full Changelog: 2023.1222.0...2023.1223.0
2023.1222.0
Gameplay
- Fix Save & Export failed replay hotkeys handling repeated keypresses (#25964 by @rushiiMachine)
Gameplay (osu!)
Fix autopilot mod not correctly working with no-fail etc. (#25976 by @bdach)
Fix argon pro not showing slider tick judgements (#25972 by @bdach)
Fix slider tick / end misses displaying with full size on legacy skins with animated misses (#26003 by @bdach)
Yes we have heard feedback that some don't like this or want to skin it. But a lot of that may be because it was incorrectly sized too large on some skins.
We'll provide a better visual experience for this, but it's already in a pretty good place on "argon" skins so please give that a try if in doubt. We'd want a similarly unobtrusive display for classic skins.
Scoring
Add versioning of local scores (#25998 by @peppy)
This saves the client version a local score was achieved with, so we can filter or upgrade scores in the future to provide a better experience for users that like to compare their local scores.
Smaller changes
- Relocate numeric HitResult values, add accuracy conversion (#25993 by @smoogipoo)
- Required for infrastructure.
New Contributors
- @65-7a made their first contribution in #25848
- @rushiiMachine made their first contribution in #25917
Full Changelog: 2023.1218.0...2023.1222.0
2023.1221.0
Editor
Fix near zero-length sliders being placeable and crashing the game (#25916 by @OliBomby)
Gameplay
Adjust "classic" mod multiplier back up to 0.96x (#25934 by @peppy)
Following discussions on discord, this seems like the most agreed upon value. Increasing this is important so that imported legacy scores don't lose too much value.
Gameplay (osu!)
Allow failing with "relax" and "autopilot" mods (#25917 by @rushiiMachine)
A significant portion of players that play primarily using relax mod have asked for the ability to compile relax with other mods, such as "perfect". This wasn't possible until now as relax blocked failing.
This change allows both "relax" and "autopilot" mods to fail, and as a result allows combining "no fail", "perfect" and "sudden death" with them.
If you're a relax player and want to keep the mod as relaxing as you remember it to, you can make a mod preset with RX+NF!
Fix osu! standardised score conversion sometimes exceeding bounds (#25876 by @bdach)
Users reported that some stable scores would convert to large negative total scores in lazer after the introduction of combo exponent. Those large negative total scores were actually mangled NaNs.
(This fix was in yesterday's release)
Show slider tick / slider end misses with a visible judgement (#25951 by @peppy)
I mentioned adding this multiple times this week, so here it is. Design is placeholder in all cases.
Gameplay (osu!mania)
Remove mania mod multiplier for DT/NC (#25958 by @smoogipoo)
The general gist of it is that, right now DT and NC are seen more as a personal preference than mods that have any significant impact to scores. The 1M score cap is seen as "sacred" to the degree that these mods, whether the reader agrees with the idea that these are personal preference or not, are not significant enough to justify breaking the score cap.
I believe we've reached the amicable conclusion that we are not adverse to experimenting with mods and their effects, multipliers, and other ways to display scores for showcasing purposes.
One such idea proposed, is to see whether a DT/NC mod with fixed hitwindows becomes more worthy of having a mod multiplier, combined with a separate mod for the current hitwindow-affecting rate adjustment
But, that is for future work. For the time being, I'm satisfied with the conclusion and bringing things to a common ground that everyone can agree with is an objective point of reference.
Adjust mania scoring to be more in line with ScoreV2 + 85% acc / 15% combo (#25945 by @smoogipoo)
Gameplay (osu!taiko)
Restore taiko accuracy to ScoreV2 values (#25887 by @smoogipoo)
"Good"s are now worth 150 instead of 100, bringing things in line with osu!(stable) and TnT.
Reliability
Song Select
Update song select to always show difficulty stats (#25898 by @peppy)
We have a larger redesign planned, but let's just get this in so people can easily see both leaderboards and beatmap stats.
This also sets the default display mode to local leaderboard, instead of details, as it's a better look.
Allow choosing "Edit" from any beatmap carousel item (#25900 by @peppy)
Was a bit confusing until now. Even I hit this at least once.
Fix song select running updates when screen is not active (#25943 by @peppy)
This is the reason some sound effects for selecting beatmaps were playing during gameplay.
Fix beatmap updates causing one extra carousel selection (#25949 by @peppy)
This fixes the carousel making one unnecessary selection every time the current selection is updated. Basically, on returning from gameplay this will cause the selection sound to no longer (incorrectly) play, but also likely improves smoothness as it's not randomly selecting a beatmap somewhere in the carousel before correcting back to the retained selection.
New Contributors
- @rushiiMachine made their first contribution in #25917
Full Changelog: 2023.1220.0...2023.1221.0
2023.1220.0
Code Quality
Don't convert TaikoModRandom to/from legacy mods (#25823 by @cl8n)
Gameplay (osu!)
Fix slider's sliding sample playing before start time (#25893 by @smoogipoo)
Online
Update packages for mod settings changes (ppy/osu-server-spectator#205 by @peppy)
Stop tracking build user counts when shutting down (ppy/osu-server-spectator#206 by @bdach)
Performance
Improve song select smoothness when running background processing (#25838 by @peppy)
Fix some beatmaps being reprocessed each startup (#25895 by @peppy)
Song Select
Fix incorrect ordering of items at song select when certain sort modes are used (#25888 by @peppy)
This is quite an unfortunate one, but I can't see a good way of fixing beyond undoing most of the performance gains from the last major release when certain sort modes (like difficulty sort) are used.
If you have a large library and want best search performance, use a simple sort mode for now (ie. artist or title). We'll iterate on this once things calm down.
Fix mod search textbox having focus while settings are visible (#25857 by @peppy)
UI
Fix opening log files from notification not presenting the correct file (#25871 by @Susko3)
Full Changelog: 2023.1218.1...2023.1220.0
2023.1218.1
What's Changed
- Don't convert TaikoModRandom to/from legacy mods by @cl8n in #25823
- Fix song select's carousel scroll position getting reset on background processing by @peppy in #25833
- Fix crash when creating collections named "All beatmaps" or "Manage collections..." by @bdach in #25839
- Fix padding on dropdown search bar by @65-7a in #25848
- Fix collections dropdown crashing during storage migration by @bdach in #25821
Also contains unmerged hotfixes:
- Fix song select realm refresh performance (#25838)
- Fix mod search textbox having focus while settings are visible (#25857)
New Contributors
Full Changelog: 2023.1218.0...2023.1218.1
2023.1218.0
Code Quality
- Make
CircularProgressDrawNode
and its properties protected (ppy/osu-framework#6060 by @EVAST9919) - Encapsulate common HP logic from osu and catch HP calculations (#25569 by @smoogipoo)
- Uncomment .NET 6 logging code (ppy/osu-framework#6064 by @Susko3)
- Bring inspections and dotsettings in line with osu project (ppy/osu-server-spectator#198 by @peppy)
- Fix overlapping chat links crashing the game (#25627 by @Susko3)
- Cleanup
DrawNode
drawing methods (ppy/osu-framework#6073 by @smoogipoo) - Uncomment net6.0 code and remove old code in
BeatmapListingOverlay
(#25671 by @Susko3) - Add
IsLegacyScore
toSoloScoreInfo
(#25746 by @smoogipoo) - Apply framework DrawNode cleanup changes (#25660 by @smoogipoo)
- Move object counts to BeatmapInfo (#25749 by @smoogipoo)
- Fix
GetRateAdjustedDisplayDifficulty()
(partially incorrectly) locally reimplementing difficulty range calculations (#25762 by @bdach) - Populate MaxCombo scoring attrib for non-osu rulesets (#25808 by @smoogipoo)
Editor
Show the filename of the current file in song setup (#25675 by @vegguid)
Change default slider velocity for new beatmaps to match osu!stable (#25688 by @peppy)
1.4x
is the default in osu!stable (ie. on creating a new beatmap in the editor) and plays better than 1.0x
, so let's match that on lazer.
Fix osu!taiko slider velocity being written incorrectly to .osu
file on export (#25689 by @peppy)
Add verify screen check for delayed hitsounds (#24648 by @ItsShamed)
Improve free-hand drawing of sliders to the editor (#25658 by @OliBomby)
Put simply, curves match your user input 100% better, and create smoother corners. Free-hand slider drawing has basically gone from "oh that's cool but i can make better because i am pro mapper" to "why would you ever not use this?"
Framework
- FFmpeg: Enable Microsoft MPEG-4 v1-3 decoders (ppy/osu-framework#6068 by @FreezyLemon)
- Request
READ_EXTERNAL_STORAGE
on older android versions (#25636 by @Susko3) - FFmpeg: Add VP6 and WMV2 video formats (ppy/osu-framework#6074 by @FreezyLemon)
- Add a session timestamp prefix to log files (and retain 7 days of logs) (ppy/osu-framework#6063 by @peppy)
- Add format provider argument to
IParseable.Parse()
(ppy/osu-framework#6065 by @Neuheit) - Add proper handling for
BindableList
collection changes in dropdown (ppy/osu-framework#6061 by @frenzibyte) - Add method to convert piecewise linear curves to spline control points (ppy/osu-framework#6056 by @OliBomby)
- Improve incremental B-spline builder via stochastic optimisation (ppy/osu-framework#6066 by @OliBomby)
- Implement dropdown searching (ppy/osu-framework#6072 by @frenzibyte)
Gameplay
Fix osu!taiko and osu!mania using the incorrect slider length when converting beatmaps (#25595 by @smoogipoo)
Fix hit error displays not clearing lines on seek (#25747 by @peppy)
Adjust some mod multipliers for initial leaderboard sanity (#25744 by @peppy)
Mod | Old | New |
---|---|---|
Half Time | 0.7x | 0.3x |
Classic | 1x | 0.5x |
Synesthesia | 1x | 0.8x |
There may be others we want to adjust. Note that these are basically placeholder safe values (lower is better) so we can allow these scores on the leaderboard without people complaining about unfairness... unless they are complaining the multiplier is too low (which is fine for now).
Show back button when spectating (#25770 by @peppy)
Avoids getting stuck at some screens. It's a bit ugly having the back button visible like this, but is the best approach we have for now.
Smaller changes
- Fix
ArgonHealthDisplay
sometimes behaving weirdly on miss judgements (#25672 by @frenzibyte) - Fix "IgnoreMiss" judgements not updating accuracy (#25740 by @smoogipoo)
- Fix
ArgonHealthDisplay
not displaying miss correctly during initial transition (#25673 by @frenzibyte)
Gameplay (osu!)
Implement Argon's spinner progress glow (#25562 by @EVAST9919)
Modify osu! standardised scoring to introduce a combo exponent (#24166 by @Zyfarok)
In osu! with ScoreV1 and ScoreV2, the cost of a miss was growing fast (quadratically) with the surrounding combos. This implied that a single miss could completely ruin the score of a play and cost up to 350k in ScoreV2.
To reduce this effect, a combo exponent of 0.5 was introduced. This effectively reduces the miss-penalty at high combos while keeping it high at low combos, in a similar spirit as how combo is capped in taiko or catch but without any hard-cap.
This combo exponent change is introduced together with a complete re-balance of the Combo/Accuracy split based on user feedback. Note that the new formula will imply higher scores overall and might require a bit of time getting used to. A table showing the effects of the new formula is available at here
Allow sliders to track if hit early (#25748 by @smoogipoo)
Smaller changes
- Add spinner glow resources (ppy/osu-resources#298 by @EVAST9919)
- Make osu! ruleset once again use the lazer default HP drain (#25797 by @smoogipoo)
- Playing around since the re-introduction of osu!stable's HP drain mechanics, I've become uncertain about using the osu!stable drain by default since it doesn't quite match the "feel" of osu!stable.
Most of my issues appear at higher HP drain rates, but with HR even on old maps the minimum is usually HP 8.4, which falls into the problematic region. I believe the difference is mostly where the judgements are placed - in osu!stable sliders have a big judgement at the end (300 + tick), whereas in lazer they have a medium-high judgement at the start (300) and a small judgement at the end (tick).
The raw HP drain rate seems to be quite similar, and if anything osu!stable should be harsher on the cases I've found.
I've also attempted to make lazer stable better, but I haven't been able to get it "just right".
There are others that have wanted the old algorithm back, which pretty much echo what I've said above: #25631
So... This PR moves the osu!stable algorithm to the classic mod.
Here's a replay demonstrating this: https://drive.google.com/file/d/1-AEIhaVF2YfXVR9GYc8UFAnV7zfFFHvA/view?usp=sharing
Note that osu!stable will play with V1 mechanics, but V1 and V2 feel about the same (just accuracy is slightly worse on V2).
- Allow sliders to track if hit late (#25776 by @smoogipoo)
- This allows slider heads to be hit late. In basic terms, this means that as long as your cursor is in the right position to hit ticks / repeats at the point of hitting the slider head late, they will now be hits instead of misses.
For those wishing to delve deeper into this change, please check the technical descriptions (and videos) in the pull request
25776.mp4
Gameplay (osu!catch)
Adjust catch score grade cutoffs (#25601 by @smoogipoo)
This is how things look across all modes:
grade | osu! / osu!taiko | osu!catch | osu!mania |
---|---|---|---|
SS | 100% | 100% | 100% |
S | ≥95%FC | ≥98% | ≥95% |
A | ≥90% | ≥94% | ≥90% |
B | ≥80% | ≥90% | ≥80% |
C | ≥70% | ≥85% | ≥70% |
Fix several issues with osu!catch beatmap conversion (#25685 by @smoogipoo)
This was originally intended to fix hyperdash generation around "pixeljumps", however it turned into much more general fixing of beatmap conversion because I couldn't provide beatmap conversion comparisons without fixing other issues.
Smaller changes
- Use stable sort for catch hyperdash generation (#22499 by @ekrctb)
- Fix catch applying positional clamping too early (#25726 by @smoogipoo)
Gameplay (osu!mania)
Change osu!mania HP drain to match stable (#25587 by @smoogipoo)
Fix osu!mania beatmap conversions sometimes having the wrong key count (#25712 by @smoogipoo)
Fix mania "autoplay" mod missing 0ms hold notes (#25727 by @PercyDan54)
Fix column sizing exceeding screen width on tablets (#25777 by @peppy)
The mobile stretching mode now applies to all skins, and adjusts to your device's aspect ratio. Note that this changes the width of special columns slightly – we'll be watching feedback as to whether this is throwing people off.
Smaller changes
- Fix precision issue when converting mania beatmaps (#25697 by @smoogipoo)
- Fix mania conversion following new discoveries (#25702 by @smoogipoo)
- Fix fallback column colors for legacy split stage mania skins (#25787 by @cl8n)
Mobile
- Fix ...