Skip to content

Releases: ppy/osu

2023.621.0

21 Jun 04:13
Compare
Choose a tag to compare

video changelog

What's Changed

Code Quality

Editor

Fix gameplay playfield border being affected by beatmap track time (#23767 by @peppy)

Add beat snap grid for osu!catch editor (#23770 by @peppy)

Add ability to cycle beat snap divisor using hotkeys (#23799 by @peppy)

Defaults to Ctrl+Shift+Wheel (as per stable).

Reduce the radius of note-to-note snapping in osu! editor (#23812 by @peppy)

Ball-parked to match stable as close as possible. Allows for more precise positioning.

Improve usability of beat divisor control (#23722 by @peppy)

A few changes of interest here:

  • Remember the last used custom divisor when cycling divisor types
  • Adds support for cycling back to the last custom divisor used. Previously it would be lost after switching back
    to common or triplets.
  • Use better defaults of 1/4 and 1/6 when cycling types

Add setting to limit distance snapping to current time (#23837 by @peppy)

You can now choose whether the distance snapping grid allows placing objects in the past/future, or behaves like
stable (only allowing placement at the current point in time).

Fix performance degradation at timing screen when seeking far into track (ppy/osu-framework#5843 by @peppy)

before after
osu Framework Tests 2023-06-16 at 07 41 08 osu Framework Tests 2023-06-16 at 07 40 21

Fix distance snap grid circles not correctly being centred on snap point (#23938 by @peppy)

before after
Pixelmator Pro 2023-06-16 at 08 21 16 Pixelmator Pro 2023-06-16 at 08 22 25

(red lines are added in post to show the centre point)

Smaller changes

  • Fix weird right-toolbox distance snapping display in osu!catch editor (#23832 by @peppy)
  • Fix playback controls in editor handling key repeat when they probably shouldn't (#23904 by @peppy)

Framework

Gameplay

Add animations to the argon key counter (#23751 by @ItsShamed)

ryou.mp4

Still coming soon (tm) to gameplay pending actual skinnable component implementation..

Fix audio adjustment settings not displaying while watching a replay (#23841 by @peppy)

Adjust argon progress display to work well on bright backgrounds (#23884 by @peppy)

before after
osu Game Tests 2023-06-12 at 07 26 47 osu Game Tests 2023-06-12 at 07 28 31
osu Game Tests 2023-06-12 at 07 27 30 osu Game Tests 2023-06-12 at 07 28 45
osu Game Tests 2023-06-12 at 07 31 58 osu Game Tests 2023-06-12 at 07 29 43
osu Game Tests 2023-06-12 at 07 32 10 osu Game Tests 2023-06-12 at 07 29 01

Note that these screenshots are worst-case scenarios. Generally beatmap backgrounds are not pure white (and users have
some degree of background dim).

Smaller changes

  • Don't show offset calibration controls when "relax" mod is active (#22934 by @peppy)

Gameplay (osu!)

Fix black jaggies around argon hitcircles (#23853 by @smoogipoo)

before after
image image

Fix not being able to receive full score for extremely short sliders with repeats (#23866 by @bdach)

This case seems relatively rare, so it's probably not worth a special hotfix. This is also why I'm not bumping the score
version in the legacy score encoder again.

Add "Synesthesia" mod for osu! ruleset (#23520 by @jtbiddle)

This is a mod for osu!standard that colors hit circles and sliders based on their beat division in the song. For
example, objects that are on full notes are white, half notes are red, and quarter notes are blue. This is a simple
implementation using the function for the snap coloring preference in osu!mania, and shares the same colors. I
implemented this in an attempt to make reading complicated rhythms easier, especially for low AR or hidden.

snapcolour.mov

Gameplay (osu!mania)

Update argon osu!mania column colours in line with latest proposal (#23769 by @peppy)

Fix osu!mania bar lines showing in front of notes (#23795 by @peppy)

Fix osu!mania hold notes sometimes looking incorrect...

Read more

2023.617.0

16 Jun 17:50
Compare
Choose a tag to compare

Hotfix release number 3! More fixes for score migration and import. Who would've guessed?!

Scoring

Fix reimporting old lazer scores undoing standardised score recalculation (#23930 by @bdach)

Fix score migration not migrating all scores properly (#23934 by @peppy)

We were missing a rounding consideration which means that.. probably half of the scores which should have been converted were not being. Luckily this is easy to resolve and can be simply re-run on top of an existing database with no further considerations.

Full Changelog: 2023.614.1...2023.617.0

2023.614.1

14 Jun 09:43
Compare
Choose a tag to compare

Hotfix release number 2 ahoy! Local score fixes!

What's changed

Gameplay

Fix flashlight mods not working on Metal (ppy/osu-resources#262 by @frenzibyte)

Has been broken for a couple of releases. Finally fixed!

Scoring

Migrate old standardised scores to new algorithm (#23892 by @peppy)

We originally weren't considering fixing old scores set by users in their local client, but due to a sizable number of requests we've added a migration for these.

After you run this release, all your local score will be converted to the new standardised scoring system.

Note that this is a best-effort implementation. It inserts misses in a way that gives the user the best possible combo streaks considering the only information we know (MaxCombo). So if anything, you'll have to try a tiny bit harder to beat your old scores.

But at least you CAN actually beat them now, right? :)

Full Changelog: 2023.610.0...2023.614.1

2023.610.0

09 Jun 19:04
Compare
Choose a tag to compare

Hotfix release ahoy!

What's Changed

Editor

Store timestamp of beatmap's last edit time in local database (#23711 by @timiimit)

Now when you open the editor it will load right back to where you were last time you opened each individual beatmap.

Fix ticks being created after the end of drum rolls in osu!taiko editor (#23768 by @peppy)

Gameplay

Fix flashlight mods not working on Metal (ppy/osu-resources#262 by @frenzibyte)

Has been broken for a couple of releases. Finally fixed!

Fix triangles song progress bar blinking during gameplay (#23781 by @bdach)

Gameplay (osu!mania)

Change osu!mania scoring ratio to 99% acc (to match previous lazer scoring) (#23816 by @peppy)

We've had a lot of negative feedback from users after switching to the new score v2 based scoring. While there's still plenty of time to balance things, this change reverts the combo/acc ratio to what we had, and what users were used to.

Of note, other rulesets didn't change in a similar way so match (roughly) correct.

Settings

Fix osu!mania scroll speed milliseconds having too much precision in some locales (#23776 by @peppy)

Full Changelog: 2023.605.0...2023.610.0

2023.605.0

05 Jun 11:43
f828992
Compare
Choose a tag to compare

Check out changelog and video!

What's Changed

Code Quality

Database

Improve startup database reliability (#23695 by @peppy)

A couple of fixes here:

  • Previously, if the backup procedure failed, startup would continue and the user's realm database may be deleted. I think in such a fail case I'd rather the game didn't startup so the user gets in touch (or reads the log files themselves) rather than potentially losing data.
  • Reduced the number of cases a database would be marked as "corrupt". We've seen a couple of reports where a user has provided a "corrupt" database that has worked just fine, so hopefully this change will stop that happening.

Editor

Update metronome samples (ppy/osu-resources#257 by @nekodex)

Did a pass on the metronome samples, mainly to remove the pre-delay before the main transient, but also to make it 'snappier' overall. This should make it easier to hear over music and judge timing more accurately.

I originally had the pre-delay there to help soften the attack of the metronome (so it would sound more organic and less ear-piercing) under the assumption that people would be using it in conjunction with the visual waveform in the editor to dial in the timing/offset. However, it seems some people prefer to use their ears when timing and a pre-delay/offset messes with their ability to do that. Hopefully these new samples will resolve that.

Allow commiting / undoing placement of blueprints using back / select bindings (#23508 by @peppy)

With default bindings, this restored hitting "Escape" to exit placement mode.

Force placement of in-progress object when changing tools in the editor (#23509 by @peppy)

Just like in the osu! stable editor, you can now switch from slider to select or hitcircle placement and it will place an in-progress slider rather than throwing it away.

Fix sample banks not saving correctly when adjusting via editor (#23564 by @peppy)

Broke at some point recently.

Fix timeline blueprint display not showing correct combo number / colour during placement (#23582 by @peppy)

osu.Game.Tests.2023-05-17.at.08.55.03.mp4

Of note, in stable the way the editor behaves is slightly differently. The placement object is inserted into the beatmap before being placed, causing future objects to update their combo index, colour, etc.

I'm not ready to commit to that same behaviour (it will be more complicated to manage), but will deal with feedback on this in the future.

Fix undo/redo not working for slider velocity and sample changes (#23631 by @bdach)

Allow deselecting any selection in the editor using the Back binding (escape key) (#23651 by @peppy)

Matching much-loved stable behaviour.

Update beat divisor control to show ticks in more visually correct locations (#23581 by @peppy)

Before:

osu Game Tests 2023-05-17 at 07 36 08

After:

osu Game Tests 2023-05-17 at 07 35 33|

Add sample bank selection controls (and hotkeys) to editor (#20829 by @peppy)

Mostly for the hotkeys, since they've come up multiple times.

osu.Game.Tests.2022-10-19.at.12.47.23.mp4

Ensure editor selection buttons remain on screen when selection is near edge (#23649 by @peppy)

Purely visual and if it regresses in the future, it's going to be in a completely unpredictable way, so opting to not add tests.

2023-05-24.22-05-34.mp4

Fix slider path placement incorrectly snapping to distanced snapping grid when it makes no sense (#23662 by @peppy)

Fix placing objects before the first control point in the osu!taiko editor failing (#23667 by @peppy)

Before:

osu.2023-05-26.at.11.02.23.mp4

After:

osu.2023-05-26.at.11.01.04.mp4

Fix slider bars and text boxes fill colour not being fully defined in some screens (#23708 by @peppy)

Before:

osu! 2023-05-31 at 14 26 02

After:

osu! 2023-05-31 at 14 24 52|

Fix hit objects popping in and out of existence at edges of timeline (#23701 by @EVAST9919)

Smaller changes

  • Move blueprint validity conditions to allow more correct external usage of EndPlacement (#23507 by @peppy)

Framework

Show more information in frame statistic display (ppy/osu-framework#5801 by @peppy)

A result of smoogi not being able to tell which frame limiter is applied on high refresh monitors (where they all become 1000 Hz). Obviously this is a fault of the frame limiters, but fixing that is for another day.

osu Framework Tests 2023-05-18 at 07 47 05|

Fix input thread reporting too much elapsed time in single thread mode (ppy/osu-framework#5819 by @peppy)

Well, no, potentially not just WndProc but other counters too. Basically if BeginCollecting is called with no items in the stack, it will not consume the stopwatch time, meaning the next EndCollecting call will also include all time passed since the previous EndCollecting call.

Ouch.

Before:

osu Framework Tests 2023-05-31 at 08 38 08

After:

osu Framework Tests 2023-05-31 at 08 37 49|

Smaller changes

Gameplay

Remove flavour text from the pause / fail screens (#23646 by @peppy)

Didn't read too well, can't think of anything better so let's chop it.

Before:

osu Game Tests 2023-05-24 at 09 26 13

After:

osu Game Tests 2023-05-24 at 09 27 44|

Show current progress on pause screen (#23647 by @peppy)

Just because I could. I was also experimenting with adding more features to this screen, but feel that anything beyond this simple addition should be done by implementing skinning of the screen (quite low effort).

osu Game Tests 2023-05-24 at 09 34 20

Replace lazer scoring with "ScoreV2" (#23638 by @smoogipoo)

One of the issues with scoring that's being consistently brought up is its linear combo scaling nature. This has triggered discussions like this, which has led to an alternative scoring implementation here.

The problem with this implementation is that it adds a lot of complexity in an effort to make score re-calculable, but it relies on all judgements or some metadata being stored server-side (which we are not confident on moving forward with). On top of that, it changes scoring completely unlike anything we've seen thus far, which is neither a bad thing nor a good thing.

After internal discussion, we believe the best path forward is to return to something that everyone's familiar with that has been tried and tested. ScoreV2 seems appropriate.

For the most part, this is a 1:1 implementation of osu!stable's ScoreV2. osu!catch has not been exactly implemented, since its implementation drastically increases complexity and I've been told the simple combo/accuracy portions are fine (by people that have attempted to improve on the osu!stable algorithm for tournament purposes).

A few pointers regarding this change:

  • Going forward we won't be calling this ScoreV2 – it will still be referred to as lazer scoring for the time b...
Read more

2023.513.0

13 May 20:17
732bd78
Compare
Choose a tag to compare

Code Quality

Framework

Disable relative-mode mouse by default on Linux (ppy/osu-framework#5776 by @smoogipoo)

There are still edge cases on Linux where relative-mode isn't working correctly, so let's disable by default.

Smaller changes

Gameplay (osu!)

Fix "strict tracking" mod breaking sliders (#23489 by @apollo-dw)

Fix hold-for-right-click showing during gameplay (#23529 by @peppy)

A bit of a hotfix for now until we figure a more permanent solution for this.

Performance

Reduce overhead induced by checking Bass CPU usage (ppy/osu-framework#5784 by @peppy)

Cache value of VerticalSync to avoid overhead retrieving from SDL2 each time (ppy/osu-framework#5783 by @peppy)

Fix D3D11 losing performance by constantly mapping/unmapping buffers (ppy/osu-framework#5785 by @smoogipoo)

Fix various graphical and performance regressions in last release (ppy/osu-framework#5787 by @bdach)

There's not going to be much of an explanation in this one. The goal is to revert to a known-working state. I don't know why the old code would fail in the ways it did.

Full Changelog: 2023.511.0...2023.513.0

2023.511.0

11 May 07:44
bb9adb0
Compare
Choose a tag to compare

Code Quality

Editor

Change default beat divisor to 1/4 snap (#23248 by @peppy)

This matches stable, and is a much saner default value. Will apply to new beatmaps and also beatmaps which don't specify a snap value in the .osu file.

Always round editor rotation to integer values (#23247 by @peppy)

As mentioned in youtube comments, there are next to no use cases for having floating-point rotation in the editor, so let's round it for now.

2023-04-20 14 33 21@2x

Fix editor potentially leaving a dangling beatmap if exiting during load too fast (#23333 by @Cootz)

Allow using the 'Use current' distance snap button when exactly on a hit object (#23361 by @OliBomby)

When exactly on the start time of a hit object, the 'Use current' option becomes unavailable because the first object before and after the current time is the same object. I changed this so it would get the previous hit object and the current hit object in this situation. That way you can easily get the distance snap to copy the same distance as used before.

Add more padding around playfield in editor to avoid overlap with tool areas (#23370 by @peppy)

Remove control point data storage from hit object (#23308 by @OliBomby)

Fixes various import / export issues, most notably when exporting a beatmap from the lazer editor causing many control points to be created that shouldn't have been there.

Show slider velocity in hit object inspector (#23404 by @peppy)

Show beatmap slider velocity statistics when adjusting velocity (#23405 by @peppy)

Gives a mapper / reviewer a better sense of the larger picture of the beatmap when viewing slider velocity.

Add beatmap-level velocity setting to difficulty settings (#23431 by @peppy)

osu.2023-05-08.at.04.53.04.mp4

Add the ability to change the beatmap tick rate in the editor (#23434 by @peppy)

osu.2023-05-08.at.05.20.45.mp4

Smaller changes

  • Reset online ID on locally modifying beatmap (#23362 by @bdach)
  • Prevent infinite repeat count when adjusting repeats of 0 length slider (#23357 by @OliBomby)
  • Fix incorrect special style description text (#23429 by @peppy)

Framework

Fix touch feedback breaking Direct3D 11 exclusive/optimised fullscreen (ppy/osu-framework#5753 by @Susko3)

Disable new mipmap generation (ppy/osu-framework#5765 by @bdach)

This was intended to improve performance, but ended up causing many issues across multiple platforms. We'll loop back with this change again in the future.

Add long tap to right click support (ppy/osu-framework#5255 by @frenzibyte)

Finally you can access right-click menus (and finish slider placement) on mobile devices! We'll continue to improve the mobile experience but this is a solid place to start.

Smaller changes

Gameplay

Implement new design of Key Counter (#22655 by @ItsShamed)

Not yet available for in-game use. Needs a bit more work on the HUD side of things.

osu.Game.Tests_Tpe6qj95jz.mp4

Fix key counters counting during break time (#23309 by @peppy)

Fix some videos with uppercase file extensions not displaying correctly in-game (#23260 by @Haspamelodica)

Keep shared mod settings when changing ruleset (#22711 by @Terochi)

Smaller changes

Gameplay (osu!)

Add cursor ripples (#23342 by @peppy)

As with stable, this is disabled by default. Turn on in settings.

Add "bubble" mod to osu! ruleset (#21789 by @mk56-spn)

This mod is a mix of reading and memory, with the difficulty it adds to those two skillsets being highly dependant on the map in question, ( for example, it adds considerably more difficulty from my experience on stream maps, grid maps, or really any map that often has circles coming back to the same place).

tempBubblesV2.webm

Increase the rate of slider ball fade on argon skins to match other implementations (#23371 by @peppy)

Add support for flipping colour of reverse arrow on legacy default skin when combo colour is too bright (#23379 by @peppy)

Fix fade in delay for first slider end circle being incorrect when snaking disabled (#23372 by @peppy)

Fix hit object animations not being played back in sync (#23440 by @peppy)

Have not compared timing offset with stable, but at least this brings animations into a stable state, relative to their hitobjects.

Gameplay (osu!mania)

Fix osu!mania hold note animations not correctly re-applying after rewind (#22866 by @peppy)

Fix osu!mania hold note head image incorrectly scrolling off screen on late releases (#23439 by @peppy)

Gameplay (osu!taiko)

Fix extreme aspect ratios in taiko (#23325 by @sw1tchbl4d3r)

This PR fixes two weird behaviors at extreme aspect ratios.

before:

oldcap.mp4

after:

newcap.mp4

Input

  • Disable relative-mode mouse by default on Linux (ppy/osu-framework#5776 by @smoogipoo)
    • There are still edge cases on Linux where relative-mode isn't working correctly. One example is my NoMachine setup, which grabs the cursor but pins it to (windowWidth, windowHeight).

The change to Default is intentional (for macOS also), otherwise the in-game options will show a non-default setting for the default value on these platforms.

Performance

Fix huge lag spike on new combo in osu!catch (#23275 by @Terochi)

Fix runaway memory usage at song select when opening many beatmaps many times (#23388 by @peppy)

Improve performance and reliability of undo / redo in skin editor (#23344 by @Terochi)

Allow all exports to happen asynchronously (#21308 by @cdwcgt)

Platform

Update veldrid to fix game no longer starting on older macOS versions (ppy/osu-framework#5780 by @peppy)

Settings

Fix exclusive fullscreen notice showing false positives for new renderers (#23332 by @peppy)

This avoids the notice showing when running on windows, but using the newer renderers (where the underlying logic hasn't been tested properly and can result in false-positives).

Add setting to change brightness of letterbox background when using scaling (#23038 by @cdwcgt)

Skin Editor

Fix BeatmapAttributeText not supporting unicode artist/title (#23369 by @peppy)

Song Select

Fix mod multiplier showing wrong value when adjusting speed on preset (#23284 by @Hy0tic)

Add ability to edit mod presets (#22801 by @cdwcgt)

image

Testing

  • Fix test failure in MultiplayerMatchSongSelect due to multiple overlays present (#23383 by @peppy)
  • Fix rapid back button test failure (#23424 by @bdach)
  • Fix TestSceneHoldNoteInput not displaying correctly (#23437 by @peppy)

Tooling

  • Add workflow for automated osu-web mod definition updates (#23416 by @bdach)

UI

Fix now playing playlist not highlighting selected item on initial open (#22950 by @Joehuu)

Before:

AnWtIGyEe2

After:

zI9dufmSUO

Add ability to report chat (#21736 by @cdwcgt)

image

Smaller changes

Read more

2023.419.0

19 Apr 13:44
cc96d27
Compare
Choose a tag to compare

What's Changed

Editor

Remove left/right click based placement in taiko editor and respect sample selection (#23112 by @peppy)

Previously, right click would place a "kat". But users are used to instead using hit sample hotkeys to choose which type of object is placed, so we've reverted back to that method (and made right-click do nothing special for now).

Add hit object inspector to editor (#23133 by @peppy)

I did this initially to debug an issue, but it's something that will probably be useful to mappers as well so polished it a bit for permanent inclusion.

osu.Game.Tests.2023-04-05.at.04.46.08.mp4

Add rotation snapping to editor selection (#23156 by @Micha-ohne-el)

15° snapping can now be achieved by holding shif while adjusting rotation of a selection.

Fix saving beatmaps taking far too long due to pointless online metadata lookup (#23189 by @bdach)

Framework

Gameplay

Ensure replays don't enter a failed state when exiting gameplay (#22878 by @peppy)

Fix crash on attempting to load some old beatmaps which specify background images incorrectly (#22858 by @peppy)

Don't show epilepsy warning when storyboards are disabled (#22868 by @peppy)

Add progressive DT/HT mod multipliers (#23177 by @smoogipoo)

For DT, the multiplier is in the range [1.0, 1.2].
For HT, the multiplier is in the range [0.5, 0.9].

  • For DT, I intended to make the multiplier for 1.5x speed as close to 1.12 as possible, and it now sits at 1.1x.
  • For HT, I took a bit of a liberty since the original 0.3 multiplier doesn't really correspond to anything. In this case, I made it scale in increments of 0.1, which is still harsher than DT's scaling but not as harsh as the original multiplier. Something similar to the original multiplier can be achieved with 2x scaling, however it would result in 0.5x having a multiplier of 0 which doesn't feel right.

Smaller changes

  • Introduce common structure for key counters (#22654 by @ItsShamed)
  • Fix pause and fail screen samples not updating when skin is changed during gameplay (#22872 by @Terochi)
  • Invoke RevertResult on parent DHO when nested DHO is reverted (#23185 by @bdach)

Gameplay (osu!catch)

Allow AR and CS values below 1.0 for osu!catch Difficulty Adjust mod (#23020 by @rrex971)

8C0oYFU

Performance

Improve performance of video playback with new renderer (ppy/osu-framework#5734 by @smoogipoo)

Improve texture shader performance on fragments away from corners (ppy/osu-framework#5735 by @frenzibyte)

Implement custom mip map generation & raise maximum texture atlas size to 4096x4096 (ppy/osu-framework#5508 by @Tom94)

Smaller changes

Song Select

Fix song select beatmap difficulty count not updating when deleting (#23178 by @Joehuu)

osu!_8qlOL0CpkD

Smaller changes

  • Fix song select matching label not using right terminology (#23000 by @Joehuu)

UI

Fix beatmap listing filter control being blocked by loading layer (#22929 by @Joehuu)

Before:

osu!_am318KgCyl

After:

osu!_69Idn9KZT9

Fix beatmap listing sort direction not resetting when changing criteria (#22926 by @Joehuu)

Before:

osu!_Di9FddkDsd

After:

osu!_hzTEeBoIji

Improve menu handling on disabled items (or items with no action assigned) (ppy/osu-framework#5658 by @peppy)

Until now, clicking a disabled menu item (or item with no action) would have still closed the menu. Also, the hover state would make it look like the menu items are interactive. Now clicks do nothing and there's no visible hover state change for disabled items.

Show guest difficulty author in beatmap overlay (#23087 by @cdwcgt)

image

Smaller changes

  • Update comment vote pill in line with web (#23098 by @Joehuu)
  • Fix attempting to show overlay during game intro playing sound effects (#23108 by @peppy)
  • Normalise horizontal padding on overlays (#23103 by @Joehuu)
    • All overlays should have 50 horizontal padding. The changes mostly match web, with a difference:
  • Update localisations (ppy/osu-resources#254 by @peppy)

New Contributors

Full Changelog: 2023.403.1...2023.419.0

2023.403.1

03 Apr 02:09
Compare
Choose a tag to compare

Framework

Fix OpenGL render flickering/freezing (ppy/osu-framework#5732 by @frenzibyte)

UI

Fix window mode dropdown not showing (#23089 by @Susko3)

Full Changelog: 2023.403.0...2023.403.1

2023.403.0

02 Apr 16:30
ea42e7f
Compare
Choose a tag to compare

Code Quality

Editor

Fix spinners being selectable for too long after they fade in the editor (#23037 by @peppy)

Framework

Fix game no longer starting on old linux versions (ppy/osu-framework#5725 by @peppy)

Fix some things looking incorrect on the new renderer (ppy/osu-framework#5722 by @bdach)

Fix screenshots not working on the new renderer (ppy/osu-framework#5729 by @frenzibyte)

Smaller changes

Gameplay

Fix game incorrectly reaching results screen when saving failed replay on beatmap with video (#23048 by @peppy)

Gameplay (osu!catch)

Fix already caught fruit appearing too large at low circle sizes (#23053 by @peppy)

Gameplay (osu!mania)

Fix hit lighting mis-alignment on argon skin with upwards scroll direction (#23024 by @bdach)

Performance

Improve metal performance on some desktop systems (ppy/osu-framework#5726 by @peppy)

Up to 10x improvement in some cases. We're still investigating iOS and M1/M2 system performance. We have some leads but it's going to take a bit longer.

Fix stutters during gameplay when spinners appear (#23034 by @peppy)

Shader cache wasn't being used correctly since the new renderer's implementation.

Platform

Fix error message when starting game on iOS (ppy/osu-framework#5727 by @peppy)

Smaller changes

Skin Editor

Tooling

UI

  • Fix localisation for audio device error containing incorrect newline escaping (#23049 by @peppy)

UX

  • Fix select beatmap button not highlighting when creating a multiplayer room using keyboard (#22995 by @Joehuu)
  • Fix web account registration not bypassing the external URL warning (#23036 by @peppy)

New Contributors

Full Changelog: 2023.326.1...2023.403.0