Hello and happy chocolate day. Back at you with updates since the last post, albeit two days delayed from changelog generation. Hopefully my brief commentary is worth the wait!

osu The osu!lazer project. The future of the osu! client. Download preview releases from here and follow along!

Improvements to EF context handling and BeatmapManager #2054 (peppy)

This was a big refactor of how the beatmap import and databasing process was structured. It was one of the largest thorns in lazer’s otherwise pristine code base, and I finally took the initiative to fix it up before moving on to skin import support.

While there’s nothing to show from this, it fixed a lot of scenarios where imports could result in lost files or incorrect state of beatmaps, while also improving readability of database usage game-wide. It resolved all the problems mentioned in this issue, which has been around since October 2017. Phew.

Fix ApproachRate not inheriting OverallDifficulty when it is undefined #2049 (sunghwan2789)

It turns out that very old beatmaps (before we separated out AR as a difficulty setting) would fallback to their OD setting. This wasn’t correctly being respected, resulting in older maps behaving weirdly. All fixed!

Unify hit windows between all rulesets #2035 (smoogipoo)

Until now, each ruleset had its own definition of hitwindows (which in some cases was completely broken!). We now use a unified implementation, which gives much more predictable results. They are currently based on mania windows, which makes things every so slightly more lenient than on stable. We’ll tweak this as necessary.

Improve the visual appearance of repeat points #1960 (ColdVolcano)

They are now arrows (and snake a lot better). Goodbye eercast logo, you served us well. Note that this is not the final design.

Other Changes

Fix drag handling in line with framework changes #2064 (peppy)

Add confirmation dialog to Delete in beatmap context menu #2060 (swoolcock)

Fade slider ticks with hidden mod #2057 (Aergwyn)

Fix pressing escape quickly unexpectedly exiting gameplay #2044 (UselessToucan)

Fix a few code styling issues #2042 (smoogipoo)

Update user object to match new standardised api #2039 (peppy)

Fix non-visual tests not cleaning up previous executions #2038 (peppy)

Fix visual settings checkboxes playing sounds in bindable binding #2037 (peppy)

Make slider tails not play hitsounds #2036 (smoogipoo)

Always put attributes on a separate line to their target #2031 (peppy)

Make sure the import tests exit their hosts #2030 (smoogipoo)

Use bindable precision for OsuSliderBar’s tooltip value #2029 (smoogipoo)

Add support for country rank #2027 (tgi74)

Fix revert-to-default hiding visual settings at beatmap load #2026 (swoolcock)

Fix skip button not receiving screen-wide input #2023 (peppy)

Make NUnit tests run locally again #2021 (smoogipoo)

Raw input improvements #2020 (peppy)

Stopping non-url text from being hyperlinks #2017 (Imnooby)

Update in-line with framework changes #2012 (smoogipoo)

osu-framework The game framework behind osu!lazer. Written from scratch with osu! in mind, but very extensible.

Combine drag and click lenience into a single variable #1389 (peppy)

Until now, it was possible to trigger a drag and a click event in the same mouse down/up combination. Now, the leniences for dragging and clicking are combined. This also resolves slider bars being hard to drag in settings (where you’d accidentally trigger a vertical scroll instead).

Debounce config saves #1388 (peppy)

We pushed out a build that completely destroyed performance when dragging slider bars in settings. This fixed it.

Raw input improvements #1371 (peppy)

Tablet support is here! It mostly behaves as it did on stable for the moment, but I do have big plans on improving the way tablets can be configured to make the experience much less painful (and make the wacom control panel area settings obsolete).

Other Changes

Fix regression in frame statistics display thread names #1390 (peppy)

Add missing interpolation #1379 (smoogipoo)

Always put attributes on a separate line to their target #1375 (peppy)

Fix various nunit issues #1374 (smoogipoo)

Update incorrect OpenTK references #1376 (peppy)

Ensure correct assembly for dynamic compilation #1373 (FreezyLemon)

Fix tests being removed from TestBrowser while they’re being updated #1367 (smoogipoo)

Fix wrong IsMaskedAway value when proxies are involved #1366 (smoogipoo)

Fix up recent IsMaskedAway regressions #1364 (smoogipoo)

osu-web The new web front-end. Already live but hasn’t yet replaced the old site, pending feature parity.

As I mentioned on twitter, we’re approaching the point where we are going to push the new web live. We’ve received some great feedback since then and are working to apply all the changes necessary to make this as painless of an experience as possible! More updates to follow on that.

Better spoiler arrows #2340 (nanaya)

Spoiler boxes on the forums weirdly pointed up and down.

They now point right then down, as expected.

Wiki articles can now have tags added, which can be used to search for articles by words not necessarily contained by the article (like OWC2017 for “osu! world cup 2017” etc.)

Improve display of time fields in modding discussions #2307 (nanaya)

All time fields on the modding system are now using proper time classes, so you will see them in your local timezone.

Other Changes