Changelog
All notable changes to this project will be documented in this file.
[0.7.0] - 2026-10-14
๐ Features
- (plugin) Default timeout for fetchJson/postJson with per-call override (#119)
- (scripts) Hoist parseRunnableArgs and retry helpers from jeeves-scripts-core (#126)
- (cli) Jeeves patch-openclaw hoisted from the scripts template (#121)
- (cli) Install and update run the OpenClaw patch step (#121)
- (skills) Ship jeeves-coding and jeeves-design from the package (jeeves-tools#207)
- (skills) Generic jeeves-platform in the package (jeeves-tools#207, jeeves-tools#221)
- (skills) Self-hosted jeeves-onboarding and checklist template (jeeves-tools#207)
- (cli) Jeeves skills install/uninstall/status with managed and self-hosted modes (jeeves-tools#207)
- (cli) Install, update, uninstall and status run the skills step (jeeves-tools#207)
- (cli) Bootstrap-file size report after install, --strict (#120)
๐ Bug Fixes
- (skills) Jeeves-platform pointer line passes the fleet-content guard
- Complete 0.7.0 spec review gaps
- Address Copilot review on #128
๐ Refactor
- SOLID/DRY pass, upstream-fixed, test and docs gaps
๐ Documentation
- 0.7.0 guides and migration notes
โ๏ธ Miscellaneous Tasks
[0.6.0] - 2026-09-29
โ๏ธ Miscellaneous Tasks
[0.6.0-10] - 2026-09-28
๐ Bug Fixes
- (cli) Hide expected transient OpenClaw warnings during install; restart notice only when a change was not applied live (#117, #118)
๐ผ Other
โ๏ธ Miscellaneous Tasks
- Prettier --check . passes; silence rollup config-loader outputToFilesystem notice
- Release v0.6.0-10
[0.6.0-9] - 2026-09-28
๐ Bug Fixes
- (config-apply) Write the merged raw config and keep the file mode (#113, #114)
- (service) System units via plain systemctl + polkit (no sudo under NoNewPrivileges); status names the unit (#115, #116)
๐ Documentation
- Config apply semantics; polkit-based service management and status detail (#113-#116)
๐จ Styling
- (tsdoc) Keep a code span on one line (lint 0 warnings)
โ๏ธ Miscellaneous Tasks
[0.6.0-8] - 2026-09-27
๐ Bug Fixes
- (install) Survive gateway reload stalls during plugin installs (#112)
๐ Documentation
- (install) Reference openclaw/openclaw#159698; test hook grant rides the single config write (#112)
โ๏ธ Miscellaneous Tasks
[0.6.0-7] - 2026-09-27
๐ Features
- (service) Manage existing Linux system units in place; fail fast without a user bus (#111)
๐ Bug Fixes
- (release) Build after the version bump so dist inlines the published CORE_VERSION (#110)
โ๏ธ Miscellaneous Tasks
[0.6.0-6] - 2026-09-26
๐ Bug Fixes
- Declare @commander-js/extra-typings as a runtime dependency and guard .d.ts imports
โ๏ธ Miscellaneous Tasks
[0.6.0-5] - 2026-09-26
๐ Features
- [breaking] CreatePluginToolset options argument is required
โ๏ธ Miscellaneous Tasks
[0.6.0-4] - 2026-09-26
๐ Bug Fixes
- CreatePluginToolset calls the plugin's apiUrl, defaultPort only as fallback
โ๏ธ Miscellaneous Tasks
[0.6.0-3] - 2026-09-26
๐ Bug Fixes
- Write each plugin's config before its install, then sweep
โ๏ธ Miscellaneous Tasks
[0.6.0-2] - 2026-09-26
๐ Bug Fixes
- Sweep pending plugin migrations before config writes and before each retry
โ๏ธ Miscellaneous Tasks
[0.6.0-1] - 2026-09-26
๐ Bug Fixes
- Retry config writes while freshly installed plugins converge
โ๏ธ Miscellaneous Tasks
[0.6.0-0] - 2026-09-26
๐ Features
- [breaking] Static-only platform content; retire installer CLI and ComponentWriter (#108)
- (cli) Install and update Jeeves plugins through the OpenClaw CLI
- (cli) Write plugin config in jeeves install
- (cli) Batch-file config writes, idempotent installs, declared hook grants, update fills config, uninstall removes plugins
- (cli) Keep the server pluginKey and jeeves-server keys._plugin in step
- (plugin) ValidateConversationHooks build check for declared conversation hooks
- (cli) Edit keys._plugin in place with jsonc-parser
- [breaking] Jeeves install no longer writes platform skills
- [breaking] Drop registryCache from the core config schema
- [breaking] Drop the spec templates from core
- [breaking] Drop the unused SKILLS_DIR export
๐ Bug Fixes
- (api) Narrow jsonpath-plus 11 unknown result in config query
- Serialise stale lock takeover so a freshly re-taken lock is never deleted
- Redact JSON-escaped secrets in batch file output
๐ผ Other
- Revert "[108] feat(cli): edit keys._plugin in place with jsonc-parser"
This reverts commit 8e1c92c6d5f4c14770861db50e3bb0ad6889749d.
๐ Refactor
- [breaking] Make static platform content internal to the jeeves CLI
- [breaking] Remove createAsyncContentCache
- Share isRecord, getErrorCode, getErrorMessage and exit formatting
- Drive per-plugin config, CLI options and id mapping from one descriptor table
- Separate plan building, step description and command-line formatting
- Share CLI run output, install options and service probing across commands
- Tidy module names, internal exports and stale docs
- Dedupe test fixtures (temp dirs, console capture, command deps, plugin ids)
๐ Documentation
- Jeeves CLI owns content and plugin install
- Plugin config options and new-box flow
- Batch-file writes, idempotent installs, declared conversation hooks, update config, uninstall removes plugins
- Server plugin key sync and the conversation hook build check
- Sync README, guides, skill, diagram sources and TSDoc with #109 code
- Regenerate diagram PNGs from updated PlantUML sources
- Core ships no skills; registryCache removed
- Regenerate diagram PNGs without the skills output
- Core ships no spec templates
- Regenerate managed-content-lifecycle diagram without templates
- Spec templates ship with the jeeves-design skill
๐จ Styling
- Apply prettier 3.9 union formatting
๐งช Testing
- Cover plugin workflow gaps (runner errors, inspect specs, key sync, file-sourced pluginKey, server-write failure, deps wiring)
- Cover file lock races, managed block removal, frontmatter blocks, config query edge cases
- Cover install/uninstall/status command paths (content-only, default targets, responding services, memory hygiene)
- Remove duplicate and constant-only tests, make descriptor hook tests able to fail
โ๏ธ Miscellaneous Tasks
- Delete stale root TOOLS.md snapshot
- Release v0.6.0-0
[0.5.12] - 2026-06-11
๐ Bug Fixes
- (plugin) Run npm install in extension directory (#103)
- (api) Accept explicit configPath in createConfigApplyHandler (#104)
โ๏ธ Miscellaneous Tasks
- Add copilot review instructions
- Release v0.5.12
[0.5.11] - 2026-05-29
๐ Features
- Hoist substituteEnvVars to core (closes #90)
- Hoist Slack file download fallback to platform content (closes #93)
๐ Bug Fixes
- Reject Windows drive-letter paths on non-Windows platforms (closes #100)
- Validate drive-letter paths before resolve() in initFromOptions (closes #100)
๐ผ Other
๐งช Testing
- Add substituteEnvVars immutability test
โ๏ธ Miscellaneous Tasks
- Migrate changelog to git-cliff (closes #95)
- Update dependencies
- Update lefthook, fix lint from typescript-eslint 8.60
- Release v0.5.11
[0.5.10] - 2026-05-13
๐ Features
- Bundle generic platform skills in seedContent (#94)
โ๏ธ Miscellaneous Tasks
- Add npm publish safety net (.npmignore + gitignore *.local)
- Add npm-pack-check CI workflow
- Move changelog generation to after:bump hook
- Update major deps (eslint-plugin-simple-import-sort 13, release-it 20, typescript 6)
- Release v0.5.10
[0.5.9] - 2026-05-03
๐ Bug Fixes
- Revert version bump (release is owner-controlled)
- Race condition in start() during finishing cycle, remove redundant nullish coalescing
๐ผ Other
-
[85,86,87,76,79,72] feat: ComponentWriter lifecycle fix, staleness removal, Handlebars migration, content updates, docs
-
Fix ComponentWriter reschedule race by adding explicit stopped flag (#85)
-
Remove flawed memory staleness heuristics (staleDays, extractMostRecentDate) (#86)
-
Migrate content templating from bespoke comment-conditionals to Handlebars (#87)
-
Add handlebars runtime dependency for template rendering
-
Tighten Slack threading rule to prohibit bot-initiated threads (#87)
-
Add Post-Upgrade Maintenance guidance to Platform section (#76)
-
Add Source Code Preference with devRepos config mapping (#79)
-
Add devRepos to workspace core config schema and JSON Schema
-
Update platform-overview.md with HEARTBEAT flows and dual-layer locking (#72)
-
Remove staleness references from documentation and README
Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com
๐ Refactor
- Hoist workspace config load to ComponentWriter cycle (DRY)
๐งช Testing
- Add restart lifecycle and devRepos schema coverage
โ๏ธ Miscellaneous Tasks
- Bump version to 0.5.9, update deps, fix lint warnings from updated eslint rules
- Release v0.5.9
[0.5.8] - 2026-04-22
๐ Bug Fixes
- Resolve config apply path from registered override (#83) and downgrade transient fetch errors to concise warnings (#77)
- Traverse full error cause chain for transient classification
โ๏ธ Miscellaneous Tasks
[0.5.7] - 2026-04-15
๐ Features
- Condense managed content and rewrite HEARTBEAT alerts
๐ Bug Fixes
- Use dynamic budget in HEARTBEAT alert text
โ๏ธ Miscellaneous Tasks
[0.5.6] - 2026-04-08
๐ Bug Fixes
- Serialize managed content writer cycle
- Preserve file lock safety for managed writes
- Prevent component writer cycle reentry
๐ผ Other
โ๏ธ Miscellaneous Tasks
[0.5.5] - 2026-04-05
๐ Bug Fixes
- Preserve dist/ subdirectory in plugin install layout
โ๏ธ Miscellaneous Tasks
[0.5.4] - 2026-04-05
๐ Bug Fixes
- [breaking] Replace distDir param with importMetaUrl in createPluginCli
- Validate dist directory exists before copying
๐ผ Other
โ๏ธ Miscellaneous Tasks
[0.5.3] - 2026-04-05
๐ Features
๐ Bug Fixes
- Complete v0.5.2 spec implementation
- Address Gemini review feedback on PR #71
๐ Refactor
- SOLID/DRY pass across codebase
๐ Documentation
- Sync docs with v0.5.2 implementation
๐งช Testing
- Add missing test coverage for utils and workspace health
โ๏ธ Miscellaneous Tasks
[0.5.1] - 2026-04-03
๐ Features
- Integrate memory hygiene into HEARTBEAT cycle (Phase 9)
๐ Bug Fixes
- Add .js extension to test import (Gemini review)
๐ผ Other
๐ Documentation
- Update skill with HEARTBEAT memory integration
โ๏ธ Miscellaneous Tasks
[0.5.0] - 2026-04-02
๐ Features
- Node 22 runtime floor
- Keep managed blocks stationary and move cleanup warning inside block
- Escalate cleanup via gateway session spawn
- Shared workspace config loader and jeeves config command
- Memory hygiene + deployed jeeves skill (Phase 7)
๐ Bug Fixes
- Address Gemini review โ cross-contamination and orphaned markers
- Address Gemini review โ remove redundant check, deduplicate escalation
- Address Gemini review โ env guard, absolute paths, warn on bad config, dynamic output
- Address Gemini review โ zero-budget guard, remove redundant replace
๐ Refactor
- Use semver.major() for Node version check
- Extract heartbeat cycle and cleanup scan from ComponentWriter
๐ Documentation
- Sync README and guides with v0.5.0 features
โ๏ธ Miscellaneous Tasks
- Remove Phase 5 files accidentally included in Phase 4 PR
- Release v0.5.0
[0.4.7] - 2026-04-02
๐ Features
- Plugin installer fix + utility hoist + getPackageVersion (#57)
๐งช Testing
- Fill test gaps for Phase 1 validation
โ๏ธ Miscellaneous Tasks
[0.4.6] - 2026-03-31
๐ Bug Fixes
- Call init() before descriptor.run() in start command
โ๏ธ Miscellaneous Tasks
[0.4.5] - 2026-03-30
๐ Bug Fixes
- Replace spawn recursion with descriptor.run in start command
โ๏ธ Miscellaneous Tasks
- Remove temp scripts
- Remove remaining temp scripts
- Release v0.4.5
[0.4.4] - 2026-03-30
๐ Bug Fixes
- Clean up temp files on failed atomic write + guard invalid semver in tests
โ๏ธ Miscellaneous Tasks
- Update dependencies
- Release v0.4.4
[0.4.3] - 2026-03-29
๐ Bug Fixes
- Config CLI tree and config apply wire format
โ๏ธ Miscellaneous Tasks
[0.4.2] - 2026-03-29
๐ Features
- Add customMerge hook to createConfigApplyHandler
๐ Bug Fixes
- Defensive nullish coalescing in customMerge test mock
โ๏ธ Miscellaneous Tasks
[0.4.1] - 2026-03-29
๐ Features
- Phase 1 - descriptor schema, status handler, plugin CLI
- Phase 2 - service manager, config apply handler, writer migration
- Phase 3 - service CLI factory, plugin toolset factory
- Phase 4 - unified CLI with dynamic subcommand discovery
๐ Bug Fixes
- Increase timeout for discoverComponents tests
- Address Gemini review comments
๐ Refactor
- Remove dead JeevesComponent types and extract shared test helper
๐งช Testing
- Add CLI integration tests for createServiceCli
โ๏ธ Miscellaneous Tasks
- Remove temp commit script
- Release v0.4.1
[0.4.0] - 2026-03-29
๐ Features
- V0.4.0 infrastructure (C2-C6, C8)
- C3 getBindAddress + C7 getServiceState
- C9 heading-based HEARTBEAT section writer
- C10 HEARTBEAT health orchestration
- C11 CLI writes initial HEARTBEAT + C12 AGENTS content update
- Proactive session-start bootstrap via AGENTS directive
- Proactive update alerts in HEARTBEAT
๐ Bug Fixes
- Resolve commander ESM import failure in published CLI build (#41) (#41)
- Export all new v0.4.0 public API from src/index.ts
- Address Gemini review comments
๐ผ Other
๐ Refactor
๐งช Testing
- Orchestrator unit tests (10 cases)
- Fill coverage gaps
โ๏ธ Miscellaneous Tasks
- Pass all quality gates (lint, knip, typecheck)
- Release v0.4.0
[0.3.1] - 2026-03-25
๐ Bug Fixes
- Remove double shebang from CLI entry point
๐ผ Other
- Strengthen managed section content for 0.3.1
๐ Refactor
- Move ALL_MARKERS to constants/markers.ts as single source of truth
๐ Documentation
- Add TSDoc to inline type properties in PluginApi and ToolResult
โ๏ธ Miscellaneous Tasks
[0.3.0] - 2026-03-22
๐ Features
- Implement v0.3.0 dev plan โ remove probing, SDK cleanup, content updates
๐ Bug Fixes
- Remove dead code, replace Handlebars markers with HTML comments
๐ Refactor
- SOLID/DRY cleanup โ extract fetchWithTimeout, remove deprecated re-export
๐งช Testing
- Close coverage gaps โ fetchWithTimeout, statusCommand, template branches
- Remove trivial tests โ type-assignability checks, tautological assertions
โ๏ธ Miscellaneous Tasks
- Remove temp script
- Release v0.3.0
[0.2.0] - 2026-03-20
๐ Features
- Phase 1 โ Plugin SDK types and utilities
- Phase 2 โ Managed content removal, semver fix, component versions
- Phase 3 โ Config query handler with JSONPath support
๐ Bug Fixes
- Patch tools.alsoAllow, read component versions in platform refresh, consolidate resolveWorkspacePath
๐ผ Other
๐ Refactor
- Extract shared fileOps (atomicWrite, withFileLock, constants) from managed section files
- Extract buildServiceRows from refreshPlatformContent
- Extract ManagedMarkers interface from inline types
๐ Documentation
- Update README and guides for v0.2.0 Plugin SDK
๐งช Testing
- Add 400 error path test for invalid JSONPath in configQuery
โ๏ธ Miscellaneous Tasks
- Remove stray _push.cjs helper script
- Release v0.2.0
[0.1.6] - 2026-03-18
๐ Bug Fixes
- Inline CORE_VERSION at build time, add H1 titles to SOUL/AGENTS, merge Service Health into Platform table
โ๏ธ Miscellaneous Tasks
[0.1.5] - 2026-03-18
๐ Bug Fixes
- Check config workspace before resolvePath (resolvePath returns cwd, not workspace)
โ๏ธ Miscellaneous Tasks
[0.1.4] - 2026-03-18
๐ Bug Fixes
- Add resolveWorkspacePath to core (fixes writer writing to system32 when gateway cwd is C:\Windows\system32)
โ๏ธ Miscellaneous Tasks
[0.1.3] - 2026-03-18
๐ Bug Fixes
- Inline content files at build time via rollup md plugin (fixes empty managed sections when bundled into consumers)
โ๏ธ Miscellaneous Tasks
[0.1.2] - 2026-03-18
๐ Bug Fixes
- Use package-directory for content file resolution (fixes empty managed sections)
โ๏ธ Miscellaneous Tasks
[0.1.1] - 2026-03-17
๐ Features
- Add async content cache helper for sync generateToolsContent
๐ Bug Fixes
- Resolve package.json from dist/ via directory walk (fixes MODULE_NOT_FOUND when consumed as dependency)
- Use package-directory instead of hand-rolled package.json resolution
โ๏ธ Miscellaneous Tasks
[0.1.0] - 2026-03-17
๐ Features
- Author content files for Tasks 11-15
- Core library foundation (Tasks 1-6a, 7-9)
- Tasks 10, 16-22 โ refreshPlatformContent, CLI commands, integration tests
๐ Bug Fixes
- Read CORE_VERSION from package.json instead of hardcoding
- Add DO NOT EDIT to markers, H1 title in section mode, fix tests to use constants
๐ผ Other
- Initial commit
- Revise Genesis section and attribution wording
Updated the Genesis section and improved the attribution line.
Reformat poem for clarity and add line breaks.
- Update README with clearer installation and identity info
Rephrase installation instructions and improve clarity about Jeeves' identity and functionality.
- Refactor OpenClaw description for clarity
- Update documentation links in README.md
- Updated settings
- White background instead of transparent
- Update project title in README with emoji
- Change header order in README.md
- Remove historical context from README
Removed historical context about the 1930s ports from the README.
๐ Refactor
- Extract shared CLI defaults to cliDefaults.ts (DRY)
- Extract sortSectionsByOrder, use CLEANUP_FLAG constant (DRY)
๐ Documentation
- Author README, TypeDoc guides, fix all TSDoc warnings
- Rewrite README - Jeeves bootstraps an identity, not just plumbing
- First-person SOUL, move operational gates to AGENTS, README storytelling + pronouns + links
- README rewrite - tell the story, don't sell it
- Clarify OpenClaw vs Jeeves responsibilities
- Dynamic files, component onboarding narrative, restore haiku + footer
- Add PlantUML diagrams, front matter titles, team narrative, remove template diagrams
- Em-dash discipline - add AGENTS rule, fix misuse across all docs + content
๐งช Testing
- Remove trivial constant-assertion tests (ports, sections)
โ๏ธ Miscellaneous Tasks
- Add top-level permissions to docs workflow (fix startup_failure)
- Release v0.1.0