Skip to content

Commit 6b00802

Browse files
ZhiXiao-Linclaude
andauthored
chore(release): bump version to 3.6.0 (#69)
- Bump Rust/Node/Python package versions + lockfiles to 3.6.0 - Finalize CHANGELOG [3.6.0]: Boundaries + <env> + with_llm_client seam, tool-arg log redaction, stderr fix, Planner pruning - README: add 'What's new in 3.6' Co-authored-by: Claude <claude@anthropic.com>
1 parent 74c7fc0 commit 6b00802

12 files changed

Lines changed: 61 additions & 32 deletions

File tree

CHANGELOG.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8-
## [Unreleased]
8+
## [3.6.0] - 2026-06-14
9+
10+
A system-prompt hardening pass plus framework-vs-host boundary tightening:
11+
inject safety boundaries and live environment grounding, redact secrets from
12+
logs, and wire the LLM-client extension seam through the public API.
913

1014
### Added
1115

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,31 @@ Intent -> Context -> Action -> Observation -> Verification -> Compaction
3333

3434
Everything else is an extension of that loop.
3535

36+
### What's new in 3.6
37+
38+
- **Safety boundaries in every prompt** — a single-source `## Boundaries` block
39+
(treat file/tool/web content as untrusted **data**, not instructions; never
40+
hardcode/commit/echo/log secrets; defensive-security only) is injected into
41+
every assembled system prompt, across all agent styles and delegated
42+
subagents.
43+
- **`<env>` grounding block** — each turn the system prompt carries today's date,
44+
host platform, and working directory, computed fresh (no shell-out). Pins the
45+
current date the model cannot infer past its training cutoff, cutting date /
46+
path / platform mistakes.
47+
- **`SessionOptions::with_llm_client`** (Rust embedding API) — inject a custom
48+
`Arc<dyn LlmClient>` (unsupported provider, deterministic record/replay client,
49+
or proxy/audit wrapper). The Action-layer backend is now object-injectable like
50+
workspace/memory/store/security; the `provider/model` config stays the default
51+
(and remains the way SDK hosts pick a backend).
52+
- **Secret-safe logging** — tool invocations no longer log raw argument values
53+
(which were also OTLP-exported); only the tool name, argument field names, and
54+
payload size are logged at `info!`. Sharper tool-usage and response guidance
55+
(prefer dedicated tools over shelling out; confirm a dependency before using
56+
it; don't re-print already-read code or write unsolicited report files).
57+
- **Pruning** — the framework no longer writes to the host's stderr (a stray
58+
debug `eprintln!` is now structured `tracing`), and the dead `Planner` trait
59+
was removed.
60+
3661
### What's new in 3.5
3762

3863
- **Programmable Workflow facade**`AgentSession::workflow()` returns a

core/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "a3s-code-core"
3-
version = "3.5.0"
3+
version = "3.6.0"
44
edition = "2021"
55
authors = ["A3S Lab Team"]
66
license = "MIT"

sdk/node/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "a3s-code-node"
3-
version = "3.5.0"
3+
version = "3.6.0"
44
edition = "2021"
55
authors = ["A3S Lab Team"]
66
license = "MIT"
@@ -11,7 +11,7 @@ description = "A3S Code Node.js bindings - Native addon via napi-rs"
1111
crate-type = ["cdylib"]
1212

1313
[dependencies]
14-
a3s-code-core = { version = "3.5.0", path = "../../core", features = ["ahp", "s3"] }
14+
a3s-code-core = { version = "3.6.0", path = "../../core", features = ["ahp", "s3"] }
1515
napi = { version = "2", features = ["async", "napi6", "serde-json"] }
1616
napi-derive = "2"
1717
tokio = { version = "1.35", features = ["full"] }

sdk/node/examples/package-lock.json

Lines changed: 7 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdk/node/package-lock.json

Lines changed: 8 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdk/node/package.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@a3s-lab/code",
3-
"version": "3.5.0",
3+
"version": "3.6.0",
44
"description": "A3S Code - Native Node.js bindings for the coding-agent runtime",
55
"main": "index.js",
66
"types": "index.d.ts",
@@ -43,11 +43,11 @@
4343
"test:helpers": "node test-helpers.mjs"
4444
},
4545
"optionalDependencies": {
46-
"@a3s-lab/code-darwin-arm64": "3.5.0",
47-
"@a3s-lab/code-linux-x64-gnu": "3.5.0",
48-
"@a3s-lab/code-linux-x64-musl": "3.5.0",
49-
"@a3s-lab/code-linux-arm64-gnu": "3.5.0",
50-
"@a3s-lab/code-linux-arm64-musl": "3.5.0",
51-
"@a3s-lab/code-win32-x64-msvc": "3.5.0"
46+
"@a3s-lab/code-darwin-arm64": "3.6.0",
47+
"@a3s-lab/code-linux-x64-gnu": "3.6.0",
48+
"@a3s-lab/code-linux-x64-musl": "3.6.0",
49+
"@a3s-lab/code-linux-arm64-gnu": "3.6.0",
50+
"@a3s-lab/code-linux-arm64-musl": "3.6.0",
51+
"@a3s-lab/code-win32-x64-msvc": "3.6.0"
5252
}
5353
}

sdk/python-bootstrap/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ name = "a3s-code"
77
# Keep in sync with crates/code core release. The bootstrap loader fetches
88
# the matching native wheel from `https://github.com/AI45Lab/Code/releases/tag/v<version>`
99
# at import time.
10-
version = "3.5.0"
10+
version = "3.6.0"
1111
description = "A3S Code Python SDK — pure-Python bootstrap that fetches the native wheel from GitHub Releases"
1212
readme = "README.md"
1313
license = {text = "MIT"}

sdk/python-bootstrap/src/a3s_code/_bootstrap.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131

3232
# Version is the bootstrap's own version, which equals the matching native
3333
# wheel version on GH Releases. Bumped by the release workflow.
34-
__version__ = "3.5.0"
34+
__version__ = "3.6.0"
3535

3636
_DEFAULT_BASE_URL = "https://github.com/AI45Lab/Code/releases/download"
3737
_REQUEST_TIMEOUT_S = 120

0 commit comments

Comments
 (0)