Changelog
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
Add configurable host bind + metaUrl service probe #114
feat: core v0.2.0 SDK adoption #111
feat(openclaw): adopt jeeves core component writer #105
docs: document scope override precedence in OpenClaw skill #95
feat: explicit scope overrides take precedence over named scopes #94
fix: parse inline tokens in heading renderer #93
fix: prevent full data reload on tab switch #91
fix: Rendered tab persists when switching to Raw on watcher-rendered files #90
feat: extend /api/status with ?events=N for recent event log #89
fix: server_share sends POST with JSON body instead of GET #87
docs: guide index content + typedoc jsonl highlight #86
docs: refresh README + guides for v3 #85
feat: named access scopes #84
fix: plugin auth chain, status endpoint improvements #83
fix: resetConfig should reload, not clear #82
chore: integrate client as npm workspace member #81
fix: force white background in panzoom fullscreen (dark mode) #80
chore: make both packages releasable #79
fix: address Gemini code review feedback (PRs #65-#76) #78
chore: fix all gap analysis findings (10 items) #77
Phase 4, Steps 16-18: Document rendering pipeline #76
Phase 3, Steps 11-15: OpenClaw plugin #75
Phase 2, Steps 9-10: Search facets proxy + filter UI #74
Phase 2, Step 8: Scroll anchoring #73
chore: SOLID/DRY/coverage audit pass 2 #72
Phase 2, Step 7: Link availability endpoint #71
Phase 1, Step 6: Port migration #70
Phase 1, Step 5: Diagram dependency internalization #69
Phase 1, Step 4: Server Status API #68
Phase 1, Step 3: CLI commands #67
Phase 1, Step 2: Config migration (jiti → cosmiconfig) #66
Phase 1: Monorepo & Config (v3.0.0) #65
feat: align search browse filter with watcher domains convention #64
fix: exit edit mode after save #63
chore: add default port 1934 #62
chore: add default port 1934 #61
fix: parse inline tokens in heading renderer (code spans, bold, italic) #92
chore: add docs workflow, gitignore generated docs 10bffb8
updated docs 86d88c7
updated docs cbd8537
chore: release @karmaniverous/jeeves-server-openclaw v0.3.1 11309c1
refactor: remove hardcoded filters, fix lazy facet loading ffb0f2a
test(openclaw): expand coverage for openclawPaths, pluginRemove, serviceCommands b38ecac
chore(openclaw): update deps, clean knip config 82cb058
feat: two-step facet selection + garbage value filtering 6c60e97
fix(openclaw): bundle @karmaniverous/jeeves into plugin dist 61fb7ac
feat: schema-driven facet rendering by uiHint 97af834
docs: full documentation pass with PlantUML diagrams 537a9d7
refactor(openclaw): resolve SOLID/DRY violations 87df443
chore: release @karmaniverous/jeeves-server v3.2.0 fda70c6
feat: metadata chips on search results with click-to-filter a11ce3d
docs: add guide index content and fix typedoc trailing comma 3844271
refactor(openclaw): use createAsyncContentCache from jeeves v0.1.1 9732ad9
perf: lazy-load facets only when 'Add filter' is clicked d0b111c
feat: garbage value diagnostics for inference rule debugging 06e4f82
chore: release @karmaniverous/jeeves-server v3.1.0 0688333
updated docs 075a6f3
chore: release @karmaniverous/jeeves-server v3.1.1 736ec35
chore: release @karmaniverous/jeeves-server v3.0.1 67cf001
npm audit fix 7c578d4
chore: release @karmaniverous/jeeves-server-openclaw v0.4.0 566e438
[113] feat: add host bind and metaUrl config options 798d133
test(openclaw): cover service commands 08f478c
feat: render text/number facets as text inputs, chips for select/multiselect 282adf8
fix(openclaw): address Gemini review — error handling and writer cleanup 293b6bc
fix: text/number facets skip value cleaning, cast values to String c9af039
chore: release @karmaniverous/jeeves-server v3.1.2 d15fa4c
chore: release @karmaniverous/jeeves-server-openclaw v0.2.1 3881f52
docs: document ?events=N query param on /api/status 4a25f3b
chore: release @karmaniverous/jeeves-server v3.2.1 f13677b
chore: release @karmaniverous/jeeves-server v3.3.1 bf01414
chore(openclaw): use resolveWorkspacePath from jeeves 0.1.4 71ddd58
fix: restore eager facet loading on modal open a625bd0
chore: release @karmaniverous/jeeves-server v3.3.0 1b1aec6
chore(openclaw): update jeeves to 0.1.6, add servicePackage/pluginPackage 1847ff7
chore: release @karmaniverous/jeeves-server-openclaw v0.2.0 2e0319f
chore: release @karmaniverous/jeeves-server-openclaw v0.1.1 abfee9f
chore(openclaw): update @karmaniverous/jeeves to 0.1.5 c8b040b
chore(openclaw): update @karmaniverous/jeeves to 0.1.3 6de1c66
fix(openclaw): derive plugin version from package.json at runtime 1a78435
fix: add tagPrefix to auto-changelog config for monorepo tags 4540873
chore: release @karmaniverous/jeeves-server v3.1.3 801d362
Change license to BSD-3-Clause and add credits bcb8225
docs: fix diagram image paths in guides e870be6
chore: release @karmaniverous/jeeves-server-openclaw v0.3.0 b684be1
fix: make +N more chip overflow a clickable link that expands the result d56ed6a
fix: increase facets timeout to 15s, add error logging dfda5dd
fix: use type=number input for number facets c245b6a
npm audit fix a07adac
fix: prevent full data reload on tab switch (only reload on path change) 6390b14
fix: close SearchableSelect dropdown on outside click (capture phase) f85d8dd
Revert "fix: Rendered tab persists when switching to Raw on watcher-rendered files" 71b79d4
feat: search facets, metadata chips, and click-to-filter 20eeee8
chore: add client as workspace member, align puppeteer versions 6e3a40d
feat: internalize diagram dependencies (mermaid/plantuml) 9c7f8a7
feat: implement OpenClaw plugin (Phase 3, Steps 11-15) 72a04e0
docs: refresh README and guides for v3 CLI + config e437387
refactor: monorepo scaffolding (Phase 1, Step 1) 15cf2ba
feat: migrate config from jiti/TS to cosmiconfig/JSON adfba33
fix: resolve all client ESLint errors and warnings 768541a
chore: release @karmaniverous/jeeves-server v3.0.0-0 07a6e47
chore: SOLID/DRY pass #3 + plugin test coverage 7dcc4c3
feat: add CLI commands (start, config validate/show, service) 0437984
fix: resolve knip unused files, dependencies, and exports 964beba
chore: release @karmaniverous/jeeves-server-openclaw v0.1.0-0 b6c0f6d
docs: add typedoc config and dependencies 761bb8c
fix: address all gap analysis findings 1eb02ab
npm audit fix 3a144b4
feat: add GET /api/link-info endpoint 02ece39
test: add resolve.ts unit tests (21 tests) 7c988ef
fix: cosmiconfig searchPlaces, SOLID/DRY pass, test coverage 08de751
feat: add GET /api/status endpoint 764c3a7
chore: SOLID/DRY/test coverage pass e491bfb
refactor: extract buildRuntimeConfig to resolve.ts (DRY) 87bd749
chore: add knip configs, remove dead exports, clean all code quality checks 2a81072
fix: address Gemini code review feedback across PRs #65-#76 2fef919
fix: make resetConfig reload runtime config 79e8602
refactor: extract shared renderMarkdownContent pipeline 244dddf
feat: schema-driven search facet filters (Step 10) c305c2a
feat: add scroll anchoring for async diagram renders e4bd972
feat: document rendering pipeline (Phase 4, Steps 16-18) 56095ee
npm audit fix 3810c0f
lintfix 00dc2b2
fix: resolve package.json path portably for version 29d775c
feat: add GET /api/search/facets proxy endpoint 28fc200
ni e40deac
docs: add changelogs as children of package guide indexes fd16b5b
lintfix 38a9376
chore: migrate default port to 1934 4614a5f
chore: add tsdoc.json to both package roots 9ccf217
chore: add tsdoc.json to both package roots 173cf94
chore: release @karmaniverous/jeeves-server v3.0.0-1 db96bc1
fix: set rootDir and update start script path for monorepo layout a2fd77c
fix: resolve TS2352 warnings in openclaw test mocks 88950e2
fix: CI failures and SvgViewer panzoom re-init bug 7392712
fix: resolve remaining lint errors (type annotations, unused params, unnecessary conditionals) e7714ae
fix: remove unnecessary auth from /api/status calls (endpoint is public) f651fe7
fix: update linux-compat CI for monorepo paths 22dd30f
chore: release @karmaniverous/jeeves-server-openclaw v0.1.0-1 d08e571
chore: eliminate all lint warnings ed12c86
fix: CI rimraf resolution and remove redundant client steps 757c45c
chore: release @karmaniverous/jeeves-server v3.0.0 ef408c3
chore: release @karmaniverous/jeeves-server-openclaw v0.1.0 bbeac17
fix: server_browse and server_export route mismatches 82ef907
npm audit fix 2f3b5c8
publishconfig public access 8e4358c
fix: restore light mode text-foreground on Add Filter menu labels 9bb9c7f
fix: cap schema-driven facet chips to fields with ≤30 values de625e2
fix: add pattern to StatusResponse events type f64e6af
fix: normalize path for watcher render (Windows backslash + uppercase drive) f6c229d
zero version 2c0db75
merge: incorporate main (PR #77 gap-analysis) 845268d
fix: add missing return-await in facets handler b08d4a3
fix: remove unused parameter in linkInfo test 36fca9a
ci: add Node 24 to linux-compat matrix 66f1008
fix: adjust relative paths for monorepo dist/src/ layout dcaf9dc
fix: adjust rootDir depth for monorepo dist/src/config path 5427014
26 February 2026
feat: render YAML frontmatter as code block #60
feat: render YAML frontmatter as code block in markdown view 3045a94
chore: release v2.9.3 1475596
24 February 2026
feat: sortable columns on runner dashboard 023a473
chore: release v2.9.2 d3db011
24 February 2026
fix: dark mode status pills via custom-variant 30454de
chore: release v2.9.1 d34fd62
chore: release v2.9.0 7cdc030
24 February 2026
feat: add runner dashboard #59
fix: event queue byte/char cursor mismatch + postbuild client #52
fix: client TS errors + picomatch dot matching #51
gitignores 601737f
chore: release v2.9.0 7813907
23 February 2026
[GH-46] Semantic search UI #47
[GH-46] GH-46: Semantic search — backend proxy + frontend modal 80383d1
[GH-46] GH-46: Date range filtering (relative + absolute) e775502
[GH-46] GH-46: Accordion chunks with scrollable container d9462e0
[GH-46] GH-46: Persistent search state + reset control 8fba6ea
[GH-46] GH-46: File type (extension) filter chips fcab7b2
[GH-46] GH-46: Enlarge search modal (max-w-4xl, 85vh, less top offset) 83d8ad2
22 February 2026
[GH-44] Cache exports + Clear Cache control #45
[GH-44] GH-44: Add export cache + Clear Cache endpoint and UI bf41cd0
[GH-44] Clear cache covers standalone diagram files (mmd/puml) 63ba5c8
[GH-44] Add .export-cache/ to gitignore 80ade63
22 February 2026
GH-42: Unify raw view on CodeMirror 6 with code folding #43
[GH-42] Replace highlight.js raw view with CodeMirror 6 read-only viewer 547315c
[GH-42] Remove highlight.js — CM6 handles all syntax highlighting 52415ae
[GH-42] Fix DOCX code block rendering — per-line paragraphs with NBSP indent 61db677
[GH-42] Fix lint: unnecessary conditional in export.ts 528c740
[GH-42] Revert custom fold markers to basicSetup defaults 37fc320
[GH-42] Skip CM6 for PDF/DOCX export — use plain pre/code blocks 6706f68
22 February 2026
GH-40: Retry button for failed inline diagram renders #41
[GH-40] Add retry button to failed inline diagram renders 1fe10bd
[GH-40] Improve error message and add reload hint on retry failure b0c02c8
22 February 2026
GH-38: Terms of Service, Privacy Policy & search engine blocking #39
21 February 2026
SOLID/DRY codebase audit — comprehensive refactor #37
21 February 2026
GH-32 + GH-33: Diagram cache + lazy-load embedded diagrams 74b68be
20 February 2026
feat: in-browser text editing (GH-30) #31
chore: bump version to 2.6.0 7d54aa3
20 February 2026
feat: Render embedded Mermaid/PlantUML code blocks (GH-23) #27
chore: bump version to 2.5.0 2c42e14
20 February 2026
feat: Native PlantUML support (GH-22) #25
chore: bump version to 2.4.0 ddf9d87
20 February 2026
fix: case-insensitive email comparison for insider matching #24
19 February 2026
refactor: Copy Raw Link builds /api/raw/ URL directly, remove raw=1 redirect #21
19 February 2026
feat: raw=1 on /browse/* redirects to /api/raw/* for raw file delivery #20
19 February 2026
fix: forward auth params on downloads, show error popup on failure #19
18 February 2026
refactor: replace hand-rolled glob matching with picomatch #18
18 February 2026
[GH-16] feat(GH-16): utility share-for endpoint + outsider policy #17
18 February 2026
Allow/deny scopes for insiders and keys #15
chore: update repo description and add keywords to package.json 5130698
17 February 2026
GH-13: Linux compatibility #14
17 February 2026
[GH-11] Deep share links with depth and directory controls #12
docs: add platform support section, sync requirements with GH-11 implementation, call out Linux as next-up 261ff4d
fix: header button hover in light mode - use white/10 overlay instead of accent bg eeb370c
17 February 2026
Fix PDF/DOCX export rendering #10
Decommission path routes #8
[GH-9] fix DOCX SVG export — render SVGs in clean isolated pages #9
[GH-9] fix DOCX SVG screenshot offset — use element.screenshot() instead of clip #9
[GH-9] fix SVG rendering in SPA and PDF/DOCX export issues #9
[GH-9] fix PDF/DOCX exports rendering panzoom container chrome #9
[GH-7] decommission /path routes — migrate to /api/raw, /api/export, /browse redirect #7
[GH-7] remove legacy server.js — replaced by src/server.ts 6a701e6
[GH-7] remove server-rendered about page, templates, and test PDFs bad31ca
[GH-9] render DOCX SVGs at full page width (1152px) dbb5bae
fix: increase mobile bottom padding to pb-32 (8rem) e19b653
fix: use md:px-6 md:pt-6 instead of md:p-6 so pb-16 isn't overridden at md breakpoint 6b1c19f
fix: add pb-16 bottom padding to scroll containers for mobile browser chrome clearance 7319d00
fix: pass puppeteer.json config to mmdc for NSSM service compatibility 769610f
[GH-9] render DOCX SVG screenshots at 2x device scale for crisp output 68c04f4
16 February 2026
v2.0.0: React SPA migration #6
[GH-5] merge: resolve conflicts with main (keep feature branch for frozen server pages) 2c57b6f
[GH-5] feat: React + Vite scaffold with file browser, API endpoints, and SPA serving (GH-5) 6a8ffb5
[GH-5] Dropdown menus, TS config, state separation, local static assets 16f40b4
[GH-5] docs: add all guides - event gateway, exports, deployment, API integration 45e026a
[GH-5] docs: move requirements to .stan/system/stan.requirements.md, slim README 43214d0
[GH-5] docs: add setup and sharing guides, link from README ac32dc9
[GH-5] docs: update README to reflect current architecture - Fastify, Zod 4 config, React SPA, dual auth, prose width toggle e0da626
[GH-5] feat: per-row share icons on drives listing page (GH-5) 35a04a6
[GH-5] Fix header wrapping + unified fixed top bar 26baa15
[GH-5] feat: responsive header - single row wide, progressive collapse - Action bar wraps to row 2 below lg breakpoint - Info/theme fold into account menu below lg - Breadcrumbs scroll horizontally (hat pinned) - Thin scrollbar styling for breadcrumb overflow c20ea7a
[GH-5] Fixed header/tabs, key auth for SPA, dropdown hover variants 808c024
[GH-5] feat: replace expiry text input with dropdown (never/1h/1d/1w/1m/1y) (GH-5) 7691a69
[GH-5] Responsive header layout - two-row design 1c7fbda
[GH-5] feat: Panzoom for SVG images embedded in rendered markdown - Finds img tags with .svg sources in rendered articles - Fetches SVG content and replaces img with interactive Panzoom container - Scroll to zoom, drag to pan - Graceful fallback to original img on fetch failure 1cd0dd4
feat: replace expiry text input with dropdown (never/1h/1d/1w/1m/1y) 4a0f8ae
[GH-5] refactor: replace lodash with radash in event gateway JsonMap lib 5c2f322
feat: per-row share icons on drives listing page dcc2fbc
[GH-5] feat: fullscreen toggle for inline SVG Panzoom viewers 2806878
[GH-5] Scrollbar under tabs, main as scroll container 65b4dcc
[GH-5] fix: pre-process SVG to 100% width/height before render — prevents overflow on tab switch 3da142d
[GH-5] fix: SVG viewer zoom-to-fit — entire image visible in viewport, centered f0927ec
[GH-5] docs: Mermaid diagram for event gateway, link first repo references in guides 3c5e98e
[GH-5] docs: rewrite README - position as AI-to-business publishing bridge c6e7c6e
[GH-5] fix: remove fullscreen toggle from SVG viewer — rendered view is the experience f744eea
[GH-5] docs: replace ASCII access decision flow with Mermaid SVG in sharing guide f1455d0
[GH-5] feat: prose width toggle (narrow/wide) for rendered markdown 2e5f19f
[GH-5] fix: SVG fullscreen fits drawing to viewport, allow zoom out feat: README prominently features Event Gateway 080161c
[GH-5] Mobile TOC: hamburger menu left of Rendered/Raw tabs 4b00ff6
[GH-5] feat: add medium prose width option (three-way toggle) 2b3dad4
[GH-5] docs: clarify key derivation in event gateway guide e03c97e
[GH-5] fix: defer SvgViewer Panzoom init to next frame — fixes tab switch overflow 39c28b5
[GH-5] Fix mobile header overflow and simplify sticky layout 505bd5e
[GH-5] fix: center SVG vertically and horizontally in fullscreen panzoom ec683bc
[GH-5] Fix code block contrast in light mode 2051d65
[GH-5] chore: bump version to 2.0.0 8864eaa
[GH-5] Fix CodeBlock component theme awareness 678b7bb
[GH-5] Fix TOC sidebar sticky position and anchor scroll offset 6f2aa3f
[GH-5] fix: remove backtick pseudo-elements from inline code in prose f47cd60
[GH-5] fix: anchor scroll offset - use getBoundingClientRect relative to scroll container a8f5e0c
[GH-5] fix: SVG fullscreen center/center - remove CSS centering, let Panzoom startX/startY handle positioning 54c5aca
[GH-5] Fix TOC sticky top to match header + tabs + gap (7rem) c0d1a40
[GH-5] Fix prose typography colors for light/dark mode 39ce6f9
[GH-5] fix: prose width buttons only appear for rendered markdown, not SVG/Mermaid 4067119
[GH-5] docs: fix insider description — may be scoped, not always full access b481d3a
[GH-5] docs: mention front-end event link button in event gateway guide bdb203c
feat: replace expiry text input with dropdown (never/1h/1d/1w/1m/1y) b247aa3
15 February 2026
fix: wrap entire startup in try/catch, surface errors instead of silent exit 1913fe1
fix: mobile header — hide redundant share UI on directories, allow header wrapping (GH-4) 6306f27
fix: header stretches to full content width when zoomed out bbebeec
fix: restore header share UI on directories — shares current page, not redundant with per-row icons 1f77d96
15 February 2026
Merge feature/GH-4-google-oauth: Google OAuth + per-row share icons 4706828
[GH-4] feat: add Google OAuth and cookie sessions (GH-4) 89b6d72
[GH-4] feat: directory outsider links, new share UI, per-insider key age (GH-4) 4cbc001
[GH-4] refactor: merge configs into jeeves.config.json (GH-4) dae22f9
[GH-4] feat: per-row share icons in directory listings — 🔗 page + ⬇ raw with shared expiry input (GH-4) f0e005e
[GH-4] feat: remove dangerous executable distinction — all files navigable and downloadable (GH-4) d974f3b
[GH-4] feat: outsider directory shares show navigable breadcrumbs from share root (GH-4) 0e93d19
[GH-4] feat: copy-key button, insider seeds for outsider URL auth (GH-4) aa4f42b
[GH-4] feat: remove key params from insider links — cookie auth makes them unnecessary (GH-4) 5509823
[GH-4] fix: share endpoint supports insider seeds and session cookie auth (GH-4) 4541572
[GH-3] Log full body for unmatched events (remove 200-char truncation) 639c4df
[GH-4] fix: serve favicon.svg route — was referenced in HTML but never served (GH-4) 5543ff8
[GH-4] fix: redirect URI uses Host header for correct port (GH-4) 2b6e43f
[GH-4] feat: Raw option in link dropdown for embeddable URLs (GH-4) 14098a0
[GH-4] fix: session cookie secure flag for http dev 903e00f
15 February 2026
v1.1.0: TypeScript/Fastify refactor, event gateway, named keys with scopes f3711f8
Merge feature/GH-3-ts-refactor: TypeScript/Fastify refactor with event gateway and named keys a920a99
[GH-3] TypeScript refactor scaffolding and core modules 8dd0b92
[GH-3] Decompose path route into sub-modules c369969
[GH-3] Complete path and about routes ffef74a
[GH-3] implement event gateway with durable queue and logging 2eaef85
[GH-3] Add comprehensive tests for util modules (crypto, formatters, fileDetection) 3536fdd
[GH-3] Auth: multiple API key seeds with optional scopes (preserve HMAC model) 00b1e67
Document event gateway and config redesign in README 3f904ca
[GH-3] Fix lint errors 09d8c28
[GH-3] Fix tsconfig, add prebuild clean, add tsconfig.eslint.json 8d08742
[GH-3] Fix stan: add placeholder test, configure knip for in-progress refactor e91697d
[GH-3] fix build scripts: increase typecheck memory, ensure dist dir for lint, exclude dist from vitest d909a60
8 February 2026
Reduce PDF/DOCX font sizes to 10pt base 2617ac9
Fix PDF font size - add 10pt to PDF-specific styles 18b3505
7 February 2026
Fix raw download for markdown files 25952cd
Add top hat branding to outsider pages, improve filename display cacbb60
Add 'Jeeves Server' tooltip to top hat in all modes 26902d4
7 February 2026
21 March 2026
feat: core v0.2.0 SDK adoption #111
chore: release @karmaniverous/jeeves-server-openclaw v0.4.0 566e438
chore: release @karmaniverous/jeeves-server v3.3.0 1b1aec6
19 March 2026
feat(openclaw): adopt jeeves core component writer #105
chore: release @karmaniverous/jeeves-server-openclaw v0.3.1 11309c1
test(openclaw): expand coverage for openclawPaths, pluginRemove, serviceCommands b38ecac
chore(openclaw): update deps, clean knip config 82cb058
fix(openclaw): bundle @karmaniverous/jeeves into plugin dist 61fb7ac
docs: full documentation pass with PlantUML diagrams 537a9d7
refactor(openclaw): resolve SOLID/DRY violations 87df443
chore: release @karmaniverous/jeeves-server v3.2.0 fda70c6
refactor(openclaw): use createAsyncContentCache from jeeves v0.1.1 9732ad9
npm audit fix 7c578d4
test(openclaw): cover service commands 08f478c
fix(openclaw): address Gemini review — error handling and writer cleanup 293b6bc
chore: release @karmaniverous/jeeves-server v3.2.1 f13677b
chore(openclaw): use resolveWorkspacePath from jeeves 0.1.4 71ddd58
chore(openclaw): update jeeves to 0.1.6, add servicePackage/pluginPackage 1847ff7
chore(openclaw): update @karmaniverous/jeeves to 0.1.5 c8b040b
chore(openclaw): update @karmaniverous/jeeves to 0.1.3 6de1c66
fix(openclaw): derive plugin version from package.json at runtime 1a78435
fix: add tagPrefix to auto-changelog config for monorepo tags 4540873
Change license to BSD-3-Clause and add credits bcb8225
docs: fix diagram image paths in guides e870be6
14 March 2026
chore: release @karmaniverous/jeeves-server-openclaw v0.3.0 b684be1
11 March 2026
docs: document scope override precedence in OpenClaw skill #95
feat: explicit scope overrides take precedence over named scopes #94
fix: parse inline tokens in heading renderer #93
fix: prevent full data reload on tab switch #91
fix: Rendered tab persists when switching to Raw on watcher-rendered files #90
fix: parse inline tokens in heading renderer (code spans, bold, italic) #92
chore: add docs workflow, gitignore generated docs 10bffb8
chore: release @karmaniverous/jeeves-server v3.1.1 736ec35
chore: release @karmaniverous/jeeves-server v3.1.2 d15fa4c
chore: release @karmaniverous/jeeves-server-openclaw v0.2.1 3881f52
chore: release @karmaniverous/jeeves-server v3.1.3 801d362
fix: prevent full data reload on tab switch (only reload on path change) 6390b14
Revert "fix: Rendered tab persists when switching to Raw on watcher-rendered files" 71b79d4
9 March 2026
feat: extend /api/status with ?events=N for recent event log #89
fix: server_share sends POST with JSON body instead of GET #87
docs: guide index content + typedoc jsonl highlight #86
docs: refresh README + guides for v3 #85
feat: named access scopes #84
fix: plugin auth chain, status endpoint improvements #83
fix: resetConfig should reload, not clear #82
chore: integrate client as npm workspace member #81
fix: force white background in panzoom fullscreen (dark mode) #80
chore: make both packages releasable #79
fix: address Gemini code review feedback (PRs #65-#76) #78
chore: fix all gap analysis findings (10 items) #77
Phase 4, Steps 16-18: Document rendering pipeline #76
Phase 3, Steps 11-15: OpenClaw plugin #75
Phase 2, Steps 9-10: Search facets proxy + filter UI #74
Phase 2, Step 8: Scroll anchoring #73
chore: SOLID/DRY/coverage audit pass 2 #72
Phase 2, Step 7: Link availability endpoint #71
Phase 1, Step 6: Port migration #70
Phase 1, Step 5: Diagram dependency internalization #69
Phase 1, Step 4: Server Status API #68
Phase 1, Step 3: CLI commands #67
Phase 1, Step 2: Config migration (jiti → cosmiconfig) #66
Phase 1: Monorepo & Config (v3.0.0) #65
feat: align search browse filter with watcher domains convention #64
fix: exit edit mode after save #63
chore: add default port 1934 #62
chore: add default port 1934 #61
feat: render YAML frontmatter as code block #60
feat: add runner dashboard #59
fix: event queue byte/char cursor mismatch + postbuild client #52
fix: client TS errors + picomatch dot matching #51
[GH-46] Semantic search UI #47
[GH-44] Cache exports + Clear Cache control #45
GH-42: Unify raw view on CodeMirror 6 with code folding #43
GH-40: Retry button for failed inline diagram renders #41
GH-38: Terms of Service, Privacy Policy & search engine blocking #39
SOLID/DRY codebase audit — comprehensive refactor #37
feat: in-browser text editing (GH-30) #31
feat: Render embedded Mermaid/PlantUML code blocks (GH-23) #27
feat: Native PlantUML support (GH-22) #25
fix: case-insensitive email comparison for insider matching #24
refactor: Copy Raw Link builds /api/raw/ URL directly, remove raw=1 redirect #21
feat: raw=1 on /browse/* redirects to /api/raw/* for raw file delivery #20
fix: forward auth params on downloads, show error popup on failure #19
refactor: replace hand-rolled glob matching with picomatch #18
[GH-16] feat(GH-16): utility share-for endpoint + outsider policy #17
Allow/deny scopes for insiders and keys #15
GH-13: Linux compatibility #14
[GH-11] Deep share links with depth and directory controls #12
Fix PDF/DOCX export rendering #10
Decommission path routes #8
v2.0.0: React SPA migration #6
[GH-9] fix DOCX SVG export — render SVGs in clean isolated pages #9
[GH-9] fix DOCX SVG screenshot offset — use element.screenshot() instead of clip #9
[GH-9] fix SVG rendering in SPA and PDF/DOCX export issues #9
[GH-9] fix PDF/DOCX exports rendering panzoom container chrome #9
[GH-7] decommission /path routes — migrate to /api/raw, /api/export, /browse redirect #7
chore: add client as workspace member, align puppeteer versions 6e3a40d
updated docs 86d88c7
updated docs cbd8537
docs: refresh README and guides for v3 CLI + config e437387
refactor: remove hardcoded filters, fix lazy facet loading ffb0f2a
fix: resolve all client ESLint errors and warnings 768541a
chore: release @karmaniverous/jeeves-server v3.0.0-0 07a6e47
fix: resolve knip unused files, dependencies, and exports 964beba
chore: release @karmaniverous/jeeves-server-openclaw v0.1.0-0 b6c0f6d
docs: add typedoc config and dependencies 761bb8c
feat: metadata chips on search results with click-to-filter a11ce3d
docs: add guide index content and fix typedoc trailing comma 3844271
perf: lazy-load facets only when 'Add filter' is clicked d0b111c
chore: add knip configs, remove dead exports, clean all code quality checks 2a81072
feat: garbage value diagnostics for inference rule debugging 06e4f82
fix: make resetConfig reload runtime config 79e8602
chore: release @karmaniverous/jeeves-server v3.1.0 0688333
updated docs 075a6f3
chore: release @karmaniverous/jeeves-server v3.0.1 67cf001
chore: release @karmaniverous/jeeves-server-openclaw v0.2.0 2e0319f
feat: search facets, metadata chips, and click-to-filter 20eeee8
feat: internalize diagram dependencies (mermaid/plantuml) 9c7f8a7
feat: implement OpenClaw plugin (Phase 3, Steps 11-15) 72a04e0
[GH-46] GH-46: Semantic search — backend proxy + frontend modal 80383d1
refactor: monorepo scaffolding (Phase 1, Step 1) 15cf2ba
feat: migrate config from jiti/TS to cosmiconfig/JSON adfba33
chore: SOLID/DRY pass #3 + plugin test coverage 7dcc4c3
feat: add CLI commands (start, config validate/show, service) 0437984
[GH-44] GH-44: Add export cache + Clear Cache endpoint and UI bf41cd0
fix: address all gap analysis findings 1eb02ab
npm audit fix 3a144b4
feat: two-step facet selection + garbage value filtering 6c60e97
feat: add GET /api/link-info endpoint 02ece39
feat: schema-driven facet rendering by uiHint 97af834
test: add resolve.ts unit tests (21 tests) 7c988ef
fix: cosmiconfig searchPlaces, SOLID/DRY pass, test coverage 08de751
feat: sortable columns on runner dashboard 023a473
feat: add GET /api/status endpoint 764c3a7
chore: SOLID/DRY/test coverage pass e491bfb
[GH-46] GH-46: Date range filtering (relative + absolute) e775502
gitignores 601737f
refactor: extract buildRuntimeConfig to resolve.ts (DRY) 87bd749
[GH-44] Clear cache covers standalone diagram files (mmd/puml) 63ba5c8
fix: address Gemini code review feedback across PRs #65-#76 2fef919
refactor: extract shared renderMarkdownContent pipeline 244dddf
feat: schema-driven search facet filters (Step 10) c305c2a
feat: add scroll anchoring for async diagram renders e4bd972
feat: document rendering pipeline (Phase 4, Steps 16-18) 56095ee
npm audit fix 3810c0f
[GH-46] GH-46: Accordion chunks with scrollable container d9462e0
lintfix 00dc2b2
fix: resolve package.json path portably for version 29d775c
feat: add GET /api/search/facets proxy endpoint 28fc200
feat: render text/number facets as text inputs, chips for select/multiselect 282adf8
ni e40deac
docs: add changelogs as children of package guide indexes fd16b5b
lintfix 38a9376
feat: render YAML frontmatter as code block in markdown view 3045a94
chore: migrate default port to 1934 4614a5f
fix: dark mode status pills via custom-variant 30454de
[GH-46] GH-46: Persistent search state + reset control 8fba6ea
fix: text/number facets skip value cleaning, cast values to String c9af039
[GH-46] GH-46: File type (extension) filter chips fcab7b2
fix: resolve TS2352 warnings in openclaw test mocks 88950e2
merge: incorporate main (PR #77 gap-analysis) 845268d
[GH-7] remove legacy server.js — replaced by src/server.ts 6a701e6
GH-32 + GH-33: Diagram cache + lazy-load embedded diagrams 74b68be
[GH-5] docs: add all guides - event gateway, exports, deployment, API integration 45e026a
[GH-7] remove server-rendered about page, templates, and test PDFs bad31ca
[GH-5] docs: move requirements to .stan/system/stan.requirements.md, slim README 43214d0
[GH-5] docs: add setup and sharing guides, link from README ac32dc9
[GH-5] docs: update README to reflect current architecture - Fastify, Zod 4 config, React SPA, dual auth, prose width toggle e0da626
[GH-42] Replace highlight.js raw view with CodeMirror 6 read-only viewer 547315c
[GH-42] Remove highlight.js — CM6 handles all syntax highlighting 52415ae
[GH-5] feat: responsive header - single row wide, progressive collapse - Action bar wraps to row 2 below lg breakpoint - Info/theme fold into account menu below lg - Breadcrumbs scroll horizontally (hat pinned) - Thin scrollbar styling for breadcrumb overflow c20ea7a
[GH-5] Responsive header layout - two-row design 1c7fbda
[GH-5] feat: Panzoom for SVG images embedded in rendered markdown - Finds img tags with .svg sources in rendered articles - Fetches SVG content and replaces img with interactive Panzoom container - Scroll to zoom, drag to pan - Graceful fallback to original img on fetch failure 1cd0dd4
[GH-5] refactor: replace lodash with radash in event gateway JsonMap lib 5c2f322
docs: add platform support section, sync requirements with GH-11 implementation, call out Linux as next-up 261ff4d
[GH-40] Add retry button to failed inline diagram renders 1fe10bd
[GH-5] feat: fullscreen toggle for inline SVG Panzoom viewers 2806878
[GH-5] fix: pre-process SVG to 100% width/height before render — prevents overflow on tab switch 3da142d
[GH-5] fix: SVG viewer zoom-to-fit — entire image visible in viewport, centered f0927ec
[GH-42] Fix DOCX code block rendering — per-line paragraphs with NBSP indent 61db677
[GH-5] docs: Mermaid diagram for event gateway, link first repo references in guides 3c5e98e
[GH-5] docs: rewrite README - position as AI-to-business publishing bridge c6e7c6e
[GH-5] fix: remove fullscreen toggle from SVG viewer — rendered view is the experience f744eea
[GH-5] docs: replace ASCII access decision flow with Mermaid SVG in sharing guide f1455d0
[GH-5] feat: prose width toggle (narrow/wide) for rendered markdown 2e5f19f
[GH-40] Improve error message and add reload hint on retry failure b0c02c8
[GH-5] fix: SVG fullscreen fits drawing to viewport, allow zoom out feat: README prominently features Event Gateway 080161c
[GH-5] feat: add medium prose width option (three-way toggle) 2b3dad4
[GH-42] Fix lint: unnecessary conditional in export.ts 528c740
[GH-42] Revert custom fold markers to basicSetup defaults 37fc320
chore: update repo description and add keywords to package.json 5130698
fix: header button hover in light mode - use white/10 overlay instead of accent bg eeb370c
[GH-5] docs: clarify key derivation in event gateway guide e03c97e
[GH-5] fix: defer SvgViewer Panzoom init to next frame — fixes tab switch overflow 39c28b5
[GH-42] Skip CM6 for PDF/DOCX export — use plain pre/code blocks 6706f68
[GH-9] render DOCX SVGs at full page width (1152px) dbb5bae
[GH-5] fix: center SVG vertically and horizontally in fullscreen panzoom ec683bc
chore: bump version to 2.6.0 7d54aa3
chore: bump version to 2.5.0 2c42e14
chore: bump version to 2.4.0 ddf9d87
fix: increase mobile bottom padding to pb-32 (8rem) e19b653
fix: use md:px-6 md:pt-6 instead of md:p-6 so pb-16 isn't overridden at md breakpoint 6b1c19f
fix: add pb-16 bottom padding to scroll containers for mobile browser chrome clearance 7319d00
fix: pass puppeteer.json config to mmdc for NSSM service compatibility 769610f
[GH-9] render DOCX SVG screenshots at 2x device scale for crisp output 68c04f4
[GH-5] merge: resolve conflicts with main (keep feature branch for frozen server pages) 2c57b6f
[GH-3] TypeScript refactor scaffolding and core modules 8dd0b92
[GH-5] feat: React + Vite scaffold with file browser, API endpoints, and SPA serving (GH-5) 6a8ffb5
[GH-5] Dropdown menus, TS config, state separation, local static assets 16f40b4
[GH-3] Decompose path route into sub-modules c369969
[GH-3] Complete path and about routes ffef74a
[GH-3] implement event gateway with durable queue and logging 2eaef85
[GH-4] feat: add Google OAuth and cookie sessions (GH-4) 89b6d72
[GH-3] Add comprehensive tests for util modules (crypto, formatters, fileDetection) 3536fdd
[GH-5] feat: per-row share icons on drives listing page (GH-5) 35a04a6
[GH-3] Auth: multiple API key seeds with optional scopes (preserve HMAC model) 00b1e67
Document event gateway and config redesign in README 3f904ca
[GH-4] feat: directory outsider links, new share UI, per-insider key age (GH-4) 4cbc001
[GH-5] Fix header wrapping + unified fixed top bar 26baa15
[GH-3] Fix lint errors 09d8c28
[GH-4] refactor: merge configs into jeeves.config.json (GH-4) dae22f9
[GH-4] feat: per-row share icons in directory listings — 🔗 page + ⬇ raw with shared expiry input (GH-4) f0e005e
[GH-5] Fixed header/tabs, key auth for SPA, dropdown hover variants 808c024
[GH-5] feat: replace expiry text input with dropdown (never/1h/1d/1w/1m/1y) (GH-5) 7691a69
[GH-4] feat: remove dangerous executable distinction — all files navigable and downloadable (GH-4) d974f3b
[GH-4] feat: outsider directory shares show navigable breadcrumbs from share root (GH-4) 0e93d19
feat: replace expiry text input with dropdown (never/1h/1d/1w/1m/1y) 4a0f8ae
feat: per-row share icons on drives listing page dcc2fbc
[GH-4] feat: copy-key button, insider seeds for outsider URL auth (GH-4) aa4f42b
[GH-4] feat: remove key params from insider links — cookie auth makes them unnecessary (GH-4) 5509823
[GH-4] fix: share endpoint supports insider seeds and session cookie auth (GH-4) 4541572
[GH-5] Scrollbar under tabs, main as scroll container 65b4dcc
fix: wrap entire startup in try/catch, surface errors instead of silent exit 1913fe1
[GH-3] Log full body for unmatched events (remove 200-char truncation) 639c4df
[GH-3] Fix tsconfig, add prebuild clean, add tsconfig.eslint.json 8d08742
fix: mobile header — hide redundant share UI on directories, allow header wrapping (GH-4) 6306f27
[GH-5] Mobile TOC: hamburger menu left of Rendered/Raw tabs 4b00ff6
fix: header stretches to full content width when zoomed out bbebeec
[GH-3] Fix stan: add placeholder test, configure knip for in-progress refactor e91697d
chore: add tsdoc.json to both package roots 9ccf217
chore: add tsdoc.json to both package roots 173cf94
[GH-4] fix: serve favicon.svg route — was referenced in HTML but never served (GH-4) 5543ff8
chore: release @karmaniverous/jeeves-server v3.0.0-1 db96bc1
docs: document ?events=N query param on /api/status 4a25f3b
fix: set rootDir and update start script path for monorepo layout a2fd77c
fix: restore header share UI on directories — shares current page, not redundant with per-row icons 1f77d96
Reduce PDF/DOCX font sizes to 10pt base 2617ac9
fix: CI failures and SvgViewer panzoom re-init bug 7392712
fix: restore eager facet loading on modal open a625bd0
fix: resolve remaining lint errors (type annotations, unused params, unnecessary conditionals) e7714ae
[GH-4] fix: redirect URI uses Host header for correct port (GH-4) 2b6e43f
[GH-4] feat: Raw option in link dropdown for embeddable URLs (GH-4) 14098a0
chore: release @karmaniverous/jeeves-server-openclaw v0.1.1 abfee9f
fix: remove unnecessary auth from /api/status calls (endpoint is public) f651fe7
[GH-44] Add .export-cache/ to gitignore 80ade63
fix: update linux-compat CI for monorepo paths 22dd30f
Fix PDF font size - add 10pt to PDF-specific styles 18b3505
chore: release @karmaniverous/jeeves-server-openclaw v0.1.0-1 d08e571
chore: eliminate all lint warnings ed12c86
Fix raw download for markdown files 25952cd
fix: CI rimraf resolution and remove redundant client steps 757c45c
[GH-5] Fix mobile header overflow and simplify sticky layout 505bd5e
chore: release @karmaniverous/jeeves-server v3.0.0 ef408c3
[GH-5] Fix code block contrast in light mode 2051d65
chore: release @karmaniverous/jeeves-server-openclaw v0.1.0 bbeac17
chore: release v2.9.3 1475596
chore: release v2.9.2 d3db011
chore: release v2.9.1 d34fd62
chore: release v2.9.0 7cdc030
[GH-5] chore: bump version to 2.0.0 8864eaa
[GH-5] Fix CodeBlock component theme awareness 678b7bb
[GH-5] Fix TOC sidebar sticky position and anchor scroll offset 6f2aa3f
v1.1.0: TypeScript/Fastify refactor, event gateway, named keys with scopes f3711f8
[GH-3] fix build scripts: increase typecheck memory, ensure dist dir for lint, exclude dist from vitest d909a60
fix: make +N more chip overflow a clickable link that expands the result d56ed6a
fix: increase facets timeout to 15s, add error logging dfda5dd
fix: use type=number input for number facets c245b6a
[GH-5] fix: remove backtick pseudo-elements from inline code in prose f47cd60
[GH-5] fix: anchor scroll offset - use getBoundingClientRect relative to scroll container a8f5e0c
fix: close SearchableSelect dropdown on outside click (capture phase) f85d8dd
fix: server_browse and server_export route mismatches 82ef907
npm audit fix 2f3b5c8
[GH-46] GH-46: Enlarge search modal (max-w-4xl, 85vh, less top offset) 83d8ad2
[GH-5] fix: SVG fullscreen center/center - remove CSS centering, let Panzoom startX/startY handle positioning 54c5aca
[GH-5] Fix TOC sticky top to match header + tabs + gap (7rem) c0d1a40
publishconfig public access 8e4358c
[GH-5] Fix prose typography colors for light/dark mode 39ce6f9
fix: restore light mode text-foreground on Add Filter menu labels 9bb9c7f
fix: cap schema-driven facet chips to fields with ≤30 values de625e2
fix: add pattern to StatusResponse events type f64e6af
fix: normalize path for watcher render (Windows backslash + uppercase drive) f6c229d
zero version 2c0db75
fix: add missing return-await in facets handler b08d4a3
fix: remove unused parameter in linkInfo test 36fca9a
ci: add Node 24 to linux-compat matrix 66f1008
fix: adjust relative paths for monorepo dist/src/ layout dcaf9dc
fix: adjust rootDir depth for monorepo dist/src/config path 5427014
[GH-5] fix: prose width buttons only appear for rendered markdown, not SVG/Mermaid 4067119
[GH-5] docs: fix insider description — may be scoped, not always full access b481d3a
[GH-5] docs: mention front-end event link button in event gateway guide bdb203c
feat: replace expiry text input with dropdown (never/1h/1d/1w/1m/1y) b247aa3
Merge feature/GH-4-google-oauth: Google OAuth + per-row share icons 4706828
[GH-4] fix: session cookie secure flag for http dev 903e00f
Merge feature/GH-3-ts-refactor: TypeScript/Fastify refactor with event gateway and named keys a920a99
7 February 2026
8 March 2026
docs: guide index content + typedoc jsonl highlight #86
docs: refresh README + guides for v3 #85
feat: named access scopes #84
fix: plugin auth chain, status endpoint improvements #83
fix: resetConfig should reload, not clear #82
chore: integrate client as npm workspace member #81
fix: force white background in panzoom fullscreen (dark mode) #80
chore: make both packages releasable #79
fix: address Gemini code review feedback (PRs #65-#76) #78
chore: fix all gap analysis findings (10 items) #77
Phase 4, Steps 16-18: Document rendering pipeline #76
Phase 3, Steps 11-15: OpenClaw plugin #75
Phase 2, Steps 9-10: Search facets proxy + filter UI #74
Phase 2, Step 8: Scroll anchoring #73
chore: SOLID/DRY/coverage audit pass 2 #72
Phase 2, Step 7: Link availability endpoint #71
Phase 1, Step 6: Port migration #70
Phase 1, Step 5: Diagram dependency internalization #69
Phase 1, Step 4: Server Status API #68
Phase 1, Step 3: CLI commands #67
Phase 1, Step 2: Config migration (jiti → cosmiconfig) #66
Phase 1: Monorepo & Config (v3.0.0) #65
feat: align search browse filter with watcher domains convention #64
fix: exit edit mode after save #63
chore: add default port 1934 #62
chore: add default port 1934 #61
feat: render YAML frontmatter as code block #60
feat: add runner dashboard #59
fix: event queue byte/char cursor mismatch + postbuild client #52
fix: client TS errors + picomatch dot matching #51
[GH-46] Semantic search UI #47
[GH-44] Cache exports + Clear Cache control #45
GH-42: Unify raw view on CodeMirror 6 with code folding #43
GH-40: Retry button for failed inline diagram renders #41
GH-38: Terms of Service, Privacy Policy & search engine blocking #39
SOLID/DRY codebase audit — comprehensive refactor #37
feat: in-browser text editing (GH-30) #31
feat: Render embedded Mermaid/PlantUML code blocks (GH-23) #27
feat: Native PlantUML support (GH-22) #25
fix: case-insensitive email comparison for insider matching #24
refactor: Copy Raw Link builds /api/raw/ URL directly, remove raw=1 redirect #21
feat: raw=1 on /browse/* redirects to /api/raw/* for raw file delivery #20
fix: forward auth params on downloads, show error popup on failure #19
refactor: replace hand-rolled glob matching with picomatch #18
[GH-16] feat(GH-16): utility share-for endpoint + outsider policy #17
Allow/deny scopes for insiders and keys #15
GH-13: Linux compatibility #14
[GH-11] Deep share links with depth and directory controls #12
Fix PDF/DOCX export rendering #10
Decommission path routes #8
v2.0.0: React SPA migration #6
[GH-9] fix DOCX SVG export — render SVGs in clean isolated pages #9
[GH-9] fix DOCX SVG screenshot offset — use element.screenshot() instead of clip #9
[GH-9] fix SVG rendering in SPA and PDF/DOCX export issues #9
[GH-9] fix PDF/DOCX exports rendering panzoom container chrome #9
[GH-7] decommission /path routes — migrate to /api/raw, /api/export, /browse redirect #7
chore: add client as workspace member, align puppeteer versions 6e3a40d
updated docs 86d88c7
updated docs cbd8537
feat: implement OpenClaw plugin (Phase 3, Steps 11-15) 72a04e0
docs: refresh README and guides for v3 CLI + config e437387
fix: resolve all client ESLint errors and warnings 768541a
chore: release @karmaniverous/jeeves-server v3.0.0-0 07a6e47
chore: SOLID/DRY pass #3 + plugin test coverage 7dcc4c3
fix: resolve knip unused files, dependencies, and exports 964beba
chore: release @karmaniverous/jeeves-server-openclaw v0.1.0-0 b6c0f6d
docs: add typedoc config and dependencies 761bb8c
fix: address all gap analysis findings 1eb02ab
npm audit fix 3a144b4
feat: add GET /api/link-info endpoint 02ece39
test: add resolve.ts unit tests (21 tests) 7c988ef
docs: add guide index content and fix typedoc trailing comma 3844271
chore: add knip configs, remove dead exports, clean all code quality checks 2a81072
fix: address Gemini code review feedback across PRs #65-#76 2fef919
fix: make resetConfig reload runtime config 79e8602
refactor: extract shared renderMarkdownContent pipeline 244dddf
feat: schema-driven search facet filters (Step 10) c305c2a
updated docs 075a6f3
feat: add scroll anchoring for async diagram renders e4bd972
feat: document rendering pipeline (Phase 4, Steps 16-18) 56095ee
npm audit fix 3810c0f
chore: release @karmaniverous/jeeves-server v3.0.1 67cf001
lintfix 00dc2b2
feat: add GET /api/search/facets proxy endpoint 28fc200
ni e40deac
docs: add changelogs as children of package guide indexes fd16b5b
lintfix 38a9376
chore: add tsdoc.json to both package roots 9ccf217
chore: add tsdoc.json to both package roots 173cf94
chore: release @karmaniverous/jeeves-server v3.0.0-1 db96bc1
fix: resolve TS2352 warnings in openclaw test mocks 88950e2
fix: CI failures and SvgViewer panzoom re-init bug 7392712
fix: resolve remaining lint errors (type annotations, unused params, unnecessary conditionals) e7714ae
chore: release @karmaniverous/jeeves-server-openclaw v0.1.1 abfee9f
fix: remove unnecessary auth from /api/status calls (endpoint is public) f651fe7
chore: release @karmaniverous/jeeves-server-openclaw v0.1.0-1 d08e571
chore: eliminate all lint warnings ed12c86
fix: CI rimraf resolution and remove redundant client steps 757c45c
chore: release @karmaniverous/jeeves-server v3.0.0 ef408c3
chore: release @karmaniverous/jeeves-server-openclaw v0.1.0 bbeac17
npm audit fix 2f3b5c8
publishconfig public access 8e4358c
fix: add pattern to StatusResponse events type f64e6af
fix: normalize path for watcher render (Windows backslash + uppercase drive) f6c229d
zero version 2c0db75
merge: incorporate main (PR #77 gap-analysis) 845268d
[GH-5] feat: React + Vite scaffold with file browser, API endpoints, and SPA serving (GH-5) 6a8ffb5
[GH-5] Dropdown menus, TS config, state separation, local static assets 16f40b4
[GH-5] docs: add all guides - event gateway, exports, deployment, API integration 45e026a
[GH-5] docs: move requirements to .stan/system/stan.requirements.md, slim README 43214d0
[GH-5] docs: add setup and sharing guides, link from README ac32dc9
[GH-5] docs: update README to reflect current architecture - Fastify, Zod 4 config, React SPA, dual auth, prose width toggle e0da626
[GH-5] feat: per-row share icons on drives listing page (GH-5) 35a04a6
[GH-5] Fix header wrapping + unified fixed top bar 26baa15
[GH-5] feat: responsive header - single row wide, progressive collapse - Action bar wraps to row 2 below lg breakpoint - Info/theme fold into account menu below lg - Breadcrumbs scroll horizontally (hat pinned) - Thin scrollbar styling for breadcrumb overflow c20ea7a
[GH-5] Fixed header/tabs, key auth for SPA, dropdown hover variants 808c024
[GH-5] feat: replace expiry text input with dropdown (never/1h/1d/1w/1m/1y) (GH-5) 7691a69
[GH-5] Responsive header layout - two-row design 1c7fbda
[GH-5] feat: Panzoom for SVG images embedded in rendered markdown - Finds img tags with .svg sources in rendered articles - Fetches SVG content and replaces img with interactive Panzoom container - Scroll to zoom, drag to pan - Graceful fallback to original img on fetch failure 1cd0dd4
feat: replace expiry text input with dropdown (never/1h/1d/1w/1m/1y) 4a0f8ae
[GH-5] refactor: replace lodash with radash in event gateway JsonMap lib 5c2f322
feat: per-row share icons on drives listing page dcc2fbc
[GH-5] feat: fullscreen toggle for inline SVG Panzoom viewers 2806878
[GH-5] Scrollbar under tabs, main as scroll container 65b4dcc
[GH-5] fix: pre-process SVG to 100% width/height before render — prevents overflow on tab switch 3da142d
[GH-5] fix: SVG viewer zoom-to-fit — entire image visible in viewport, centered f0927ec
fix: wrap entire startup in try/catch, surface errors instead of silent exit 1913fe1
[GH-5] docs: Mermaid diagram for event gateway, link first repo references in guides 3c5e98e
[GH-5] docs: rewrite README - position as AI-to-business publishing bridge c6e7c6e
[GH-5] fix: remove fullscreen toggle from SVG viewer — rendered view is the experience f744eea
[GH-5] docs: replace ASCII access decision flow with Mermaid SVG in sharing guide f1455d0
[GH-5] feat: prose width toggle (narrow/wide) for rendered markdown 2e5f19f
fix: mobile header — hide redundant share UI on directories, allow header wrapping (GH-4) 6306f27
[GH-5] fix: SVG fullscreen fits drawing to viewport, allow zoom out feat: README prominently features Event Gateway 080161c
[GH-5] Mobile TOC: hamburger menu left of Rendered/Raw tabs 4b00ff6
fix: header stretches to full content width when zoomed out bbebeec
[GH-5] feat: add medium prose width option (three-way toggle) 2b3dad4
fix: restore header share UI on directories — shares current page, not redundant with per-row icons 1f77d96
[GH-5] docs: clarify key derivation in event gateway guide e03c97e
[GH-5] fix: defer SvgViewer Panzoom init to next frame — fixes tab switch overflow 39c28b5
[GH-5] Fix mobile header overflow and simplify sticky layout 505bd5e
[GH-5] fix: center SVG vertically and horizontally in fullscreen panzoom ec683bc
fix: use md:px-6 md:pt-6 instead of md:p-6 so pb-16 isn't overridden at md breakpoint 6b1c19f
fix: add pb-16 bottom padding to scroll containers for mobile browser chrome clearance 7319d00
fix: pass puppeteer.json config to mmdc for NSSM service compatibility 769610f
[GH-5] merge: resolve conflicts with main (keep feature branch for frozen server pages) 2c57b6f
[GH-5] Fix code block contrast in light mode 2051d65
[GH-5] chore: bump version to 2.0.0 8864eaa
[GH-5] Fix CodeBlock component theme awareness 678b7bb
[GH-5] Fix TOC sidebar sticky position and anchor scroll offset 6f2aa3f
[GH-5] fix: remove backtick pseudo-elements from inline code in prose f47cd60
[GH-5] fix: anchor scroll offset - use getBoundingClientRect relative to scroll container a8f5e0c
[GH-5] fix: SVG fullscreen center/center - remove CSS centering, let Panzoom startX/startY handle positioning 54c5aca
[GH-5] Fix TOC sticky top to match header + tabs + gap (7rem) c0d1a40
[GH-5] Fix prose typography colors for light/dark mode 39ce6f9
[GH-5] fix: prose width buttons only appear for rendered markdown, not SVG/Mermaid 4067119
[GH-5] docs: fix insider description — may be scoped, not always full access b481d3a
[GH-5] docs: mention front-end event link button in event gateway guide bdb203c
feat: replace expiry text input with dropdown (never/1h/1d/1w/1m/1y) b247aa3
Merge feature/GH-4-google-oauth: Google OAuth + per-row share icons 4706828
[GH-3] TypeScript refactor scaffolding and core modules 8dd0b92
feat: internalize diagram dependencies (mermaid/plantuml) 9c7f8a7
[GH-7] remove legacy server.js — replaced by src/server.ts 6a701e6
[GH-3] Decompose path route into sub-modules c369969
Add HTML wrapper for SVG files with proper constraints edf794b
[GH-3] Complete path and about routes ffef74a
GH-32 + GH-33: Diagram cache + lazy-load embedded diagrams 74b68be
[GH-3] implement event gateway with durable queue and logging 2eaef85
[GH-7] remove server-rendered about page, templates, and test PDFs bad31ca
[GH-46] GH-46: Semantic search — backend proxy + frontend modal 80383d1
refactor: monorepo scaffolding (Phase 1, Step 1) 15cf2ba
feat: migrate config from jiti/TS to cosmiconfig/JSON adfba33
[GH-4] feat: add Google OAuth and cookie sessions (GH-4) 89b6d72
[GH-3] Add comprehensive tests for util modules (crypto, formatters, fileDetection) 3536fdd
[GH-42] Replace highlight.js raw view with CodeMirror 6 read-only viewer 547315c
feat: add CLI commands (start, config validate/show, service) 0437984
[GH-3] Auth: multiple API key seeds with optional scopes (preserve HMAC model) 00b1e67
Document event gateway and config redesign in README 3f904ca
[GH-44] GH-44: Add export cache + Clear Cache endpoint and UI bf41cd0
[GH-4] feat: directory outsider links, new share UI, per-insider key age (GH-4) 4cbc001
[GH-42] Remove highlight.js — CM6 handles all syntax highlighting 52415ae
[GH-3] Fix lint errors 09d8c28
fix: cosmiconfig searchPlaces, SOLID/DRY pass, test coverage 08de751
feat: sortable columns on runner dashboard 023a473
feat: add GET /api/status endpoint 764c3a7
[GH-4] refactor: merge configs into jeeves.config.json (GH-4) dae22f9
chore: SOLID/DRY/test coverage pass e491bfb
[GH-4] feat: per-row share icons in directory listings — 🔗 page + ⬇ raw with shared expiry input (GH-4) f0e005e
[GH-46] GH-46: Date range filtering (relative + absolute) e775502
gitignores 601737f
refactor: extract buildRuntimeConfig to resolve.ts (DRY) 87bd749
[GH-4] feat: remove dangerous executable distinction — all files navigable and downloadable (GH-4) d974f3b
[GH-4] feat: outsider directory shares show navigable breadcrumbs from share root (GH-4) 0e93d19
[GH-44] Clear cache covers standalone diagram files (mmd/puml) 63ba5c8
Allow clickthrough on binary files, block only dangerous executables be338eb
[GH-4] feat: copy-key button, insider seeds for outsider URL auth (GH-4) aa4f42b
docs: add platform support section, sync requirements with GH-11 implementation, call out Linux as next-up 261ff4d
[GH-4] feat: remove key params from insider links — cookie auth makes them unnecessary (GH-4) 5509823
[GH-4] fix: share endpoint supports insider seeds and session cookie auth (GH-4) 4541572
[GH-40] Add retry button to failed inline diagram renders 1fe10bd
[GH-46] GH-46: Accordion chunks with scrollable container d9462e0
[GH-42] Fix DOCX code block rendering — per-line paragraphs with NBSP indent 61db677
fix: resolve package.json path portably for version 29d775c
[GH-3] Log full body for unmatched events (remove 200-char truncation) 639c4df
[GH-3] Fix tsconfig, add prebuild clean, add tsconfig.eslint.json 8d08742
[GH-40] Improve error message and add reload hint on retry failure b0c02c8
feat: render YAML frontmatter as code block in markdown view 3045a94
chore: migrate default port to 1934 4614a5f
Fix panzoom overlay sizing for tall SVGs - strip inline styles, size based on aspect ratio 1fabf75
fix: dark mode status pills via custom-variant 30454de
[GH-46] GH-46: Persistent search state + reset control 8fba6ea
[GH-3] Fix stan: add placeholder test, configure knip for in-progress refactor e91697d
Panzoom SVG overlay: pan/zoom wrapper div (overflow visible) to prevent initial right-shift e5d85c0
Simplify panzoom SVG sizing - use max-width/max-height constraints 9e61f4e
Fix zoom focal point: use margin centering instead of flex to avoid coordinate mismatch 96d170d
Fix panzoom overlay: calculate explicit pixel dimensions from viewBox to fit viewport 5f5d9ce
[GH-46] GH-46: File type (extension) filter chips fcab7b2
[GH-4] fix: serve favicon.svg route — was referenced in HTML but never served (GH-4) 5543ff8
[GH-42] Fix lint: unnecessary conditional in export.ts 528c740
[GH-42] Revert custom fold markers to basicSetup defaults 37fc320
chore: update repo description and add keywords to package.json 5130698
fix: set rootDir and update start script path for monorepo layout a2fd77c
Reduce PDF/DOCX font sizes to 10pt base 2617ac9
[GH-4] fix: redirect URI uses Host header for correct port (GH-4) 2b6e43f
[GH-4] feat: Raw option in link dropdown for embeddable URLs (GH-4) 14098a0
fix: header button hover in light mode - use white/10 overlay instead of accent bg eeb370c
Fix tall SVG diagrams: remove width=100% attr and inline max-width style e9557ff
[GH-44] Add .export-cache/ to gitignore 80ade63
fix: update linux-compat CI for monorepo paths 22dd30f
Fix PDF font size - add 10pt to PDF-specific styles 18b3505
Fix raw download for markdown files 25952cd
[GH-42] Skip CM6 for PDF/DOCX export — use plain pre/code blocks 6706f68
[GH-9] render DOCX SVGs at full page width (1152px) dbb5bae
Add top hat branding to outsider pages, improve filename display cacbb60
chore: release v2.9.3 1475596
chore: release v2.9.2 d3db011
chore: release v2.9.1 d34fd62
chore: release v2.9.0 7cdc030
chore: bump version to 2.6.0 7d54aa3
chore: bump version to 2.5.0 2c42e14
chore: bump version to 2.4.0 ddf9d87
fix: increase mobile bottom padding to pb-32 (8rem) e19b653
v1.1.0: TypeScript/Fastify refactor, event gateway, named keys with scopes f3711f8
[GH-3] fix build scripts: increase typecheck memory, ensure dist dir for lint, exclude dist from vitest d909a60
Add 'Jeeves Server' tooltip to top hat in all modes 26902d4
v1.0.1: Fix SVG panzoom overlay sizing and zoom focal point da64150
Serve SVG files as images, not as code bdb021f
Force SVG max-width with !important to override inline styles 2ac1093
[GH-46] GH-46: Enlarge search modal (max-w-4xl, 85vh, less top offset) 83d8ad2
Fix zoom focal point offset: attach wheel listener to panzoom target element b58f1b0
fix: add missing return-await in facets handler b08d4a3
fix: remove unused parameter in linkInfo test 36fca9a
ci: add Node 24 to linux-compat matrix 66f1008
fix: adjust relative paths for monorepo dist/src/ layout dcaf9dc
fix: adjust rootDir depth for monorepo dist/src/config path 5427014
[GH-9] render DOCX SVG screenshots at 2x device scale for crisp output 68c04f4
[GH-4] fix: session cookie secure flag for http dev 903e00f
Merge feature/GH-3-ts-refactor: TypeScript/Fastify refactor with event gateway and named keys a920a99
Force panzoom.reset() after init to ensure scale=1 991b9d2
Fix server.js template literal nesting bug 4e73f87
Force panzoom to start at scale=1 with no translation 6cbce2d
7 February 2026
8 March 2026
feat: named access scopes #84
fix: plugin auth chain, status endpoint improvements #83
fix: resetConfig should reload, not clear #82
chore: integrate client as npm workspace member #81
fix: force white background in panzoom fullscreen (dark mode) #80
chore: make both packages releasable #79
fix: address Gemini code review feedback (PRs #65-#76) #78
chore: fix all gap analysis findings (10 items) #77
Phase 4, Steps 16-18: Document rendering pipeline #76
Phase 3, Steps 11-15: OpenClaw plugin #75
Phase 2, Steps 9-10: Search facets proxy + filter UI #74
Phase 2, Step 8: Scroll anchoring #73
chore: SOLID/DRY/coverage audit pass 2 #72
Phase 2, Step 7: Link availability endpoint #71
Phase 1, Step 6: Port migration #70
Phase 1, Step 5: Diagram dependency internalization #69
Phase 1, Step 4: Server Status API #68
Phase 1, Step 3: CLI commands #67
Phase 1, Step 2: Config migration (jiti → cosmiconfig) #66
Phase 1: Monorepo & Config (v3.0.0) #65
feat: align search browse filter with watcher domains convention #64
fix: exit edit mode after save #63
chore: add default port 1934 #62
chore: add default port 1934 #61
feat: render YAML frontmatter as code block #60
feat: add runner dashboard #59
fix: event queue byte/char cursor mismatch + postbuild client #52
fix: client TS errors + picomatch dot matching #51
[GH-46] Semantic search UI #47
[GH-44] Cache exports + Clear Cache control #45
GH-42: Unify raw view on CodeMirror 6 with code folding #43
GH-40: Retry button for failed inline diagram renders #41
GH-38: Terms of Service, Privacy Policy & search engine blocking #39
SOLID/DRY codebase audit — comprehensive refactor #37
feat: in-browser text editing (GH-30) #31
feat: Render embedded Mermaid/PlantUML code blocks (GH-23) #27
feat: Native PlantUML support (GH-22) #25
fix: case-insensitive email comparison for insider matching #24
refactor: Copy Raw Link builds /api/raw/ URL directly, remove raw=1 redirect #21
feat: raw=1 on /browse/* redirects to /api/raw/* for raw file delivery #20
fix: forward auth params on downloads, show error popup on failure #19
refactor: replace hand-rolled glob matching with picomatch #18
[GH-16] feat(GH-16): utility share-for endpoint + outsider policy #17
Allow/deny scopes for insiders and keys #15
GH-13: Linux compatibility #14
[GH-11] Deep share links with depth and directory controls #12
Fix PDF/DOCX export rendering #10
Decommission path routes #8
v2.0.0: React SPA migration #6
[GH-9] fix DOCX SVG export — render SVGs in clean isolated pages #9
[GH-9] fix DOCX SVG screenshot offset — use element.screenshot() instead of clip #9
[GH-9] fix SVG rendering in SPA and PDF/DOCX export issues #9
[GH-9] fix PDF/DOCX exports rendering panzoom container chrome #9
[GH-7] decommission /path routes — migrate to /api/raw, /api/export, /browse redirect #7
chore: add client as workspace member, align puppeteer versions 6e3a40d
feat: internalize diagram dependencies (mermaid/plantuml) 9c7f8a7
feat: implement OpenClaw plugin (Phase 3, Steps 11-15) 72a04e0
feat: migrate config from jiti/TS to cosmiconfig/JSON adfba33
fix: resolve all client ESLint errors and warnings 768541a
chore: release @karmaniverous/jeeves-server v3.0.0-0 07a6e47
chore: SOLID/DRY pass #3 + plugin test coverage 7dcc4c3
feat: add CLI commands (start, config validate/show, service) 0437984
fix: resolve knip unused files, dependencies, and exports 964beba
chore: release @karmaniverous/jeeves-server-openclaw v0.1.0-0 b6c0f6d
fix: address all gap analysis findings 1eb02ab
npm audit fix 3a144b4
feat: add GET /api/link-info endpoint 02ece39
test: add resolve.ts unit tests (21 tests) 7c988ef
fix: cosmiconfig searchPlaces, SOLID/DRY pass, test coverage 08de751
feat: add GET /api/status endpoint 764c3a7
chore: SOLID/DRY/test coverage pass e491bfb
refactor: extract buildRuntimeConfig to resolve.ts (DRY) 87bd749
chore: add knip configs, remove dead exports, clean all code quality checks 2a81072
fix: address Gemini code review feedback across PRs #65-#76 2fef919
fix: make resetConfig reload runtime config 79e8602
refactor: extract shared renderMarkdownContent pipeline 244dddf
feat: schema-driven search facet filters (Step 10) c305c2a
feat: add scroll anchoring for async diagram renders e4bd972
feat: document rendering pipeline (Phase 4, Steps 16-18) 56095ee
npm audit fix 3810c0f
lintfix 00dc2b2
fix: resolve package.json path portably for version 29d775c
feat: add GET /api/search/facets proxy endpoint 28fc200
ni e40deac
lintfix 38a9376
chore: migrate default port to 1934 4614a5f
chore: add tsdoc.json to both package roots 9ccf217
chore: add tsdoc.json to both package roots 173cf94
chore: release @karmaniverous/jeeves-server v3.0.0-1 db96bc1
fix: resolve TS2352 warnings in openclaw test mocks 88950e2
fix: CI failures and SvgViewer panzoom re-init bug 7392712
fix: resolve remaining lint errors (type annotations, unused params, unnecessary conditionals) e7714ae
fix: remove unnecessary auth from /api/status calls (endpoint is public) f651fe7
chore: release @karmaniverous/jeeves-server-openclaw v0.1.0-1 d08e571
chore: eliminate all lint warnings ed12c86
fix: CI rimraf resolution and remove redundant client steps 757c45c
chore: release @karmaniverous/jeeves-server-openclaw v0.1.0 bbeac17
publishconfig public access 8e4358c
fix: add pattern to StatusResponse events type f64e6af
fix: normalize path for watcher render (Windows backslash + uppercase drive) f6c229d
zero version 2c0db75
merge: incorporate main (PR #77 gap-analysis) 845268d
[GH-7] remove legacy server.js — replaced by src/server.ts 6a701e6
GH-32 + GH-33: Diagram cache + lazy-load embedded diagrams 74b68be
[GH-7] remove server-rendered about page, templates, and test PDFs bad31ca
[GH-46] GH-46: Semantic search — backend proxy + frontend modal 80383d1
refactor: monorepo scaffolding (Phase 1, Step 1) 15cf2ba
[GH-42] Replace highlight.js raw view with CodeMirror 6 read-only viewer 547315c
[GH-44] GH-44: Add export cache + Clear Cache endpoint and UI bf41cd0
[GH-42] Remove highlight.js — CM6 handles all syntax highlighting 52415ae
feat: sortable columns on runner dashboard 023a473
[GH-46] GH-46: Date range filtering (relative + absolute) e775502
gitignores 601737f
[GH-44] Clear cache covers standalone diagram files (mmd/puml) 63ba5c8
docs: add platform support section, sync requirements with GH-11 implementation, call out Linux as next-up 261ff4d
[GH-40] Add retry button to failed inline diagram renders 1fe10bd
[GH-46] GH-46: Accordion chunks with scrollable container d9462e0
[GH-5] fix: pre-process SVG to 100% width/height before render — prevents overflow on tab switch 3da142d
[GH-42] Fix DOCX code block rendering — per-line paragraphs with NBSP indent 61db677
[GH-40] Improve error message and add reload hint on retry failure b0c02c8
feat: render YAML frontmatter as code block in markdown view 3045a94
fix: dark mode status pills via custom-variant 30454de
[GH-46] GH-46: Persistent search state + reset control 8fba6ea
[GH-46] GH-46: File type (extension) filter chips fcab7b2
[GH-42] Fix lint: unnecessary conditional in export.ts 528c740
[GH-42] Revert custom fold markers to basicSetup defaults 37fc320
chore: update repo description and add keywords to package.json 5130698
fix: set rootDir and update start script path for monorepo layout a2fd77c
fix: header button hover in light mode - use white/10 overlay instead of accent bg eeb370c
[GH-44] Add .export-cache/ to gitignore 80ade63
fix: update linux-compat CI for monorepo paths 22dd30f
[GH-5] fix: defer SvgViewer Panzoom init to next frame — fixes tab switch overflow 39c28b5
[GH-42] Skip CM6 for PDF/DOCX export — use plain pre/code blocks 6706f68
[GH-9] render DOCX SVGs at full page width (1152px) dbb5bae
chore: release v2.9.3 1475596
chore: release v2.9.2 d3db011
chore: release v2.9.1 d34fd62
chore: release v2.9.0 7cdc030
chore: bump version to 2.6.0 7d54aa3
chore: bump version to 2.5.0 2c42e14
chore: bump version to 2.4.0 ddf9d87
fix: increase mobile bottom padding to pb-32 (8rem) e19b653
fix: use md:px-6 md:pt-6 instead of md:p-6 so pb-16 isn't overridden at md breakpoint 6b1c19f
fix: add pb-16 bottom padding to scroll containers for mobile browser chrome clearance 7319d00
fix: pass puppeteer.json config to mmdc for NSSM service compatibility 769610f
[GH-5] chore: bump version to 2.0.0 8864eaa
[GH-46] GH-46: Enlarge search modal (max-w-4xl, 85vh, less top offset) 83d8ad2
fix: add missing return-await in facets handler b08d4a3
fix: remove unused parameter in linkInfo test 36fca9a
ci: add Node 24 to linux-compat matrix 66f1008
fix: adjust relative paths for monorepo dist/src/ layout dcaf9dc
fix: adjust rootDir depth for monorepo dist/src/config path 5427014
[GH-9] render DOCX SVG screenshots at 2x device scale for crisp output 68c04f4
[GH-5] merge: resolve conflicts with main (keep feature branch for frozen server pages) 2c57b6f
[GH-5] feat: React + Vite scaffold with file browser, API endpoints, and SPA serving (GH-5) 6a8ffb5
[GH-5] Dropdown menus, TS config, state separation, local static assets 16f40b4
[GH-5] docs: add all guides - event gateway, exports, deployment, API integration 45e026a
[GH-5] docs: move requirements to .stan/system/stan.requirements.md, slim README 43214d0
[GH-5] docs: add setup and sharing guides, link from README ac32dc9
[GH-5] docs: update README to reflect current architecture - Fastify, Zod 4 config, React SPA, dual auth, prose width toggle e0da626
[GH-5] feat: per-row share icons on drives listing page (GH-5) 35a04a6
[GH-5] Fix header wrapping + unified fixed top bar 26baa15
[GH-5] feat: responsive header - single row wide, progressive collapse - Action bar wraps to row 2 below lg breakpoint - Info/theme fold into account menu below lg - Breadcrumbs scroll horizontally (hat pinned) - Thin scrollbar styling for breadcrumb overflow c20ea7a
[GH-4] feat: per-row share icons in directory listings — 🔗 page + ⬇ raw with shared expiry input (GH-4) f0e005e
[GH-5] Fixed header/tabs, key auth for SPA, dropdown hover variants 808c024
[GH-5] feat: replace expiry text input with dropdown (never/1h/1d/1w/1m/1y) (GH-5) 7691a69
[GH-5] Responsive header layout - two-row design 1c7fbda
[GH-5] feat: Panzoom for SVG images embedded in rendered markdown - Finds img tags with .svg sources in rendered articles - Fetches SVG content and replaces img with interactive Panzoom container - Scroll to zoom, drag to pan - Graceful fallback to original img on fetch failure 1cd0dd4
feat: replace expiry text input with dropdown (never/1h/1d/1w/1m/1y) 4a0f8ae
[GH-5] refactor: replace lodash with radash in event gateway JsonMap lib 5c2f322
feat: per-row share icons on drives listing page dcc2fbc
[GH-4] feat: remove key params from insider links — cookie auth makes them unnecessary (GH-4) 5509823
[GH-5] feat: fullscreen toggle for inline SVG Panzoom viewers 2806878
[GH-5] Scrollbar under tabs, main as scroll container 65b4dcc
[GH-5] fix: SVG viewer zoom-to-fit — entire image visible in viewport, centered f0927ec
fix: wrap entire startup in try/catch, surface errors instead of silent exit 1913fe1
[GH-5] docs: Mermaid diagram for event gateway, link first repo references in guides 3c5e98e
[GH-5] docs: rewrite README - position as AI-to-business publishing bridge c6e7c6e
[GH-5] fix: remove fullscreen toggle from SVG viewer — rendered view is the experience f744eea
[GH-5] docs: replace ASCII access decision flow with Mermaid SVG in sharing guide f1455d0
[GH-5] feat: prose width toggle (narrow/wide) for rendered markdown 2e5f19f
fix: mobile header — hide redundant share UI on directories, allow header wrapping (GH-4) 6306f27
[GH-5] fix: SVG fullscreen fits drawing to viewport, allow zoom out feat: README prominently features Event Gateway 080161c
[GH-5] Mobile TOC: hamburger menu left of Rendered/Raw tabs 4b00ff6
fix: header stretches to full content width when zoomed out bbebeec
[GH-5] feat: add medium prose width option (three-way toggle) 2b3dad4
[GH-4] fix: serve favicon.svg route — was referenced in HTML but never served (GH-4) 5543ff8
fix: restore header share UI on directories — shares current page, not redundant with per-row icons 1f77d96
[GH-5] docs: clarify key derivation in event gateway guide e03c97e
[GH-5] Fix mobile header overflow and simplify sticky layout 505bd5e
[GH-5] fix: center SVG vertically and horizontally in fullscreen panzoom ec683bc
[GH-5] Fix code block contrast in light mode 2051d65
[GH-5] Fix CodeBlock component theme awareness 678b7bb
[GH-5] Fix TOC sidebar sticky position and anchor scroll offset 6f2aa3f
[GH-5] fix: remove backtick pseudo-elements from inline code in prose f47cd60
[GH-5] fix: anchor scroll offset - use getBoundingClientRect relative to scroll container a8f5e0c
[GH-5] fix: SVG fullscreen center/center - remove CSS centering, let Panzoom startX/startY handle positioning 54c5aca
[GH-5] Fix TOC sticky top to match header + tabs + gap (7rem) c0d1a40
[GH-5] Fix prose typography colors for light/dark mode 39ce6f9
[GH-5] fix: prose width buttons only appear for rendered markdown, not SVG/Mermaid 4067119
[GH-5] docs: fix insider description — may be scoped, not always full access b481d3a
[GH-5] docs: mention front-end event link button in event gateway guide bdb203c
feat: replace expiry text input with dropdown (never/1h/1d/1w/1m/1y) b247aa3
Merge feature/GH-4-google-oauth: Google OAuth + per-row share icons 4706828
[GH-3] TypeScript refactor scaffolding and core modules 8dd0b92
[GH-3] Decompose path route into sub-modules c369969
Add HTML wrapper for SVG files with proper constraints edf794b
[GH-3] Complete path and about routes ffef74a
[GH-3] implement event gateway with durable queue and logging 2eaef85
[GH-4] feat: add Google OAuth and cookie sessions (GH-4) 89b6d72
[GH-3] Add comprehensive tests for util modules (crypto, formatters, fileDetection) 3536fdd
[GH-3] Auth: multiple API key seeds with optional scopes (preserve HMAC model) 00b1e67
Document event gateway and config redesign in README 3f904ca
[GH-4] feat: directory outsider links, new share UI, per-insider key age (GH-4) 4cbc001
[GH-3] Fix lint errors 09d8c28
[GH-4] refactor: merge configs into jeeves.config.json (GH-4) dae22f9
[GH-4] feat: remove dangerous executable distinction — all files navigable and downloadable (GH-4) d974f3b
[GH-4] feat: outsider directory shares show navigable breadcrumbs from share root (GH-4) 0e93d19
Fix DOCX image sizing: preserve aspect ratio within max bounds 9755b15
Allow clickthrough on binary files, block only dangerous executables be338eb
[GH-4] feat: copy-key button, insider seeds for outsider URL auth (GH-4) aa4f42b
[GH-4] fix: share endpoint supports insider seeds and session cookie auth (GH-4) 4541572
[GH-3] Log full body for unmatched events (remove 200-char truncation) 639c4df
docs: add integration guide for other projects 4512d9b
[GH-3] Fix tsconfig, add prebuild clean, add tsconfig.eslint.json 8d08742
feat: detect text files by content (null bytes) instead of extension whitelist cf8c99a
Fix panzoom overlay sizing for tall SVGs - strip inline styles, size based on aspect ratio 1fabf75
[GH-3] Fix stan: add placeholder test, configure knip for in-progress refactor e91697d
Panzoom SVG overlay: pan/zoom wrapper div (overflow visible) to prevent initial right-shift e5d85c0
Simplify panzoom SVG sizing - use max-width/max-height constraints 9e61f4e
Fix zoom focal point: use margin centering instead of flex to avoid coordinate mismatch 96d170d
Fix panzoom overlay: calculate explicit pixel dimensions from viewBox to fit viewport 5f5d9ce
fix: constrain images to fit within page dimensions in PDF/DOCX export 2e47e5a
Reduce PDF/DOCX font sizes to 10pt base 2617ac9
fix: preserve image aspect ratio in PDF/DOCX export ee60f23
[GH-4] fix: redirect URI uses Host header for correct port (GH-4) 2b6e43f
[GH-4] feat: Raw option in link dropdown for embeddable URLs (GH-4) 14098a0
Fix tall SVG diagrams: remove width=100% attr and inline max-width style e9557ff
Fix PDF font size - add 10pt to PDF-specific styles 18b3505
fix: constrain SVGs and images to page dimensions for PDF export 10993c7
Fix raw download for markdown files 25952cd
Add top hat branding to outsider pages, improve filename display cacbb60
v1.1.0: TypeScript/Fastify refactor, event gateway, named keys with scopes f3711f8
Add 'Jeeves Server' tooltip to top hat in all modes 26902d4
v1.0.1: Fix SVG panzoom overlay sizing and zoom focal point da64150
[GH-4] fix: session cookie secure flag for http dev 903e00f
Merge feature/GH-3-ts-refactor: TypeScript/Fastify refactor with event gateway and named keys a920a99
[GH-3] fix build scripts: increase typecheck memory, ensure dist dir for lint, exclude dist from vitest d909a60
Serve SVG files as images, not as code bdb021f
Force SVG max-width with !important to override inline styles 2ac1093
Fix zoom focal point offset: attach wheel listener to panzoom target element b58f1b0
Force panzoom.reset() after init to ensure scale=1 991b9d2
Fix server.js template literal nesting bug 4e73f87
Force panzoom to start at scale=1 with no translation 6cbce2d
7 February 2026
8 March 2026
feat: named access scopes #84
fix: plugin auth chain, status endpoint improvements #83
fix: resetConfig should reload, not clear #82
chore: add knip configs, remove dead exports, clean all code quality checks 2a81072
fix: make resetConfig reload runtime config 79e8602
lintfix 00dc2b2
lintfix 38a9376
chore: release @karmaniverous/jeeves-server v3.0.0-1 db96bc1
fix: resolve remaining lint errors (type annotations, unused params, unnecessary conditionals) e7714ae
fix: remove unnecessary auth from /api/status calls (endpoint is public) f651fe7
chore: release @karmaniverous/jeeves-server-openclaw v0.1.0-1 d08e571
fix: add pattern to StatusResponse events type f64e6af
fix: normalize path for watcher render (Windows backslash + uppercase drive) f6c229d
openclaw/0.1.0-0
8 March 2026
chore: integrate client as npm workspace member #81
fix: force white background in panzoom fullscreen (dark mode) #80
chore: make both packages releasable #79
fix: address Gemini code review feedback (PRs #65-#76) #78
chore: fix all gap analysis findings (10 items) #77
Phase 4, Steps 16-18: Document rendering pipeline #76
Phase 3, Steps 11-15: OpenClaw plugin #75
Phase 2, Steps 9-10: Search facets proxy + filter UI #74
Phase 2, Step 8: Scroll anchoring #73
chore: SOLID/DRY/coverage audit pass 2 #72
Phase 2, Step 7: Link availability endpoint #71
Phase 1, Step 6: Port migration #70
Phase 1, Step 5: Diagram dependency internalization #69
Phase 1, Step 4: Server Status API #68
Phase 1, Step 3: CLI commands #67
Phase 1, Step 2: Config migration (jiti → cosmiconfig) #66
Phase 1: Monorepo & Config (v3.0.0) #65
feat: align search browse filter with watcher domains convention #64
fix: exit edit mode after save #63
chore: add default port 1934 #62
chore: add default port 1934 #61
feat: render YAML frontmatter as code block #60
feat: add runner dashboard #59
fix: event queue byte/char cursor mismatch + postbuild client #52
fix: client TS errors + picomatch dot matching #51
[GH-46] Semantic search UI #47
[GH-44] Cache exports + Clear Cache control #45
GH-42: Unify raw view on CodeMirror 6 with code folding #43
GH-40: Retry button for failed inline diagram renders #41
GH-38: Terms of Service, Privacy Policy & search engine blocking #39
SOLID/DRY codebase audit — comprehensive refactor #37
feat: in-browser text editing (GH-30) #31
feat: Render embedded Mermaid/PlantUML code blocks (GH-23) #27
feat: Native PlantUML support (GH-22) #25
fix: case-insensitive email comparison for insider matching #24
refactor: Copy Raw Link builds /api/raw/ URL directly, remove raw=1 redirect #21
feat: raw=1 on /browse/* redirects to /api/raw/* for raw file delivery #20
fix: forward auth params on downloads, show error popup on failure #19
refactor: replace hand-rolled glob matching with picomatch #18
[GH-16] feat(GH-16): utility share-for endpoint + outsider policy #17
Allow/deny scopes for insiders and keys #15
GH-13: Linux compatibility #14
[GH-11] Deep share links with depth and directory controls #12
Fix PDF/DOCX export rendering #10
Decommission path routes #8
v2.0.0: React SPA migration #6
[GH-9] fix DOCX SVG export — render SVGs in clean isolated pages #9
[GH-9] fix DOCX SVG screenshot offset — use element.screenshot() instead of clip #9
[GH-9] fix SVG rendering in SPA and PDF/DOCX export issues #9
[GH-9] fix PDF/DOCX exports rendering panzoom container chrome #9
[GH-7] decommission /path routes — migrate to /api/raw, /api/export, /browse redirect #7
chore: add client as workspace member, align puppeteer versions 6e3a40d
feat: internalize diagram dependencies (mermaid/plantuml) 9c7f8a7
feat: implement OpenClaw plugin (Phase 3, Steps 11-15) 72a04e0
refactor: monorepo scaffolding (Phase 1, Step 1) 15cf2ba
feat: migrate config from jiti/TS to cosmiconfig/JSON adfba33
fix: resolve all client ESLint errors and warnings 768541a
chore: release @karmaniverous/jeeves-server v3.0.0-0 07a6e47
chore: SOLID/DRY pass #3 + plugin test coverage 7dcc4c3
feat: add CLI commands (start, config validate/show, service) 0437984
fix: resolve knip unused files, dependencies, and exports 964beba
chore: release @karmaniverous/jeeves-server-openclaw v0.1.0-0 b6c0f6d
fix: address all gap analysis findings 1eb02ab
npm audit fix 3a144b4
feat: add GET /api/link-info endpoint 02ece39
test: add resolve.ts unit tests (21 tests) 7c988ef
fix: cosmiconfig searchPlaces, SOLID/DRY pass, test coverage 08de751
feat: sortable columns on runner dashboard 023a473
feat: add GET /api/status endpoint 764c3a7
chore: SOLID/DRY/test coverage pass e491bfb
[GH-46] GH-46: Date range filtering (relative + absolute) e775502
gitignores 601737f
refactor: extract buildRuntimeConfig to resolve.ts (DRY) 87bd749
fix: address Gemini code review feedback across PRs #65-#76 2fef919
refactor: extract shared renderMarkdownContent pipeline 244dddf
feat: schema-driven search facet filters (Step 10) c305c2a
feat: add scroll anchoring for async diagram renders e4bd972
feat: document rendering pipeline (Phase 4, Steps 16-18) 56095ee
npm audit fix 3810c0f
fix: resolve package.json path portably for version 29d775c
feat: add GET /api/search/facets proxy endpoint 28fc200
ni e40deac
feat: render YAML frontmatter as code block in markdown view 3045a94
chore: migrate default port to 1934 4614a5f
fix: dark mode status pills via custom-variant 30454de
[GH-46] GH-46: Persistent search state + reset control 8fba6ea
chore: add tsdoc.json to both package roots 9ccf217
chore: add tsdoc.json to both package roots 173cf94
fix: set rootDir and update start script path for monorepo layout a2fd77c
fix: resolve TS2352 warnings in openclaw test mocks 88950e2
fix: CI failures and SvgViewer panzoom re-init bug 7392712
fix: update linux-compat CI for monorepo paths 22dd30f
chore: eliminate all lint warnings ed12c86
fix: CI rimraf resolution and remove redundant client steps 757c45c
chore: release v2.9.3 1475596
publishconfig public access 8e4358c
zero version 2c0db75
merge: incorporate main (PR #77 gap-analysis) 845268d
[GH-7] remove legacy server.js — replaced by src/server.ts 6a701e6
GH-32 + GH-33: Diagram cache + lazy-load embedded diagrams 74b68be
[GH-5] docs: add all guides - event gateway, exports, deployment, API integration 45e026a
[GH-7] remove server-rendered about page, templates, and test PDFs bad31ca
[GH-46] GH-46: Semantic search — backend proxy + frontend modal 80383d1
[GH-5] docs: move requirements to .stan/system/stan.requirements.md, slim README 43214d0
[GH-5] docs: add setup and sharing guides, link from README ac32dc9
[GH-5] docs: update README to reflect current architecture - Fastify, Zod 4 config, React SPA, dual auth, prose width toggle e0da626
[GH-42] Replace highlight.js raw view with CodeMirror 6 read-only viewer 547315c
[GH-44] GH-44: Add export cache + Clear Cache endpoint and UI bf41cd0
[GH-42] Remove highlight.js — CM6 handles all syntax highlighting 52415ae
[GH-5] feat: responsive header - single row wide, progressive collapse - Action bar wraps to row 2 below lg breakpoint - Info/theme fold into account menu below lg - Breadcrumbs scroll horizontally (hat pinned) - Thin scrollbar styling for breadcrumb overflow c20ea7a
[GH-5] feat: Panzoom for SVG images embedded in rendered markdown - Finds img tags with .svg sources in rendered articles - Fetches SVG content and replaces img with interactive Panzoom container - Scroll to zoom, drag to pan - Graceful fallback to original img on fetch failure 1cd0dd4
[GH-44] Clear cache covers standalone diagram files (mmd/puml) 63ba5c8
[GH-5] refactor: replace lodash with radash in event gateway JsonMap lib 5c2f322
docs: add platform support section, sync requirements with GH-11 implementation, call out Linux as next-up 261ff4d
[GH-40] Add retry button to failed inline diagram renders 1fe10bd
[GH-5] feat: fullscreen toggle for inline SVG Panzoom viewers 2806878
[GH-46] GH-46: Accordion chunks with scrollable container d9462e0
[GH-5] fix: pre-process SVG to 100% width/height before render — prevents overflow on tab switch 3da142d
[GH-5] fix: SVG viewer zoom-to-fit — entire image visible in viewport, centered f0927ec
[GH-42] Fix DOCX code block rendering — per-line paragraphs with NBSP indent 61db677
[GH-5] docs: Mermaid diagram for event gateway, link first repo references in guides 3c5e98e
[GH-5] docs: rewrite README - position as AI-to-business publishing bridge c6e7c6e
[GH-5] fix: remove fullscreen toggle from SVG viewer — rendered view is the experience f744eea
[GH-5] docs: replace ASCII access decision flow with Mermaid SVG in sharing guide f1455d0
[GH-40] Improve error message and add reload hint on retry failure b0c02c8
[GH-5] fix: SVG fullscreen fits drawing to viewport, allow zoom out feat: README prominently features Event Gateway 080161c
[GH-46] GH-46: File type (extension) filter chips fcab7b2
[GH-5] feat: add medium prose width option (three-way toggle) 2b3dad4
[GH-42] Fix lint: unnecessary conditional in export.ts 528c740
[GH-42] Revert custom fold markers to basicSetup defaults 37fc320
chore: update repo description and add keywords to package.json 5130698
fix: header button hover in light mode - use white/10 overlay instead of accent bg eeb370c
[GH-44] Add .export-cache/ to gitignore 80ade63
[GH-5] docs: clarify key derivation in event gateway guide e03c97e
[GH-5] fix: defer SvgViewer Panzoom init to next frame — fixes tab switch overflow 39c28b5
[GH-42] Skip CM6 for PDF/DOCX export — use plain pre/code blocks 6706f68
[GH-9] render DOCX SVGs at full page width (1152px) dbb5bae
[GH-5] fix: center SVG vertically and horizontally in fullscreen panzoom ec683bc
chore: release v2.9.2 d3db011
chore: release v2.9.1 d34fd62
chore: release v2.9.0 7cdc030
chore: bump version to 2.6.0 7d54aa3
chore: bump version to 2.5.0 2c42e14
chore: bump version to 2.4.0 ddf9d87
fix: increase mobile bottom padding to pb-32 (8rem) e19b653
fix: use md:px-6 md:pt-6 instead of md:p-6 so pb-16 isn't overridden at md breakpoint 6b1c19f
fix: add pb-16 bottom padding to scroll containers for mobile browser chrome clearance 7319d00
fix: pass puppeteer.json config to mmdc for NSSM service compatibility 769610f
[GH-9] render DOCX SVG screenshots at 2x device scale for crisp output 68c04f4
[GH-5] merge: resolve conflicts with main (keep feature branch for frozen server pages) 2c57b6f
[GH-3] TypeScript refactor scaffolding and core modules 8dd0b92
[GH-5] feat: React + Vite scaffold with file browser, API endpoints, and SPA serving (GH-5) 6a8ffb5
[GH-5] Dropdown menus, TS config, state separation, local static assets 16f40b4
[GH-3] Decompose path route into sub-modules c369969
[GH-3] Complete path and about routes ffef74a
[GH-3] implement event gateway with durable queue and logging 2eaef85
[GH-4] feat: add Google OAuth and cookie sessions (GH-4) 89b6d72
[GH-3] Add comprehensive tests for util modules (crypto, formatters, fileDetection) 3536fdd
[GH-5] feat: per-row share icons on drives listing page (GH-5) 35a04a6
[GH-3] Auth: multiple API key seeds with optional scopes (preserve HMAC model) 00b1e67
Document event gateway and config redesign in README 3f904ca
[GH-4] feat: directory outsider links, new share UI, per-insider key age (GH-4) 4cbc001
[GH-5] Fix header wrapping + unified fixed top bar 26baa15
[GH-3] Fix lint errors 09d8c28
[GH-4] refactor: merge configs into jeeves.config.json (GH-4) dae22f9
[GH-4] feat: per-row share icons in directory listings — 🔗 page + ⬇ raw with shared expiry input (GH-4) f0e005e
[GH-5] Fixed header/tabs, key auth for SPA, dropdown hover variants 808c024
[GH-5] feat: replace expiry text input with dropdown (never/1h/1d/1w/1m/1y) (GH-5) 7691a69
[GH-4] feat: remove dangerous executable distinction — all files navigable and downloadable (GH-4) d974f3b
[GH-4] feat: outsider directory shares show navigable breadcrumbs from share root (GH-4) 0e93d19
[GH-5] Responsive header layout - two-row design 1c7fbda
feat: replace expiry text input with dropdown (never/1h/1d/1w/1m/1y) 4a0f8ae
feat: per-row share icons on drives listing page dcc2fbc
[GH-4] feat: copy-key button, insider seeds for outsider URL auth (GH-4) aa4f42b
[GH-4] feat: remove key params from insider links — cookie auth makes them unnecessary (GH-4) 5509823
[GH-4] fix: share endpoint supports insider seeds and session cookie auth (GH-4) 4541572
[GH-5] Scrollbar under tabs, main as scroll container 65b4dcc
fix: wrap entire startup in try/catch, surface errors instead of silent exit 1913fe1
[GH-3] Log full body for unmatched events (remove 200-char truncation) 639c4df
[GH-3] Fix tsconfig, add prebuild clean, add tsconfig.eslint.json 8d08742
[GH-5] feat: prose width toggle (narrow/wide) for rendered markdown 2e5f19f
fix: mobile header — hide redundant share UI on directories, allow header wrapping (GH-4) 6306f27
[GH-5] Mobile TOC: hamburger menu left of Rendered/Raw tabs 4b00ff6
fix: header stretches to full content width when zoomed out bbebeec
[GH-3] Fix stan: add placeholder test, configure knip for in-progress refactor e91697d
[GH-4] fix: serve favicon.svg route — was referenced in HTML but never served (GH-4) 5543ff8
fix: restore header share UI on directories — shares current page, not redundant with per-row icons 1f77d96
Reduce PDF/DOCX font sizes to 10pt base 2617ac9
[GH-4] fix: redirect URI uses Host header for correct port (GH-4) 2b6e43f
[GH-4] feat: Raw option in link dropdown for embeddable URLs (GH-4) 14098a0
Fix PDF font size - add 10pt to PDF-specific styles 18b3505
Fix raw download for markdown files 25952cd
[GH-5] Fix mobile header overflow and simplify sticky layout 505bd5e
Add top hat branding to outsider pages, improve filename display cacbb60
[GH-5] Fix code block contrast in light mode 2051d65
[GH-5] Fix CodeBlock component theme awareness 678b7bb
[GH-5] Fix TOC sidebar sticky position and anchor scroll offset 6f2aa3f
v1.1.0: TypeScript/Fastify refactor, event gateway, named keys with scopes f3711f8
[GH-3] fix build scripts: increase typecheck memory, ensure dist dir for lint, exclude dist from vitest d909a60
Add 'Jeeves Server' tooltip to top hat in all modes 26902d4
[GH-5] Fix TOC sticky top to match header + tabs + gap (7rem) c0d1a40
[GH-5] Fix prose typography colors for light/dark mode 39ce6f9
feat: replace expiry text input with dropdown (never/1h/1d/1w/1m/1y) b247aa3
Merge feature/GH-4-google-oauth: Google OAuth + per-row share icons 4706828
[GH-4] fix: session cookie secure flag for http dev 903e00f
Merge feature/GH-3-ts-refactor: TypeScript/Fastify refactor with event gateway and named keys a920a99
Add HTML wrapper for SVG files with proper constraints edf794b
feat: track key rotation timestamp, display relative time, DRY up header components 993023e
Add heading anchors, TOC, and Windows path linking f49962d
Initial commit: Express server with webhook receiver, file server, and path-key auth 31c83ca
feat: add /about page with usage instructions, info button in header, adjust glow to 1px 0.2 opacity e0492c6
Add directory browser with breadcrumbs, drive listing, skip binaries 06b66ea
Sticky TOC sidebar, TOC on by default, HTML viewer for all text files 55ae006
Check path existence before linking, skip templates, handle directories, add syntax highlighting d2c6af9
docs: add 'Why Markdown?' value proposition to about page and README 77a5769
Fix DOCX image sizing: preserve aspect ratio within max bounds 9755b15
Allow clickthrough on binary files, block only dangerous executables be338eb
Pre-process paths before marked, support all drives, serve jsonl as text 00f1140
feat: add Raw/PDF/DOCX export buttons to about page 5141a78
Add breadcrumb navigation to all file views e3cd472
feat: add key rotation to about page for insiders dcbb328
docs: add integration guide for other projects 4512d9b
Fix inline code path linking, add noindex/nofollow e3b7967
feat: detect text files by content (null bytes) instead of extension whitelist cf8c99a
Fix panzoom overlay sizing for tall SVGs - strip inline styles, size based on aspect ratio 1fabf75
Panzoom SVG overlay: pan/zoom wrapper div (overflow visible) to prevent initial right-shift e5d85c0
Simplify panzoom SVG sizing - use max-width/max-height constraints 9e61f4e
feat: display volume names on drives page 86308a1
Fix zoom focal point: use margin centering instead of flex to avoid coordinate mismatch 96d170d
Fix panzoom overlay: calculate explicit pixel dimensions from viewBox to fit viewport 5f5d9ce
fix: constrain images to fit within page dimensions in PDF/DOCX export 2e47e5a
feat: add top hat favicon 541ca76
fix: preserve image aspect ratio in PDF/DOCX export ee60f23
feat: add tooltips to all header buttons 9c6ecbf
Fix tall SVG diagrams: remove width=100% attr and inline max-width style e9557ff
fix: constrain SVGs and images to page dimensions for PDF export 10993c7
fix: change TOC to position:fixed to prevent scroll jitter 33257a8
fix: TOC sticky position below header (top: 42px) 954027c
[GH-5] chore: bump version to 2.0.0 8864eaa
v1.0.1: Fix SVG panzoom overlay sizing and zoom focal point da64150
Serve SVG files as images, not as code bdb021f
feat: add download icon to files that will download in directory view 78f5bea
Handle bare drive letter paths (c -> C:\) 49b10d6
[GH-5] fix: remove backtick pseudo-elements from inline code in prose f47cd60
[GH-5] fix: anchor scroll offset - use getBoundingClientRect relative to scroll container a8f5e0c
Force SVG max-width with !important to override inline styles 2ac1093
style: truncate breadcrumb paths with ellipsis, nowrap header actions c53a82f
fix: update in-memory API_KEY after rotation so new key works immediately c876198
[GH-46] GH-46: Enlarge search modal (max-w-4xl, 85vh, less top offset) 83d8ad2
[GH-5] fix: SVG fullscreen center/center - remove CSS centering, let Panzoom startX/startY handle positioning 54c5aca
style: replace info emoji with bold question mark 90f2a48
style: add padding-top to TOC title for more whitespace fae3a97
Fix zoom focal point offset: attach wheel listener to panzoom target element b58f1b0
Force panzoom.reset() after init to ensure scale=1 991b9d2
style: add subtle shadow to header in light mode 42e1bfe
fix: add missing return-await in facets handler b08d4a3
fix: remove unused parameter in linkInfo test 36fca9a
ci: add Node 24 to linux-compat matrix 66f1008
fix: adjust relative paths for monorepo dist/src/ layout dcaf9dc
fix: adjust rootDir depth for monorepo dist/src/config path 5427014
[GH-5] fix: prose width buttons only appear for rendered markdown, not SVG/Mermaid 4067119
[GH-5] docs: fix insider description — may be scoped, not always full access b481d3a
[GH-5] docs: mention front-end event link button in event gateway guide bdb203c
Fix server.js template literal nesting bug 4e73f87
Force panzoom to start at scale=1 with no translation 6cbce2d
fix: add explicit font-family to header for consistency across pages 19418f4
fix: include insider key in about link for insiders 33172c9
fix: restore spacing around breadcrumb separators with nbsp 3b85d55
style: vertically center header items (align-items: center) 68c9a57
style: align header items to bottom (flex-end) b60b30b
style: change header shadow to white outer glow 4f72ef8
fix: increase scroll-margin-top to 80px c4a1ee0
fix: add scroll-margin-top to headings for sticky header offset 9c649d1
Fix View Raw link to include key 65fafdf
style: vertically center breadcrumb text with flexbox 19cebb9