Releases: Narcooo/inkos
Releases · Narcooo/inkos
v1.3.6
- chore(release): bump to v1.3.6 (214f209)
- docs: left-align skills download heading (d93624f)
- docs: center skills download history chart (b37a4e0)
- docs: add ClawHub download history (9657afd)
- feat(core): v13 书籍创建流程迁移 — 段落式架构稿 + 旧书升级路径 + maxTokens bug fix (#207) (705555f)
- chore(assets): rotate wechat group QR to v8 (群8) (1e4f249)
- chore(assets): update wechat group QR code (群7) (9a09839)
- chore: stop tracking CLAUDE.md (f3c5729)
- fix(core): evict agent cache when bookId changes on same sessionId (#204) (5abd37c)
- feat(core): wire transformContext into Agent for truth file injection (76bc18f)
- feat(core): add createBookContextTransform for truth file injection (bd1c373)
- chore: 把 docs/ 整个排除在 git 外,不再跟踪 spec 和 plan 文件 (54ec7a1)
- docs: add CLAUDE.md + superpowers specs & plans (4ff1fc0)
- chore: ignore 用户运行时数据和密钥文件 (d715807)
- docs: fix 4 review issues in context management plan (e2b913e)
- docs: add agent context management implementation plan (7 tasks) (4f96a9e)
- docs: clarify transformContext does not accumulate injected content (3332444)
- docs: add agent context management design spec (e07d83e)
What's Changed
- fix(core): evict agent cache when bookId changes on same sessionId by @SttFang in #204
- feat(core): v13 书籍创建流程迁移 — 段落式架构稿 + 旧书升级路径 + maxTokens bug fix by @SttFang in #207
Full Changelog: v1.3.5...v1.3.6
v1.3.5
- fix(studio): key model list cache by resolved baseUrl (835afed)
- fix(studio): 草稿会话(draft session)不在侧边栏展示,直到发出第一条消息 (fdb36bd)
- chore(studio): 清理 server.test.ts 里 updateSessionTitle 的 mock 残留 (1b5e5dc)
- refactor(studio): 把 SSE 事件 listener 从 message action 拆出到 stream-events.ts (c7dfcba)
- style(studio): 精简 sidebar 视觉 + rename dialog 紧凑化 (7673f08)
- feat(studio): 新建会话延迟到第一条消息才持久化(draft session) (3824af7)
- feat(studio): 删掉 LLM 生成 title 逻辑,第一条消息直接写入 title (8a15f7a)
- refactor(core): session title 简化为"第一条消息即标题" + 老数据 lazy migration (f359b55)
- fix(studio): render ConfirmDialog via portal to escape sidebar containing block (2b19572)
- feat(studio): collapsible book folders in sidebar, default collapsed (8adf36a)
- perf(core): make listBookSessions read files concurrently and skip Zod parse (fd32b9b)
- fix(studio): skip session fetch when local messages exist (10eb42d)
- style(studio): redesign sidebar book/session list to match Cursor-style layout (c3a6ea7)
- fix(studio): prevent session list reorder on click (e224009)
- fix(studio): move "+ 新建会话" button inside expanded session list (e3bb470)
- fix(studio): remove pendingBookArgs from CreateState, keep only on SessionRuntime (8ccb4c8)
- refactor(studio): extract session SSE listeners from App.tsx into use-session-events hook (7dc6899)
Full Changelog: v1.3.4...v1.3.5
v1.3.4
- chore(release): bump to v1.3.4 and update changelog (3f74bb7)
- Merge pull request #198 from SttFang/refactor-drop-revise-chapter-tool (2921456)
- Merge pull request #197 from SttFang/fix-pin-pi-mono-versions (82f120c)
- fix(studio): stop doctor probe tests from hitting the real /models endpoint (b358eeb)
- refactor(core): drop revise_chapter agent tool, route through sub_agent reviser (a57f9db)
- fix(deps): pin @mariozechner/pi-ai and pi-agent-core to 0.67.1 (bb51987)
- Merge pull request #195 from SttFang/feat/sub-agent-params-alignment (5225053)
- docs(core): clarify edit/write tool boundaries vs specialised tools (291f038)
- feat(core): align sub_agent tool params with pipeline runner methods (31d170a)
- feat(core): add generic write tool alongside edit (5619adf)
- feat(core): minimally extend sub_agent control params (bca9529)
- fix(core): restore generic edit as fallback tool in agent sessions (77b8a9a)
- fix(studio): remove 50-model cap from test endpoint response (964f53a)
- fix(studio,core): restore fast model listing and known-model fallbacks (34234df)
- fix(studio): probe returns knownModels when /models is unavailable (0bb2138)
- fix(studio): probe uses service's own knownModels first, not global default (cabc1e3)
- perf(studio): revert GET /models from full probe to simple API call (5d6a48d)
- perf(studio): skip API probe for services with knownModels (0ec53e0)
- fix(core,studio): validate service keys before save and on load (26965dd)
- feat(core): add chapterNumber param to sub_agent tool for auditor/reviser (988a4ce)
- docs: refresh WeChat group QR to v7 (0f92a4e)
What's Changed
- feat: sub_agent tool params alignment with pipeline methods by @SttFang in #195
- fix(deps): pin pi-mono versions to avoid npm mirror lag breakage by @SttFang in #197
- refactor(core): drop revise_chapter, route through sub_agent reviser by @SttFang in #198
Full Changelog: v1.3.3...v1.3.4
v1.3.3
- fix(core): require explicit title for agent book creation (3813cbb)
- fix(core,cli,studio): unify real epub export implementation (974006e)
- test(core): narrow agent prompt deterministic-tool assertion (f150609)
- feat(cli): route TUI chat through local agent sessions (542182e)
- fix(core): force book-mode agent to use deterministic writing tools (7ab07a6)
- feat(core): add deterministic writing tools to agent session (18c8da1)
Full Changelog: v1.3.2...v1.3.3
v1.3.2
- chore(release): bump to v1.3.2 and update changelog (db1df2b)
- fix(cli,core): align interact and minimax regressions (ffa0872)
- fix(core,studio,cli): unify service routing through presets (dba462c)
- feat(studio): extract safe chat and service polish from #192 (a4a8d4e)
- fix(core): let bootstrap studio projects fall back to env config (866048b)
- fix(core): point minimax preset to anthropic endpoint (be78d4b)
- test(core): align minimax resolver expectation with domestic endpoint (30a0a5d)
- fix(core): finalize minimax preset after merge (7872171)
- fix(core,cli): restore provider compatibility and windows studio launch (9dbc517)
- feat(core): use native transport for custom anthropic chat (5f10f20)
- feat(studio): auto-detect working provider transport settings (f942c84)
- feat(cli): auto-init Studio projects on first launch (7ce9577)
Full Changelog: v1.3.1...v1.3.2
v1.3.1
- chore(release): bump to v1.3.1 and update changelog (811e055)
- Merge pull request #187 from SttFang/fix/multi-service-baseurl-resolution (4721364)
- fix(studio): broadcast book:created after agent-driven book creation (6ecaf3a)
- test: add regression tests for multi-service baseUrl fixes (ca05a3b)
- test(architect): 添加 current_state/pending_hooks fallback 回归测试 (1cf5d33)
- feat(core): improve agent system prompt with format rules and index management (fe0da0b)
- fix(studio): fix multi-service baseUrl resolution and custom URL normalization (8d12287)
- fix(core): always use preset baseUrl/api in resolveServiceModel (5cada30)
- fix(core): correct MiniMax baseUrl and add knownModels fallback (a2e24b7)
- fix: add --parallel to pnpm dev so all packages start concurrently (5652cde)
- 修复建书bug (d93e223)
What's Changed
Full Changelog: v1.3.0...v1.3.1
v1.3.0
- Merge branch 'dev' (b78e745)
- test(release): relax studio pack timeout for CI (99e7294)
- Merge branch 'dev' (31bab8d)
- chore(release): bump to v1.3.0 and update changelog (2967653)
- Merge branch 'dev' (e54f145)
- docs: announce Studio 2.0 and update default launch copy (1a018ac)
- Merge branch 'dev' (7eb5363)
- fix(studio): rehydrate saved service keys in detail view (a938318)
- feat(studio): improve service save flow and home navigation (4d55dc7)
- fix(studio): allow startup without default model in Studio mode (d33ce21)
- feat(core): add native transport for custom openai-compatible chat (6829a23)
- fix(studio): make RightCode custom chat work end-to-end (396002c)
- fix(studio): surface upstream chat failures and validate service probes (cbf89bb)
- feat(studio): support custom API format and non-stream transport (c65b948)
- feat(studio): allow switching between env and Studio LLM config (1a79f77)
- fix(studio): repair service config flow and default CLI entry (8b2d32f)
- fix(studio): unify service config contract and custom provider flow (6efd460)
- docs: keep mainline readmes and skill metadata (e634aff)
- Merge branches 'split/pr182-backend-final' and 'split/pr182-studio-ui-final' into split/pr182-integrated (2216d82)
- docs(repo): restore readmes lockfile and skill from #182 (4f5184d)
- test(studio): align server mocks with service management split (18795c1)
- feat(studio): split studio ui from #182 (1831eaa)
- feat(core): split backend changes from #182 (8dd296c)
- docs(skill): clarify license duality, bump to 2.3.2 (b6c6316)
- chore(skill): bump to 2.3.1 after ClawHub republish (e0be4a7)
- feat(skill): fix license, declare env vars, harden credential examples (aa4f217)
- docs: swap badges to stars, downloads, and ClawHub Skill (318d58c)
- docs: sync TUI release banner to en/ja READMEs (70aab2f)
- docs: drop "CLI" from README titles and tagline (51c3269)
- docs: announce TUI general availability (d7cacda)
- docs: refresh WeChat group QR to v6 (fccf819)
- Merge branch 'pr-180-latest' into master (c6e304f)
- merge: resolve conflict with origin/master in project-tools.ts (3935a52)
- fix(studio): expose fixed control truth files (f230394)
- Merge branch 'pr-180' into master (c86d62f)
- fix(core): only swallow empty-content errors in chat, re-throw others (effcecc)
- fix(tui): preserve chat failures in interaction mode (64886c8)
- fix(tui): reduce markdown width to account for prefix and padding (f617ca2)
- test(tui): adapt dashboard tests for removed UI elements (e9acb51)
- fix(tui): remove execSync theme detection, match main branch exactly (9f700b7)
- fix(tui): only use macOS system appearance for Terminal.app (06c42e3)
- fix(tui): add macOS system appearance detection for Terminal.app (8967967)
- fix(tui): add light/dark theme via COLORFGBG without execSync (34182fb)
- fix(tui): revert theme to main-branch colors to fix Terminal.app crash (1936580)
- fix(tui): use Page Up/Down raw sequences for conversation scrolling (9714e93)
- fix(tui): revert Terminal.app workarounds, use main-branch layout instead (1ee7b7b)
- feat(tui): add conversation scroll with Shift+Up/Down (9c1388b)
- fix(tui): only use alternate screen buffer on Terminal.app (e80a41d)
- fix(tui): use readable colors for Terminal.app light mode (7652356)
- fix(tui): restore table rendering on Terminal.app (186fd25)
- fix(core): reset pending_hooks.md during import replay to prevent future state leak (491e620)
- fix(tui): use alternate screen buffer to isolate IME from rendering (9e60c05)
- fix(tui): remove default maxTokens from normal depth profile (a8954a6)
- fix(tui): buffer stdout writes for Terminal.app to prevent CJK crash (4e5e44d)
- fix(tui): disable all color output on Terminal.app (43a6523)
- fix(tui): use 16-color ANSI names for Terminal.app (f4f3d5d)
- fix(tui): disable ANSI markdown rendering on Terminal.app (7769c3b)
- fix(tui): improve Terminal.app compatibility with CJK input (2b6ddf2)
- fix(tui): add macOS system appearance fallback for theme detection (432283a)
- feat(tui): auto-detect terminal background and switch color scheme (1027632)
- fix(tui): swap user and AI message colors (5cf9e0b)
- fix(tui): disable table header styling instead of bold (38c7cd5)
- fix(tui): change table header from red to bold (fc60131)
- fix(tui): remove composer status line (f873c0c)
- fix(tui): remove composer helper hint line (039124e)
- chore: update pnpm-lock.yaml for marked-terminal dependencies (c0b0460)
- fix(tui): use minWidth layout for stable prefix spacing (e171ff6)
- test(tui): add renderMarkdown unit tests (b4a4ea4)
- fix(tui): fix markdown rendering bold leak, bullets, and color reset (b04dca7)
- fix(tui): adjust theme colors for better contrast (6d26af6)
- feat(tui): add markdown rendering for assistant messages (88715ed)
- fix: revert isSimpleGreeting bypass and adapt nl-router test for hasFailed (64da761)
- fix(tui): fix chat truncation, book dir detection, and UI polish (514a375)
- Merge pull request #143 from 185259536/fix/rewrite-rollback-target (8d28e36)
- Merge pull request #133 from pzysvip99999/fix/settler-json-sanitizer (07043c3)
- Merge pull request #124 from Nerdless-ship-it/fix/state-validator-trailing-content-and-import-reset (969fa7e)
- Merge pull request #167 from Tahshsa/fix/windows-tests-and-publish-manifests (7169701)
- chore: remove docs/plans from tracking and gitignore (2ec8b66)
- docs(skill): add v1.2 interaction capabilities to SKILL.md (f5ee8f7)
- ci: add windows-latest to the test matrix (cde847c)
- fix: cross-platform tests and restore workspace protocol in manifests (49a41d8)
- fix(cli): keep rewrite pinned to requested chapter (6a9678d)
- fix: sanitize JSON before parsing in settler-delta-parser (9b8a12b)
- fix: wrap validateRuntimeState in try-catch to prevent JSON parse errors from crashing the pipeline (0a1a906)
- fix: preserve pending_hooks.md and tighten JSON extraction boundary (979b55f)
What's Changed
- Fix Windows test failures and restore workspace: protocol in manifests by @Tahshsa in #167
- fix: preserve pending_hooks on import + tighten StateValidator JSON extraction by @Nerdless-ship-it in #124
- fix: sanitize JSON before parsing in settler-delta-parser by @pzysvip99999 in #133
- fix: wrap validateRuntimeState in try-catch to prevent pipeline crash by @pzysvip99999 in #132
- fix rewrite targeting after chapter rollback by @185259536 in #143
- fix(tui): fix chat truncation, book dir detection, and UI polish by @SttFang in #180
New Contributors
- @Tahshsa made their first contribution in #167
- @Nerdless-ship-it made their first contribution in #124
- @pzysvip99999 made their first contribution in #133
- @185259536 made their first contribution in #143
Full Changelog: v1.2.0...v1.3.0
v1.2.0
- fix(cli): fix CI test failures blocking v1.2.0 release (a7129b5)
- chore(release): bump to v1.2.0, update docs and changelog (4fcabc2)
- fix(studio): use responseText instead of last session message for agent replies (0495b00)
- fix(studio): fix ChatBar dropping assistant responses on every interaction (367891c)
- fix(studio): lift book card z-index when dropdown menu is open (645c9f6)
- fix(studio): fix dropdown menu z-index stacking by removing transform from paper-sheet (9b40bb5)
- fix(studio): remove overflow-hidden from book cards so dropdown menus render (6d613f8)
- feat: merge interaction control layer, TUI dashboard, and studio enhancements (8f12ee2)
- fix(studio): fix ChatBar stale closure, deduplicate command handlers (8b71517)
- refactor(interaction): split draft and book selection handlers (5410b95)
- fix(interaction): harden agent errors and file handling (fbbf108)
- fix(tui): polish dashboard interactions, theme and animations (1edd52a)
- fix(studio): align revise endpoint with pipeline modes (a0cf181)
- chore(workspace): relink local packages for dev integration (21facd6)
- test(studio): align server fixture with chapter checks (54deba1)
- fix(studio): polish interaction flows across major pages (ed1d792)
- fix(tui): stop caret redraws while idle (b8ac5b2)
- feat(studio): build creation flow on shared drafts (703ac57)
- feat(interaction): carry foundation drafts into book creation (378acaf)
- feat(interaction): add shared book-draft ideation flow (2437df0)
- fix(tui): stabilize slash commands and idle caret (3d75ac2)
- fix(tui): add a blinking composer caret (c7bbb2b)
- feat(tui): rebuild the interface around an Ink dashboard (a78b958)
- feat(interaction): add shared create and export flows (70ef3db)
- fix(tui): drop input box borders, use simple › prompt with spacing (e944280)
- fix(tui): add bottom padding so input doesn't sit flush at terminal edge (4c72b5c)
- refactor(tui): natural scroll flow, no cursor gymnastics (c8cddda)
- feat(tui): back chat replies with the active LLM (55d3756)
- fix(tui): route casual chat away from status fallback (098ea4a)
- feat(tui): model display, slash Tab-complete, /config command (f753d00)
- feat(tui): float input chrome above terminal edge (8018ac7)
- fix(tui): restore prompt reset to unblock readline, suppress warnings via emitWarning (ecc4d2f)
- fix(tui): keep user input text gray, reset color after enter (db92106)
- fix(tui): full-width gray input area with more spacing (70f95f1)
- fix(tui): suppress SQLite warning, simplify input to gray line (7a1752b)
- feat(tui): bordered input box with label separator (1e13241)
- feat(tui): ASCII art logo, input separator, styled LLM wizard (6ae937b)
- feat(tui): themed animations and operation-aware effects (e79cbf2)
- feat(tui): Claude Code-style persistent REPL with auto-init (ec72e18)
- test(cli): cover interact command integration (984b975)
- feat(studio): open chat by default (211b18c)
- docs(cli): route external agents through interact command (530bc89)
- feat(cli): add shared interact command (810e768)
- feat(tui): add project book selection commands (2c4ee80)
- feat(interaction): add stage telemetry and edit transactions (55c4477)
- feat(studio): hydrate chat from shared interaction session (f29aa4c)
- feat(interaction): support truth-file edit actions (12740d2)
- feat(interaction): add edit transaction planning (1b1846c)
- feat(interaction): track execution events and explain status (34e1c2c)
- feat(studio): show shared session context in chat header (c750978)
- feat(interaction): support slash command routing (d79c871)
- feat(interaction): sync studio with shared project sessions (70ab9b9)
- refactor(tui): route input through shared project control (e621e19)
- feat(interaction): share project control with studio (01f9e62)
- feat(tui): persist chat history and mode feedback (7f41f26)
- feat(tui): execute routed actions and report results (49119c0)
- feat(tui): persist project sessions and route control flow (762494e)
- feat(interaction): add deterministic language routing (561c6cd)
- feat(tui): scaffold project workspace shell (3bf7cc7)
- feat(cli): open project TUI by default (5137f43)
- feat(interaction): add shared control models and runtime bridge (41129f4)
- docs: add interaction control layer design and plan (f2165ec)
- Merge pull request #174 from SttFang/fix/thinking-model-temperature-clamp (e1271d1)
- Merge pull request #176 from SttFang/chore/dead-code-cleanup (9323aa7)
- docs: update WeChat group QR to group 4 (04ede6b)
- chore(studio): remove unused fontsource-variable/geist (74de85c)
- chore(studio): drop unused npm dependencies (4eadc65)
- chore(studio): remove unused shadcn ui scaffolding (60035af)
- chore(cli): remove unused formatBookCreateResume helper (5b09075)
- chore(studio): remove unused isMissingFileError (41ea5bb)
- chore(studio): remove unused safety helpers (e9fb3c5)
- feat(llm): clamp temperature to 1 for thinking models (01a5c72)
- docs: update WeChat group QR to group 3 (2e1121c)
- chore: switch license to AGPL-3.0 (7a547cf)
- docs: update WeChat group QR image (6373972)
- docs: rename wechat group image to bust GitHub cache (59ce6ff)
- docs: update WeChat group QR to inkos2 group (fd373bc)
- docs: refine README positioning (11f244a)
- docs: fix README community wording (8f80a64)
- chore: touch up docs (b54feeb)
- feat(revision): add brief-aware revise/rewrite and chapter resync (f660a35)
- fix(studio): align reject rollback and auto-open browser (87ce601)
- docs: add community section with WeChat group QR to Chinese README (056890d)
- docs: update READMEs to v1, add v1.1.0 changelog, add WeChat group QR (d57157a)
- chore(release): sync source manifests to v1.1.1 (0adfab8)
What's Changed
- chore: remove dead code from studio and cli by @SttFang in #176
- fix(llm): clamp temperature to 1 for thinking models (kimi-k2.5 etc.) by @SttFang in #174
New Contributors
Full Changelog: v1.1.1...v1.2.0
v1.1.1
- fix(state): allow repair-state to reapply latest chapter (85dd250)
- fix(state): restore fail-closed validator parsing (b683ac6)
- fix: wire hookDebtBlock into reviser user prompt (2b652cb)
- feat(import): bilingual prompts, continuation vs series mode, language wiring (8e4df08)
- feat: add bilingual support to ai-tells and sensitive-words (df93100)
- fix: simplify state-validator protocol and add chapter-ref detection (d51d3f9)
Full Changelog: v1.0.2...v1.1.1
v1.1.0: Writing Pipeline Overhaul
- Merge pull request #150 from Narcooo/release/1.1.0 (019f9d4)
- chore: bump version to 1.1.0, update CHANGELOG and README (90a26ea)
- fix(pipeline): wire foundation review retries and hook budget (e771dee)
- feat(architect): add foundation reviewer and new-spacetime requirements (160f3a2)
- feat(pipeline): add hook budget hint and chapter ending trail (b4f8e2d)
- fix(state): close remaining chapter-number pollution paths (54d090c)
- merge: integrate writing-pipeline-systemic-repair into master (47512e7)
- fix(state): anchor chapter progress to contiguous durable chapters (2e64055)
- feat(hooks): replace lifecycle pressure system with seed excerpt approach (66bb890)
- fix(pipeline): scope revision blockers and normalize delta chapters (b4f5cc6)
- fix(writer): override LLM-hallucinated chapter numbers in state delta (f4ee25b)
- fix(pipeline): exclude sequence-level fatigue from revision blockingCount (fb8e1aa)
- revert: undo prompt softening and compaction (iter-002 regression fix) (86ea01a)
- refactor(pipeline): extract chapter truth validation (16cbf27)
- refactor(pipeline): extract chapter persistence tail (f989204)
- refactor(pipeline): extract chapter review cycle (e2bf6cb)
- fix(test): update hook table assertions for payoff_timing column (6759867)
- refactor(pipeline): extract persisted governed plan loader (2a5ab2c)
- refactor(state): share story markdown parsers (06070ca)
- refactor(prompt): share compact governed process briefs (eb288b3)
- refactor(prompt): compact governed writer control surface (4248e1d)
- refactor(pipeline): extract chapter state recovery (616f807)
- refactor(pipeline): extract hook agenda from memory retrieval (ef7d4eb)
- feat(pipeline): auto-repair collapsed chapter titles (f304400)
- refactor(prompt): naturalize hook debt briefs (b80056e)
- refactor(pipeline): centralize cadence pressure policy (71a860e)
- refactor(prompt): soften governed creative guidance (822708e)
- refactor(pipeline): align hook activity thresholds (82c2842)
- refactor(pipeline): centralize hook policy constants (2b91181)
- refactor(pipeline): unify legacy context windows (ba7f7c5)
- feat(pipeline): make hook retrieval lifecycle-aware (3f85287)
- feat(pipeline): make hook agenda pressure-aware (198cc94)
- feat(pipeline): align hook audit with lifecycle semantics (f0110e8)
- fix(pipeline): isolate audit drift guidance from state (2638f22)
- feat(pipeline): unify chapter cadence pressure analysis (c608cd3)
- feat(pipeline): add structured hook pressure map (6b12293)
- feat(pipeline): add semantic hook lifecycle guidance (d6855e4)
- feat(llm): support custom HTTP headers via INKOS_LLM_HEADERS env var (aeb64b6)
- feat(cli): expose degraded-state recovery flow (e689a83)
- fix(pipeline): recover from state validation failures (2e2264f)
- fix(architect): tolerate section label format drift (bbb059b)
- fix(studio): reload latest llm config per request (b688531)
- fix(studio): persist manual theme selection (b98bc78)
- fix(style): degrade gracefully when fingerprint extraction fails (f9faefc)
- fix(review): preserve committed snapshots on approval (48ea3e3)
- feat(review): reject rolls back state and discards downstream chapters (5f187f9)
- feat(style): extract writing style in fanfic/continuation/import flows (7316ed7)
- feat(planner): emit mood directive when consecutive chapters are high-tension (1fa53d3)
- fix(titles): regenerate duplicates before suffix fallback (c5af09f)
- fix(hooks): promote stale debt and explicit hook agenda in writer (db55742)
- feat(governed): inject explicit history and canon evidence into writer (8a05275)
- feat(planner): emit structured writing directives (6be56cf)
- fix(planner): demote stale current focus below outline anchors (b9c05e1)
- fix(planner): harden exact and range outline matching (2061c7e)
- fix(planner): support chapter range outline anchors (c442a9a)
What's Changed
New Contributors
Full Changelog: v1.0.2...v1.1.0