First properly published release. Starting with v2.0.63, the goal is to publish a GitHub Release for every
package.jsonversion bump that lands onmain— releases are cut manually by a maintainer, so there can be lag. Until now only the bumps landed and tags were sporadic, which made it hard for packagers and users to pin to a known version. See RELEASING.md for the policy.
Rollup release covering v2.0.55 through v2.0.63 — everything merged since the v2.0.54 tag.
Changes
- [BREAKING] Service names are now per-install. On v2 installs the launchd label and systemd unit are slugged to your project root:
com.nanoclaw.<sha1(projectRoot)[:8]>andnanoclaw-<slug>.service. The oldcom.nanoclaw/nanoclaw.servicenames no longer match a real service — update any copy-pasted restart or status commands. Find your install's names withsource setup/lib/install-slug.sh && launchd_label(macOS) orsystemd_unit(Linux). Thencltransport-error help text and 26 skill files now use the canonical helper-driven pattern; seesetup/lib/install-slug.sh. - Compaction destination reminder placement fixed. The reminder injected after SDK auto-compaction now appears at the end of the compaction summary so it isn't stripped during truncation. Replaces the placement shipped in v2.0.54.
- Stronger message-wrapping enforcement. The poll loop nudges the agent when its output lacks
<message>wrapping, andCLAUDE.mdcore instructions now require wrapping even for single-destination agents. The welcome flow no longer double-greets. - OneCLI credentials after MCP install. MCP servers added through
add_mcp_servernow inherit OneCLI gateway routing — fixes the case where the agent kept asking for API keys after installing a new server. - CLI scope hardening.
scopeFieldnow fails closed when scope is missing, andsessions getis guarded against cross-group oracle access from group-scoped agents. - gmail/gcal skills aligned with v2.
/add-gmail-tooland/add-gcal-toolnow reflect the v2 container-config model — DB-backed mounts, no deadTOOL_ALLOWLISTedits, nocontainer.jsonwrites that get clobbered on next spawn. Manual sqlite3/JSON1 invocations corrected. - Repo-rename cleanup. Remaining
qwibitai/nanoclawreferences swept tonanocoai/nanoclawacross code and docs; CI workflow guards updated so they no longer no-op after the rename. - Slack scope checklist now includes
files:readandfiles:writefor skills that read or post attachments. - The internal-tag description in destination instructions no longer mentions scratchpads (which confused agents into routing them incorrectly).
- Container startup is now graceful when the
on_wakecolumn is missing on older sessions DBs.
New Contributors
First NanoClaw PRs from @dvirarad and @intentionaleva landed in this release — welcome both:
Want to be in the next one? Anyone can open a PR — pick up a good first issue or propose your own change directly. Discord is there if you want a hand getting started.
Contributors
Thanks to everyone who landed work in this release:
- @johnnyfish — #2384
- @glifocat — #2392, #2402, #2408, #2489, #2493
- @dvirarad — #2400
- @gavrielc — #2410, #2412, #2413, #2414
- @Koshkoshinsk — #2442, #2467, #2473
- @intentionaleva — #2460
Full Changelog: v2.0.54...v2.0.63