Releases: RyanLamansky/dotnet-webassembly
Releases · RyanLamansky/dotnet-webassembly
v1.2.1
- For .NET 3.1 or higher,
BitOperations
are leveraged to accelerate 32 and 64-bit WASM instructions for count of leading 0 bits, count of 1 bits, count of trailing 0 bits, rotate left, and rotate right.
v1.2.0
v1.1.0
- Added a .NET Standard 2.0 build.
v1.0.0
- Block-type instructions that returned their type in .ToString now more closely match the WAT format; "block (returns i32)" is now "block i32", for example.
- This is the first formal release, breaking changes should be rare going forward.
v0.11.0
- First non-preview release!
- The APIs for creation and modification of WASM files have been stable for a long time, so no need to hold it back any longer.
- Compilation still has numerous gaps in specification compliance, but has enough "core" functionality to call it a beta.
- Significantly improved compilation compatibility by fixing multiple issues with branches that continue a loop.
- Added several constructors to simplify creation of WASM-related objects.
v0.10.2-preview
v0.10.1-preview
v0.10.0-preview
- .NET Core 3.1 or higher is now required, the .NET Standard builds have been removed.
- Added support for sign extension and saturating truncation operators thanks to @tgjones.
- Indirect functions with no parameters and no returns are now supported.
- Fixed multiple issues with memory imports, unblocking some spec test scenarios.
- The default
.ToString
for instructions now returns the native WebAssembly opcode name.
v0.9.0-preview
- Compiled exports now have an attribute indicating their native export type and name.
- Runtime global imports now accept raw delegates.
- Various bug fixes.
Breaking Changes
- Out of range import types throw
ModuleLoadException
instead ofIndexOutOfRangeException
. RuntimeException
is now abstract.- Missing or incorrectly typed imports now throw
ImportException
instead ofArgumentException
. ImportDictionary
's only member, anAdd
method, was changed to an extension method, which is binary-breaking but not code-breaking.
v0.8.0-preview
- Contents of grown memory is now initialized to
0
before being made available for use.
Special thanks to @TYoung86 for identifying and fixing this issue. - Memory can now grow from an initial size of zero.
- Improved disposal tracking of
UnmanagedMemory
.- Previously it was possible to un-dispose objects of this type by calling
Grow
.
An object revived in this way would leak memory if it was not explicitlyDispose
d before being discarded.
- Previously it was possible to un-dispose objects of this type by calling
- Added .NET Standard 2.1 build with no dependencies.