Releases: ppy/osu
2024.1208.0
Audio
- Improve menu/context-menu sample playback (#30910 by @nekodex)
- Updates menus to use new samples and fixes various cases where samples were previously not being played (e.g. when navigating menubars and submenus)
Chat
Sort public chat channels alphabetically, private channels based on recent messages (#30874 by @peppy)
Code Quality
- Add
DifficultyCalculationUtils
(#30536 by @stanriders) - Hide cursor trail from draw visualiser (#30507 by @smoogipoo)
- Remove field that's used only in one method (#30619 by @Givikap120)
- Update Velopack to 0.0.915 (#30659 by @smoogipoo)
- Fix reference issues in iOS tests (#30729 by @minisbett)
- Build Android with non-maui workflow (#30747 by @smoogipoo)
- Remove
CachedModelDependencyContainer
andOnlinePlayComposite
from multiplayer (#30634 by @smoogipoo) - Add test case covering stability of compatibility export operation (#30795 by @bdach)
- Recreate beatmap every test run in
ModTestScene
(#30819 by @frenzibyte) - Enable NRT for multiplayer and playlists (#30807 by @smoogipoo)
- Add localisation support for menu tip (#30865 by @ItsShamed)
- Update databased room status depending on gameplay state (ppy/osu-server-spectator#249 by @smoogipoo)
- Work around Android CI workflow errors (#30904 by @frenzibyte)
- Centralise supported file extensions to one helper class (#30915 by @bdach)
- Expose more migration helper methods (#30918 by @peppy)
- Stop loudly logging backwards seek bug to sentry (#30928 by @peppy)
- Update localisations (ppy/osu-resources#347 by @peppy)
- Move unnecessary properties from
BeatmapInfo
/ realm toIBeatmap
(#28473 by @bdach) - Use
LocalisationManager.GetLocalisedString()
instead of bindable hack (#30965 by @Susko3) - Set up-to-date .NET code quality analyzers (#30921 by @huoyaoyuan)
Editor
Fix placing objects via touch in editor not working sometimes (#30411 by @frenzibyte)
ScreenRecording_10-23-2024.16-55-59_1.MP4
Collapse sample point indicators into dots if they cannot be displayed in full (#29896 by @OliBomby)
Improve visual appearance of mania selection blueprints (#30512 by @bdach)
This isn't by all means supposed to be the end product, it's 80% of the target result in my mind in 20% of the time. Placement blueprints are all unchanged because attempting to access anything skinnable in the placement blueprint, before there is a DHO placed in an actual column, is hell. So I'm leaving that for later.
before | after |
---|---|
Fix osu!mania notes disappearing on seek to their end time (#30755 by @bdach)
Change some beatmap default settings to match stable (#30826 by @peppy)
- Countdown should be off by default
- Samples match playback rate also
Do not deselect objects when control-clicking without hitting anything (#30947 by @bdach)
I checked a few apps to see what they do in this type of scenario and it's a very mixed bag but I think this behaviour makes sense.
Smaller changes
- Fix slow performance of polygon generation tool (#30214 by @minetoblend)
- Fix timing point truncation causing mis-snaps on compatibility-exported lazer beatmaps (#30607 by @OliBomby)
- Deactivate new combo toggle on deselecting objects (#30756 by @bdach)
- Add snapping info to the osu!catch selected objects inspector (#30766 by @Darius-Wattimena)
- Fix editor grid settings not displaying decimal portion in slider tooltips (#30859 by @frenzibyte)
- Fix hitobjects' samples getting in bad state when changing selection between objects (#30881 by @peppy)
Framework
Bring back borderless mode for macOS and Linux (ppy/osu-framework#6264 by @Susko3)
Smaller changes
- Disable
OnScreenKeyboardOverlapsGameWindow
on iOS when hardware keyboard is attached (ppy/osu-framework#6407 by @frenzibyte) - Use SDL3 text editing events on windows (ppy/osu-framework#6419 by @Susko3)
- Fix
RearrangeableListContainer<>
crashing on replacement operations (ppy/osu-framework#6424 by @smoogipoo) - Remove SourceLink package reference (ppy/osu-framework#6430 by @smoogipoo)
- Make
RearrangeableListContainer<>
only replace differences (ppy/osu-framework#6425 by @smoogipoo) - Factor window scale in
UserInputManager.mouseOutsideAllDisplays
(ppy/osu-framework#6432 by @Susko3) - Work around Android CI workflow errors (ppy/osu-framework#6436 by @frenzibyte)
- Update SDL3 package (ppy/osu-framework#6437 by @smoogipoo)
- Set up-to-date .NET code quality analyzers (ppy/osu-framework#6434 by @huoyaoyuan)
- Clean up
IWindow
and remove platform-agnostic code probingISDLWindow
(ppy/osu-framework#6438 by @Susko3) - Document
CursorEffectContainer
and update outdated name (ppy/osu-framework#6441 by @voidedWarranties) - Update transitive vulnerable dependencies for source generation tests (ppy/osu-framework#6435 by @huoyaoyuan)
- Add callback for when a submenu is opened (ppy/osu-framework#6439 by @nekodex)
- Fix Rider support of .globalconfig (ppy/osu-framework#6444 by @huoyaoyuan)
- Fix recent warnings seen on Rider 2024.3 (ppy/osu-framework#6443 by @frenzibyte)
- Switch to using named pipes for IPC (ppy/osu-framework#6442 by @peppy)
- Allow rewriting URL lookups in
OnlineStore
(ppy/osu-framework#6433 by @frenzibyte)
Gameplay
Increase idle time before gameplay loads when hovering controls (#30602 by @peppy)
Fix occasional flash when quick exiting / retrying from player (#30623 by @peppy)
Don't play fail animation if restarting on fail (#30862 by @frenzibyte)
Fixes red flashes.
Fix pause shortcut on multiplayer no longer requiring hold (#30861 by @frenzibyte)
Add a toggle for star fountains during gameplay (#30894 by @HenintsoaSky)
Adds an option under Gameplay > General that allows users to enable/disable star fountains during gameplay.
Fix "watch replay" button sometimes not loading the replay on first click (#30895 by @peppy)
Delay back button appearance when performing a quick restart (#30863 by @frenzibyte)
Fix quick retry transition from results screen looking a bit wrong (#30970 by @peppy)
Fix score no longer being saved when quick-restarting after pass (#30937 by @frenzibyte)
Smaller changes
- Do not show timing distribution graph in offset control if there's not enough timed hits (#30622 by @bdach)
- Fix black layer not fading fast enough when exiting quickly from quick restart (#30680 by @peppy)
- Fix key counter not updating activation state on initial load (#30718 by @frenzibyte)
- Adjust beat synced animation to be smoother in skip and break overlay (#30794 by @Fivoka)
- Fix beatmap load not continuing when settings slider is focused (#30799 by @peppy)
- Clear previous
LastLocalUserScore
when returning to song select (#30905 by @peppy)
Gameplay (osu!)
Implement new osu! mod "Bloom" (#30299 by @jhk2601)
This mod dynamically adjusts the cursor size as your combo increases, similar to how No Scope functions. The idea is for it to play as a sort of "reverse flashlight". I think it plays well and adds an interesting dynamic where your cursor essentially becomes an obstacle you have to work around sometimes, see attached video to get a better idea.
Bloom.demo.mp4
Gameplay (osu!mania)
Fix stage line alignment in mania not matching stable (#30590 by @frenzibyte)
Before | After |
---|---|
Make mania award SS even if there are GREAT judgements (#29640 by @smoogipoo)
Allow setting osu!mania scroll speed to single decimal precision (#30832 by @peppy)
Gameplay (osu!taiko)
##...
2024.1115.3
A hotfix exclusively for linux users. Note: may require a manual download if your linux install is already borked.
Full Changelog: 2024.1115.2...2024.1115.3
2024.1115.2
Full Changelog: 2024.1115.1...2024.1115.2
2024.1115.1
Audio
New new osu!mania ruleset selection sample (ppy/osu-resources#345 by @nekodex)
Smaller changes
- Fix old looping samples not stopping when replacing a
SkinnableSound
'sSamples
(#30389 by @bdach) - Increase ducking duration when selecting osu!mania ruleset (#30423 by @nekodex)
- Extends the duck duration to sit better with the new longer osu!mania selection sample.
Code Quality
- Enable NRT in
LocalisableStringEqualityComparer
(ppy/osu-framework#6386 by @smoogipoo) - Explicitly set S3 timeouts & retry counts (ppy/osu-server-spectator#246 by @bdach)
- Recommend C# Dev Kit extension on VSCode (#30246 by @Joehuu)
- Clamp scale with lower and upper bounds (#30080 by @OliBomby)
- Improve diffcalc workflow with explicit wait + logs (#30318 by @smoogipoo)
- Update SDL3-CS (ppy/osu-framework#6389 by @hwsmm)
- Update translations (ppy/osu-resources#343 by @peppy)
- Fix argument order in diffcalc workflow (#30319 by @smoogipoo)
- Expose no-op constructors as
protected
(#30335 by @peppy) - Refactor
BeatmapAttributeText
to compute values on the fly (#30320 by @smoogipoo) - Change convert-to-ternary warning to hint (#30373 by @smoogipoo)
- Update all dependencies (ppy/osu-server-spectator#247 by @peppy)
- Move TestTouchInputAfterTouchingComposeArea to separate test scene (#30408 by @OliBomby)
- Ignore casing when matching mods acronyms (#30458 by @smoogipoo)
- Add attribute to hide arbitrary drawables from draw visualiser (ppy/osu-framework#6411 by @smoogipoo)
- Fix texture wrapping not updating when atlas is already bound (ppy/osu-framework#6410 by @Jumprocks1)
- Add better support for adding form file parameters to web requests (ppy/osu-framework#6412 by @bdach)
- Fix intermittent beatmap recommendations test (#30526 by @smoogipoo)
- Replace
MultiplayerRoomComposite
with local bindings (#30525 by @smoogipoo) - Fix up + improve CI test reporting workflow (#30543 by @smoogipoo)
- Allow customising
ScrollContainer
's scrollbar mapping (ppy/osu-framework#6415 by @peppy) - Globalise
CountDifficultStrains
within StrainSkill (#30534 by @Lawtrohux) - Make draw visualiser follow proxied drawables to their visual layer (ppy/osu-framework#6420 by @smoogipoo)
- Allow
CachedModelDependencyContainer
to cache models with non-bindable fields (ppy/osu-framework#6416 by @smoogipoo) - Refactor step buttons + improve assertion messages (ppy/osu-framework#6418 by @smoogipoo)
- Fix error triggered in label step execution not being logged (ppy/osu-framework#6421 by @frenzibyte)
- Fix CI test report workflow (ppy/osu-framework#6422 by @bdach)
- Simplify convertible hitobject parsing and add
IHasLegacyHitObjectType
(#30578 by @smoogipoo)
Difficulty
- Remove estimations where score data is available for osu! difficulty calculations (#27691 by @Finadoggie)
- Cap effective miss count to total hits (#30455 by @smoogipoo)
- osu!taiko: Implement stamina consideration for Mono (single-coloured) patterns. (#30460 by @Lawtrohux)
- osu!taiko: Bring back convert nerf to fix overweighted taiko difficulty (#30456 by @smoogipoo)
- Reset
effectiveMissCount
when calculating pp (#30518 by @Givikap120) - Split diffcalc workflow to add concurrency group (#30566 by @smoogipoo)
- Clamp estimateImproperlyFollowedDifficultSliders for lazer scores (#30544 by @Finadoggie)
- Fix NaN PP counter values while SR is 0 (#30618 by @Natelytle)
- Clamp estimateImproperlyFollowedDifficultSliders for lazer scores (#30544 by @Finadoggie)
Editor
Add key binding for cycling grid type (#26303 by @OliBomby)
Using the tool boxes on the right frequently is quite annoying, so I also added a keybind for cycling the grid type (H). I chose this key because its right next to the grid spacing cycle hotkey (G) and unused. It makes sense to group the grid property changing hotkeys physically close on the keyboard. An alternative hotkey could be like Shift+G or Shift+G, Ctrl+G is taken.
There's also a test for the grid placement tool in here which apparently got left behind when I was splitting up this PR into parts. I guess it can't hurt to have it so here it is.
Fix drawing slider with touch inserts a random control point at beginning (#30263 by @frenzibyte)
Add toggles and hotkeys for configuring sample addition bank (#28863 by @OliBomby)
This PR adds a new left toolbox for configuring the sample addition bank of the selected hit objects. The toggles for the sample bank now only affect the hitnormal sample of the selection.
The hotkeys are Alt-Q~R
. This differs from stable's Ctrl-Q~R
because those hotkeys are already taken by other tools in lazer.
Using Alt-Shift-Q~R
sets both sample bank and sample addition bank simultaneously, like previous functionality.
The same hotkeys are also added to the sample edit popover on the timeline.
Improve scale/rotate popover UX to better match user expectation (#30315 by @OliBomby)
Added keyboard step values to the slider bars which match the keyboard step in stable. This is especially nice to use with ppy/osu-framework#6390
Also made the popovers close when you press Enter (or Spacebar). This matches the behaviour in stable so now all the scale/rotate muscle memory should carry over nicely to lazer.
Add support for "auto" sample bank additions in the editor (#29648 by @OliBomby)
Keep sidebars expanded by default (#30387 by @peppy)
They will not only contract if the user chooses to have them contract (new setting in the View
menu) or if the game isn't wide enough to allow full interaction with the playfield while they are expanded.
Allow scaling down to 5% in popover scale dialog (#30482 by @peppy)
Remember origin settings for scale/rotation popover (#30484 by @peppy)
Fix drum roll editor blueprint size & input handling (#30511 by @bdach)
2024-11-05.13-09-55.mp4
Fix effect point scroll speeds below 0.1x not being encoded properly (#30509 by @bdach)
Add ability to hide breaks from timeline (#30505 by @peppy)
This was another IRL request from a mapper / team member. The rationale here is that it can be very annoying to map with break time enabled if you have a large gap in the beatmap you are trying to fill with hitobjects, as you are placing objects on top of a very gray area:
osu.2024-11-05.at.04.06.40.mp4
Add ability to automatically move already-placed objects when changing timing settings (#28382 by @Hecatia-Lapislazuli)
Smaller changes
- Fix split control point context menu option not showing up on newly created control points (#30189 by @OliBomby)
- Ensure at least one scale popover axis is active at any time (#30219 by @bdach)
- Add breathing room to seek back between control points in editor (#30328 by @TaterToes)
- Fix timeline blueprints sometimes causing crashes due to current placement blueprint becoming unsorted (#30377 by @bdach)
- Fix osu!mania flip operations sometimes not preserving selection in mania editor (#30284 by @bdach)
- Fix several cases of deselection not correctly terminating drag operations on slider selection blueprint (#30294 by @bdach)
- Fix editor sidebar resizing on hover repeatedly when polygon popover is opened (#30450 by @Joehuu)
- Fix catcher size and hyperdashes indication on adjusting CircleSize (#30300 by @Darius-Wattimena)
- Fix drum rolls losing width on strong state toggle in editor (#30508 by @bdach)
Gameplay
Fix argon song progress bar tooltip showing during active gameplay (#30199 by @bdach)
Decrease the time it takes to quick retry by ~650 ms (#30261 by @peppy)
Removes an arbitrary delay from the quick retry process. Now it is only limited by load speed (which will improve in the future).
Remove hold-to-confirm delay when pausing using keyboard shortcuts (#30309 by @peppy)
This keeps coming up (latest case) so I think we need to listen to users and make this change. Matches stable behaviour.
Make quick restart even faster (#30603 by @peppy)
This is a second pass at refining the quick restart experience.
- More arbitrarily induced delays are culled
- Settings are hidden now (since interacting with them is nigh impossible given the faster restart speed)
- Some animations are hidden to make the process less jarring
- Parallax is disabled to stop the background displacing weirdly
Smaller changes
- Handle mid-play mod changes (ppy/osu-server-spectator#245 by @bdach)
- Do not fall back to beatmap's original ruleset if conversion fails (#30424 by @bdach)
- Fix break overlay grades not using localised string (#30572 by @Joehuu)
- Fix occasional flash when quick exiting / retrying from player (#30623 by @peppy)
Gameplay (osu!)
Fix slider ticks and repeats incorrectly moved to position of head when strict tracking and any conversion mod that moves objects is active (#30281 by @bdach)
Fix cursor rotating with barrel roll mod active (#30326 by @jhk2601)
Some may argue that cursor rotation is intended behavior but it looks odd and feels pretty janky, especially on abnormal cursors like the issue describes. Would be better if cursor rotation could be adjusted in existing switch stat...
2024.1009.1
Code Quality
- Remove poorly-fitted "legacy combo counter" abstraction (#29838 by @bdach)
- Update framework (#29848 by @peppy)
- Make all difficulty calculators use
GetMaxCombo
function (#29962 by @Givikap120) - Fix reflection-related iOS crashes (#29992 by @smoogipoo)
- Fix iOS CI build (#30019 by @smoogipoo)
- Fix usage of locked context without locking (#30074 by @peppy)
- Fix broken star rating on Random mod (#30021 by @bdach)
- Fix several breakages with migration operation (#30151 by @bdach)
Daily Challenge
- Play daily challenge animation when arriving from the notification (#29770 by @Ianlucht)
- Add Total Participation stat to users profile Daily Challenge Tooltip (#29714 by @Crystallized21)
- Exclude restricted users from daily challenge-related queries (ppy/osu-server-spectator#243 by @bdach)
Difficulty
- Refactoring:
SpeedEvaluator
refactoring (#29294 by @Givikap120) - Refactoring: Merged multipliers that do the same thing (#29293 by @Givikap120)
- Refactoring: Removing
DEFAULT_DIFFICULTY_MULTIPLIER
fromOsuStrainSkill
(#29291 by @Givikap120) - Uncap speed OD-accuracy scaling (#30088 by @stanriders)
- A small fix to make accuracy scaling on low ODs a bit more harsh
- Various speed distance difficulty calculation changes (#29980 by @tsunyoku)
- Make diffcalc workflow recreate comment on completion (#30132 by @smoogipoo)
- Implement a bunch of rhythm difficulty calculation fixes (#28871 by @stanriders)
- Slight aim skill multiplier rebalance (#29998 by @tsunyoku)
- Include sliders in accuracy pp if slider head accuracy is in use (#27063 by @tsunyoku)
- Save
master
state when running diffcalc workflow (#30135 by @smoogipoo) - Remove combo scaling from Aim and Speed from osu! performance calculation (#16280 by @apollo-dw)
- Statistical accuracy PP and difficulty scaling for the osu!taiko ruleset (#20963 by @Natelytle)
- Bump difficulty calculator versions (#30139 by @bdach)
- In order for the new star difficulty to be shown to users on the next release.
Editor
Make editor flip, rotate, and scale tools revolve around the grid center (#26311 by @OliBomby)
Changes how the Ctrl+H and Ctrl+J flip mechanic works. It now takes into account the origin and rotation of the grid to flip around that axis. This makes it easy to map symmetric patterns which are off-angle or not around the center of the playfield.
Also the Ctrl+R rotation tool uses the grid origin as the center of the playfield.
The precision scale tool uses the grid origin as the center of the playfield and uses the grid rotation for axis constrained scaling (for scaling only along the X or Y axis)
Fix scaling sliders ignoring the scale origin (#29942 by @minetoblend)
Makes sure that when scaling sliders with the scale box, they are scaled relatively to the scale origin instead of the slider head.
2024-09-20.17-15-02.mp4
Freeze select box buttons position on press (#29950 by @minetoblend)
Will freeze the position of the SelectBox
buttons in place when one of the buttons was clicked until the clicked button is no longer hovered. This ensures that buttons can be pressed repeatedly without having to reposition the mouse on every click.
Especially when rotating the selection by 90 degrees, the buttons moving around on each press was a major pain point for me since I often wanna rotate by 180 degrees and just wanna double click the button for that.
2024-09-21.14-57-25.mp4
Support scaling around center when scaling with select box (#29949 by @minetoblend)
Will scale around the center when pressing alt while scaling things with the select box.
2024-09-21.14-18-19.mp4
2024-09-21.14-23-38.mp4
Add to existing selection when dragging with control pressed (#29918 by @bdach)
2024-09-18.15-28-13.mp4
Add button to centre editor grid to current hit object (#30069 by @peppy)
osu.2024-10-01.at.06.22.22.mp4
Add hotkey hints to editor menus (#29691 by @bdach)
2024-09-04.12-26-32.mp4
Redesign editor setup screen with new "form" controls (#30099 by @bdach)
2024-10-03.13-55-55.mp4
Also contains some assorted drive-by fixes. See commit messages for details.
Move setup screen background preview to appropriate form control (#30109 by @bdach)
2024-10-04.11-11-52.mp4
When adding a new combo colour, use the last colour as a starting point (#30110 by @peppy)
Also opens the popover automatically because you always want to edit it.
osu.Game.Tests.2024-10-04.at.09.43.55.mp4
Smaller changes
- Fix timing points being blocked by buttons in the editor (#29766 by @SchiavoAnto)
- Fix slider end drag marker being in incorrect position for stacked sliders (#29893 by @bdach)
- Fix occasional crash when changing samples of hitobjects (#29933 by @bdach)
- Refactor placement blueprints to not be limited to hit objects (#29986 by @OliBomby)
- This makes it possible to make placement tools which add something other than a hit object.
- Fix argon volume-aware hitsounds not correctly playing immediately after object placement (#29970 by @bdach)
- Use minimum enclosing circle as selection centre for scale and rotate (#29938 by @OliBomby)
- Ensure selection is preserved when moving selected objects between osu!mania columns (#29899 by @bdach)
- Ensure sliders are snapped when changing path types (#30063 by @bdach)
- Fix various distance snap grid weirdness around unsnapped objects (#30062 by @bdach)
- Fix editor timestamp URLs not working when they contain a space (#30024 by @peppy)
- Initialise colours section with default combo colours if none present (#30108 by @bdach)
- Fix improper handling of decimal separator in "form" number boxes / sliders (#30113 by @bdach)
- Only allow seek to next/previous object via keybinding if there is no selection (#29860 by @bdach)
- Fixes a key bind conflict.
- Fix "Center on selected object" button not changing grid coordinates (#30134 by @bdach)
- Add grid placement tool (#26313 by @OliBomby)
- Adds the 'Grid' placement tool to the left tool box. Hover it for details on how to use (there's a few different ways you can make use of this powerful tool).
osu._k6UmTIJN2n.mp4
Framework
- Fix typo in
CompositeDrawable
(ppy/osu-framework#6372 by @Nebula-Developer) - Remove closure allocations in VeldridStagingTexturePool (ppy/osu-framework#6373 by @smoogipoo)
- Update SDL3-CS (ppy/osu-framework#6374 by @hwsmm)
- Expose
LocalisationManager.GetLocalisedString()
as public (ppy/osu-framework#6377 by @bdach) - Fix
DecouplingFramedClock
retaining old lastSeekFailed (ppy/osu-framework#6378 by @hwsmm) - Fix iOS CI build (ppy/osu-framework#6379 by @smoogipoo)
- Rollback iOS workload to last known working version (ppy/osu-framework#6384 by @smoogipoo)
- Expose slider bar commit method as virtual (ppy/osu-framework#6383 by @bdach)
- Add
NineSliceSprite
(ppy/osu-framework#6380 by @minetoblend)
Gameplay
Add progress tooltip for ArgonSongProgressBar (#30078 by @CloneWith)
Smaller changes
- Implement beat-synchronized animation in skip overlay (#29925 by @nekupaw)
- Fix score being cloned in async method causing random errors (again) (#29966 by @bdach)
- Continue displaying storyboard even if fully dimmed in specific circumstances (#29967 by @bdach)
- Avoid client updates (and update notifications) from appearing in more gameplay cases (#30073 by @peppy)
Gameplay (osu!)
Fix several issues in interactions between playfield-altering mods and the replay analysis feature (#29841 by @bdach)
Gameplay (osu!catch)
Fix osu!catch fruit rotation animation being applied too late (#29894 by @peppy)
Now Playing
Shuffle playback order in global playlist by default (#29917 by @bdach)
Performance
- Update shader preloader with missing shader usages (#30018 by @peppy)
- Fix difficulty settings sliders attempting to reprocess all hitobjects on every instantaneous change (#30114 by @bdach)
Platform
Rollback iOS workload to last known working version (#30121 by @smoogipoo)
We can build iOS again, yay!
Smaller changes
- Differentiate osu!lazer app name in windows menus (#29822 by @smallketchup82)
- Fix restart notifications appearing every 30 minutes in some cases (#29787 by @peppy)
- Completely disable Velopack when using an external updater (#29805 by @smallketchup82)
- Add beatmap icon to windows beatmap files (#29812 by @smallketchup82)
- Update velopack and switch to using async version of
WaitExitThenApplyUpdates
(#29997 by @peppy) - Hide iOS home indicator by default (ppy/osu-framework#6385 by @smoog...
2024.906.2
Beatmap Listing
Editor
- Fix scroll speed slider defaulting to 0.01 (#29759 by @Bruno5430)
Gameplay
Platform
Fix game not running on earlier macOS versions (ppy/osu-framework#6370 by @smoogipoo)
Fix file associations breaking with new updater (#29743 by @smallketchup82)
Results
Fix collections dropdown overflowing in the results screen (#29742 by @SchiavoAnto)
Song Select
Fix beatmap difficulties not being split out on first load (#29762 by @peppy)
New Contributors
- @Bruno5430 made their first contribution in #29759
- @SchiavoAnto made their first contribution in #29742
- @Ianlucht made their first contribution in #29745
Full Changelog: 2024.906.1...2024.906.2
2024.906.1
Code Quality
- Remove dead row attribute classes (#29531 by @bdach)
- Remove requirement of
base
calls to ensure user skin container layouts are retrieved (#29564 by @peppy) - Provide API context earlier to api requests in order to fix missing schedules (#29656 by @peppy)
Daily Challenge
Fix mod icons potentially showing incorrectly during intro animation (#29560 by @peppy)
Show intro animation only once per session (#29542 by @frenzibyte)
Smaller changes
Editor
Add "polygon" hit circle creation tool (#28538 by @bdach)
Improve performance of drawing editor grids (#29476 by @EVAST9919)
Fix grid/distance snap keyboard bindings being back-to-front (#29528 by @smoogipoo)
Redesign timing table tracking (#29532 by @bdach)
This change removes some behaviours of the timing screen that were (in my view) causing overall jankness, and manifested in actual issues. The general spirit of the change is "don't try to do too much for the user".
So now:
- On entering the screen, the timing point active at the current instant of the map is selected. This is the only time where the selected point is changed automatically for the user.
- If there is no control point selected, the table will autoscroll to the latest timing group, unless the user manually scrolled the table before.
- If the selected control point changes, the table will autoscroll to the newly selected point, regardless of whether the user manually scrolled the table before.
- A new button is added which permits the user to select the latest timing group. As per the point above, this will autoscroll the user to that group at the same time.
Further timeline usability tweaks (#29545 by @peppy)
Based on general feedback over the last while.
Before | After |
---|---|
Add ability to change slider length by dragging slider tail (#25953 by @OliBomby)
This adds the ability to drag the slider tail by dragging a new half-circle blueprint display. You can also hold shift to change the velocity rather than the duration.
Fix osu!mania hold notes playing a sound at their tail (#29612 by @peppy)
Hide scroll speed changes for rulesets which don't use them (#29448 by @OliBomby)
Allow play/pause with spacebar while placing hitobjects (#29440 by @OliBomby)
Add more ways to seek to sample points (#28737 by @OliBomby)
This adds some new hotkeys (which are customisable from settings):
- Ctrl-Left/Right to jump between hit objects.
- Ctrl+Shift-Left/Right to jump between sample settings (and open the edit panel immediately).
Fix kiai display on summary timeline not always displaying correctly (#29667 by @EVAST9919)
Fix path control points losing curve type on save, reload or undo (#29446 by @OliBomby)
Smaller changes
- Make break periods in bottom timeline transparent (#29445 by @OliBomby)
- Fix crash on attempting to edit particular beatmaps (#29534 by @bdach)
- Fix timeline snapping ignoring nearby timing points (#29435 by @OliBomby)
- Fix incorrect bank set / sample addition logic (#29533 by @bdach)
- Improve performance by using optimised circle rendering in demanding places (#29660 by @EVAST9919)
- Fix incorrect osu!catch snap display when previous object is a juice stream (#29681 by @peppy)
Framework
Fix Android safe areas no longer working (ppy/osu-framework#6363 by @hwsmm)
Smaller changes
- Remove unnecessary boxing allocation (ppy/osu-framework#6360 by @smoogipoo)
- Bring back
HasFlagsFast
(ppy/osu-framework#6362 by @peppy)- .NET version performs poorly on debug.
- Update veldrid (ppy/osu-framework#6361 by @peppy)
- Fix tabbable container not checking if its next tab stop is focusable (ppy/osu-framework#6364 by @bdach)
- Add support for retrieving submit/rank date from local metadata cache (#29553 by @bdach)
- Implement native method for
PresentFileExternally
in MacOS (ppy/osu-framework#6365 by @cdwcgt) - Fix renderers can't batch vertices with the same blending parameters in some cases (ppy/osu-framework#6366 by @EVAST9919)
- Implement
FastCircle
component (ppy/osu-framework#6290 by @EVAST9919) - Update main operating systems to bass beta version (ppy/osu-framework#6367 by @peppy)
- Further testing of backwards seeks.
- Fix alloc overhead in hot path for keyboard checks (ppy/osu-framework#6368 by @peppy)
- Update managed-midi to fix disposal issue (ppy/osu-framework#6369 by @peppy)
- Update localisations (ppy/osu-resources#339 by @peppy)
Gameplay
Change "hold for menu" button to only show for touchscreen users by default (#29508 by @peppy)
This also increases the visibility on touch platforms (it used to be positional based, which doesn't make much sense). If you still want this to show you can use a new setting to set it to always display.
Fix legacy key counter position not matching stable (#29536 by @frenzibyte)
Fix resume overlay appearing behind HUD/skip overlays (#29540 by @frenzibyte)
Add star fountains/bursts when entering "kiai" mode (#29556 by @frenzibyte)
CleanShot.2024-08-21.at.17.32.30.mp4
Add shadow around break overlay to ensure it's visible against bright backgrounds (#29615 by @peppy)
Add beat-synced animation to break overlay (#29616 by @peppy)
Smaller changes
- Fix legacy combo counter bounce animation not always playing (#29474 by @peppy)
- Fix beatmap offset control not working correctly when calibrating from quitting gameplay (#29702 by @peppy)
Gameplay (osu!)
Apply current cursor scale to cursor trail (#29515 by @TheOmyNomy)
Current | Stable | PR |
---|---|---|
Add a replay analysis overlay (#27334 by @Sheppsu)
Smaller changes
- Fix oversight in osu! pause input handling (#29500 by @frenzibyte)
- Fix replay analysis marker depth when rewinding (#29707 by @Sheppsu)
Gameplay (osu!catch)
Fix catcher trail during dash/hyperdash not being consistently spaced (#29503 by @peppy)
Fix autoplay generator not considering circle size (#29646 by @smoogipoo)
Smaller changes
- Fix osu!catch fruits not resizing on texture change (#29679 by @smoogipoo)
Gameplay (osu!mania)
Remove mouse input from mania touch controls (#29654 by @smoogipoo)
Smaller changes
- Fix mania combo counter positioning break on centre anchor (#29529 by @frenzibyte)
Multiplayer
Remove extra background box in multiplayer screens (#29467 by @EVAST9919)
Improves render performance for lower end hardware.
Smaller changes
- Fix event leak in
Multiplayer
implementation (#29653 by @peppy) - Add automatic downloading support when spectating a multiplayer room (#29680 by @peppy)
- See inline commentary for commentary.
Next Release
- Update framework (#29690 by @peppy)
- Pulls in beta bass libraries (macOS / windows) and localisation updates.
Online
- Trigger request failure on receiving a null response for a typed
APIRequest
(#29695 by @peppy)- RFC. Seems like about what we'd want. Any kind of issue which results in deserialising not being feasible should be considered a failure for a typed
APIRequest
as far as I'm concerned.
- RFC. Seems like about what we'd want. Any kind of issue which results in deserialising not being feasible should be considered a failure for a typed
Overlay Mod Select
- Mod customization header/panel changes (#29626 by @Fabep)
- Removed on click event for the mod customization header, As of #29618 .
Renamed ModCustomisationPanelState, since only mods set the "old" Expanded panel state.
Further suggestions that could be applied to this area:
- Refactor mods that use the ExpandedByMod state to set parameters directly, for example copy attributes from current map when you enable difficulty adjustments.
- Keep colourprovider.light4 on the header when the mod customization panel is expanded. (I attempted to add this, but I am too stupid to understand how to remove it when the hover is lost & the panel is collapsed). ๐
Performance
- Fix per-frame allocations in
BeatmapCarousel
(#29688 by @peppy) - Fix high performance session potentially getting stuck after multiplayer spectator (#29701 by @peppy)
- Thanks to @smoogipoo for the call on this. All makes sense no...
2024.817.0
Editor
Fix grid snap slider placement double-click not making new segment if anchor not hovered (#29433 by @OliBomby)
Gameplay
Fix custom skin sprites no longer working (#29458 by @peppy)
UI
Fix preview play button having incorrect click area (#29438 by @Joehuu)
Full Changelog: 2024.816.0...2024.817.0
2024.816.0
Audio
- Fix click sounds playing twice on
OsuRearrangeableListItem
(#29244 by @Joehuu) - Update BASS libraries (ppy/osu-framework#6352 by @frenzibyte)
- In a hope of fixing weird audio issues (like backwards seeks).
Chat
Highlight mentions in chat (#29314 by @peppy)
Code Quality
Remove "Special" ManiaAction
s for center columns (#29342 by @cl8n)
Smaller changes
- Difficulty: Moved Difficulty to Performance conversion formulas to respective classes (#29292 by @Givikap120)
- Fix texture wrapping not updating on consecutive WhitePixel use (ppy/osu-framework#6350 by @smoogipoo)
- Fix potential test failure in daily challenge tests (#29349 by @peppy)
- Remove
iPhone
/iPhoneSimulator
platform configurations (ppy/osu-framework#6351 by @frenzibyte) - Fix occasionally
ChatOverlay
test failures due to RNG usage (#29365 by @peppy) - Update nativelibs (ppy/osu-framework#6355 by @smoogipoo)
- Update framework (#29367 by @peppy)
- Remove
iPhone
/iPhoneSimulator
platform configurations and fix iOS build workflow (#29350 by @frenzibyte) - Update localisations (ppy/osu-resources#337 by @peppy)
- Fix occasional test failures in
TestSceneBetmapRecommendations
(#29402 by @peppy) - Fix file access test failure by forcing retries (#29412 by @peppy)
Daily Challenge
Fix insane slowdown when scrolling the new leaderboard display (#29228 by @peppy)
Add daily challenge stats display to user profile overlay (#29157 by @frenzibyte)
Fix clicking the beatmap import notification at the daily challenge screen exiting to main menu (#29322 by @peppy)
Add intro screen for daily challenge (#29323 by @peppy)
Culmination of a community suggestion on discord, with some code from frenzi and final touches applied by me. There's still a lot I'd like to improve about this but spent long enough on it so want to go with what I have for now.
Start playing the daily challenge track during the intro (and automatically download) (#29347 by @peppy)
Add sound design for daily challenge intro animation (#29368 by @nekodex)
Adds a new sample for the daily challenge button, plus some sfx to augment the animation, topped off with some ducking.
daily-intro.mov
Fix daily challenge notification spam (#29363 by @peppy)
Notification will now only show:
- Once per room.
- Only if game was opened or user logged in within 30 minutes of the room going live.
Note that the second point here changes (simplifies) the behaviour by always showing, even in the game-started case. Previously it would only show if logging in. I think this aligns better.
Smaller changes
- Add samples for the daily challenge intro animation (ppy/osu-resources#336 by @nekodex)
Editor
Always show timing points in timeline when at the timing screen (#29211 by @peppy)
Show breaks behind objects in timeline (#29231 by @peppy)
Run stacking while performing movement in osu! composer (#28792 by @bdach)
Allow object deletion with middle mouse (#29286 by @peppy)
This is in addition to Shift + Right-click.
I think middle mouse feels more natural and is a good permanent solution to this issue.
Note that this also allows triggering the context menu from placement mode. Until now it's done nothing. This may be annoying to users with muscle memory but I want to make the change and harvest feedback. I think showing the context menu is more correct behaviour (although arguably it should return to placement mode on dismiss?).
Show object inspector values during placement (#29366 by @peppy)
osu.2024-08-09.at.09.03.56.mp4
Smaller changes
- Close context menus when deselecting items in editor (#29279 by @normalid-awa)
- Ensure the "Change Difficulty" menu uses up-to-date difficulty names (#29428 by @peppy)
- Fix PathControlPointVisualiser eating inputs when no control points are selected (#29434 by @OliBomby)
- Fix grid snap slider placement double-click not making new segment if anchor not hovered (#29433 by @OliBomby)
Gameplay
Fix keys getting stuck on unpause (ppy/osu-framework#6347 by @frenzibyte)
Fix pause input handling in osu! not working like stable (#29250 by @frenzibyte)
In stable, when you press the resume cursor, if there's a spinner then it's aware that you're currently pressing a key, but if there's a hit circle it does not respond to the press of that key. This broke recently but is now fixed.
Add key counter support for classic/legacy skins (#29027 by @normalid-awa)
pr.demo.mp4
Add "press enter" hint to in-gameplay chat box (#29281 by @kstefanowicz)
I don't know how to get to a multiplayer game in a debug build, so I was not able to confirm if this works.
Fix DT/HT sounding worse than they should (ppy/osu-framework#6354 by @OliBomby)
A thing which was supposed to be applied wasn't. This may also fix latency when using DT/HT.
Add option to hide song progress time/text (#29372 by @ArijanJ)
Smaller changes
- Move combo counter to ruleset-specific HUD components container (#26249 by @frenzibyte)
- Fix crash on changing skins when classic mod is enabled and game is rewound (#29406 by @peppy)
- Fix some characters ('.', ',') being misaligned in legacy counters (#29426 by @peppy)
- If you look closely, this causes a bit more (sub-pixel) vertical movement when numbers change, but it matches stable so I think it's fine.
- Fix beatmap skin always overriding ruleset HUD components (#29427 by @frenzibyte)
Gameplay (osu!)
- Interpolate parts in local space to avoid broken cursor trails (#29253 by @Cai1Hsu)
- Fix hit object coordinates being truncated to
int
values (#29362 by @peppy)
Gameplay (osu!catch)
Fix fruit positions getting mangled when exploded from the plate (#29403 by @smoogipoo)
Gameplay (osu!mania)
Fix error on parsing osu!mania replays with 18 or more keys (#29388 by @cl8n)
Smaller changes
- Add argon/classic osu!mania combo counter (#26254 by @frenzibyte)
-
- Supersedes #20579
-
Adds support for classic osu!mania combo counter, as well as a very basic implementation for "Argon" skin to increase its usability (cc @peppy for adding animations to the argon one if wanted).
This does not include turning the combo colour to yellow during a hold note, especially since hold notes don't have ticks anymore, which makes the yellow state look odd.
Preview:
Argon preview (again, not final):
Localisation
- Add localisation for daily challenge day/week units (#29414 by @smoogipoo)
Main Menu
- Remove daily challenge tooltip from main menu (#29417 by @peppy)
- Now that we have a nice intro screen for the daily challenge, it's generally thought that we want to "spoil" the beatmap until the intro is shown.
Also I was never a huge fan of having a tooltip on a main menu button.. just feels a bit odd.
Mod Select
Flash customise button on mod overlay when it becomes available (#29212 by @peppy)
I want to make it more visible when it becomes enabled, since some users (myself included) may overlook it. Just a helpful little nudge.
Allow horizontal scrolling on mod select overlay anywhere on the screen (#29249 by @peppy)
Hover to expand mod customise panel (#29136 by @Cai1Hsu)
2024-07-27.18-02-19.mp4
Smaller changes
- Fix mod panels overflowing into the column borders (#29254 by @smoogipoo)
- Fix customise button on mod overlay initially showing flash layer indefinitely (#29259 by @Joehuu)
Settings
Allow searching settings by more dropdown items' names (#29273 by @Joehuu)
Before | After |
---|---|
<img width="483" alt="Screenshot 2024-08-03 at 2 52 48โฏPM" src="https://github.com/user-attachments/... |
2024.731.0
Code Quality
- Add logging when starting and stopping watch operations in online metadata client (#29185 by @bdach)
- Fix incorrect
DifficultyBindable
logic (#29198 by @bdach) - Submit vertices in local space to avoid cross-thread access (#29204 by @smoogipoo)
Daily Challenge
Fix score breakdown tooltips appearing in other feeds (#29159 by @frenzibyte)
Add ability to copy leaderboard mods in daily challenge (#29163 by @Joehuu)
Delay animating daily challenge statistics until they come on screen (#29187 by @peppy)
More movement = more fun.
Fix mods persisting after watching replay from daily challenge screen (#29184 by @bdach)
Show notifications when daily challenges start and end (#29188 by @bdach)
You will only see an "ending" notification if you are in the daily challenge screen, though.
Smaller changes
Editor
Enforce new line between X/Y coordinate in editor position inspector (#29193 by @frenzibyte)
Easier to read that way as well.
CleanShot.2024-07-30.at.02.47.55.mp4
Smaller changes
- Allow pasting timestamps with mod comments at the end (#29172 by @kadambishreyas)
Online
- Fix online status not persisting correctly (#29186 by @peppy)
- Force exit to main menu when presenting scores from within playlists / multiplayer (#29182 by @bdach)
UI
Fix mod preset tooltip's description text being cut off (#29166 by @normalid-awa)
Alternate background colour of chat lines to better visually distinguish wrapped lines (#29137 by @normalid-awa)
Adjust chat sizing to better fit long usernames (#29201 by @peppy)
- Reduce clutter by only showing timestamps when more than a minute has passed
- Reduce size of font and padding
- Don't show seconds
Before | After |
---|---|
Smaller changes
- Update translations (ppy/osu-resources#333 by @peppy)
New Contributors
- @kadambishreyas made their first contribution in #29172
Full Changelog: 2024.727.0...2024.731.0