Skip to content

0.84.2

Choose a tag to compare

@github-actions github-actions released this 04 Oct 00:57
Immutable release. Only release title and notes can be modified.
0c1c84c

Release Notes

Built on ty 0.0.84. No upstream changes; this
is a fork-only patch release.

ty_plugin_protocol and ty_plugin_sdk are bumped to 0.0.6.

Python plugins on the Monty runtime

Plugins can now be authored in Python and executed inside the embedded
Monty sandbox — no Rust toolchain required. The wire
protocol moves from 0.4 to 0.5 for the new monty runtime kind; the change is additive, so
plugins built against earlier releases continue to load unchanged.

  • A new monty plugin runtime executes a .py artifact inside Monty's restricted Python
    subset: no third-party imports, filesystem, environment, or clock access. The ty.plugin_sdk
    module shipped inside the ty wheel is prepended to the plugin source, so its hook
    decorators (@on_call_return, ...), manifest helpers, and response builders are ambient
    names in plugin files.
  • Standard builds include WASM, embedded Monty, and optional Monty worker-process support.
    Python plugins run in-process by default, without an external runtime dependency. Install
    ty-extended[monty-workers] and set plugins.monty-mode = "worker" to enable crash isolation
    on supported platforms with Python 3.10+. Workers are resolved from TY_MONTY_BIN, then
    monty on PATH; worker startup failures report a plugin error.
  • Semantic-hook requests now carry the plugin's resolved configuration in context.config,
    matching what build-project-index requests already sent.
  • Project configuration accepts runtime = "monty" for [[tool.ty.plugins.plugin]] entries, and
    installed-package discovery maps {"kind": "monty"} manifests. Feature-disabled builds
    report monty as an unsupported runtime through the existing settings diagnostic.
  • PluginResponse::Dependencies now serializes through a DependenciesResponse wrapper — the
    previous internally-tagged newtype sequence could not round-trip on the wire, so no plugin
    could have emitted it before.
  • A runnable end-to-end project lives at examples/monty/; authoring guidance is in
    docs/plugin-authoring.md. examples/minidjango/ ports the reference MiniDjangoPlugin
    (class transforms, project indexing, cross-symbol contributions, virtual types, settings
    claims, lookup diagnostics) to Python over an identical project, so monty and wasm
    runs can be diffed side by side.

Rust plugin API

  • SemanticContext struct literals must include the new config field.
  • Construct PluginResponse::Dependencies with a DependenciesResponse wrapper.

Install ty 0.84.2

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/regularkevvv/ty-extended/releases/download/v0.84.2/ty-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/regularkevvv/ty-extended/releases/download/v0.84.2/ty-installer.ps1 | iex"

Download ty 0.84.2

File Platform Checksum
ty-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
ty-x86_64-apple-darwin.tar.gz Intel macOS checksum
ty-aarch64-pc-windows-msvc.zip ARM64 Windows checksum
ty-i686-pc-windows-msvc.zip x86 Windows checksum
ty-x86_64-pc-windows-msvc.zip x64 Windows checksum
ty-aarch64-unknown-linux-gnu.tar.gz ARM64 Linux checksum
ty-i686-unknown-linux-gnu.tar.gz x86 Linux checksum
ty-powerpc64-unknown-linux-gnu.tar.gz PPC64 Linux checksum
ty-powerpc64le-unknown-linux-gnu.tar.gz PPC64LE Linux checksum
ty-riscv64gc-unknown-linux-gnu.tar.gz RISCV Linux checksum
ty-s390x-unknown-linux-gnu.tar.gz S390x Linux checksum
ty-x86_64-unknown-linux-gnu.tar.gz x64 Linux checksum
ty-armv7-unknown-linux-gnueabihf.tar.gz ARMv7 Linux checksum
ty-aarch64-unknown-linux-musl.tar.gz ARM64 MUSL Linux checksum
ty-i686-unknown-linux-musl.tar.gz x86 MUSL Linux checksum
ty-x86_64-unknown-linux-musl.tar.gz x64 MUSL Linux checksum
ty-arm-unknown-linux-musleabihf.tar.gz ARMv6 MUSL Linux (Hardfloat) checksum
ty-armv7-unknown-linux-musleabihf.tar.gz ARMv7 MUSL Linux checksum

Verifying GitHub Artifact Attestations

The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:

gh attestation verify <file-path of downloaded artifact> --repo regularkevvv/ty-extended

You can also download the attestation from GitHub and verify against that directly:

gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>