Skip to content

Update lots of packages#36996

Merged
peppy merged 12 commits intoppy:masterfrom
peppy:update-lots-of-packages
Mar 16, 2026
Merged

Update lots of packages#36996
peppy merged 12 commits intoppy:masterfrom
peppy:update-lots-of-packages

Conversation

@peppy
Copy link
Copy Markdown
Member

@peppy peppy commented Mar 16, 2026

It's been a while.

Notes:

  • SharpCompress usages changed a bit. Manually adjusted these, mostly just renames or adjusted parameters.
  • nUnit 3 -> 4 migrated using https://gist.github.com/peppy/07994386d793a117350cb5f24b156585. there's a mode in this script to update to the newer Assert.That syntax but it requires fixes and couldn't really be bothered.
  • DeepEqual nuked as the only usage was on a disabled test. The reason it's disabled has been merged upstream, but it's failing for other (realm) reasons which I don't think is worthwhile to investigate for now.
  • This bumps Moq. I think the author is back in a sensible headspace and the new version has the stupid shit removed, so probably okay? Nice to be on a level playing field with packages for once in a long time.
  • Automapper is silly, but we've discussed this elsewhere.
  • TestRealmKeyBindingStore failures are a wildcard, but fixed by using a more standardised testing method. Dunno why, don't care.

@peppy
Copy link
Copy Markdown
Member Author

peppy commented Mar 16, 2026

Based on test failures I guess the project isn't locked to .net 8 locally for me while is on github actions

@bdach
Copy link
Copy Markdown
Collaborator

bdach commented Mar 16, 2026

No it seems to be some BS on the mobile-humanizer axis actually. Maybe time to roll that back too.

@bdach bdach self-requested a review March 16, 2026 11:30
@bdach
Copy link
Copy Markdown
Collaborator

bdach commented Mar 16, 2026

Screenshot 2026-03-16 at 12 32 00

is the answer here I guess... (source)

Probably gonna have to revert that and try again when we're on .NET 10 or whatever.

@bdach bdach force-pushed the update-lots-of-packages branch from a59ee16 to 8f6a155 Compare March 16, 2026 12:09
@bdach bdach force-pushed the update-lots-of-packages branch from 8f6a155 to dcc543b Compare March 16, 2026 12:10
The thought was to prevent transitively including it so that
vulnerability warnings don't show up in projects downstream.
Unfortunately it can't be done because ruleset projects depend on
AutoMapper transitively and crash at runtime if it's missing with

	[runtime] 2026-03-16 12:14:44 [error]: An issue with ruleset "osu!" occurred. Please check for an update from the developer.
	[runtime] 2026-03-16 12:14:44 [verbose]: System.IO.FileNotFoundException: Could not load file or assembly 'AutoMapper, Version=13.0.0.0, Culture=neutral, PublicKeyToken=be96cd2c38ef1005'. The system cannot find the file specified.
	[runtime] 2026-03-16 12:14:44 [verbose]:
	[runtime] 2026-03-16 12:14:44 [verbose]: File name: 'AutoMapper, Version=13.0.0.0, Culture=neutral, PublicKeyToken=be96cd2c38ef1005'
	[runtime] 2026-03-16 12:14:44 [verbose]: at osu.Game.Database.RealmObjectExtensions.Detach[T](T item)
	[runtime] 2026-03-16 12:14:44 [verbose]: at osu.Game.Beatmaps.BeatmapInfo.Clone() in /Users/bdach/Documents/Work/open-source/osu/osu.Game/Beatmaps/BeatmapInfo.cs:line 241
	[runtime] 2026-03-16 12:14:44 [verbose]: at osu.Game.Beatmaps.BeatmapConverter`1.Convert(CancellationToken cancellationToken) in /Users/bdach/Documents/Work/open-source/osu/osu.Game/Beatmaps/BeatmapConverter.cs:line 51
	[runtime] 2026-03-16 12:14:44 [verbose]: at osu.Game.Rulesets.RealmRulesetStore.testRulesetCompatibility(RulesetInfo rulesetInfo) in /Users/bdach/Documents/Work/open-source/osu/osu.Game/Rulesets/RealmRulesetStore.cs:line 156
	[runtime] 2026-03-16 12:14:44 [verbose]: at osu.Game.Rulesets.RealmRulesetStore.<prepareDetachedRulesets>b__5_0(Realm realm) in /Users/bdach/Documents/Work/open-source/osu/osu.Game/Rulesets/RealmRulesetStore.cs:line 111
bdach
bdach previously approved these changes Mar 16, 2026
Copy link
Copy Markdown
Collaborator

@bdach bdach left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably fine if it passes CI.

I've reverted some stuff to make work (check my commits at the end). Other than that have tested that game launches, have tested one (1) export, and one (1) import with Shift-JIS encoding to be sure.

Not testing any more because hoooooly [REDACTED] already so much time was wasted on this dependency garbage. Seems that in current year you really gotta not include any packages from anyone at this point if you can.

Rider or InspectCode or whatever was probably heuristically depending on
`Assert.NotNull()` being called that and so when it changed to
`ClassicAssert.NotNull()` it got lost because the heuristic wasn't
considering that latter check as a precondition.

Thankfully `Assert.That(..., Is.Not.Null)` is a viable replacement in
most cases except one.
@bdach bdach force-pushed the update-lots-of-packages branch from c6fc0a3 to 14c0eb3 Compare March 16, 2026 17:26
@peppy peppy merged commit a996261 into ppy:master Mar 16, 2026
7 of 9 checks passed
SK-la pushed a commit to SK-la/Ez2Lazer that referenced this pull request Mar 17, 2026
It's been a while.

Notes:

- `SharpCompress` usages changed a bit. Manually adjusted these, mostly
just renames or adjusted parameters.
- nUnit 3 -> 4 migrated using
https://gist.github.com/peppy/07994386d793a117350cb5f24b156585. there's
a mode in this script to update to the newer `Assert.That` syntax but it
requires fixes and couldn't really be bothered.
- DeepEqual nuked as the only usage was on a disabled test. The reason
it's disabled has been merged upstream, but it's failing for other
(realm) reasons which I don't think is worthwhile to investigate for
now.
- This bumps Moq. I think the author is back in a sensible headspace and
the new version has the stupid shit removed, so probably okay? Nice to
be on a level playing field with packages for once in a long time.
- Automapper is silly, but we've discussed this elsewhere.
- `TestRealmKeyBindingStore` failures are a wildcard, but fixed by using
a more standardised testing method. Dunno why, don't care.

---------

Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants