Repository navigation
Releases: QingQiz/BmsRuleset
Release list
2026.920.0-0
Highlights
- Added a results-screen comparison with your historical best local score, including EX score, accuracy, max combo, and judgement counts.
- Added the No Mine mod to remove landmines from charts.
- Added support for invisible notes and their keysound changes, with an optional visual display.
- Improved chart import, parsing, difficulty calculation, and gameplay performance, including dense charts and replay playback.
- Updated song select to remember the collection filter and limit star-rating animations to one second.
- Updated song-select menus to show clearing local scores as a destructive action and hiding beatmaps as a standard action.
Fixes
- Fixed note lifetimes, long-note judgements, gauge state, and Empty POOR counts not being restored correctly when rewinding replays.
- Fixed a results-screen crash when displaying hit scatter charts with many points.
- Fixed aborted course scores not being saved and newly created course history not appearing immediately.
- Fixed external beatmap navigation retaining a previous beatmap-set scope.
- Fixed unwanted leading spaces when adding search terms to an empty song-select search field.
Compatibility
This release targets osu! 2026.920.0 and its .NET 10 runtime.
Full Changelog: 2026.804.4...2026.920.0-0
2026.804.4
Highlights
- Added BMS course selection, multi-stage gameplay, cross-stage score aggregation, and dedicated course results.
- Added BMS-specific song select and results screens with leaderboard, lamp, and statistics views.
- Added configurable beatoraja judgement algorithms and new No Good and No Great mods.
- Expanded BMS visuals and gameplay presentation with improved BGA handling, ranking displays, and HUD options.
Fixes
- Fixed BGA poor layers not triggering after zero-combo judgements.
- Preserved long-note judgements when rewinding after a pause.
- Fixed difficulty-table settings rows becoming stuck collapsed.
- Fixed duplicate leaderboard refreshes and several song-select loading races.
- Corrected final gauge and course gauge/statistics handling.
Compatibility
This release targets osu! 2026.804.2.
Full Changelog: 2026.804.3...2026.804.4
2026.804.3
Fixes
This release contains fixes only and does not add new gameplay features.
- Fixed crackling and clicks from same-key retriggers, clipped dense chords, dropped keysounds under high polyphony, and timing inconsistencies between chords, rate changes, seeks, gameplay, and event-based previews. This was achieved by completely rewriting BMS sample playback to bypass osu!framework's per-sample
Tracksystem. The new Windows and Linux path uses a shared fixed-rate PCM voice mixer with frame-accurate chord submission, pitch-preserving rate processing, unified preloading and timeline control, short retrigger and end envelopes, linked-stereo peak limiting, and dynamically expanding command and voice storage. - Fixed Auto Scratch failing to hold and complete scratch long notes in LN, CN, and HCN modes.
- Fixed Constant Scroll notes becoming misaligned around scroll-speed changes.
- Fixed long-note bodies connecting to note edges instead of the visual centres of their heads and tails.
- Fixed configured skin images incorrectly falling back to legacy default names when the configured resource was missing, while preserving normal fallback for omitted configuration keys.
- Fixed the detailed
Ctrl+F11frame graph potentially stalling the UI while processing high-frequency performance samples.
Compatibility
This release targets osu! 2026.804.2.
Full Changelog: 2026.804.2...2026.804.3
2026.804.2
Highlights
- Added an option to unlock the BMS gameplay frame rate and input rates.
- Added dedicated icons for BMS mods.
- Improved preview playback by extending timelines to loaded audio length and fading audio around seeks.
- Improved BMS resource handling for filenames encoded with GBK and Shift-JIS.
Fixes
- Fixed beatmap skins being applied to BMS beatmaps.
- Fixed landmine judgements losing their intended judgement window.
Known Issues
- On Linux, audio playback may produce crackling or popping sounds.
Compatibility
This release targets osu! 2026.804.2.
Full Changelog: 2026.726.1...2026.804.2
2026.726.1
Highlights
- Added conversion support for osu!mania 7K charts, preserving notes, holds, timing, offsets, and scroll-speed changes.
- Added visual offset calibration with manual or automatic suggestions from recent valid plays.
- Added a skinnable BMS hit error meter.
- Added the Invert mod with optional seeded random long-note lengths.
- Added an option to scale the Stage HUD width by the number of columns.
- Standardised timing terminology to Fast and Slow and clarified BMS-specific settings headers.
Fixes
- Fixed early long-note hits stretching the note head before it reached the judgement line.
- Fixed early notes failing to appear during gameplay lead-in.
- Fixed audio offset not applying to background samples.
- Fixed long-note mode mods not overriding chart-defined modes or filtering clear lamps consistently.
- Fixed empty POOR messages triggering blank chart-text events.
- Prevented recoverable audio load failures from showing error notifications.
- Fixed notes displaying or resetting incorrectly during resume rewind.
- Fixed automatic long-note tail judgements not matching beatoraja scoring.
- Fixed gauge history graphs moving backwards in time after late long-note results.
Compatibility
This release targets osu! 2026.726.0.
Full Changelog: 2026.726.0...2026.726.1
2026.726.0
Highlights
- Added FLAC playback for BMS samples, including same-name fallback when a chart declares a missing WAV file.
- Expanded song-select search with source, long-note percentage, and scratch percentage filters, with accurate playable key counts for BMS layouts.
- Added an independent column light position adjustment to Stage HUD layouts.
- Added a Fill screen option to BGA HUD layouts while preserving custom component sizing when edited.
- Reduced gameplay startup time for sample-heavy charts by loading sounds shortly before their first use.
Fixes
- Fixed BMS ruleset icons falling back to the osu! icon on score cards.
- Fixed song previews deadlocking while audio adjustments were updated.
- Fixed saved Stage HUD layouts failing to restore correctly or rescaling the playfield width.
- Fixed legacy mania skins composing stage backgrounds, separators, column lights, hit targets, and notes in the wrong order.
- Fixed landmines being included in result-screen note timeline statistics.
Compatibility
This release targets osu! 2026.726.0.
Full Changelog: 2026.711.1...2026.726.0
2026.711.1
Highlights
- Added pause/resume rewind gameplay support.
- Added editable Score Graph and Song Progress HUD components.
- Added Stage HUD note-height scaling and improved customizable stage layout support.
- Added a sample-only song preview setting and improved preview responsiveness during gameplay loading.
- Added Chinese localisation for the ruleset.
- Redesigned difficulty-table settings with clearer table actions and status indicators.
- Expanded result analysis with a mania-style hit offset graph and hit offset standard deviation.
- Added a dedicated BMS ruleset icon.
Fixes
- Fixed long-note bodies remaining visually incorrect when notes were released too early.
- Fixed failed long-note and charge-note heads passing the judgement line.
- Fixed the minimum chart lead-in for charts whose first timing event starts too early.
- Fixed scroll speed preservation when using rate-changing mods.
- Fixed composite difficulty delimiters being lost during parsing.
- Fixed difficulty-table synchronization for imported and remote tables.
- Fixed the default Stage HUD anchor and preserved untouched BGA, score, and accuracy HUD layout during editing.
Compatibility
This release targets osu! 2026.711.0.
Full Changelog: 2026.711.0...2026.711.1

