Skip to content

Releases: bytecodealliance/componentize-py

v0.19.0: add more stream/future/resource tests (#175)

29 May 19:36
3b628a4

Choose a tag to compare

* switch examples to use Wasmtime 38

39 has not yet been released and is not needed for these examples, anyway.

Signed-off-by: Joel Dice <joel.dice@fermyon.com>

* add more stream/future/resource tests

This addresses some gaps in the test coverage and fixes the issued uncovered
(e.g. not handling drops of exported resources and not restoring payload
ownership after a failed `future.write`).

Signed-off-by: Joel Dice <joel.dice@fermyon.com>

---------

Signed-off-by: Joel Dice <joel.dice@fermyon.com>

v0.18.0: update to CPython 3.14.0

29 May 19:33
2efafb6

Choose a tag to compare

Also:

- bump Wasmtime patch version
- set Rust edition to 2024
- run `cargo fmt`

Signed-off-by: Joel Dice <joel.dice@fermyon.com>

v0.17.2: bump version to 0.17.2 (#158)

29 May 19:26
31c9e66

Choose a tag to compare

Signed-off-by: Joel Dice <joel.dice@fermyon.com>

v0.17.1: fix memory leaks in generated bindings (#153)

29 May 19:25
72ca2f5

Choose a tag to compare

* fix memory leaks in generated bindings

This addresses a couple of issues:

- We weren't freeing canonical ABI results after calling imports and then
  converting the results to Python values.

- We were using the PyO3 `Bound` APIs incorrectly in a few places, resulting in
  refcounts being incremented too many times.

While debugging the latter issue, I took the opportunity to update to the latest
PyO3 release, which required addressing the usual API breakage.  It also
required temporarily forking the repo to add a patch to disable `extern
"C-unwind"` in `pyo3_ffi` on `wasm32`.  We should be able to drop that fork once
we upgrade everything to Python 3.14.

Finally, I discovered
https://pyo3.rs/v0.25.0/features.html#pyo3_disable_reference_pool which
supposedly optimizes Rust<->Python transitions by disabling a feature we don't
rely on anyway, so I went ahead and enabled it.

Fixes #152

Signed-off-by: Joel Dice <joel.dice@fermyon.com>

* bump version to 0.17.1

Signed-off-by: Joel Dice <joel.dice@fermyon.com>

* update python.rs to use new PyO3 API

Signed-off-by: Joel Dice <joel.dice@fermyon.com>

---------

Signed-off-by: Joel Dice <joel.dice@fermyon.com>

v0.17.0: use "wit_world" module name by default for generated bindings (#150)

29 May 19:25
a63e030

Choose a tag to compare

Previously, we used a name derived from the WIT world name, but this is more
predictable.  It can be overridden using the `--world-module` option, which now
applies to both the `bindings` and `componentize` subcommands.

I've also bumped the version to 0.17.0 since this is a breaking change.

Fixes #149

Signed-off-by: Joel Dice <joel.dice@fermyon.com>