Releases: ppy/osu
2024.113.0
Code Quality
- Fix player submission test intermittent failures due to audio playback discrepancy logic kicking in (#26357 by @bdach)
- Fix wiki link path inconsistencies (#26378 by @wooster0)
Editor
Fix beats sometimes being counted incorrectly in the timing editor (#26281 by @iminlikewithyou)
Smaller changes
- Fix crash when dragging rotation control in editor with both mouse buttons (#26353 by @peppy)
- Keep editor in frame stable mode when possible (#26382 by @peppy)
- This is intended to be a catch-all fix for frame stable related issues in the editor.
Framework
- Add window hide/show methods (preliminary work for boss key) (ppy/osu-framework#6085 by @adryzz)
- Fix android storage path on .NET 8 (ppy/osu-framework#6100 by @i3ym)
- Fix dropdown header handling platform actions when not hovered (ppy/osu-framework#6096 by @frenzibyte)
- Make
Insert
forSlimReadOnlyListWrapper
unsupported (ppy/osu-framework#6103 by @Terochi) - Update year references (ppy/osu-framework#6107 by @bastianpedersen)
- Fix frame statistics display GC boxes not correctly being cleaned up (ppy/osu-framework#6118 by @peppy)
- Expose
RunTestsFromNUnit
aspublic
(ppy/osu-framework#6113 by @peppy) - Update framework (#26467 by @peppy)
- Remove
VeldridTexture.Bind()
(ppy/osu-framework#6128 by @smoogipoo) - Fix
KeyCombination
throwing when duplicates are fed in (ppy/osu-framework#6130 by @peppy)- This class may require some test coverage. Just pushing out for immediate visibility.
Gameplay
- Fix possible double score submission when auto-retrying via perfect mod (#26333 by @bdach)
- Fix Cinema mod being compatible with mods that can force failure (#26438 by @bdach)
Gameplay (osu!)
Increase slider tails' score to 150 points (up from 30) (#26248 by @smoogipoo)
@Bubbleman532, @Zyfarok, and others in the community have mentioned that the changes to sliders (tails not affecting the slider's main judgement, because that judgement is now on the head) have made tails not worth as much anymore, and removes the need to aim sliders on higher SR maps that very rarely have any ticks in sliders.
This PR makes tails worth 150 points, compared to the 30 points of a normal tick.
Gameplay (osu!catch)
Fix backwards z-ordering of fruits in juice streams and banana showers (#26336 by @bdach)
Adjust catch scoring to match stable score V2 (#26405 by @bdach)
Gameplay (osu!mania)
Fix mania score conversion using score V1 accuracy (#26434 by @bdach)
Smaller changes
- Fix some osu!mania skins not being processed due to errors in ini file (#26468 by @frenzibyte)
Gameplay (osu!taiko)
- Fix standardised score conversion failing for some taiko scores due to overestimating accuracy portion (#26332 by @bdach)
Misc
- Make chat command names case-insensitive (#26379 by @wooster0)
- Flash blocking ongoing operations dialog when trying to force quit (#26381 by @Joehuu)
- Disable pausing music during intro sequence (#26411 by @zacwm)
- Fix wiki main page not displaying custom layout (#26441 by @Joehuu)
Multiplayer
Fix multiplayer scores being submitted as pass even if failed (#26384 by @peppy)
Smaller changes
Online
Store user online state in config for next launch (#26337 by @bdach)
Stored status is reset on logout, so that it doesn't persist across multiple users logging in on one machine.
Performance
Set process priority of game window to high when focused (ppy/osu-framework#6104 by @peppy)
This is something we do on osu!stable and has large gains (for some users) on desktop systems, especially when shared with other heavy applications.
Only applies to windows.
Smaller changes
- Change threaded optimisations setting to "Auto" on startup (#26354 by @peppy)
- Use
HashSet
instead ofList
for temporary check in transform handling (ppy/osu-framework#6106 by @peppy) - Reduce allocations when setting value on
BindableNumber
with precision (ppy/osu-framework#6109 by @smoogipoo) - Remove per-call array allocations from
InputSampler
(ppy/osu-framework#6108 by @peppy)- Reduces overhead of cursor trail.
- Simplify
SpriteIcon
to reduce draw thread overheads (ppy/osu-framework#6111 by @EVAST9919) - Use native query to avoid huge overheads when cleaning up realm files (#26451 by @peppy)
- Fix
SettingsToolboxGroup
allocating excessively due to missing cache validation (#26456 by @peppy) - Preliminary fixes for off-the-charts allocations (#26422 by @peppy)
- Remove alloc overhead for
NormalizedValue
(ppy/osu-framework#6116 by @peppy) - Fix insane joystick allocations overhead (ppy/osu-framework#6115 by @peppy)
- Even when no joystick was connected.
- Remove bindable overheads of health displays (#26455 by @peppy)
- Reduce input processing overheads in
PassThroughInputManager
(ppy/osu-framework#6120 by @peppy) - Avoid creating a new texture in
SmoothPath
if the existing one is already the correct size (ppy/osu-framework#6119 by @peppy) - Remove allocations when checking if mouse outside all displays (ppy/osu-framework#6123 by @peppy)
- Reduce string allocations during shader creation (ppy/osu-framework#6121 by @peppy)
- Remove delegate allocation in jitter calculation in
FramedClock
(ppy/osu-framework#6122 by @peppy) - Remove overheads of MIDI device polling (ppy/osu-framework#6125 by @peppy)
- Remove allocations during bass device sync polling operation (ppy/osu-framework#6124 by @peppy)
- Reduce allocation overhead for keyboard / binding / button handling (ppy/osu-framework#6126 by @peppy)
Realm
Replay
Results
Scoring
- Fix score conversion incorrectly assuming zero combo score in certain cases (#26440 by @bdach)
- Fix incorrect score conversion on selected beatmaps due to incorrect
difficultyPeppyStars
rounding (#26471 by @bdach)- Fixes issue that occurs on about 245 beatmaps[^1] and was first described by me on discord and then rediscovered again during work on #26405.
Song Select
Improve speed of beatmap carousel load when scrolling (#26385 by @peppy)
The preload numbers are still on the conservative side. We can probably adjust these based on the system the game is running on in the future. Or across the board. But this should improve the overall responsiveness of carousel loading, something that's been bugging me for quite a while now (and not just me)
Smaller changes
- Fix mod score multiplier rounding to 1.00x with specific mod combinations (#26140 by @CaffeeLake)
- Remove scores from song select leaderboard when leaving the screen (#26410 by @peppy)
- Noticed they would disappear-then-appear after visiting the ranking screen. Which feels very weird.
- Fix crash when clicking osu! logo in song select immediately after exiting (#26437 by @bdach)
New Contributors
Full Changelog: 2024.106.0...2024.113.0
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 [email protected]
and [email protected]
.
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