Skip to content

Releases: Wieku/danser-go

0.11.0

01 Apr 00:35
8331b0f

Choose a tag to compare

BIGGEST CHANGE: SR/PP Update, AMD Encoding Support and Custom Labels/Statistics

General

  • Updated to go 1.24.1 which can bring stability/performance improvements
  • Changed linux target to ubuntu 22.04
  • Updated SR/PP algorithms to the recent rework
  • Windows binaries should now be signed (will try to keep it up, but that's $$), that means your systems should complain less

Danser

Recording

  • Fixed FLAC audio encoder being silent
  • Added AMD (H264, H265 and AV1) encoder support (thanks to @waylaa )
  • Added Software AV1 support (thanks to @waylaa )
  • Updated ffmpeg to 7.1
  • Fixed reduced recording performance with ffmpeg 7.0+
  • Fixed glitched output on AMD cards on Linux (even on software encoders)
  • nv12 pixel format should now be slightly faster than before (mostly for Intel encoding)
  • Removed nv21 format support
  • Image flipping is now done internally if yuv420p/yuv444p/nv12 is used (danser no longer applies the vflip ffmpeg filter). Should make recording slightly faster
  • Added high444 profile to libx264 options, enabling yuv444p usage
  • Added high444-8 profile to libx265 options, enabling yuv444p usage

Audio

  • Fixed nil panic if Audio.OnlineOffset was true but API was not authorized
  • Updated BASS libraries to the newest versions
  • Fixed skip intro causing some maps to desync (chiptune Brazil map for example)
  • Fixed manual skipping in Watch mode generating a buzzing sound

Mods

  • Fixed Easy mod crashing danser if non-default number of retries was set
  • Fixed Difficulty Adjust values above 10 being overriden by Hard Rock
  • Added Mirror mod support
  • Added Traceable mod support
  • Relax and Autopilot should now have correct mod multipliers for Lazer plays
  • Fixed index out of range crash if Classic mod with No Slider Accuracy and Lazer Notelock options was selected

Cursordance

  • Fixed autoplay randomly missing during watch mode
  • Autoplay now adjusts single/double tap based on speed adjustment mods

HUD

  • Keyboard HUD now only shows B1/B2/Smoke keys if Lazer mod is selected
  • Added custom text components that add possibility to display custom statistics like SS PP, current SR, FC PP, KPS and more! More details here: https://github.com/Wieku/danser-go/wiki/Templates

Knockouts

  • Lazer replays are now forced to Classic scoring if matched against osu!stable replays

Scoring (General)

  • Fixed slider breaks being counted two times
  • Updated pp to the recent rework. Moved the previous pp rework from latest to 241007 (json) and 2024 pp rework (GUI). So if you had latest selected, it will automatically use the current (2025) rework
  • SR calculation should now be faster for maps with hour+ long breaks.
  • Due to the above, people using Skill's map collection shouldn't get stuck in Star Rating calculation.

Scoring (Lazer)

  • Fixed lazer's SS PP being wrong in logs
  • Lazer scores now use lazer's slider paths (circular arcs are more detailed in lazer than in stable), that should improve replay accuracy
  • Lazer scores now use lazer's circle size calculations, that should improve replay accuracy as well
  • Lazer Relax plays should now be more accurate

Scoring (Stable)

This is the big one (at least for me). I think that battle has spanned over 4-5 years and I think I've finally managed to win it. Stable slider paths and timings should now be more accurate. That means stable slider end times should now match osu stable. Previously they were slightly incorrect, making true end time (the -36ms one) sometimes being off by 1ms, causing some slider ends to be missed or scored incorrectly. Danser had a "hack" to compensate for that by replay analysis, but since the timings should be fixed, that hack has been turned off in this release.

CLI

  • Added an -sPatch argument that allows overriding json options, more in README

Launcher

  • Fixed config editor search working only with lowercase letters
  • Fixed the splash screen being slightly off-center
  • Made config editor slightly more compact
  • Fixed lazer mods not showing up in the knockout manager
  • Mode and Watch Mode are now being preserved between sessions - no more need to select Record or Cusrordance with UI each launch
  • User is now getting notified (with map path in logs) if map's SR calculation takes longer than a minute for easier investigation (no need to send danser.db and stuck number anymore)

Happy dansing!

0.10.2

06 Nov 00:39
491ee29

Choose a tag to compare

General

Local offset (-offset and Time/Offset menu in launcher) is now inverted to match stable's local offset

Danser

0.10.1

04 Nov 22:52
43e6e66

Choose a tag to compare

Ironing out some stuff.

General

  • Improved Songs folder scanning performance on HDDs on Windows. Depending on file cache state reduction should be 33-50% on first run after restart up to 90% on subsequent danser launches. No guaranties though. Please let me know if there's performance change on Linux as I haven't tested it there, but it should be roughly unchanged.
  • Songs scanner now looks for the first .osu file in hierarchy. That means folder collections are now supported. Considering this hierarchy:
Songs
├── collections
│   ├── farm
│   │   ├── OBAMA SCRAMBLE
│   │   │   ├── a.osu
│   │   │   └── b.osu
│   │   └── Brazil
│   │       └── c.osu
│   └── huh
│       └── Save Me
│           └── d.osu
├── 727 Harumachi Clover
│   ├── e.osu
│   └── additional
│       └── f.osu
└── 1751 Some Broken Map
    └── subfolder
        └── g.osu

Before 0.10.1 danser would only load e.osu. Now it will load a.osu, b.osu, c.osu, d.osu, e.osu and g.osu

Danser

API

  • Fixed avatars failing to download on Linux
  • Fixed local replays not showing leaderboards and downloading wrong avatars

Mods

  • EZ/HR are now compatible with DA, HR will still clamp values to 10 though, EZ will raise difficulty on DA parameters below 0.

HUD

  • Slightly improved text clarity on lower resolutions
  • Added Gameplay.SBFont setting. It allows changing the font for leaderboard names and ranking panel texts. Use Aller Light for osu! stable look.
  • Added slider ticks and slider end counts to the ranking panel
  • Fixed spinner bonuses showing up as 1100 instead of 1000 for stable replays

Knockout

  • Added support for DA replays

Skinning

  • Added Daycore mod icon to the default skin

Launcher

  • EZ/HR and DA mods are now compatible
  • Removed Difficulty Adjust from main menu
  • Fixed opening Mods menu clamping DA mod settings if replay had extended values
  • Added a launcher option to automatically refresh the database on Songs folder change (alternative to popup)

0.10.0

30 Oct 00:31
0e7fba1

Choose a tag to compare

A pretty significant update! I would say, lazer-y!

BIGGEST CHANGE: Lazer support

General

  • Switched to osu!api v2. Your apiv1 key will be wiped on the first launch of 0.10.0 version
  • Updated the SR/PP algorithms to the recent rework
  • Added basic lazer replay support. Only standard mods as well as Classic and Difficulty Adjust are supported. Mod settings are also supported
  • Changed Linux target to Ubuntu 20.04 or newer (was latest before)
  • Map music and storyboard files are now case-insensitive on Linux

Danser

Recording

  • AV1 encoding support for NVIDIA GPUs
  • Improved recording performance for longer maps in replay/cursordance w UI modes (55s -> 47s reduction on my machine on a 8 minute map at 900p)
  • Fixed QSV initialization error not being captured

PePe

  • Improved live pp calculator builder performance (1h marathon map, takes 16s for 2022 calculator, 1.2s for current)
  • Added Gameplay.PPVersion setting. 2024 rework is set as a default but you can switch back to 2021 or 2022 versions.

Mods

  • Added "LZ" (Lazer), "DA" (Difficulty Adjust), "CL" (Classic) mods.
  • DC/NC mods now use relative frequency instead of tempo+pitch, fixes some nightcored maps sounding off

HUD

  • Added "Classic" score option (Gameplay -> Use "Classic" score for osu!lazer plays) for Lazer plays
  • Added mod icons for Lazer, Classic and Difficulty Adjust mods
  • Added an option to hide Lazer mod from mod HUD
  • Fixed mod HUD blinking if map starts near the song start
  • Changed display of ar/cs/od/hp/speed changes to be more pleasing
  • Added support for Country/Friends leaderboards
  • Added support for Lazer leaderboards
  • User avatars are now cached on disk

Knockout

  • Added smoke support in knockout mode.

Skinning

  • Slightly improved parsing of skin.ini files (trash values in boolean options are being ignored, skipped reading alpha values in color options as it often contains trash)

Backgrounds/Storyboards/Video

  • Fixed map videos with odd width/height being broken
  • Background dim/blur is now changeable while danser is running
  • Fixed Enabling blur while danser is running making the backgound black

Arguments

  • Added -mods2 argument. It's structure is a JSON array with mod object with acronym string and settings map. Example [{"acronym":"DT","settings":{"adjust_pitch":true,"speed_change":1.22}},{"acronym":"LZ"},{"acronym":"DA","settings":{"approach_rate":9,"circle_size":5.3,"drain_rate":2.5,"overall_difficulty":7.4}}]]
  • -ar, -od, -cs, -hp arguments are ignored if -mods2 contains DA mod
  • -speed argument is ignored if -mods2 contains HT/DC/DT/NC mods
  • Fixed -pitch below 0.25 breaking playback

Performance

  • Changed frame scheduling a bit, slightly raised fps on powerful machines (Watch/Play modes only!)

Misc

  • F11 now enables the debug screen (-debug flag)
  • Added performance graph (available via SHIFT+F11)

Launcher

  • Added support for modifying replay mods
  • Fixed selecting files from search results crashing danser
  • Added janky drag scrolling for tablet users (probably won't touch that shit again)
  • Changed reset button to an icon
  • Added "Allow extended values" checkbox to "Adjust difficulty" window
  • Added "LZ" (Lazer), "DA" (Difficulty Adjust), "CL" (Classic) mods to mod selection
  • Added support for mod configs, even for non-lazer plays
  • Unsupported encoders are now hidden from selection
  • Winter theme now should end at the end of January instead of February
  • Fixed excessive snow being shown in play mode

Happy dansing!

0.9.1

18 Sep 20:01
0518d83

Choose a tag to compare

Danser

Scoring

Misc

  • Debug overlay now shows memory info
  • Reduced memory hit by debug overlay
  • Reduced memory allocation by shaders, should result in less GC cycles.

Launcher

  • Fixed strain graph not showing properly for freshly imported maps

0.9.0

13 Aug 17:36
59350ce

Choose a tag to compare

General

  • Dropped support for Windows 7/8/8.1
  • Updated go to 1.21 which brings stability improvements
  • Added a DANSER_FLAGS=AMDHACK environment variable to fix cases when launcher only has triangles visible or danser has random missing letters on older AMD GPUs

Danser

Recording

  • Fixed color issues/stuttering on 23.7.1 or newer AMD drivers (#337)

UI

  • Strain Graph now ends at last object's end, not start
  • Strain Graph now better exposes most difficult parts of the map
  • Fixed Strain Graph crashing if map has only one object

Objects

  • Fixed reverse arrows being broken on old maps (#328)
  • Fixed missed kick slider head circles disappearing too late

Settings

  • Cursor.CursorRipples is now disabled by default because a lot of people confused them with HitLighting
  • Paths are not being sanitized anymore which enables use of network locations (#323)

Misc

  • LZMA compressed and Base64 encoded settings are now embedded in danser.log for easier issue analysis
  • Improved stability of frame limiter, fixes update thread sometimes being stuck at 800-ish ups
  • -debug flag now also shows memory information

Launcher

  • Launcher logs now also print platform information
  • Fixed "Select replay" button crashing the launcher if Replays dir doesn't exist, it now defaults to danser's dir
  • Improved wording of Encoder option tooltip (by @AliceUnderwater)
  • Fixed task bar progress being stuck on failed replays
  • File/Directory that triggered the database refresh request is now being logged
  • Added strain graph to Time/Offset menu:
    2023-08-13_19-10-11_ByAbf


I think I didn't omit anything this time ;)

0.8.4

07 Jan 01:25
75c5e4f

Choose a tag to compare

Happy New Year! 🎉🎉

General

Settings

  • Changed default values for OversampleMultiplier and BlendFrames to 16 and 24

Launcher

  • Fixed launcher crashing if Songs dir doesn't exist
  • Fixed "Browse" button freezing the launcher

0.8.3

21 Dec 21:17
e6e4171

Choose a tag to compare

Ho Ho Ho! 🎅

A small update this time, but read to the very end ;)

Danser

Recording

  • Improved quality (especially hitcircles) at lower resolutions

Gameplay

  • Added an option to ignore fails in replays. You can now render your multi replays ;)

Objects

  • Fixed some sliders not loading correctly
  • Danser is now ignoring sliders with 1B total length (pixel_length * repeats)

Cursordance

  • Fixed danser failing at ~60% of the map when Slider Dance is turned on.

Playfield

  • Fixed "Bloom to the beat" not being disableable

Storyboards

  • Fixed looping sprites disappearing too early

Launcher

Import

  • Slightly improved speed of calculating Star Rating of longer maps
  • Fixed some maps freezing Star Rating Calculation

Recording

  • Fixed danser opening new videos folder each time after finishing 2nd+ video.

And a small surprise in the launcher!

Merry Christmas! 🎅🎄

0.8.2

27 Nov 21:05
e30c81f

Choose a tag to compare

Finally an update :P

There are some changes in settings file format, read below.

General

  • Fixed function keys crashing danser and launcher (#293)
  • (Linux) Fixed inability to run danser if working directory is not the same as danser's directory
  • Fixed broken video on AMD GPUs with 15.200.* drivers

Danser

Recording

  • Fixed AAC audio being encoded at 128kbps no matter the setting
  • Removed manual blending weights
  • Moved Automatic weights to Motion Blur:
    image
    They migrate automatically

Gameplay

  • Fixed HT plays having wrong passive HP drain (#288)
  • Fixed NaN pp appearing in some cases
  • Fixed osu! auto replays auo-failing (OR just use danser UI mode FFS)
  • Switched danser auto and play mode to lazer's notelock (kinda, auto-miss is missing yet). Ability to switch between stable/lazer notelock will come in the future

Cursor dance

Objects

  • Added support for lazer's multi-type sliders:
    image
  • Fixed timing points with decimal time (lazer) being skipped
  • Improved performance of sliders with huge amounts of ticks/repeats
  • Immensely improved performance of slider path rendering, allowing complex sliders without losing quality. As a result, Quality options have been removed. For nerds: https://img.wieku.me/22/solace.mp4
  • Fixed distortions not looking correctly
  • Added options to customize distortions
  • Fixed objects with negative volume being loud

Storyboards

Launcher

General

  • Fixed some maps freezing Star Rating calculation
  • Removed classic knockout
  • Danser now detects new maps in osu! Songs directory, restart is no longer required:
    image
  • Maps can be imported by dropping OSZ file on launcher's window. osu! may complain about it.

Settings

  • Fixed search being reset on reopening
  • Added more tooltips
  • Added 16:9 presets to Recording Resolution:
    image

And probably something I forgot about.

0.8.1

03 Oct 14:07
d1ba146

Choose a tag to compare

General

  • Switched to 2022-09-30 PP System: https://osu.ppy.sh/home/news/2022-09-30-changes-to-osu-sr-and-pp
  • Fixed danser crashing during database refresh while trying to load beatmaps that are broken in a specific way
  • On Windows, danser first looks into registry to find osu! installation path (if multiple osu! instances are installed the one that handles files is selected) before defaulting to %localappdata%

Danser

UI

  • Switched results screen pp display font to HUD Font
  • Added customizable Outline to strain graph:
    2022-10-03_14-49-10_vYZyR

Gameplay

  • Fixed DT ScoreV2 plays having wrong score