summaryrefslogtreecommitdiff
path: root/CHANGELOG.md
diff options
context:
space:
mode:
authorHenry <mail@henrygressmann.de>2026-04-12 13:34:31 +0200
committerHenry <mail@henrygressmann.de>2026-04-12 13:34:31 +0200
commitdcd8b152466ab023762e4b9b6fc50c99da0cae50 (patch)
tree391486a6a7edc56eb2a9135f295c270634ad3247 /CHANGELOG.md
parent87499c635504e808960e0c6ffffe2b43ca4d6206 (diff)
feat: rework public api, add missing export apis
Signed-off-by: Henry <mail@henrygressmann.de>
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r--CHANGELOG.md23
1 files changed, 20 insertions, 3 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b9b5fcc..8a6b138 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,10 +9,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added
-- Support for the custom memory page sizes proposal ([#22](https://github.com/explodingcamera/tinywasm/pull/22) by [@danielstuart14](https://github.com/danielstuart14))
+- Support for the `custom_page_sizes` proposal ([#22](https://github.com/explodingcamera/tinywasm/pull/22) by [@danielstuart14](https://github.com/danielstuart14))
- Support for the `tail_call` proposal
- Support for the `memory64` proposal
-- Support for the fixed-width `simd` proposal
+- Support for the `simd` proposal
- Support for the `relaxed_simd` proposal
- Support for the `wide_arithmetic` proposal
- New `Engine` API (`tinywasm::Engine` and `engine::Config`) for runtime configuration
@@ -20,12 +20,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Host-function fuel APIs: `FuncContext::charge_fuel` and `FuncContext::remaining_fuel`
- `engine::FuelPolicy` and `engine::Config::fuel_policy` for fuel accounting behavior
- New `canonicalize_nans` feature flag to enable canonicalizing NaN values in the `f32`, `f64`, and `v128` types
+- Public API rework for runtime object access:
+ - export lookups: `func`, `func_typed`, `memory`, `memory_mut`
+ - table/global access: `table`, `table_mut`, `global`, `global_mut`, `global_get`, `global_set`
+ - generic export access: `extern_item`, `extern_item_mut`
+ - export iteration: `ModuleInstance::exports`
+ - module descriptors: `Module::imports`, `Module::exports`
+ - raw memory data access: `MemoryRef::data`/`data_size`, `MemoryRefMut::data`/`data_mut`/`data_size`
### Changed
- Locals are now stored in the typed value stacks instead of a separate locals structure
- Structured control flow is fully lowered to jump-oriented internal instructions during parsing
-- Stack and call-stack limits are configured via `engine::Config`
+- Stack and call-stack limits can now be configured via `engine::Config`
+- Module-internal by-index inspection APIs are now gated behind the `guest_debug` feature
### Breaking Changes
@@ -41,12 +49,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Cargo feature `logging` was renamed to `log`
- Increased MSRV to 1.90
- `Error::ParseError` was renamed to `Error::Parser`, and `Error::Twasm` was added
+- `ModuleInstance` export lookup APIs were renamed:
+ - `exported_func_untyped` -> `func`
+ - `exported_func` -> `func_typed`
+ - `exported_memory` -> `memory`
+ - `exported_memory_mut` -> `memory_mut`
+- `Imports::link_module` now takes a `ModuleInstance` instead of a raw module instance id
+- `func_typed` now validates the exact wasm signature at lookup time and fails immediately on mismatches
### Fixed
- Fixed archive **no_std** support which was broken in the previous release, and added more tests to ensure it stays working
- `ModuleInstance::exported_memory` and `FuncContext::exported_memory` are now actually immutable ([#41](https://github.com/explodingcamera/tinywasm/pull/41))
- Check returns in untyped host functions ([#27](https://github.com/explodingcamera/tinywasm/pull/27)) (thanks [@WhaleKit](https://github.com/WhaleKit))
+- `MemoryRefMut::copy_within(src, dst, len)` now follows its documented argument order
+- Imported tables created with `Extern::table(ty, init)` now honor the provided init value
## [0.8.0] - 2024-08-29