Releases: extism/extism
v0.4.0
What's Changed
Breaking Changes
HTTP calls will be disallowed by default now. If you want to enable HTTP you need to specify the hosts that the plug-in is allowed to communicate with. If you want to allow all hosts you can set it to {allowed_hosts: ["*"]}
in the manifest. However, this isn't recommended unless you have some trust in the plug-in or are controlling the networking by some other means.
In this PR we are creating an implicit context so people don't need to know about it if they don't care. In some languages function signatures have changed to make context an optional argument when creating a plug-in.
All Changes
- fix: separate ocaml SDK and extism versions when publishing to opam by @zshipko in #283
- feat: add pycco python doc support by @nilslice in #284
- fix(zig-sdk): Fix build and improve tests by @usdogu in #291
- fix: improve
extism_http_request
error handling by @zshipko in #290 - fix: remove call to cleanup_timer at exit on windows by @zshipko in #301
- fix(browser): Fix browser runtime, publish as 0.2.7 by @bhelx in #305
- chore(deps-dev): Bump typedoc from 0.23.26 to 0.24.1 in /node by @dependabot in #308
- chore(deps-dev): Bump ex_doc from 0.29.2 to 0.29.4 in /elixir by @dependabot in #302
- chore(deps-dev): Bump @types/node from 18.15.0 to 18.15.11 in /node by @dependabot in #304
- chore(deps-dev): Bump prettier from 2.8.4 to 2.8.7 in /node by @dependabot in #293
- chore(deps-dev): Bump @types/jest from 29.4.0 to 29.5.0 in /node by @dependabot in #288
- chore(deps-dev): Bump typescript from 4.9.5 to 5.0.4 in /node by @dependabot in #307
- feat: Add Host Functions support for .NET SDK by @mhmd-azeez in #239
- fix(zig-sdk): Fix build by @usdogu in #310
- chore(deps-dev): Bump ts-jest from 29.0.5 to 29.1.0 in /node by @dependabot in #313
- chore(deps-dev): Bump typedoc from 0.24.1 to 0.24.4 in /node by @dependabot in #314
- fix!: disallow http requests by default by @zshipko in #315
- feat: automatically call
__wasm_call_ctors
when available and not calling_start
by @zshipko in #311 - feat: add support for host functions to browser runtime by @zshipko in #306
- chore(deps-dev): Bump prettier from 2.8.7 to 2.8.8 in /node by @dependabot in #319
- chore(deps-dev): Bump @types/node from 18.15.11 to 18.16.0 in /node by @dependabot in #318
- chore(deps-dev): Bump @types/jest from 29.5.0 to 29.5.1 in /node by @dependabot in #317
- chore(deps-dev): Bump typedoc from 0.24.4 to 0.24.6 in /node by @dependabot in #324
- chore: update to wasmtime 8.0.0 by @zshipko in #323
- chore: publish browser host by @bhelx in #332
- chore: publish dotnet host 0.5.0 by @bhelx in #333
- chore(deps): Bump rustler from 0.27.0 to 0.28.0 in /elixir by @dependabot in #331
- chore(deps): Update rustler requirement from 0.27.0 to 0.28.0 by @dependabot in #330
- chore(deps-dev): Bump @types/node from 18.16.0 to 18.16.3 in /node by @dependabot in #329
- chore: fix warnings coming from dotnet compiler by @bhelx in #336
- chore(deps-dev): Bump typedoc from 0.24.6 to 0.24.7 in /node by @dependabot in #338
- chore(deps-dev): Bump @types/node from 18.16.3 to 20.1.0 in /node by @dependabot in #337
- fix(rust): use CString for strings passed to to set_log_file by @zshipko in #341
- chore(deps-dev): Bump @types/node from 20.1.0 to 20.1.4 in /node by @dependabot in #342
- fix(php): $err is not implicitly cast to string by @bhelx in #344
- fix(elixir): Fix nif package build and release as 0.3.2 by @bhelx in #345
- feat!: add ability to create plugins without an existing
Context
by @zshipko in #335 - fix: use
UserData::make_copy
instead ofUserData::new_pointer
to preserveis_any
field by @zshipko in #346 - feat: add EXTISM_PROFILE environment variable to configure profiling by @zshipko in #326
- feat(php): Implicit context by @bhelx in #347
- fix(ruby): fix implicit context by @bhelx in #348
- release: Bump runtime to 0.4.0 by @bhelx in #340
Full Changelog: v0.3.0...v0.4.0
RELEASE v0.4.0
Head to https://extism.org for docs and an overview, and chat with us on Discord!
v0.3.0
What's Changed
- chore: bump version for haskell extism-manifest package by @zshipko in #223
- fix(elixir-sdk): Release 0.2.0 is broken due to this local path dep by @bhelx in #224
- docs: Update README to reflect quality but instability by @bhelx in #226
- docs(java-sdk): fix source code link by @bhelx in #228
- chore(deps-dev): Bump @types/jest from 29.2.5 to 29.2.6 in /node by @dependabot in #230
- chore(deps): Update rustler requirement from 0.26.0 to 0.27.0 by @dependabot in #232
- chore(deps): Bump rustler from 0.26.0 to 0.27.0 in /elixir by @dependabot in #235
- chore: Make memory traces clearer by @bhelx in #236
- cleanup: fix opam files according to changes published to opam by @zshipko in #237
- test(browser): Comment out test so we stop failure by @bhelx in #238
- fix(go): allow for host functions with no arguments or return values by @zshipko in #241
- feat: add helper functions for working with input/output of host functions as bytes by @zshipko in #240
- Make the Python example more idiomatic by @brettcannon in #242
- chore: update toml to 0.7 by @zshipko in #245
- feat: add ability to set host function namespace by @zshipko in #246
- chore(deps-dev): Bump typescript from 4.9.4 to 4.9.5 in /node by @dependabot in #252
- chore(deps-dev): Bump @types/node from 18.11.18 to 18.11.19 in /node by @dependabot in #251
- chore(deps-dev): Update black requirement from ^22.10.0 to ^23.1.0 in /python by @dependabot in #250
- chore(deps-dev): Bump jest from 29.3.1 to 29.4.1 in /node by @dependabot in #243
- feat(zig-sdk): Implement Host Functions by @usdogu in #249
- cleanup: use serde(deny_unknown_fields) in manifest by @zshipko in #254
- chore(deps-dev): Bump jest from 29.4.1 to 29.4.2 in /node by @dependabot in #256
- chore(deps-dev): Bump typedoc from 0.23.24 to 0.23.25 in /node by @dependabot in #257
- chore(deps-dev): Bump @types/node from 18.11.19 to 18.13.0 in /node by @dependabot in #258
- chore(deps-dev): Bump prettier from 2.8.3 to 2.8.4 in /node by @dependabot in #259
- fix(zig-sdk): Fix Example And Test by @usdogu in #260
- chore(deps-dev): Bump @types/node from 18.13.0 to 18.14.0 in /node by @dependabot in #262
- chore(deps-dev): Bump jest from 29.4.2 to 29.4.3 in /node by @dependabot in #261
- fix(python): export CurrentPlugin by @zshipko in #263
- chore: update wasmtime to 6.0, bump extism versions by @nilslice in #247
- feat: Add Host Functions support for Java SDK by @Zwiterrion in #248
- fix(zig): use new for loop syntax by @zshipko in #269
- chore(deps-dev): Bump @types/node from 18.14.0 to 18.14.2 in /node by @dependabot in #266
- chore(deps-dev): Bump typedoc from 0.23.25 to 0.23.26 in /node by @dependabot in #265
- chore(deps-dev): Bump ex_doc from 0.29.1 to 0.29.2 in /elixir by @dependabot in #273
- chore(deps-dev): Bump @types/node from 18.14.2 to 18.14.6 in /node by @dependabot in #272
- chore(deps-dev): Update minitest requirement from ~> 5.17.0 to ~> 5.18.0 in /ruby by @dependabot in #271
- feat: add ability to set host function namespace for Java SDK by @Zwiterrion in #275
- feat: Add plugin cancellation by @zshipko in #270
- chore: update to wasmtime 6.0.1 by @zshipko in #276
- feat: Support allowed_paths in the Java SDK by @mathieuancelin in #277
- chore(deps-dev): Bump jest from 29.4.3 to 29.5.0 in /node by @dependabot in #280
- chore(deps-dev): Bump @types/node from 18.14.6 to 18.15.0 in /node by @dependabot in #279
- chore: update haskell base upper bound by @zshipko in #282
- release: 0.3.0 by @bhelx in #281
New Contributors
- @brettcannon made their first contribution in #242
- @mathieuancelin made their first contribution in #277
Full Changelog: v0.2.0...v0.3.0
RELEASE v0.3.0
Head to https://extism.org for docs and an overview, and chat with us on Discord!
v0.2.0
What's Changed
- fix(elixir-sdk): remove compiled nif from package, update readme by @bhelx in #111
- fix: removes the stdout print of extism.h in php sdk by @nilslice in #112
- fix: update crate name to extism_runtime in logging registration function by @zshipko in #123
- chore(deps-dev): Bump @types/ffi-napi from 4.0.6 to 4.0.7 in /node by @dependabot in #131
- chore(deps-dev): Bump @types/node from 18.11.9 to 18.11.10 in /node by @dependabot in #130
- fix: add null byte to end of version string by @zshipko in #139
- feat: Improve usability of manifest types by @zshipko in #124
- fix: Reinstantiate after call to
_start
by @zshipko in #135 - feat: add
allowed_paths
to specify preopened directories in WASI by @zshipko in #137 - fix: use
Dir::open_ambient_dir
instead ofDir::from_std_file
by @zshipko in #140 - fix: disallow all hosts if
allowed_hosts
is empty by @zshipko in #143 - feat: Add support for
allowed_paths
manifest key in SDKs by @zshipko in #144 - fix(ci): don’t install Python dev dependencies on CI by @zshipko in #149
- refactor(haskell): cleanup haskell SDK to prepare for release by @zshipko in #138
- feat: Implement .NET Host SDK by @mhmd-azeez in #119
- feat: Add ability to register host functions with the runtime from the Rust SDK by @zshipko in #148
- fix: remove old/duplicate Haskell runtime initialization code by @zshipko in #154
- chore(deps-dev): Bump prettier from 2.8.0 to 2.8.1 in /node by @dependabot in #159
- chore(deps-dev): Bump @types/node from 18.11.10 to 18.11.13 in /node by @dependabot in #158
- chore(deps-dev): Bump typescript from 4.9.3 to 4.9.4 in /node by @dependabot in #157
- chore(deps-dev): Bump typedoc from 0.23.21 to 0.23.22 in /node by @dependabot in #156
- ci(dotnet-sdk): Package dotnet lib with native dll by @bhelx in #152
- chore(dotnet-sdk): Release 0.2.0 by @bhelx in #161
- chore(deps-dev): Bump @types/jest from 29.2.3 to 29.2.4 in /node by @dependabot in #155
- docs: Add link to Haskell PDK instructions by @bhelx in #162
- feat: Add option to set timeout for plugin by @zshipko in #163
- feat: add
timeout_ms
field to SDKs by @zshipko in #165 - chore(dotnet-sdk): Update Sample file, use the one from the docs by @bhelx in #164
- fix: use timeouts for language-specific runtime initialization/finalization calls by @zshipko in #169
- fix(haskell): update encoding of
Extism.Manifest.HTTPRequest
by @zshipko in #170 - chore: update OCaml version to latest release by @zshipko in #171
- feat(java-sdk): Create Java Host SDK by @bhelx in #122
- docs(java-sdk): Update readme by @bhelx in #175
- chore: move each language to separate workflow by @zshipko in #176
- ci: use glob for paths by @zshipko in #178
- refactor(java-sdk): Revise API usage by @thomasdarimont in #177
- refactor(ocaml): Cleanup code, split out extism-manifest package, prepare to release with next runtime release by @zshipko in #182
- chore: update to wasmtime 4.0.0 by @zshipko in #181
- chore(deps-dev): Bump @types/node from 18.11.13 to 18.11.17 in /node by @dependabot in #174
- fix(elixir): use local Rust
extism
package fromextism_nif
for local development by @zshipko in #180 - feat(zig-sdk): Create Zig Host Sdk by @usdogu in #186
- chore(deps): Bump json5 from 2.2.1 to 2.2.3 in /browser by @dependabot in #193
- chore(deps): Bump json5 from 2.2.1 to 2.2.3 in /node by @dependabot in #194
- chore(deps-dev): Bump @types/jest from 29.2.4 to 29.2.5 in /node by @dependabot in #192
- chore(deps-dev): Bump @types/node from 18.11.17 to 18.11.18 in /node by @dependabot in #191
- chore(deps-dev): Update minitest requirement from ~> 5.16.3 to ~> 5.17.0 in /ruby by @dependabot in #190
- feat(zig): import extism.h directly instead of hand-written bindings by @zshipko in #197
- feat: WASI support for browser runtime by @bhelx in #196
- Fix: Fixes Runtime problem with ESM module by @bhelx in #199
- chore(deps-dev): Bump typedoc from 0.23.22 to 0.23.24 in /node by @dependabot in #206
- chore(deps-dev): Bump prettier from 2.8.1 to 2.8.2 in /node by @dependabot in #205
- chore(deps): Update base64 requirement from 0.20.0-alpha to 0.21.0 by @dependabot in #204
- chore: use new base64 API, cleanup clippy warnings by @zshipko in #211
- feat: Add C API for host functions + support for C++, Python, Go, Node, OCaml by @zshipko in #195
- cleanup: minor OCaml/Haskell API updates by @zshipko in #213
- cleanup: use debug logging instead of info in runtime, fix C example by @zshipko in #214
- fix: remove quotes from makefile by @zshipko in #218
- chore(deps-dev): Bump prettier from 2.8.2 to 2.8.3 in /node by @dependabot in #217
- chore(deps-dev): Bump typedoc from 0.23.22 to 0.23.24 in /node by @dependabot in #216
- chore(deps-dev): Bump ts-jest from 29.0.3 to 29.0.5 in /node by @dependabot in #215
- fix: use
cgo.Handle
to protect Go pointers being passed to C callbacks by @zshipko in #220 - Support jdk11 by @Zwiterrion in #208
- ci(java-sdk): Test on multiple JREs by @bhelx in #221
- test: add more host function tests, cleanup tests to use
wasm/code.wasm
when possible by @zshipko in #219 - release: v0.2.0 by @bhelx in #209
New Contributors
- @mhmd-azeez made their first contribution in #119
- @usdogu made their first contribution in #186
- @Zwiterrion made their first contribution in #208
Full Changelog: v0.1.0...v0.2.0
RELEASE v0.2.0
Head to https://extism.org for docs and an overview, and chat with us on Discord!
Release v0.1.0
What's Changed
- chore: Fix elixir release workflow by @bhelx in #77
- fix(rust-sdk): Fix dep versions by @bhelx in #102
- chore(python-sdk): Put placeholder readme in python dir by @bhelx in #104
- Fix elixir bindings by @zshipko in #109
- docs(elixir-sdk): Reduce elixir min version by @bhelx in #108
- docs(node-sdk): Fix example to use CJS imports by @bhelx in #107
- fix(ruby-sdk): Add FFI gem as dependency by @bhelx in #106
- chore: Add Makefile for browser runtime by @bhelx in #103
- release: v0.1.0 by @bhelx in #110
Full Changelog: v0.0.1...v0.1.0
RELEASE v0.1.0
Extism is the universal plug-in system. Run WebAssembly extensions inside your app. Use idiomatic Host SDKs for Go, Ruby, Python, Node, Rust, C, C++, OCaml, Haskell, PHP & more (others coming soon).
Things may be incomplete or undocumented or difficult to install, but not for long!
This is a preview to share progress on a usable version while we wrap up some docs, automation, package distribution, installation process, etc.
Preview Installation & Usage
Try the extism
CLI:
- Install from https://github.com/extism/cli, read usage in the
README.md
- Some Host SDKs are available via respective package managers / distribution systems. Try those!
Or:
- Clone the repository.
- Copy the language SDK you want to use (./node, ./ruby, ./python etc are language SDKs in the root of the repo).
- Download a pre-built release for your system (attached below), or build the project from source (see the Makefile in the root,
make build
). - Install
libextism.{so|dylib}
andextism.h
into your library and include paths respectively. (sudo make install
does this)
Expect the entire process above to be simplified away soon...
Head to https://extism.org for docs and an overview, and chat with us on Discord!
Release v0.0.1
What's Changed
- feat: Add workflow_dispatch to the release workflow by @bhelx in #33
- chore(deps-dev): bump typedoc from 0.23.18 to 0.23.19 in /node by @dependabot in #64
- chore(deps-dev): bump @types/jest from 29.2.0 to 29.2.1 in /node by @dependabot in #63
- chore(deps-dev): bump @types/node from 18.11.4 to 18.11.9 in /node by @dependabot in #62
- fix: Fix release workflow to use make by @bhelx in #68
- ci: Workflow per SDK by @bhelx in #69
- chore(deps-dev): bump @types/jest from 29.2.1 to 29.2.2 in /node by @dependabot in #72
- chore(deps-dev): bump typedoc from 0.23.19 to 0.23.20 in /node by @dependabot in #71
- Make Rust SDK depend directly on
extism-runtime
by @zshipko in #65 - feat: [Experimental] Extism browser runtime by @bhelx in #70
- test(browser-runtime): Add a simple test and runner by @bhelx in #73
- chore: bump browser runtime to rc.10 and refactor by @bhelx in #74
- fix: fix test import syntax in browser runtime by @bhelx in #75
- feat(elixir): use result of set_log_file by @bhelx in #39
- fix: Fix the python release workflow by @bhelx in #76
- cleanup: remove extism_load_u32 and extism_store_u32 by @zshipko in #79
- fix: python README path by @zshipko in #80
- feat: add
extism_http_status_code
to get the status code of the last HTTP request + fixes for clippy by @zshipko in #81 - test: Make sure we have unicode in the SDK tests by @bhelx in #83
- fix(node-sdk): Properly calculate length of utf-8 inputs by @bhelx in #82
- chore(deps-dev): bump jest from 29.2.2 to 29.3.1 in /node by @dependabot in #84
- chore(deps-dev): bump typescript from 4.8.4 to 4.9.3 in /node by @dependabot in #85
- chore(deps-dev): bump typedoc from 0.23.20 to 0.23.21 in /node by @dependabot in #86
- feat: add var/config functions, merge ExtismPlugin and ExtismPluginCall by @zshipko in #87
- fix(php-sdk): fix the composer file by @bhelx in #88
- chore(deps-dev): bump ex_doc from 0.29.0 to 0.29.1 in /elixir by @dependabot in #89
- chore(deps-dev): bump prettier from 2.7.1 to 2.8.0 in /node by @dependabot in #90
- Updates for wasmtime/wasmtime-wasi/wasmtime-wasi-nn, basic support for calling
_start
functions by @zshipko in #94 - fix: resolve php sdk issues by @nilslice in #95
- chore: fix ruby release publish by @bhelx in #78
- Cleanup Haskell SDK, split out manifest sublibrary by @zshipko in #99
- release: Bump to 0.0.1 by @bhelx in #97
- fix: Fix the release action by @bhelx in #101
New Contributors
- @dependabot made their first contribution in #64
Full Changelog: v0.0.1-rc.6...v0.0.1
RELEASE v0.0.1
Extism is the universal plug-in system. Run WebAssembly extensions inside your app. Use idiomatic Host SDKs for Go, Ruby, Python, Node, Rust, C, C++, OCaml, Haskell, PHP & more (others coming soon).
Things may be incomplete or undocumented or difficult to install, but not for long!
This is a preview to share progress on a usable version while we wrap up some docs, automation, package distribution, installation process, etc.
Preview Installation & Usage
Try the extism
CLI:
- Install from https://github.com/extism/cli, read usage in the
README.md
- Some Host SDKs are available via respective package managers / distribution systems. Try those!
Or:
- Clone the repository.
- Copy the language SDK you want to use (./node, ./ruby, ./python etc are language SDKs in the root of the repo).
- Download a pre-built release for your system (attached below), or build the project from source (see the Makefile in the root,
make build
). - Install
libextism.{so|dylib}
andextism.h
into your library and include paths respectively. (sudo make install
does this)
Expect the entire process above to be simplified away soon...
Head to https://extism.org for docs and an overview, and chat with us on Discord!
Preview pre-release v0.0.1-rc.6
What's Changed
- Publish all Host SDKs by @bhelx in #32
- Fix elixir publish pipeline by @bhelx in #34
- Fix Elixir cargo dependency by @bhelx in #35
- Fix bug in
extism_plugin_config
when wasi is disabled by @zshipko in #36 - feat: set_log_file should return bool in rust SDK by @bhelx in #38
- docs: Some small doc changes in elixir readme by @bhelx in #37
- docs(ruby): fix example.rb context usage by @bhelx in #40
- test(python-sdk): Add unit tests for python SDK and run in CI by @bhelx in #42
- fix(ruby-sdk): Fix bugs and add tests by @bhelx in #41
- refactor(node-sdk): Refactor Node SDK to Typescript by @bhelx in #43
- test(node-sdk): Add basic unit tests and coverage by @bhelx in #44
- test(go-sdk): Add some unit tests for the Go SDK by @bhelx in #45
- test(cpp): Add tests and missing functionality for C++ by @zshipko in #47
- test(haskell): Add unit tests by @zshipko in #48
- test(ocaml): Add inline unit tests and enable OCaml CI by @zshipko in #49
- docs(elixir-sdk): Add inline docs and Makefile by @bhelx in #52
- docs(ruby-sdk): Hygiene: docs, formatter, Makefile by @bhelx in #50
- fix(node-sdk): Upgrade CI node version to 18 to get around FFI bug by @bhelx in #54
- ci: create workflow for each language by @zshipko in #51
- docs(node-sdk): Add docs, Makefile, format code by @bhelx in #55
- docs: Add elixir / erlang to the README by @bhelx in #56
- docs(python-sdk): Python docs, Makefile, code formatter by @bhelx in #57
- ci: fix ocaml build by @zshipko in #59
- organize: rename runtime/src/export.rs -> runtime/src/pdk.rs by @zshipko in #60
- chore: update deps, add dependabot.yml by @zshipko in #61
- docs: Link to the manifest concept doc by @bhelx in #66
- Bump to version 0.0.1-rc.6 by @bhelx in #67
Full Changelog: v0.0.1-rc.5...v0.0.1-rc.6
PREVIEW PRE-RELEASE v0.0.1-rc.6
Extism is the universal plug-in system. Run WebAssembly extensions inside your app. Use idiomatic Host SDKs for Go, Ruby, Python, Node, Rust, C, C++, OCaml, Haskell, PHP & more (others coming soon).
Things may be incomplete or undocumented or difficult to install, but not for long!
This is a preview to share progress on a usable version while we wrap up some docs, automation, package distribution, installation process, etc.
Preview Installation & Usage
Try the extism
CLI:
- Install from https://github.com/extism/cli, read usage in the
README.md
- Some Host SDKs are available via respective package managers / distribution systems. Try those!
Or:
- Clone the repository.
- Copy the language SDK you want to use (./node, ./ruby, ./python etc are language SDKs in the root of the repo).
- Download a pre-built release for your system (attached below), or build the project from source (see the Makefile in the root,
make build
). - Install
libextism.{so|dylib}
andextism.h
into your library and include paths respectively. (sudo make install
does this)
Expect the entire process above to be simplified away soon...
Head to https://extism.org for docs and an overview, and chat with us on Discord!
Preview pre-release v0.0.1-rc.5
What's Changed
- Add
nn
feature to enablewasi-nn
for plugins that enable WASI by @zshipko in #29 - Add
extism_version
to Host SDK and all clients by @bhelx in #30 - Implement Host SDK for Elixir by @bhelx in #18
- Bump to version v0.0.1-rc.5 by @bhelx in #31
Full Changelog: v0.0.1-rc.4...v0.0.1-rc.5
PREVIEW PRE-RELEASE v0.0.1-rc.5
Extism is the universal plug-in system. Run WebAssembly extensions inside your app. Use idiomatic Host SDKs for Go, Ruby, Python, Node, Rust, C, C++, OCaml, Haskell, PHP & more (others coming soon).
Things may be incomplete or undocumented or difficult to install, but not for long!
This is a preview to share progress on a usable version while we wrap up some docs, automation, package distribution, installation process, etc.
Preview Installation & Usage
Try the extism
CLI:
- Install from https://github.com/extism/cli, read usage in the
README.md
- Some Host SDKs are available via respective package managers / distribution systems. Try those!
Or:
- Clone the repository.
- Copy the language SDK you want to use (./node, ./ruby, ./python etc are language SDKs in the root of the repo).
- Download a pre-built release for your system (attached below), or build the project from source (see the Makefile in the root,
make build
). - Install
libextism.{so|dylib}
andextism.h
into your library and include paths respectively. (sudo make install
does this)
Expect the entire process above to be simplified away soon...
Head to https://extism.org for docs and an overview, and chat with us on Discord!
Preview pre-release v0.0.1-rc.4
What's Changed
- Add
scripts
directory with SDK coverage script by @zshipko in #16 - feat: update node sdk to use async call by @Jhaines1988 in #17
- Add ExtismContext to SDK + better errors for failed register/update by @zshipko in #19
- Update to wasmtime 1.0 by @zshipko in #21
- Don't panic on invalid plugin id by @zshipko in #22
- Add
allowed_hosts
configuration option by @zshipko in #23 - chore: bump versions for v0.0.1-rc.4 by @nilslice in #24
New Contributors
- @Jhaines1988 made their first contribution in #17
Full Changelog: v0.0.1-rc.3...v0.0.1-rc.4
PREVIEW PRE-RELEASE v0.0.1-rc.4
Extism is the universal plug-in system. Run WebAssembly extensions inside your app. Use idiomatic Host SDKs for Go, Ruby, Python, Node, Rust, C, C++, OCaml, Haskell, PHP & more (others coming soon).
Things may be incomplete or undocumented or difficult to install, but not for long!
This is a preview to share progress on a usable version while we wrap up some docs, automation, package distribution, installation process, etc.
Preview Installation & Usage
Try the extism
CLI:
- Install from https://github.com/extism/cli, read usage in the
README.md
- Some Host SDKs are available via respective package managers / distribution systems. Try those!
Or:
- Clone the repository.
- Copy the language SDK you want to use (./node, ./ruby, ./python etc are language SDKs in the root of the repo).
- Download a pre-built release for your system (attached below), or build the project from source (see the Makefile in the root,
make build
). - Install
libextism.{so|dylib}
andextism.h
into your library and include paths respectively. (sudo make install
does this)
Expect the entire process above to be simplified away soon...
Head to https://extism.org for docs and an overview, and chat with us on Discord!
Preview pre-release v0.0.1-rc.3
What's Changed
- Fix large allocations by @zshipko in #13
- Fix large allocations (missing commits) by @zshipko in #14
- chore: bump versions for release by @nilslice in #15
Full Changelog: v0.0.1-rc.2...v0.0.1-rc.3
PREVIEW PRE-RELEASE v0.0.1-rc.3
Extism is the universal plug-in system. Run WebAssembly extensions inside your app. Use idiomatic Host SDKs for Go, Ruby, Python, Node, Rust, C, C++, OCaml, Haskell, PHP & more (others coming soon).
Things may be incomplete or undocumented or difficult to install, but not for long!
This is a preview to share progress on a usable version while we wrap up some docs, automation, package distribution, installation process, etc.
Preview Installation & Usage
Try the extism
CLI:
- Install from https://github.com/extism/cli, read usage in the
README.md
- Some Host SDKs are available via respective package managers / distribution systems. Try those!
Or:
- Clone the repository.
- Copy the language SDK you want to use (./node, ./ruby, ./python etc are language SDKs in the root of the repo).
- Download a pre-built release for your system (attached below), or build the project from source (see the Makefile in the root,
make build
). - Install
libextism.{so|dylib}
andextism.h
into your library and include paths respectively. (sudo make install
does this)
Expect the entire process above to be simplified away soon...
Head to https://extism.org for docs and an overview, and chat with us on Discord!
Preview pre-release v0.0.1-rc.2
What's Changed
- Create Extism module / namespace by @bhelx in #5
- fix: provide plugin id to lib config call by @nilslice in #8
- Handle missing config keys without raising an error by @zshipko in #9
- feat: add HttpRequest builder functions by @zshipko in #10
- feat: access input/output buffers directly by @zshipko in #11
- ci: add host sdk releases by @nilslice in #12
Full Changelog: v0.0.1-gamma...v0.0.1-rc.2
PREVIEW PRE-RELEASE v0.0.1-rc.2
Extism is the universal plug-in system. Run WebAssembly extensions inside your app. Use idiomatic Host SDKs for Go, Ruby, Python, Node, Rust, C, C++, OCaml, Haskell, PHP & more (others coming soon).
Things may be incomplete or undocumented or difficult to install, but not for long!
This is a preview to share progress on a usable version while we wrap up some docs, automation, package distribution, installation process, etc.
Preview Installation & Usage
Try the extism
CLI:
- Install from https://github.com/extism/cli, read usage in the
README.md
- Some Host SDKs are available via respective package managers / distribution systems. Try those!
Or:
- Clone the repository.
- Copy the language SDK you want to use (./node, ./ruby, ./python etc are language SDKs in the root of the repo).
- Download a pre-built release for your system (attached below), or build the project from source (see the Makefile in the root,
make build
). - Install
libextism.{so|dylib}
andextism.h
into your library and include paths respectively. (sudo make install
does this)
Expect the entire process above to be simplified away soon...