Releases: JustArchiNET/Madness
Madness V2.0.0
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
withProcessPath
(@JustArchi). - Added static
SHA256
andHMACSHA1
withComputeHash
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!
Madness V2.0.0-alpha5
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
withProcessPath
(@JustArchi). - Added static
SHA256
andHMACSHA1
withComputeHash
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!
Madness V2.0.0-alpha4
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
andHMACSHA1
with new staticComputeHash
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!
Madness V2.0.0-alpha3
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
andHMACSHA1
with new staticComputeHash
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!
Madness V2.0.0-alpha2
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!
Madness V2.0.0-alpha1
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!
Madness V1.5.0
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!
Madness V1.4.0
Changelog
Changes since V1.3.1:
- Added
StringMadness
with implementation of selectedstring.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!
Madness V1.3.1
Changelog
Changes since V1.3.0:
- Fixed
ReadAsync(this Stream stream, ReadOnlyMemory<byte> buffer)
function always writing zero bytes in the outputbuffer
.
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!
Madness V1.3.0
Changelog
Changes since V1.2.0:
- Added non-generic
TaskCompletionSource
implementation. - Added additional
File
andPath
proxies for selected original methods and properties. - Annotated all public parts of
Madness
withMadnessType
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!