Repository navigation
v0.10.2
0.10.2 (2023/01/09)
libwasm_runtime.so
- Dependencies:
- Bump version dependencies:
wasmtimeto4.0.0.- As a consequence, update code to invoke
get_typed_func<Params, Results>()with only two arguments.
- As a consequence, update code to invoke
anyhowto1.0.66.once_cellto1.17.0.
- Updated
cargo.lockdependencies viacargo update.
- Bump version dependencies:
0.10.1 (2022/12/12)
mod_wasm.so
- All logging is now properly route to
ap_log_error(),ap_log_perror()andap_log_rerror(). - Apache-2.0 extended license headers.
- Only C89 comments (/* */).
libwasm_runtime.so
- Dependencies:
- Bump version dependencies:
wasmtimeto3.0.1.
- Updated
cargo.lockdependencies viacargo update.
- Bump version dependencies:
0.10.0 (2022/11/28)
-
In this version, among other improvements, we introduce two major features implementing #6, #7, and #16.
-
Wasm multi-module support:
Now you can specify different Wasm modules to be used in different routes. For instance, now it’s possible with one-single Apache instance to load simultaneously the Wasm builds for the PHP and Python interpreters (and any other languages that compile to Wasm now or in the future).
-
Shared Wasm modules:
Now you can specify different per-route configurations to the same Wasm module. The Wasm binary is loaded in memory only once, and the different configurations are applied to the Wasm module per-HTTP request. Also, now each Wasm execution owns its own
stdoutbuffer, so there are no interlocks between executions anymore.
Combining all together, you can now have a more flexible configuration such as:
<Location /wordpress> SetHandler wasm-handler WasmModule /var/www/modules/php7.4.32.wasm WasmDir /tmp … </Location> <Location /python-app> SetHandler wasm-handler WasmModule /var/www/modules/python3.11.wasm WasmArg /var/www/python-app/app.py … </Location> <Location /python-app2> SetHandler wasm-handler WasmModule /var/www/modules/python3.11.wasm WasmArg /var/www/python-app2/app2.py … </Location>
-
mod_wasm.so
- Removed the
WasmRootdirective. Now,WasmModuleaccepts the full Wasm module filepath. - Removed legacy code:
- In previous versions, given the only-one Wasm module limitation,
mod_wasm.cimplemented a mechanism to reset the WASI context for each HTTP request. This is not needed anymore. - Old code inherited from
mod_example_hooks.cand not used.
- In previous versions, given the only-one Wasm module limitation,
libwasm_runtime.so
- C-API:
- Reorganized functions and their names to be compliant with the new features and to be more idiomatic (🚨 breaks backwards compatibility 🚨).
- Removed any kind of logic different from C <---> Rust FFI data transformation.
- Improved error messages with more information.
- Fixed most suggestions from
cargo clippy -- -W clippy::pedantic. - Dependencies:
- Bump version dependencies:
wasmtimeto3.0.0.once_cellto1.16.0.
- New dependency:
randto0.8.5.
- Updated
cargo.lockdependencies viacargo update.
- Bump version dependencies: