Repository navigation
Releases: caveman-ai/blocks
Releases · caveman-ai/blocks
Release list
v0.1.0-rc.5
Changelog
- fc0b1cd: fix(hooks): honor CLAUDE_CONFIG_DIR and CODEX_HOME for the harness config path (@JuliusBrussee)
- 7c1c808: fix(hooks): recognise the hook entry on Windows and install the copy as .exe (@JuliusBrussee)
- 65fe8e9: ci: add a Windows job that smoke-tests hooks install, status and uninstall (@JuliusBrussee)
- f7210f7: Merge pull request #8 from caveman-ai/fix/windows-hook-ownership (@JuliusBrussee)
v0.1.0-rc.4
Changelog
- 57edbd3: fix(telemetry): send first_run when an install enrolls under the Caveman CLI's notice (@JuliusBrussee)
- 2739902: Merge pull request #7 from caveman-ai/fix/hub-first-run (@JuliusBrussee)
v0.1.0-rc.3
Changelog
- d5c864f: docs(telemetry): wire contract and decision 0011 (@JuliusBrussee)
- 065ee3f: feat(telemetry): opt-out usage counts, sent by the system curl (@JuliusBrussee)
- 8193ae4: fix(telemetry): close consent gaps and failure modes found in review (@JuliusBrussee)
- 0b138d1: fix(telemetry): one rule for off days, and a stricter endpoint check (@JuliusBrussee)
- 29c0ff9: fix(telemetry): CI stops a process from sending but marks no off day (@JuliusBrussee)
- cf1f914: fix(telemetry): mark an off day before counting, and never behind CI (@JuliusBrussee)
- 3c212a1: feat(telemetry): count the bytes of captured inline scripts per day (scripts_bytes) (@JuliusBrussee)
- e1a9e01: feat(telemetry): the Caveman CLI's notice covers Blocks, read from cloud.json (@JuliusBrussee)
- 71d48ef: fix(telemetry): an explicit off can't be undone by a stale enroll; env kills and dangling configs fail closed (@JuliusBrussee)
- 62e2a8b: Merge pull request #6 from caveman-ai/feat/telemetry (@JuliusBrussee)
v0.1.0-rc.2
Changelog
- ea05d56: ci(release): skip npm publish until NPM_TOKEN exists (@JuliusBrussee)
- a2c1a66: Merge pull request #1 from caveman-ai/docs/launch-readme (@JuliusBrussee)
- 4e1f018: Update README.md (@JuliusBrussee)
- 2c68bae: docs(readme): rewrite with measured numbers and their research note (@JuliusBrussee)
- 011c47d: feat(plugins): ship the hook as a Claude Code, Codex and OpenCode plugin (@JuliusBrussee)
- 1d6dd01: docs(readme): rewrite to the README playbook; every number sourced (#3) (@JuliusBrussee)
- 5995ed8: Merge pull request #4 from caveman-ai/feat/harness-plugins (@JuliusBrussee)
- a3e0a0b: feat(cli): hooks status --json and version --json (@JuliusBrussee)
- 4e35f17: ci: fetch full history so verify --policy-ref origin/main works on PRs (@JuliusBrussee)
- a900c67: Merge pull request #5 from caveman-ai/feat/json-status (@JuliusBrussee)
v0.1.0-rc.1
Changelog
- d27341f: fix: merge hook validation and bounds lane; docs describe header validation, bounded reads and shared pruning (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- abf9993: fix(runner): keep a block's answer when a child holds stdout; reap the process group (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- 2a0f0be: fix(cli): lint reads .blocks fixtures like verify and sync; verify output has no stray space (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- f91a860: fix(promote): retire checks both paths before deleting and tolerates a retry; dates in UTC (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- 6801c33: fix(hook): validate every header the hook renders and bound what it reads (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- 17e1b1a: fix(state): bounded candidate reads, shared daily prune with hinted/, add flags outlive the cache (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- afe01e2: build: drop the committed binary; prereleases stay off latest, the tap and the npm latest tag; docs state the trust boundary honestly (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- b7d64fa: fix: merge hook bounds and scrub lane; hook stats carry line counts; docs list the scrub rules and hinted/ dir (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- cd8754e: Merge branch 'fix/hook-scrub' (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- a464033: fix(capture): scrub every occurrence of a secret once it is found (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- 6c98519: fix(hook): install reads events and timeout from the profile; uninstall removes only our exact entries (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- 66c87a1: fix(hook): bound the hook process and tighten rules 6, 8 and 9 (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- a531029: blocks: refresh grep-defs from the registry (shell pattern removed) (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- 44ff30e: fix: merge paths/bounds lane; fixtures lint code is F015; registry rejects stdlib names (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- d2a4596: Merge branch 'fix/paths-bounds' (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- 89944d7: fix(cli): refresh the hook copy only with a newer version; doctor reuses shared helpers (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- ebb41c1: chore(release): publish releases, not drafts (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- 230e17f: fix(scan): show scrubbed examples; detect block calls with capture.IsBlockCall (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- 167db97: fix(stats): add Lines to Event; run and verify stop reading a session env var (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- 8e623f5: fix(runner): bound block runs and keep the state dir small (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- 2a83231: fix(repo): never write or delete through symlinks; bound fixture reads (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- c77ffc2: fix(verify): --check judges a stale or quarantined stamp before any skip (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- c98a1d9: fix(capture): close scrub gaps and keep secrets out of the literal vector (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- 722b820: build: make blocks-lint runs ruff over blocks/ as a contributor check (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- 917b26c: fix(blocks): matches that can fire, loop-only wait-for, file:// confined to the repo (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- 1d1b0ad: fix(blockfile): lint F013 stdlib-shadowing names, W002 shell matches, wider effect floor (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- 15e4335: blocks: init this repo and add grep-defs; CI checks .blocks like any user repo (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- 24c11cb: fix(cli): validate the block name verify takes with --blocks-dir (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- 87ad057: build(ci): verify first-party blocks, run e2e and bench-hook; document the commands (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- 326fabc: test(e2e): hook latency budget over 200 runs of the built binary (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- c17aff0: test(e2e): testscript scenarios for init, add, run, lint, verify, hook, export, sync and hooks (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- 2cf67bf: feat(cli): wire every subcommand to the internal packages (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- 5ff0f5a: feat(export): render SKILL.md wrappers for indexed blocks, with a golden test (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- bab6110: build: merge capture; call-name table lists json.dumps (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- 78dca06: Merge branch 'feat/capture' (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- 3fba2c6: feat(capture): append-only sightings store with O_NOFOLLOW (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- 27588b4: feat(capture): scrub secrets with golden-tested rules (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- c6a404a: feat(capture): extract inline Python scripts, detect edits, fingerprint shapes (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- def576a: build: merge hook engine, dialects, profiles and installers; Cursor pre-run answers {} so the hook never widens permissions (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- 809e888: Merge branch 'feat/hook' (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- abb0d7d: feat(hook): install writers for claude-settings, codex-hooks and cursor-hooks (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- 3a8e5ed: feat(hook): embedded harness profiles for claude-code, codex, cursor and phase-2 copilot, gemini (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- 95501a3: fix(blockfile): abbreviate long defaults in the index params column (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- 133a9f9: feat(hook): generic protocol and claude, cursor, generic dialects with conformance fixtures (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- 7a9a031: build: merge blockfile and index; note the stamp separator in the hash definition (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- 0a52ffb: Merge branch 'feat/blockfile-index' (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- 12a37f5: feat(index): render the section body and upsert the managed section (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- 532e5f4: build: merge repo/runner/verify/stats; go mod tidy (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- a2bea59: Merge branch 'feat/runner-verify-stats' (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- abcade3: build: merge registry/promote/scan and first-party blocks; keep tests out of the embed; executable bit on add (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- 1dd4a2a: feat(hook): decision engine for rules 0-9 with golden decision tables and file-backed cache (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- be94d00: feat(blockfile): parse, hash, stamp and lint block files (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- 84b2f4c: Merge branch 'feat/first-party-blocks' (Julius Brussee 104168679+JuliusBrussee@users.noreply.github.com)
- f79e00b: Merge branch 'feat/registry-promote-scan' (Julius Brussee <104168679+JuliusBrussee@users....