Skip to content

Releases: ppy/osu

2024.412.1

13 Apr 07:12
fdf1ab5
Compare
Choose a tag to compare

What's Changed

Full Changelog: 2024.412.0...2024.412.1

2024.412.0

13 Apr 03:00
dd22735
Compare
Choose a tag to compare

Code Quality

Editor

Improve editor performance when many timeline ticks are present (#27632 by @EVAST9919)

Improve editor performance for maps with many control points (#27630 by @EVAST9919)

Smaller changes

Framework

Fix word wrapping not working well with chinese/japanaese/korean languages (ppy/osu-framework#6231 by @bdach)

Smaller changes

Gameplay

Change gameplay disclaimers to show inline and not delay gameplay start (#27616 by @bdach)

Add delayed resume for taiko/catch/mania (#27079 by @smoogipoo)

Fix some maps requiring multiple intro skips that weren't there on stable (#27784 by @bdach)

Add new icons for hit error meter (ppy/osu-resources#317 by @peppy)

2024-04-04 14 29 55@2x

Update hit error metre to use new icons (#27787 by @peppy)

Smaller changes

  • Fix incorrectly encoded score IsPerfect value (#27668 by @smoogipoo)
  • Add sample for gameplay resume countdown (ppy/osu-resources#314 by @nekodex)
  • Fix break overlay arrows look ugly on bright backgrounds (#27760 by @EVAST9919)
    • | before | after |
      |--------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------|
      | master | pr |

Gameplay (osu!)

  • Fix bulbs on Catmull sliders (#27734 by @smoogipoo)
    • Some old maps were showing weird loops in sliders which weren't rendered in stable. Now they don't render here either.

Gameplay (osu!catch)

  • Fix catch banana shower judgement causing fail when at 0 HP (#27677 by @smoogipoo)
    • Fixes the follow-up issue in #27121

Gameplay (osu!mania)

Gameplay (osu!taiko)

Fix taiko mascot size not matching expectations (#27758 by @peppy)

Smaller changes

  • Fix taiko legacy score simulator not including swell tick score gain into bonus portion (#27729 by @bdach)

Import

  • Fix SkinImporter not using invariant culture when parsing skins without skin.ini (#27739 by @Susko3)
  • Avoid reporting an import as successful when all beatmaps failed to import (#27755 by @peppy)

Online

Support Discord game invites in multiplayer lobbies (#27443 by @jvyden)

Smaller changes

Platform

######## Changes

  • (SDL3-CS) from namespace SDL2 & class SDL to namespace SDL & class SDL3 (made more sense as the functions are imported from SDL3.dll)
  • (SDL3-CS) structs and enums now live in the namespace instead of being nested in the SDL3 class
  • (SDL3-CS) pointer types are now proper pointers instead of IntPtr, which means more "unsafe" code
  • (SDL3-CS) minor changes to return/struct types, reducing need for casts
  • (SDL3-CS) simple function signature changes: from ref, in & out to pointers (unfortunate, but automatically generating these would be hell)
  • (SDL3-CS) function that take strings now take ReadOnlySpan<byte>, requiring Encoding.UTF8.GetBytes() calls or UTF-8 string literals
  • (SDL3-CS) function pointers instead of delegates in native callback functions
  • simple renames done via SDL-provided build-scripits/rename_symbols.py
  • migrations from the Migrating to SDL 3.0 guide
  • minor update of SDL3ControllerBindings logic (basically per SDL3 migration guide)
  • removal of borderless fullscreen on macOS and Linux (merged into fullscreen with SDL3)
  • updated windowing logic to account for SDL_DisplayID instead of previously used display index
  • osu!framework DisplayMode.RefreshRate changed from int to float
  • SDL relative mouse mode instead of custom WindowsMouseHandler mouse logic
    including removal of custom tablet handling logic. SDL_pen.h would be the replacement for that, but it's currently only supported on Linux
  • updated WindowsWindow to account for SDL_SYSWMEVENT removal
    has caused some minor regressions in IME handling (the new method isn't giving us all the expected messages)
  • updated JetBrains.Annotations to latest version
  • renamed SDL2 β†’ SDL3

######## Issues

  • IOpenGLGraphicsSurface.BackbufferFramebuffer used to return useful information on iOS
  • waiting un upstream: libsdl-org/SDL#9430
  • OpenGL probably won't work on iOS?
  • minor IME regressions on windows
  • releasing mouse button outside window with relative mouse mode causes next click to be ignored (SDL issue, it seems)
  • (possible issue) non-OTD tablet input with relative mouse mode on windows (WindowsMouseHandler logic was removed)

######## Future work

  • add full support for async raw mouse + keyboard on windows #6235
  • look into windows IME regression...
Read more

2024.312.1

12 Mar 11:02
e431c12
Compare
Choose a tag to compare

Code Quality

Online

Fix medals which are specific to a game mode not displaying correctly (#27574 by @bdach)

Performance

Reduce update overhead in osu! playfield when many objects are visible (#27562 by @EVAST9919)

Reliability

Downgrade realm to work around crashes on latest release (#27585 by @peppy)

Running osu! with data stored on an ExFAT drive stopped working with the last release. This will be fixed in this release. If your data is missing, please open your osu! data folder and rename the client_xxx_corrupted.realm file to client.realm (deleting the new one created with a smaller filesize) after completing the update.

Fix exports containing zero byte files after import from specific ZIP archives (#27586 by @bdach)

Full Changelog: 2024.312.0...2024.312.1

2024.312.0

11 Mar 17:33
9bc55be
Compare
Choose a tag to compare

Code Quality

Editor

Fix editor displaying combo colours in effectively incorrect order (#27344 by @bdach)

Fix "Use current" snap not working (#27386 by @peppy)

Change editor screen switcher control design and behaviour to act like a button (#27516 by @frenzibyte)

Smaller changes

  • Fix incorrect gradient application to some timeline blueprints (#27564 by @EVAST9919)
    • We were applying colour to the drawable with negative padding (which by itself is a workaround). Now applying directly to the content.
master pr
master-long pr-long
master-short pr-short

Gameplay

Make flashlight scale with playfield (#26181 by @rushiiMachine)

When the playfield is shrunk with mods such as BarrelRoll, flashlight does not account for this, making it significantly easier to play. This makes it scale along with the playfield Scale.

Avoid stopping / starting gameplay when running behind but a replay isn't attached (#27504 by @peppy)

Should fix the underlying issue causing the backwards seeks during gameplay.

Add "Argon" performance points counter (#27498 by @frenzibyte)

Add new hitsounds for "argon" skin (ppy/osu-resources#311 by @nekodex)

My primary goal with this sampleset is to offer a fresh, modern take on stable/legacy's hitsounds that would work as a drop-in replacement for beatmaps that were created with stable/legacy's sampleset in mind.

I've used reverb and increased stereo width to make the hitsounds less 'in your face' than the stable/legacy ones, making them more pleasant to the ear IMO. To compensate for potential audibility loss, I've used increased transients (punchyness), greater frequency range (with distortion/saturation/etc) and in some cases a volume bump to get them sounding equally legible.

I also decided to shorten the samples (relative to stable/legacy) in response to modern beatmaps being of increased difficulty/hitobject-density compared to maps from back when peppy created the stable/legacy sampleset.

In theory this allows for new players to progress further through harder maps before feeling the need to find an alternative skin/sampleset to hear what they're doing accurately - at which point, there's now conveniently also argon pro.

The sampleset does diverge a bit in some aspects (i.e. spinner sounds, fail sound, etc) to lean into lazer's aesthetic, but otherwise I hope the hitsounds should still be recognizable as some facsimile of their stable/legacy counterparts and hopefully still feel and play just as good (if not better) than stable/legacy did.

Smaller changes

Gameplay (osu!)

  • Fix old-style legacy spinner fade-in not matching stable (#27320 by @frenzibyte)
  • Allow pp for muted mod for any combination of settings (#27144 by @cdwcgt)
    • "Muted" doesn't change gameplay so can we make it ranked when adjust settings.
  • Fix slider head being incorrectly dimmed twice (#27369 by @Detze)
    • | before | after |
      | :---: | :---: |
      | before | after |
  • Rewrite legacy slider path rendering to match stable better (#27383 by @Detze)
  • Fix slider tails sometimes not dimming correctly (#27401 by @bdach)
  • Fix osu! standardised score estimation algorithm violating basic invariants (#27513 by @bdach)
  • Fix slider tracking state not restoring correctly in all cases on rewind (#27429 by @bdach)
  • Fix cross-talk between pooled DrawableSliderRepeat usage causing incorrect rotation (#27529 by @peppy)

Gameplay (osu!catch)

  • Fix draining processor failing gameplay on bonus misses, tiny droplet misses, and ignore hits (#27154 by @bdach)
  • Fix catch fruit position getting randomised when last fruit has zero position (#27456 by @frenzibyte)
  • Fix catch pp calculator not matching live with respect to miss handling (#27489 by @bdach)

Gameplay (osu!mania)

  • Fix osu!mania key images potentially showing gaps between columns (#27453 by @frenzibyte)
    • | Before | After |
      |--------|--------|
      | CleanShot 2024-03-01 at 22 52 59 | CleanShot 2024-03-01 at 22 53 28 |

Gameplay (osu!taiko)

  • Hide osu!taiko scrolling graphic when the beatmap has storyboard (#27424 by @frenzibyte)
  • Fix 1px flashlight gaps when gameplay scaling mode is active (#27533 by @bdach)

Main Menu

Allow better menu navigation using same hotkey to progress to destination (#27389 by @peppy)

You can now use:

  • L L L to get to playlists
  • M M M to get to multiplayer
  • S to get to settings
  • E E to get to the beatmap editor

Smaller changes

  • Fix main menu eating keys if user presses too fast (#27393 by @peppy)

Multiplayer

Implement difficulty tooltips for multiplayer lobbies (#26531 by @smallketchup82)

image

Online

Show user statistics updates on multiplayer and playlists results screens (#27331 by @bdach)

When discord is set to privacy mode, don't show beatmap being edited (#27440 by @peppy)

Scenarios include:

  • Editing one's own map and revealing their username in the creator field
  • Editing a private beatmap by someone else (ie. an unrevealed pool beatmap for a tournament)

Add flow for displaying achieved medals (#27276 by @bdach)

Smaller changes

  • Clear stored username/token from config when relevant checkboxes are unticked on login panel (#27299 by @BoudewijnPopkema)
  • Resolve issues with Discord RPC while on Do Not Disturb (#27354 by @jvyden)

Performance

Improve storyboard performance by better handling sprites lifetime (#27454 by @EVAST9919)

Let's use world.execute(me) as a storyboard example, since it has a lot of objects, which makes all the values exaggerated and easier to see the difference.

Smaller changes

Read more

2024.302.1

02 Mar 16:51
7564490
Compare
Choose a tag to compare

Gameplay

Fix gameplay seeking backwards for a single frame for some users (#27426 by @peppy)

Gameplay (osu!)

Fix incorrect standardised score estimation on selected beatmaps in osu! ruleset (#27361 by @bdach)

Can only realistically affect beatmaps with difficultyPeppyStars = 0, of which there are known 2:

Song Select

Improve search performance at song select when a collection is selected (#27336 by @peppy)

Platform

Adjust user storage paths for better cross-platform support (ppy/osu-framework#6196 by @smoogipoo)

Full Changelog: 2024.221.0...2024.302.1

2024.221.0

21 Feb 18:20
901bb01
Compare
Choose a tag to compare

Gameplay

Fix beatmap offsets not being applied correctly to extreme rate changes (#27243 by @myQwil)

Gameplay (osu!)

Fix classic skins incorrectly applying scaling factor to approch circles (#27286 by @peppy)

In triangles and argon, we expanded hitcircles to take up the full 128 px which are clickable, but still use the old approach circle sprite. To make it feel correct (ie. disappear as it collides with the hitcircle, not when it overlaps the border) we need to expand it slightly.

Note that this fix only affects classic/legacy skins.

Before After
2024-02-21 13 49 47@2x 2024-02-21 13 50 27@2x
2024-02-21 13 47 25@2x 2024-02-21 13 45 42@2x
2024-02-21 13 46 56@2x 2024-02-21 13 45 28@2x
2024-02-21 13 46 39@2x 2024-02-21 13 45 50@2x

Fix classic skin follow circles animating from incorrect starting point (#27288 by @peppy)

Performance

Settings

Remove Veldrid OpenGL renderer, always use (legacy) GLRenderer (ppy/osu-framework#6193 by @smoogipoo)

Spurred by people using this renderer, likely because "legacy" has a bad connotation associated with it (e.g. https://discord.com/channels/188630481301012481/1097318920991559880/1209220240383418438).

This forces GLRenderer ("legacy") to be used even when the OpenGL renderer type is selected.

Song Select

Fix beatmap carousel ordering not matching expectations (#27292 by @bdach)

Broke in yesterday's release, oops.

UI

  • Localise storage error popup dialog (#27258 by @Loreos7)
  • Update markdown code block implementation in line with framework changes (#27218 by @frenzibyte)

2024.219.0

19 Feb 16:15
c87bc8b
Compare
Choose a tag to compare

Code Quality

Editor

Fix deselecting slider adding control points (#27056 by @kongehund)

Will no longer add control points if the selection has 2 or more objects.

Framework

Upgrade to .NET 8 and C# 12 (ppy/osu-framework#6169 by @smoogipoo)

Performance improvements across the board. Over 50% in some cases (song select is apparently much nicer now).

Smaller changes

Gameplay

Allow a few new mods and mod settings for pp (#26935 by @bdach)

The following mods and settings are now allowing PP gains:

  • Mod "Accuracy Challenge".
  • Mod "Blinds".
  • Mod "No Scope".
  • "Restart on fail" setting of Sudden Death & Perfect.
  • "Adjust pitch" setting of Half Time / Double Time.

Show PP and rank changes in the toolbar (#27156 by @bdach)

Smaller changes

  • Bump databased star rating versions (#27065 by @smoogipoo)
    • Should fix some users that have had lazer installed for quite some time having incorrect SR values for some old beatmaps.
  • Improve low volume detection (#26951 by @myQwil)
  • Fix WorkingBeatmapCache caching beatmap in wrong state leading to crash (#27239 by @peppy)

Gameplay (osu!)

Fix relax mod not respecting tracking state of sliders when triggering actions (#26763 by @frenzibyte)

Create key-presses when watching osu!stable "Relax" replays (#27145 by @tsunyoku)

osu!stable does not record key presses onto replays with Relax, so attempting to watch them back in lazer didn't work historically.

Smaller changes

  • Fix cursor ripples displaying on release positions in replays (#27200 by @frenzibyte)

Gameplay (osu!catch)

Never flip fruit on plate (#27165 by @frenzibyte)

Limit vertical visibility of osu!catch playfield to an aspect ratio of 4:3 (#27162 by @frenzibyte)

Gameplay (osu!mania)

Add progressive coverage for mania's Hidden and FadeIn mods (#27068 by @smoogipoo)

This restores progressive coverage that HD and FI had in osu!stable, and adds a new mod ManiaModCover / CO which allows setting a custom cover.

Smaller changes

  • Fix selected legacy skins crashing on zero-length hold notes (#27138 by @bdach)

Gameplay (osu!taiko)

  • Convert selected legacy skin sprites to grayscale (#27059 by @bdach)
    • Fixes silly skins doing silly stuff they shouldn't.

Online

Give better visibility when the game is pending 2FA (#26920 by @peppy)

Add 2FA verification screen to registration flow (#26950 by @bdach)

Smaller changes

Performance

Platform

Suggest to update only if the latest release is available for the current platform (#26930 by @Susko3)

We've had few releases lately where mobile isn't working / is crashing, so the mobile release was pulled. Unfortunately, the game would still send an update notification, leading to many people opening issues about the update not being available for their platform.

This fixes that.

Smaller changes

  • Update windows icon metrics to match previous icon (#27184 by @peppy)
  • Update iOS icon metrics to match previous icon (#27185 by @peppy)

Results

Fix results screen not handling F ranks properly (#26733 by @frenzibyte)

Song Select

Display which mods grant pp (#26934 by @bdach)

In mod select and in song select footer.

Add last played search filter in song select (#23129 by @Elvendir)

You can now search for played<30 for beatmaps played in the last 30 days.

Smaller changes

  • Add aliases "author" and "mapper" for searching creator (#27112 by @Stoppedpuma)
  • Fix star counter decrease animation being delayed when current is over displayed star count (#27205 by @Joehuu)
  • Consider case sensitivity when sort...
Read more

2024.131.0

31 Jan 15:39
7cdedfb
Compare
Choose a tag to compare

Code Quality

  • Adjust default min result of SliderTailHit, remove override (#26870 by @smoogipoo)

Framework

  • Fix android crashes (ppy/osu-framework#6162 by @bdach)
    • Android no like one optimisation we made, so said optimisation is reverted for now.

Gameplay (osu!)

Fix judgements fading out too fast on classic skins (#26839 by @bdach)

Adjust slider tick / end misses to show slightly longer (#26876 by @peppy)

Just some fine-tuning based on feedback.

Fix slider end judgements appearing at incorrect locations when mods that flip playfield are active (#26885 by @bdach)

Online

Fix crash when logging out during 2FA email verification (#26834 by @bdach)

Fix 2FA verification via link not working correctly (#26837 by @bdach)

Smaller changes

Full Changelog: 2024.130.2...2024.131.0

2024.130.2

30 Jan 11:52
6931af6
Compare
Choose a tag to compare

Audio

Fix back sound being too loud when exiting many screens (#26612 by @peppy)

Code Quality

Editor

Fix lag when dragging first slider control point in editor (#26499 by @OliBomby)

Fix timing point changes not applying after selecting another one (#26585 by @frenzibyte)

Smaller changes

  • Fix glitchy path type correction for sliders in the editor (#26512 by @OliBomby)
    • Fixes an issue in the mechanism responsible for turning the path type to bezier when the perfect curve circle radius is too large.

Before:

osu.Game.Rulesets.Osu.Tests_rKl5pw51G0.mp4

After:

osu.Game.Rulesets.Osu.Tests_vEFTrVGF9Y.mp4
  • Fix blueprint container not handling right clicks correctly while moving a blueprint (#26661 by @frenzibyte)
  • Fix slider sometimes not updating anchor position of nested objects (#26659 by @frenzibyte)
  • Prevent custom divisor ranges from halting divisor preset cycling (#26689 by @myQwil)

Framework

Gameplay

Fix background dim occasionally getting in a bad state when exiting gameplay (#26544 by @peppy)

Fix holding keys before gameplay starts resulting in incorrect input (ppy/osu-framework#6101 by @frenzibyte)

Fade hold-for-menu button out completely on non-touch devices (#26542 by @peppy)

Simplify gameplay pause sequence (#26605 by @peppy)

This removes the frequency ramp on pausing. This was something I was personally behind implementing and working to keep around, but nuking in favour of simplifying the process for now. In discussing with nekodex we both agree there is a better way forward than this.

This lays groundwork for doing other things, like allowing seeking during replay pause, and changing the way offsets work without worrying about the weird application considerations from the pause ramp effect.

Fix gameplay elements not correctly offsetting to avoid per-ruleset skin layout (#26609 by @peppy)

Change S rank to require no miss (#26630 by @peppy)

This is a change for osu!/osu!taiko to match stable. It's not final. We're just giving people what they are used to for now. If you're about to comment about how you disagree with this, then please make sure to search first and contribute to an existing conversation.

Smaller changes

Gameplay (osu!)

Fix flashlight not dimming if slider head is hit early (#26576 by @bdach)

Fix cursor scale animation not matching stable on classic skins (#26567 by @peppy)

Adjust slider tick / end miss animations to be shorter (#26668 by @peppy)

There's still a lot of feedback that these are noisy and get in the way. As a recap, you can already skin these out using sliderendmiss and sliderendtick, but adding these in a classic skin is a bit of a pain in the ass, so I want to make the defaults usable for most users.

We'll continue to iterate based on feedback!

Adjust slider tick / end miss visuals to be less noisy (#26703 by @peppy)

More subtle, less noisy, but still should describe the misses quite well.

I toyed with bringing across the stable behaviour of ticks not fading out but people preferred this direction, so let's stick with it.

Smaller changes

  • Fix pop-in scale transition in resume overlay affecting input area (#26545 by @frenzibyte)
  • Fix touch device not always activating when it should (#26575 by @bdach)
  • Adjust legacy slider misses to be smaller again (ppy/osu-resources#304 by @peppy)
    • People are still complaining so I want to first try to make them more subtle.

Gameplay (osu!mania)

Fix key overlay not showing special key in the right place (#26589 by @peppy)

Gameplay (osu!taiko)

Fix taiko maps containing only drum rolls / swells not being passable without mods (#26578 by @bdach)

Change the input drum width to be consistent across all skins (#26632 by @frenzibyte)

Up until now, the input drum width was variable per skin, which results in the overall gameplay width changing based on skin. This has been discussed to be quite bad and must not be the case (see discord).

The constant width for the input drum has been defined to be 180px, visually matching osu!stable on classic skin. Default skins have been altered slightly to respect that width (basically set its height with respect to width rather than the opposite).

Change hit target position in osu!taiko to always match stable (#26634 by @frenzibyte)

triangles argon
CleanShot 2024-01-20 at 02 01 21 CleanShot 2024-01-20 at 02 01 01

Move osu!taiko playfield down a nudge to match stable visually (#26635 by @frenzibyte)

Remove rounding of slider velocity (when applied as scroll speed) (#26616 by @peppy)

This fixes some beatmaps using very precise slider velocities to create a speed ramp from looking too "jumpy".

Fix osu!taiko's scroll speed not matching stable expectations (#26781 by @frenzibyte)

This finally brings osu!taiko in line with scroll speed on stable, even when "classic" mod is not applied.

Smaller changes

Main Menu

Fix toolbar buttons not being clickable at screen edges (#26530 by @Susko3)

Allow adjusting volume controls via a drag (#26564 by @peppy)

Did you know you could do this in stable? Well you can in lazer too now.

Fix star fountains sometimes resetting visually (#26667 by @peppy)

Starting/stopping the firing process was done very weirdly, causing the underlying class to get confused.

Fix now playing beatmap backgrounds not being correctly centred (#26680 by @peppy)

Update logo (#26704 by @peppy)

Say hello to your new osu! logo. And don't trip on the dot.

Update backgrounds (ppy/osu-resources#306 by @arflyte)

Brand new menu backgrounds to match the fresh logo.

Smaller changes

Multiplayer

Fix touch device mod getting selected as a free mod in playlists (#26492 by @frenzibyte)

Remember the user's selected multiplayer room filter mode (#26538 by @peppy)

Fix multiplayer scores not updating after failing (#26751 by @frenzibyte)

Smaller changes

  • Fix multiplayer potentially selecting mods of wrong ruleset when starting matc...
Read more

2024.114.0

14 Jan 15:20
e3ffea1
Compare
Choose a tag to compare

Editor

Framework

Gameplay

Fix scores not showing up on leaderboards during gameplay (#26520 by @peppy)

Gameplay (osu!)

Fix flashlight dim being applied before slider start time (#26525 by @bdach)

Installer

  • Fix broken windows installer in last release (#26511 by @bdach)

Reliability

Song Select

  • Fix date failing to display on leaderboard for some scores with weird datetimes (#26526 by @bdach)

UI

Show "slider end" statistic next to slider ticks on results screen (and use correct colour) (#26522 by @bdach)

Full Changelog: 2024.113.0...2024.114.0