Skip to content

Releases: extism/extism

v0.4.0

19 May 18:37
d0f77dd
Compare
Choose a tag to compare

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 of UserData::new_pointer to preserve is_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

15 Mar 14:46
8d76cf0
Compare
Choose a tag to compare

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

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

19 Jan 16:58
c94c221
Compare
Choose a tag to compare

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 of Dir::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 from extism_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

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

30 Nov 20:59
37b8e5b
Compare
Choose a tag to compare

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} and extism.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

29 Nov 17:01
3e6a007
Compare
Choose a tag to compare

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

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} and extism.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

04 Nov 19:56
5cfa2a0
Compare
Choose a tag to compare
Pre-release

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} and extism.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

19 Oct 21:27
92ff5f0
Compare
Choose a tag to compare
Pre-release

What's Changed

  • Add nn feature to enable wasi-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} and extism.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

29 Sep 22:55
b8d2f2d
Compare
Choose a tag to compare
Pre-release

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

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} and extism.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

13 Sep 19:29
f9e9ff2
Compare
Choose a tag to compare
Pre-release

What's Changed

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} and extism.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

12 Sep 21:50
Compare
Choose a tag to compare
Pre-release

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} and extism.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!