Repository navigation
Kinema v0.3.1
A maintenance release. It clears the warning triangle Blender puts on Kinema in Preferences → Add-ons, and changes nothing about using the add-on.
If 0.3.0 works for you, this is not urgent — but the warning it removes is the last thing standing between Kinema and the extensions.blender.org listing.
Requires Blender 5.2 LTS or newer. Every dependency ships inside the extension zip; nothing is downloaded at runtime.
Download
| Platform | File | Size |
|---|---|---|
| Windows | kinema-0.3.1-windows_x64.zip |
116.5 MB |
| Linux | kinema-0.3.1-linux_x64.zip |
136.4 MB |
| macOS (Apple silicon) | kinema-0.3.1-macos_arm64.zip |
99.7 MB |
Install with Edit → Preferences → Add-ons → Install from Disk.
Fixed
-
28 extension policy violations. Blender flags any module loaded from inside an extension's folder that is not named under the extension's own package, and any
sys.pathentry pointing inside it. Kinema tripped both, and they were one decision: the vendored PyRoki and jaxls source was put onsys.pathso it could import under its own top-level names. That produced one warning per vendored module — 13 for jaxls, 14 for pyroki — plus one for the path. Present since 0.2.0.Both packages now import as part of the add-on, so nothing goes on
sys.pathand every module is namespaced. Blender's own checker reports zero warnings where it previously reported 28.This is what the extensions.blender.org review was asking for, and it settles the open question from it: vendored source is allowed — it just has to live under the add-on's own name.
Removed
jaxls/_py310from the vendored payload: 13 files selected bysys.version_infofor Python 3.10 and 3.11, which Blender 5.2's Python 3.13 can never reach.
Under the hood
Nothing here changes behaviour, but it is why this should not regress:
tools/vendor.pyrewrites the vendored packages' absolute self-imports on every vendor run, and refuses to stage a tree where one survives — parsed withastrather than matched with a regex, soimport os, jaxlscannot slip through.- The vendored trees' provenance stamp now records a fingerprint of the whole vendoring recipe, not just the upstream commit. A tree built before a recipe change reads as stale and fails the build, instead of quietly producing a release with the old imports in it.
tests/integration/test_extension_policy.pyasserts the policy rules directly, so a regression fails a test rather than waiting for someone to open Preferences.
Full changelog: v0.3.0...v0.3.1