2026.711.0
Highlights
Editable Stage Layout
The BMS playfield Stage can now be customised through osu!'s in-game skin editor.
- Move the Stage anywhere on screen.
- Resize horizontally to change lane, note, and Stage graphic width.
- Resize vertically to change the visible lane length without vertically scaling gameplay content.
- Resize diagonally to scale the entire Stage uniformly.
- Adjust the judgement line position independently from the skin-defined hit position.
- Save a separate BMS gameplay layout for each skin.
- Delete the Stage HUD component to reset its position, size, and settings to their defaults.
Several alignment and editor-boundary issues have also been fixed, keeping the Stage correctly positioned and its controls accessible after resizing.
Clear Lamp Improvements
Clear lamps now respect the difficulty of the currently selected mods.
- Lamps earned under harder conditions remain visible when difficulty-lowering mods are selected.
- Lamps earned under easier conditions are hidden when the selected conditions become harder.
- Double Time is treated as a difficulty increase.
Fixes
- Fixed long-note hit events appearing as large clusters at
0 msin result-screen statistics. - Improved long-note head and tail timing data used by Hit Scatter and Hit Offset.
- Limited extreme scatter graph ranges to keep timing data readable.
- Updated compatibility for osu!
2026.711.0.
Compatibility
This release targets osu! 2026.711.0.
Full Changelog: 2026.624.5...2026.711.0
2026-07-12.23-27-54_10M.mp4
2026.624.5
Highlights
- Added
#VOLWAVsupport for chart-defined WAV volume. - Embedded multi-platform FFmpeg into the final DLL, reducing separate native release artifacts.
- Reduced BMS playback overhead.
- Corrected audio volume routing for BGM, keysounds, and preview samples so chart/sample playback is not affected by effect/sample volume.
- Local BMS leaderboards now match scores by beatmap hash instead of beatmap ID, preserving scores after reimport.
Fixes
- Prevented preview audio from replaying during gameplay.
- Fixed import deduplication.
- Fixed parser title inference for bracketed difficulty suffixes.
- Removed non-standard BMS comment stripping support for
//,;, and/* */. - Fixed skin load priority, keys-under-notes layering, and BGA placement/bounds issues.
- Adjusted BGA load ordering.
- Fixed result gauge fail marks after resizing.
- Added
EPOORdisplay to the hit scatter. - Guarded replay fail indicator disposal when unloaded.
- Build now skips recompressing unchanged native backend resources.
Full Changelog: 2026.624.4...2026.624.5
2026.624.4
Highlights
A brand-new results screen for BMS scores, with detailed per-note statistics. You can open the statistics for any past score without watching a replay.
Every score saves its hit events and gauge history. When you open the statistics panel for any stored score (right after a run, or by clicking a score in the leaderboard), the charts rebuild straight from that saved data. No need to sit through a replay to inspect how a run played out. There are four panels:
- Gauge History: the full gauge curve across the chart, with the clear line, per-tier failure markers, and overlaid Auto Gauge tiers.
- Timeline: three stacked sub-plots for Notes, Judgement quality, and Fast/Late timing bias.
- Hit Scatter: a per-note scatter of hit timing offsets, with a per-key breakdown.
- Hit Offset: a histogram of timing offsets, with a per-key breakdown.
The scatter and offset graphs are now click to show or hide per-key sub-graphs, so you can isolate a single key.
✨ New Features
- Results screen statistics: Gauge History, Timeline, Hit Scatter, and Hit Offset panels, plus judgement-coloured hit-result text on the ranking panel.
- Statistics without replays: any stored score's statistics render instantly, with no replay needed.
- Clickable per-key sub-graphs on the Hit Scatter and Hit Offset panels.
- The accuracy ring now uses BMS DJ LEVEL cutoffs (S = 8/9, A = 7/9, B = 6/9, C = 5/9).
🐛 Fixes
- Fixed Hard gauge HP reaching 0 at edge cases but being reported as cleared in the statistics.
- Fixed the Normal gauge failure marker position.
- Fixed the accuracy (ACC) ring mismatch.
- Fixed horizontal overflow on the gauge history graph.
- Fixed charts in a beatmapset with the same MD5 hash being imported as duplicates.
- Fixed UTF-8 decoded filenames failing to find audio files due to an encoding mismatch.
- Mitigated the UI freeze that could occur when the first long note appears.
Full Changelog: 2026.624.3...2026.624.4