All notable changes to this project will be documented in this file.
The sdk has changed a lot, please read this document.
- [BREAKING] Significant refactoring was done to fix memory leaks (#98)
- Fix the static build to link against
zstd
(#91)
- Update the
wat
dep. This update is to fix #88.
-
New API
PluginManager::nn_preload
. This API is used to initialize thewasi_nn
plug-in with given preloads (#74) -
Implement
FromStr
trait forNNPreload
struct (#81)
-
[BREAKING] Update the argument types (#82):
VmBuilder::with_plugin
VmBuilder::with_plugin_wasi_nn
VmBuilder::with_plugin_wasi_crypto
VmBuilder::with_plugin_wasmedge_process
-
[BREAKING] Update the argument types (#76):
Executor::run_func_with_timeout
andExecutor::run_func_async_with_timeout
Vm::run_func_with_timeout
andVm::run_func_async_with_timeout
Func::run_with_timeout
andFunc::run_async_with_timeout
- Introduce new C-API
WasmEdge_FunctionInstanceGetData
to fix the memory leak issue caused by host data (#84)
- Support
macos-13
and removemacos-11
from theci-build
andstandalone
workflows (#84)
- Disable
timeout
related APIs for themusl
environment (#71)
- (wasmedge-sys) Update the
sha256sum
of WasmEdge 0.13.4 (#66)
- New
timeout
APIs (#61)- Add
Vm::run_func_with_timeout
andVm::run_func_async_with_timeout
. These APIs are used to run a host function with a timeout - Add
Executor::run_func_with_timeout
andExecutor::run_func_async_with_timeout
. These APIs are used to run a host function with a timeout - Add
Func::run_with_timeout
andFunc::run_async_with_timeout
. These APIs are used to run a host function with a timeout
- Add
- New API
Store::register_plugin_module
. This API is used to register a `PluginInstance`` into a store instance (#53) - New type alias
PluginInstance
(#53)
- [BREAKING] Merge
async
mod intowasi
mod (#55) - [BREAKING] Update the return type of
PluginManager::find
fromOption<Plugin>
toWasmEdgeResult<Plugin>
(#53) - [BREAKING] Update the return type of
Plugin::mod_instance
fromOption<Instance>
toWasmEdgeResult<PluginInstance>
(#53)
- Update WasmEdge RustSDK API Document (#55)
- New API
WasiContext::generate
. This API provides more flexible argument types than the existedWasiContext::new
(#49)
- Improve
host_function
andasync_host_function
proc-macros (#49) - Improve build script (#48)
- Options to specify the type of linking required for the different dependencies using environment variables.
- Adds an option to use an external
rust-bindgen
using environment variables. - Adds support for
musl libc
- Disable the publish of the async API document (#50)
- Add
Func::wrap_async_func_with_type
(#43) - Add
WasiInstance::exit_code
inasync
mod (#43) - Add
WasiInstance::name
inwasi
mod (#42) - Add
WasiContext
(#39) - Add
VmBuilder::with_wasi_context
(#39)
- [BREAKING] Update
Func::new
- [BREAKING] Update
Func::wrap_func
- [BREAKING] Update async
WasiInstance
- [BREAKING] Update
WasiInstance
- Remove the implementation of
AsInstance
trait forWasiInstance
defined inwasi
mod (#42)
- Remove the implementation of
- [BREAKING] Move
AsyncState
intoasync
mod (#39) - [BREAKING] Remove
HostFn<T>
andAsyncHostFn<T>
(#39) - [BREAKING] Update
ImportObjectBuilder
- [BREAKING] Update
ImportObject
- [BREAKING] Update
PluginModuleBuilder
- [BREAKING] Update
PluginModule
(#42) - [BREAKING] Add generic type to
Store::register_import_module
(#41) - [BREAKING] Update
async_host_function
proc-macro (#43) - Update
Vm
- Update
VmBuilder::build
(#39) - Improve the
standalone
deployment mode (#40)
- Add steps for publishing async API document in
release-wasmedge-sdk
workflow (#44)
-
Support closures in
Func
andImportObjectBuilder
(#20)- [BREAKING] Update
Func::new
method - [BREAKING] Update
Func::wrap_func
method - [BREAKING] Update
Func::wrap_async_func
method - [BREAKING] Update
ImportObjectBuilder::with_func
method - [BREAKING] Update
ImportObjectBuilder::with_func_by_type
method - [BREAKING] Update
ImportObjectBuilder::with_async_func
method
- [BREAKING] Update
-
Support
host_data
inImportObjectBuilder::with_async_func
andImportObjectBuilder::build
methods (#21)
- [BREAKING] Rename
Func::wrap
toFunc::wrap_func
(#20) - [BREAKING] Rename
Func::wrap_async
toFunc::wrap_async_func
(#20) - [BREAKING] Rename
ImportObjectBuilder::with_func_async
toImportObjectBuilder::with_async_func
(#20) - Remove the
host_data
field inImportObjectBuilder
(#21)- [BREAKING] Update
ImportObjectBuilder::with_async_func
method
- [BREAKING] Update
- Remove the generic type in
ImportObject
(#21)- [BREAKING] Update
VmBuilder::build
method - [BREAKING] Remove the generic type in
Vm
- [BREAKING] Update
- Update README and rustdoc (#28)
- Introduce
NeverType
type (WasmEdge #2497)- [BREAKING] Update
Func::new
method - [BREAKING] Update
Func::wrap
method - [BREAKING] Update
ImportObjectBuilder::with_func
method - [BREAKING] Update
ImportObjectBuilder::with_func_by_type
method
- [BREAKING] Update
- Support async wasi (WasmEdge #2528)
- [BREAKING] Update
Executor::run_func_async
method - [BREAKING] Update
Executor::run_func_ref_async
method - [BREAKING] Update
Func::run_async
method - [BREAKING] Update
FuncRef::run_async
method - [BREAKING] Update
ImportObjectBuilder::with_func_async
method - [BREAKING] Update
Vm::run_func_async
method - [BREAKING] Update
Vm::run_func_from_module_async
method - [BREAKING] Update
Vm::run_func_from_file_async
method - [BREAKING] Update
Vm::run_func_from_bytes_async
method
- [BREAKING] Update
- Migrate WasmEdge Rust SDK into WasmEdge/wasmedge-rust-sdk (#1)
- Migrate async-wasi into Rust SDK (#2)
- Implement a separate VmBuilder::build method for
async
cases (#3) - Support new WasmEdge C-API:
WasmEdge_Driver_UniTool
(#6) - Support new C-APIs:
WasmEdge_ModuleInstanceCreateWithData
andWasmEdge_ModuleInstanceGetHostData
(#13)- [BREAKING] Update
VmDock
type - [BREAKING] Update
Param::settle
method - [BREAKING] Update
Param::allocate
method - [BREAKING] Update
ImportObjectBuilder
type - [BREAKING] Update
ImportObjectBuilder::with_func
method - [BREAKING] Update
ImportObjectBuilder::with_func_by_type
method - [BREAKING] Update
ImportObjectBuilder::with_global
method - [BREAKING] Update
ImportObjectBuilder::with_memory
method - [BREAKING] Update
ImportObjectBuilder::with_table
method - [BREAKING] Update
ImportObjectBuilder::build
method - [BREAKING] Update
ImportObject
type - [BREAKING] Update
Store::register_import_module
method - [BREAKING] Update
VmBuilder::build
method - [BREAKING] Update
Vm
type - [BREAKING] Update
Vm::register_import_module
method
- [BREAKING] Update
- Implement
PluginModule
andPluginModuleBuilder
(#14)- [BREAKING] Update
ImportObjectBuilder::with_func
method - [BREAKING] Update
ImportObjectBuilder::with_func_by_type
method - [BREAKING] Update
ImportObjectBuilder::with_func_async
method - [BREAKING] Update
ImportObjectBuilder::with_host_data
method
- [BREAKING] Update
- Update README (#7)