Skip to content

v1.14.3 — Dependency hygiene + workspace lint/test fixes

Choose a tag to compare

@jaschadub jaschadub released this 26 May 04:44
· 27 commits to main since this release
a4ae3b9

Dependency hygiene patch. Consolidates the workspace onto a single tree-sitter major and clears a transitive OpenSSL CVE. No public API or CLI surface changes; no security-posture regressions.

Changed

  • tree-sitter 0.20 → 0.26 workspace-wide. crates/dsl was bumped to align with downstream consumers (notably symbi-codered's cartographer) that pin 0.26, and crates/symbi-shell was bumped to match so the workspace no longer ships two tree-sitter majors. Inverse cargo tree now resolves to a single tree-sitter v0.26.9. Language crates moved alongside: tree-sitter-rust 0.20 → 0.24, tree-sitter-python 0.20 → 0.25, tree-sitter-javascript 0.20 → 0.25, tree-sitter-typescript 0.20 → 0.23. Code edits were the mechanical 0.26 API migration (Parser::set_language(&Language), Node::child(u32)).

Security

  • openssl 0.10.79 → 0.10.80 (CVE-2026-45784 / GHSA-phqj-4mhp-q6mq). Patches an out-of-bounds write in CipherCtxRef::cipher_update_inplace for AES-KW-PAD ciphers. Exposure is transitive only (via reqwest → hyper-tls → native-tls); no source under crates/ or tools/ invokes the vulnerable code path, so this is hygiene rather than active-exploit remediation. Closes Dependabot alerts #75 (root lock) and #76 (tools/fuzz lock).

Fixed

  • `security_tests.rs` build break. A prior security-hardening refactor removed the file-level `static ENV_MUTEX: Mutex<()>` while leaving seven `ENV_MUTEX.lock()` callsites in `mod native_sandbox_tests`. The mutex is now defined inside that module, restoring `cargo test -p symbi-runtime --test security_tests` to a buildable state.
  • Two latent clippy errors in `symbi-runtime` uncovered by workspace-wide `cargo clippy --workspace`: `LimitAction` in `reasoning/progress_tracker.rs` switched to `#[derive(Default)] + #[default]`, and an unneeded `return` removed from `toolclad/session_executor.rs`. (`just check` was masking both because its clippy invocation defaults to the root `symbi` package, not `--workspace`.)

Known issues

  • Five `sandbox::native::tests::*` lib tests in `symbi-runtime` fail in local dev environments with `"Working directory '/tmp/symbiont-native' is within blocked host path '/'"`. This is pre-existing on `main` (predates v1.14.3) — `NativeRunner`'s working-dir validator considers `/` a blocked host path and the tests need an explicit allowlist that production callers configure but the test setup does not. Tracked for a follow-up; unrelated to anything in this release.

Crate versions

Crate Version
`symbi` 1.14.3
`symbi-runtime` 1.14.3
`symbi-dsl` 1.14.3
`repl-core` 1.14.3
`repl-cli` 1.14.3
`repl-proto` 1.14.3
`repl-lsp` 1.14.3
`symbi-shell` 1.14.3

Verification

  • `just check` (fmt + clippy + test + machete + audit + deny): pass
  • `cargo clippy --workspace --all-targets --all-features -- -D warnings`: clean
  • `cargo test --workspace --all-features`: 1378 passed, 9 ignored, 5 failed (pre-existing — see Known issues)

Full changelog: CHANGELOG.md#1143---2026-05-25

Pre-Built Binaries

Note: Pre-built binaries are tested but considered less reliable than installing via cargo install symbi or Docker (ghcr.io/thirdkeyai/symbi). If you encounter issues, please try those methods first.

Quick Install

macOS / Linux:

curl -fsSL https://raw.githubusercontent.com/thirdkeyai/symbiont/main/scripts/install.sh | bash

Homebrew (macOS):

brew tap thirdkeyai/tap
brew install symbi

Manual download:
Download the appropriate binary for your platform from the assets below. Verify checksums with checksums.txt.

Verification

Each binary is signed with Sigstore cosign. Verify with:

cosign verify-blob --certificate symbi-*.pem --signature symbi-*.sig symbi-*.tar.gz \
  --certificate-identity-regexp="https://github.com/ThirdKeyAI/Symbiont" \
  --certificate-oidc-issuer="https://token.actions.githubusercontent.com"

SHA256 checksums are in checksums.txt (also signed).