v0.6.0
2026-09-17
- Compact text output for agents.
findandlistwithout--jsonnow print one short block per candidate (date, source, cwd, anchor, cleaned title, the digest that follows the title, the matched snippet) plus a verbatimread:command. Ten results cost about 2k tokens instead of the 9–10k of the JSON payload;--jsonis unchanged and remains the full machine contract. - Coverage and zero-result guidance inline. Text mode shows one stored-coverage line per source and, on a miss, the refinement hints and suggested queries that were previously JSON-only.
- Closed read commands. The printed
read:line carries--dbwhenever the index is not the default one, so pasting it reads back the same candidate.
- 面向 agent 的紧凑文本输出。不带
--json的find/list每条候选只打印一个短块(日期、source、cwd、锚点、去掉 skill/命令包装的标题、标题之后的摘要、命中片段)和一条可直接执行的read:命令。10 条结果约 2k token,而 JSON 载荷为 9–10k;--json完全不变,仍是完整的机器 contract。 - coverage 与零结果提示内联。文本模式每个 source 一行 stored coverage;无结果时直接给出原本只在 JSON 里的 hint 与建议查询。
- read 命令闭包。索引不是默认路径时
read:行自带--db,粘贴执行即读回同一候选。
v0.5.4
2026-09-15
- Recover recent Codex conversations. Current message records are searchable. Updating the CLI and syncing your usual scope rebuilds outdated projections automatically, including files previously indexed as empty.
- Stable conversation evidence. Adjacent legacy/current mirrors appear once; repeated messages remain distinct. Paginated continuations keep their own stable references as new messages arrive.
- Clear upgrade instructions. The upgrade guide covers existing installations and archived plain JSONL. This release supports Apple Silicon macOS and Linux x64 GNU.
- 找回近期 Codex 对话。支持新版消息记录;更新 CLI 后同步原有范围,会自动重建旧解析留下的投影,包括先前被索引为空的文件。
- 对话证据保持稳定。相邻的新旧镜像只出现一次,真实重复消息仍保留;分页续段持续追加时保持独立、稳定的读取标识。
- 升级步骤更明确。升级指南覆盖已有安装和归档 plain JSONL。本版支持 Apple Silicon macOS 与 Linux x64 GNU。
v0.5.3
2026-08-18
- Closed first-use recovery. A missing index now returns a typed
syncthat already includes the failed query’s--source,--selector,--db, andsideEffect: write_index. Scopedfind --cwdno longer recommends a full Codex history sync.
- 首次使用的恢复命令已闭包。缺少 index 时返回已带失败查询
--source/--selector/--db和sideEffect: write_index的sync。带--cwd的 find 不会再建议同步全部 Codex 历史。
v0.5.2
2026-08-17
- DSH source.
shlogcan index and search local DSH session history with--source dsh(experimental), same find/read flow as Codex, Claude Code, and Pi.
- DSH source。
shlog可用--source dsh索引并搜索本机 DSH 会话(实验性),find/read 流程与 Codex、Claude Code、Pi 相同。
v0.5.1
2026-08-16
- Guided upgrades for older indexes. Search commands on an older local index point to one
shlog syncthat migrates it with a backup;statusreports the index format before you act. - More tolerant migration. Older local data with historical formatting quirks now upgrades cleanly instead of stopping the whole run.
- 旧索引升级引导。在旧索引上搜索时,命令会指向一次
shlog sync完成带备份的迁移;status会先显示当前索引格式。 - 迁移更宽容。带历史格式瑕疵的旧数据也能顺利升级,不再中断整个迁移。
v0.5.0
2026-08-16
- First native release. The production CLI is a standalone Rust binary with bundled SQLite/FTS5; Node.js and TypeScript remain only as development oracles. macOS arm64/x64 and Linux x64 GNU archives ship with SHA-256 checksums, SPDX SBOMs, GitHub attestations, a no-Node installer, and a rendered Homebrew formula.
- Native index v8.
source_files + sessions + documents + documents_fts + coverage + cold_rootsbecome the single SQLite truth; v7 indexes are copied, verified, and atomically migrated by an explicit sync with a retained.v7.bakbackup. Old writers fail closed.
- 首个原生发布。生产 CLI 为内置 SQLite/FTS5 的 standalone Rust binary;Node.js / TypeScript 仅保留为开发 oracle。macOS arm64/x64 与 Linux x64 GNU archive 附带 SHA-256、SPDX SBOM、GitHub attestation、无需 Node 的 installer 与 Homebrew formula。
- 原生 v8 索引。
source_files + sessions + documents + documents_fts + coverage + cold_roots成为 SQLite 唯一真相;v7 索引由显式 sync copy/verify/atomic 迁移并保留.v7.bak备份,旧 writer fail-closed。
v0.4.4
2026-08-14
- Path-like command ranking. A later title that restates
node dist/cli.js publishno longer outranks the session that actually ran the command. - Large-message reads keep the query window.
read-range --querystill centers on the match, and also keeps a short leading slice socd /pathand table headers survive. Dogfood / skill now keep--querynext to--seq. - Skill:
--sort endedis not a date filter; short product names need--cwdor a more distinctive phrase.
- Path-like 命令排序。后来用标题复述
node dist/cli.js publish的会话,不再压过真正执行过这条命令的会话。 - 大消息读取保住 query 窗口。
read-range --query仍以命中为中心,并保留一小段文首,避免cd /path和表头被裁掉。Dogfood / skill 会把--query和--seq一起带上。 - Skill:
--sort ended不是日期窗;短产品名要加--cwd,或改用更独特的短语。
v0.4.3
2026-08-14
- Status no longer loads SQLite.
better-sqlite3is opened only when a command actually needs the body index.--versionand sidecar-hitstatus --selectorstay on the metadata sidecar and do notdlopenthe native addon. An empty leftover WAL no longer invalidates sidecar identity.
- status 不再加载 SQLite。
better-sqlite3只在命令真正需要正文库时才打开。--version和 sidecar 命中的status --selector只走元数据 sidecar,不dlopennative addon。空的残留 WAL 不再让 sidecar identity 失效。
v0.4.2
2026-08-14
- Status no longer opens the body index.
syncwritesindex.meta.jsonbesideindex.sqlite(coverage fingerprints, counts, file-meta cache).status --selectorandfindcoverage proofs read that sidecar when its sqlite+wal identity still matches, and open the body database only as fallback. After upgrade, the nextsynccreates the sidecar.
- status 不再打开正文库。
sync在index.sqlite旁写入index.meta.json(coverage 指纹、计数、file-meta cache)。status --selector和find的 coverage 证明在 sidecar 的 sqlite+wal identity 仍匹配时读它,只在缺失或过期时回退打开正文库。升级后下一次sync会生成 sidecar。
v0.4.1
2026-08-14
- Faster coverage proof.
status --selectorandfindprove the requested selector against covering coverage only, instead of replaying every historical cwd/date-range row. Defaultstatus --jsonis a compact proof; pass--inventoryfor the old audit dump. - Smaller index.
messages_fts/sessions_ftsare contentless FTS5: the inverted index stays, tokenized text is no longer stored twice. The firstsyncafter upgrade rebuilds FTS from already-indexed rows (no transcript re-parse) and may take a while on a large history.
- 更快的 coverage 证明。
status --selector/find只对能覆盖当前 selector 的 coverage 做 freshness 证明,不再重放每一条历史 cwd/date-range 行。默认status --json是紧凑证明;需要旧审计清单时加--inventory。 - 更小的 index。
messages_fts/sessions_fts改为 contentless FTS5:倒排索引保留,不再把分词文本再存一份。升级后第一次sync会从已索引行重建 FTS(不重新解析 transcript),大库可能要等一会儿。
v0.4.0
2026-08
- Faster read-only searches on large histories.
findandstatuscoverage probes now reuse file metadata cached at sync time and skip re-reading unchanged session files. - Recall packet in
find --json. Each result carriesmatchedFields(did the hit come from a real message, or from title / summary / compact / reasoning-summary recall) andsessionMessageCount(the read cost ceiling). - Structured zero-result diagnosis. A miss now says whether it is trustworthy (
fresh_miss) or unproven (stale_or_missing_coverage), and over-constrained or mixed Chinese/English queries get deterministic broadening suggestions. - Eval: duplicate-transcript-family diversity case with top-result diversity metrics in the acceptance gate.
- Agent skill updated for the recall-packet loop;
read-range/read-pagehelp now uses thesessionRefcontract.
- 大历史库上的只读检索更快。
find/status的 coverage 探测复用 sync 时缓存的文件元数据,未变更的 session 文件不再重复读取内容。 find --json新增 recall packet。每条结果带matchedFields(命中来自真实消息,还是 title / summary / compact / reasoning summary 召回)与sessionMessageCount(读取成本上限)。- 结构化零结果诊断。查不到时明确区分可信 miss(
fresh_miss)与 coverage 过期 / 缺失导致的不可信 miss,过长或中英混排 query 会得到确定性放宽建议。 - Eval:acceptance gate 新增重复 transcript family 多样性 case 与 top 结果多样性指标。
- Agent skill 同步更新 recall-packet 工作流;
read-range/read-page帮助文案统一为sessionRef口径。
v0.3.22
2026-07-21
- Added the
sherlogbin alias so the CLI name matches the skill name.
- 新增
sherlogbin alias,命令名与 skill 名不再混淆。
v0.3.20 – v0.3.21
2026-07-13
- Cold root registry:
shlog cold add/list/remove;sync --pruneretains sessions still present in cold storage. - Deterministic elision for very large messages in
read-range/read-page, with explicit markers and original sizes. - Skill: unified retrieval policy plus raw-fallback guidance.
- Cold root 注册:
shlog cold add/list/remove;sync --prune保留仍在冷存中的会话。 read-range/read-page对超大消息做确定性省略,带显式 marker 与原始大小。- Skill:统一检索策略并补充 raw fallback 指引。
v0.3.18 – v0.3.19
2026-07-12
- Active Codex session tails no longer abort strict sync: stable sources commit, the appended tail is marked as soft-stale coverage.
- Coverage reporting aligned with live source freshness.
- Eval: dogfood answer facets and baseline agent-recall metrics.
- 活跃 Codex 会话追加不再中断 strict sync:稳定 source 正常提交,追加尾部标记为 soft-stale coverage。
- coverage 汇报与实时 source freshness 对齐。
- Eval:dogfood answer facets 与 agent recall 基线指标。
v0.3.14 – v0.3.17
2026-06-30
- Deterministic
evidenceReadactions infind --json: every hit tells the agent exactly which read command to run next. - Evidence-level acceptance eval gate and source-adapter format-drift smoke tests.
- Removed the ineffective query-profile ranking abstraction after real A/B evidence.
staleReasonsurfaced on coverage entries.
find --json输出确定性evidenceRead:每条命中直接告诉 agent 下一步该执行哪条读取命令。- 新增 evidence 级 acceptance eval gate 与 source adapter 格式漂移烟测。
- 基于真实 A/B 证据移除无效的 query-profile 排序抽象。
- coverage 条目显式暴露
staleReason。
v0.3.10 – v0.3.13
2026-06-09 – 2026-06-10
- Experimental Pi session source support.
- Concurrent source metadata scanning; coverage freshness scans reuse results.
- First-install and missing-session recovery guidance hardened.
- 实验性 Pi session source 支持。
- source metadata 并发扫描;coverage freshness 扫描结果复用。
- 首次安装与缺失会话的恢复指引补强。
v0.3.3 – v0.3.9
2026-05-22 – 2026-06-09
- Rebranded from
cxsto Sherlog (shlog), published as@act0r/sherlog. - Experimental Claude Code public support;
findsearches across public sources by default. - First-install bootstrap: bare
shlog syncinitializes the default Codex index.
- 从
cxs更名为 Sherlog(shlog),以@act0r/sherlog发布。 - 实验性 Claude Code 公开支持;
find默认跨 public source 搜索。 - 首次安装 bootstrap:裸
shlog sync初始化默认 Codex index。
v0.1.0 – v0.2.2
2026-04-27
- Initial releases: Codex-only progressive retrieval CLI — SQLite FTS index,
find/read-range/read-page, CJK-aware tokenization, explicit selector-based sync and coverage records.
- 最初版本:仅支持 Codex 的渐进式检索 CLI —— SQLite FTS 索引、
find/read-range/read-page、CJK 兼容分词、显式 selector sync 与 coverage 记录。