Skip to content
This repository has been archived by the owner on Feb 27, 2024. It is now read-only.

Madness V2.0.0-alpha4

Pre-release
Pre-release
Compare
Choose a tag to compare
@JustArchi-ArchiBot JustArchi-ArchiBot released this 11 Nov 19:13
2.0.0-alpha4
4ab89bb

Changelog

Changes since V1.5.0:

  • BREAKING: Implement DisposeAsync() only for selected types (@JustArchi).
  • Added additional Path proxies (@Abrynos #12).
  • Added static Random.Shared implementation (@JustArchi).
  • Added static classes of SHA256 and HMACSHA1 with new static ComputeHash functions (@JustArchi).
  • Usual amount of other core improvements, optimizations and bugfixes (@JustArchi).

Rationale for breaking change: compiler in .NET 6.0 became smarter (or more stupid, depending how you see it), and now reports CA1849 error upon seeing a Dispose() clause for every type that implements DisposeAsync(). Our previous code (before this change) did the most optimistic approach of adding (fake) DisposeAsync() to every type that implemented IDisposable interface. This now results in a warning when you call a Dispose() for every single disposable type, including those that do not implement IAsyncDisposable in net6.0 and other non-framework targets.

Therefore, the correct thing to do is actually limiting this addition only to types that we know that implement IAsyncDisposable in non-netframework targets.

If by any chance your app stopped working after this change, simply send us a PR or write an issue about the type you're having problem with and we'll add implementation for it after verification that it implements IAsyncDisposable in net5.0+. The types that we've included by default include Stream, TextWriter and Timer - those that we use in ArchiSteamFarm project.


Support

Madness is available for free, this release was made possible thanks to the people that decided to support the project. If you're grateful for what we're doing, please consider donating. Even $1 is highly appreciated and shows that you care. Thank you!

GitHub sponsor Patreon support Crypto donate PayPal.me donate PayPal donate Revolut donate Steam donate