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

Releases: JustArchiNET/Madness

Madness V2.0.0

13 Nov 12:07
2.0.0
14613ef
Compare
Choose a tag to compare

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 Environment with ProcessPath (@JustArchi).
  • Added static SHA256 and HMACSHA1 with 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

Madness V2.0.0-alpha5

11 Nov 22:24
2.0.0-alpha5
538fabf
Compare
Choose a tag to compare
Madness V2.0.0-alpha5 Pre-release
Pre-release

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 Environment with ProcessPath (@JustArchi).
  • Added static SHA256 and HMACSHA1 with 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

Madness V2.0.0-alpha4

11 Nov 19:13
2.0.0-alpha4
4ab89bb
Compare
Choose a tag to compare
Madness V2.0.0-alpha4 Pre-release
Pre-release

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

Madness V2.0.0-alpha3

11 Nov 00:09
2.0.0-alpha3
e5b2908
Compare
Choose a tag to compare
Madness V2.0.0-alpha3 Pre-release
Pre-release

Changelog

Changes since V1.5.0:

  • BREAKING: Implement DisposeAsync() only for selected types (@JustArchi).
  • Added additional Path proxies (@Abrynos #12).
  • 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

Madness V2.0.0-alpha2

08 Nov 23:09
2.0.0-alpha2
c791910
Compare
Choose a tag to compare
Madness V2.0.0-alpha2 Pre-release
Pre-release

Changelog

Changes since V1.5.0:

  • BREAKING: Implement DisposeAsync() only for selected types (@JustArchi).
  • Added additional Path proxies (@Abrynos #12).
  • 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

Madness V2.0.0-alpha1

08 Nov 20:16
2.0.0-alpha1
ced1fde
Compare
Choose a tag to compare
Madness V2.0.0-alpha1 Pre-release
Pre-release

Changelog

Changes since V1.5.0:

  • BREAKING: Implement DisposeAsync() only for selected types (@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

Madness V1.5.0

08 Nov 19:39
1.5.0
de576fc
Compare
Choose a tag to compare

Changelog

Changes since V1.4.0:

  • Added Append(IFormatProvider? provider, string text) StringBuilder implementation (@JustArchi).
  • Debug symbols are now packed in a standalone snupkg package, thanks to .NET 6.0 which resolved NuGet/Home#10791 (@JustArchi).
  • Usual amount of other core improvements, optimizations and bugfixes (@JustArchi).

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

Madness V1.4.0

22 Oct 16:34
1.4.0
258cbcb
Compare
Choose a tag to compare

Changelog

Changes since V1.3.1:

  • Added StringMadness with implementation of selected string.Create(...) method (@Abrynos @JustArchi #11).
  • Usual amount of other core improvements, optimizations and bugfixes (@JustArchi).

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

Madness V1.3.1

05 Sep 21:01
1.3.1
79cce36
Compare
Choose a tag to compare

Changelog

Changes since V1.3.0:

  • Fixed ReadAsync(this Stream stream, ReadOnlyMemory<byte> buffer) function always writing zero bytes in the output buffer.

This is unfortunately a breaking change in declaration, as ReadOnlyMemory<byte> changed into Memory<byte>, but since the previous method did not work correctly at all, and the signature was wrong to begin with (it's Memory<byte> in .NET 5.0+) I classify it as a patch.


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

Madness V1.3.0

23 Aug 23:26
1.3.0
dc03d84
Compare
Choose a tag to compare

Changelog

Changes since V1.2.0:

  • Added non-generic TaskCompletionSource implementation.
  • Added additional File and Path proxies for selected original methods and properties.
  • Annotated all public parts of Madness with MadnessType attribute, which can be used for additional documentation of whether the referenced part is a proxy, replacement, implementation or extension. It can also be used during runtime if needed.
  • Usual amount of other core improvements, optimizations and bugfixes.

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