Skip to content

Latest commit

Β 

History

History
256 lines (187 loc) Β· 14.5 KB

CHANGELOG.md

File metadata and controls

256 lines (187 loc) Β· 14.5 KB

Changelog

All notable changes to this project will be documented in this file.

[0.13.5-newapi] - 2024-04-30

The sdk has changed a lot, please read this document.

🚜 Refactor

  • [BREAKING] Significant refactoring was done to fix memory leaks (#98)

[0.13.2] - 2023-11-15

πŸ› Bug Fixes

  • Fix the static build to link against zstd (#91)

[0.13.1] - 2023-11-14

  • Update the wat dep. This update is to fix #88.

[0.13.0] - 2023-11-07

⛰️ Features

  • New API PluginManager::nn_preload. This API is used to initialize the wasi_nn plug-in with given preloads (#74)

  • Implement FromStr trait for NNPreload struct (#81)

🚜 Refactor

  • [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 and Executor::run_func_async_with_timeout
    • Vm::run_func_with_timeout and Vm::run_func_async_with_timeout
    • Func::run_with_timeout and Func::run_async_with_timeout

πŸ› Bug Fixes

  • Introduce new C-API WasmEdge_FunctionInstanceGetData to fix the memory leak issue caused by host data (#84)

Ci

  • Support macos-13 and remove macos-11 from the ci-build and standalone workflows (#84)

[0.12.2] - 2023-09-22

🚜 Refactor

  • Disable timeout related APIs for the musl environment (#71)

[0.12.1] - 2023-09-14

πŸ› Bug Fixes

  • (wasmedge-sys) Update the sha256sum of WasmEdge 0.13.4 (#66)

[0.12.0] - 2023-09-10

⛰️ Features

  • New timeout APIs (#61)
    • Add Vm::run_func_with_timeout and Vm::run_func_async_with_timeout. These APIs are used to run a host function with a timeout
    • Add Executor::run_func_with_timeout and Executor::run_func_async_with_timeout. These APIs are used to run a host function with a timeout
    • Add Func::run_with_timeout and Func::run_async_with_timeout. These APIs are used to run a host function with a timeout
  • New API Store::register_plugin_module. This API is used to register a `PluginInstance`` into a store instance (#53)
  • New type alias PluginInstance (#53)

🚜 Refactor

  • [BREAKING] Merge async mod into wasi mod (#55)
  • [BREAKING] Update the return type of PluginManager::find from Option<Plugin> to WasmEdgeResult<Plugin> (#53)
  • [BREAKING] Update the return type of Plugin::mod_instance from Option<Instance> to WasmEdgeResult<PluginInstance> (#53)

πŸ“š Documentation

  • Update WasmEdge RustSDK API Document (#55)

[0.11.2] - 2023-08-07

⛰️ Features

  • New API WasiContext::generate. This API provides more flexible argument types than the existed WasiContext::new (#49)

🚜 Refactor

  • Improve host_function and async_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

πŸ“š Documentation

  • Update README.md (#50)
  • Update Rust SDK API Document (#50)

Ci

  • Disable the publish of the async API document (#50)

[0.11.0] - 2023-07-31

⛰️ Features

  • Add Func::wrap_async_func_with_type (#43)
  • Add WasiInstance::exit_code in async mod (#43)
  • Add WasiInstance::name in wasi mod (#42)
  • Add WasiContext (#39)
  • Add VmBuilder::with_wasi_context (#39)

🚜 Refactor

  • [BREAKING] Update Func::new
    • Rename Func::new to Func::wrap_with_type (#43)
    • Change the type of the data argument to Option<Box<T>> (#39)
  • [BREAKING] Update Func::wrap_func
    • Rename Func::wrap_func to Func::wrap (#43)
    • The type of the data argument is changed to Option<Box<T>> (#39)
  • [BREAKING] Update async WasiInstance
    • Move WasiInstance for async scenarios from wasi mod to async mod (#39)
    • Remove the implementation of AsInstance trait for WasiInstance defined in async mod (#39)
    • Remove WasiInstance::initialize defined in async mod (#39)
  • [BREAKING] Update WasiInstance
    • Remove the implementation of AsInstance trait for WasiInstance defined in wasi mod (#42)
  • [BREAKING] Move AsyncState into async mod (#39)
  • [BREAKING] Remove HostFn<T> and AsyncHostFn<T> (#39)
  • [BREAKING] Update ImportObjectBuilder
    • Add ?Size and Clone trait bounds on generic type of ImportObjectBuilder::build (#41)
    • Change the type of the data argument of ImportObjectBuilder::with_func to Option<Box<D>> (#39)
    • Change the type of the data argument of ImportObjectBuilder::with_func_by_type to Option<Box<D>> (#39)
  • [BREAKING] Update ImportObject
    • Add generic type to ImportObject (#41)
    • Rename as_raw_ptr to as_ptr (#41)
  • [BREAKING] Update PluginModuleBuilder
    • Change the type of the data argument of PluginModuleBuilder::with_func to Option<Box<D>> (#39)
    • Add ?Sized trait bound on the generic type of PluginModuleBuilder<T> (#42)
    • Update PluginModuleBuilder::build (#42)
  • [BREAKING] Update PluginModule (#42)
  • [BREAKING] Add generic type to Store::register_import_module (#41)
  • [BREAKING] Update async_host_function proc-macro (#43)
  • Update Vm
    • Remove imports field from Vm (#41)
    • [BREAKING] Update the signature of Vm::register_import_module (#41)
    • Update Vm::build for async scenarios (#42)
    • Enable Vm::wasi_module and Vm::wasi_module_mut for async scenarios (#43)
  • Update VmBuilder::build (#39)
  • Improve the standalone deployment mode (#40)

πŸ“š Documentation

  • Update README.md (#43)
  • Update Rust SDK API Document (#44)

Ci

  • Add steps for publishing async API document in release-wasmedge-sdk workflow (#44)

[0.10.0] - 2023-07-21

⛰️ Features

  • Support closures in Func and ImportObjectBuilder (#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
  • Support host_data in ImportObjectBuilder::with_async_func and ImportObjectBuilder::build methods (#21)

  • Support standalone static libraries (#22 #24)

🚜 Refactor

  • [BREAKING] Rename Func::wrap to Func::wrap_func (#20)
  • [BREAKING] Rename Func::wrap_async to Func::wrap_async_func (#20)
  • [BREAKING] Rename ImportObjectBuilder::with_func_async to ImportObjectBuilder::with_async_func (#20)
  • Remove the host_data field in ImportObjectBuilder (#21)
    • [BREAKING] Update ImportObjectBuilder::with_async_func method
  • Remove the generic type in ImportObject (#21)
    • [BREAKING] Update VmBuilder::build method
    • [BREAKING] Remove the generic type in Vm

πŸ“š Documentation

  • Update README and rustdoc (#28)

[0.9.0] - 2023-06-30

⛰️ Features

  • 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
  • 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
  • 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 and WasmEdge_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
  • Implement PluginModule and PluginModuleBuilder (#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

πŸ“š Documentation

  • Update README (#7)

βš™οΈ Miscellaneous Tasks

  • Remove the deprecated examples (#4)
  • Remove the deprecated examples (#8)
  • Release preparation: bump versions and update docs (#15)
  • Update documentation url (#17)

Ci

  • Update the release workflows (#5)
  • Add standlone workflow (#9)
  • Support macOS and Fedora in the standalone workflow (#11)
  • Update the release-async-wasi workflow (#16)