shipped v0.32.0 · 2026-05-08next: 0.33.0 milestone · 15 opengenerated 2026-06-27 · live state re-verified
Next 3 moves
Ship the 0.33.0 slice (D5). 15 issues committed in the milestone (all status/approved except #441). Start with the four maintainer-authored high-priority ones: #2669 (DB-lock-on-delete, pri/high size/XL), #2660 (agentic extraction), #2694 (trash/undo), #2667 (rule preview).
Review + merge the clean community PRs — MERGEABLE right now, no rebase: #2887 (Reddit OAuth, fixes pinned #2885), #2890 (Anthropic provider), #2785 (LLM temperature), #2771 (Ollama timeout), #2804 (screenshot precrawled), #2675 (strip X replies), #2864 (scrollbar → closes #2817).
Decide the two big substrate PRs before they rot.#2825 (Postgres, +7627/−1416) and #2684 (tagging evals) are CONFLICTING — rebase before merge, not review. #2488 (platform renderers) is DRAFT + CONFLICTING — un-draft + rebase. Resolve RFC #2849 (Firefox stealth) to adopt/reject.
Substrate already landed: three maintainer carrier-PRs merged since harvest — #2857 (bookmark embeddings), #2861 (AI-assistant prep), #2858 (embeddings-relevant tags into LLM context). The semantic-search and chat arcs (D1, D2) are in flight, not speculative.
What this product is today
Figure on ground: every direction below transforms a capability that already ships. Current version v0.32.0 (gh release tag, 2026-05-08). Each line is cited to a real primitive — module path, config flag, db table, or release tag.
Mobile apps (iOS/Android) — apps/mobile/; v0.32.0 revamp
CLI — apps/cli/; v0.32.0 revamp
MCP server (agent tools) — apps/mcp/src/; v0.32.0 (#2717)
REST API + SDK — packages/{api,sdk,open-api}
Scoped API keys — apiKeys.ts; v0.32.0
SSO / OIDC — config OAUTH_*
Backups — backupWorker.ts; db backupsTable (L694)
Bulk actions & shortcuts — apps/web/; v0.32.0
Core entities (db schema.ts): Bookmark (L188) · Link (L252) · Asset (L298) · Tag (L421) · List manual/smart (L489) · Highlight (L338) · User (L32) · scoped API key (L165) · RSS feed (L618) · Rule (L728) · Webhook (L646) · Import session (L854) · Embedding vector.
How it works today — one estafeta, end to end
The product's spine: the relay one bookmark travels from capture to read-back. Traced over the core-flow kriyas in the graph (Capture → Crawl → AI-enrich → Index → {Search&read, Organize}).
Capture — a URL, note, or file enters as a Bookmark row tagged with its source (web/extension/mobile/CLI/MCP/API). trpc/routers/bookmarks.ts · zBookmarkSourceSchema
Crawl & archive — for a link, fetch page + metadata, optional screenshot / full-page archive / video → a Link record + Assets. crawlerWorker.ts · videoWorker.ts
AI-enrich — crawled content → LLM → auto Tags + summary; status → success. inference/inferenceWorker.ts · shared/inference.ts
Index for search — enriched bookmark → Meilisearch document and an Embedding vector. searchWorker.ts · embeddingsWorker.ts · vectorStore.ts
Search & read — indexed library → full-text query → reader view + Highlights (the outlet). In parallel, Organize files it into Lists and runs Rules. search.ts · apps/web reader · highlights.ts · ruleEngineWorker.ts
Alternate inlet — Ingest — RSS entries & import files become Bookmarks that re-enter at step 2 (Crawl). feedWorker.ts · importWorker.ts · importSessions.ts
D1 grows steps 4–5 (index/search) · D2 grows step 3 (enrich) · D3 hardens step 2 (crawl) · D4 hardens the storage every step writes to.
Directions
Five directions in dependency order. No hard inter-direction block exists — every arc is independently ready. D5 is the committed near-term slice that cross-cuts D1–D4; it does not require the full arcs to finish.
D5 (0.33.0 ships) COMMITTED — the immediate near-term slice; no prerequisite direction D1, D2, D3, D4 READY — four independent subsystem arcs, partly delivered by D5
D5 · The 0.33.0 release ships COMMITTED
Extends: cross-subsystem — the committed next-release milestone over the whole product (shipped v0.32.0 → 0.33.0). The single most actionable block.
Telos: all 15 open 0.33.0 milestone issues close. Live milestone state re-verified: 15 open / 2 closed, all status/approved except #441.
Every open 0.33.0 issue (verbatim — all 15, none cherry-picked)
#
Title (verbatim)
Author / assoc
Pri
#2669
bug: removing accounts with large number of bookmarks can lock the database for a long period of time (aka background reaping support)
MohamedBassem / COLLABORATOR
high · XL
#2660
feat: Agentic interaction improvements for search and content extraction
MohamedBassem / COLLABORATOR
medium
#2694
feat: Introduce bookmark "trash" and undo deletion button
esimkowitz / COLLABORATOR
medium
#2667
feat: allow previewing rule engine rules
MohamedBassem / COLLABORATOR
low
#2594
Links from collaborators are not visible in public lists
karabays / NONE
high
#2172
Uncertain origin of alpine chrome image
MemQu / NONE
high
#2882
Add title and favourites button to browser extension
shannonr / NONE
medium
#2817
Screenshot previewer does not show scroll bar
Summon528 / CONTRIBUTOR
medium
#2798
[bug][ux] Autosaving tags can autoclose the edit window when in the removed tag's feed
NotaInutilis / NONE
medium
#2752
RSS downstream should return full content
wesamjabali / NONE
medium
#2591
[FR] Basic article TTS
zblesk / NONE
medium
#2502
Saving a page that was previously saved fails
Garrett-R / NONE
medium
#863
Chat about your bookmarks
sherry-ummen-zalando / NONE
medium
#1592
Share single bookmark to anyone
Draky50110 / NONE
low
#441
[Feature request] Selfhosted semantic search
JojiiOfficial / NONE
unlabeled
Next actions (state-precise, re-verified)
#2502 (re-save fails) has open PR #2531 (MohamedBassem/COLLABORATOR) OPEN · CONFLICTING → rebase before merge.
#2817 (scrollbar) has open PR #2864 (VrtxOmega/CONTRIBUTOR) OPEN · MERGEABLE → review + merge to close the issue.
The four maintainer-authored high-priority items (#2669 #2660 #2667 #2694) are the strongest signal — gate the release on them.
Completeness: shipping 0.33.0 means all 15 close, not only the subset highlighted. Several map onto D1–D4: semantic search #441 → D1, agentic #2660 → D1, chat #863 → D2, supply-chain chrome #2172 → D3, DB-lock #2669 → D4.
Anantara: none. Deliberate honest call — D5 is the immediate commitment; making it depend on the full completion of D1–D4 would invert the truth (the milestone ships a slice drawn from the arcs, which continue after 0.33.0).
D1 · Search becomes semantic and agent-shaped READY
Extends (figure on ground): Search & indexing (searchWorker.ts/search.ts) — today's full-text search + the per-bookmark Embedding vector (vectorStore.ts).
Telos: full-text search grows into embedding-based semantic similarity and an agent-shaped retrieval surface (matched content slices / byte offsets, not whole documents).
Drivers
#441[Feature request] Selfhosted semantic search — JojiiOfficial / NONE · high (milestoned 0.33.0; only 0.33.0 issue lacking status/approved — weakest member) OPEN
#2660feat: Agentic interaction improvements for search and content extraction — MohamedBassem / COLLABORATOR · high (maintainer-authored seed) OPEN
#2857Add bookmark embedding support — MohamedBassem / COLLABORATOR · high (substrate carrier-PR) MERGED 2026-05-31
Open risks: D1 has no driving risk/question — carried by committed feature work + the merged substrate, not open inquiry. Flagged honestly.
Anantara / next: the embeddings substrate (#2857) is already merged → ready now; build #441 + #2660 on the merged column. Unblocks: the chat assistant in D2 and the agentic MCP retrieval surface.
D2 · AI enrichment becomes conversational and customizable READY
Extends (figure on ground): AI inference (inference/, shared/inference.ts) — today's LLM auto-tagging & summarization, background-only.
Telos: background-only enrichment becomes a surface users converse with (chat) and control (custom prompts, configurable provider/model/temperature), on a broader provider set.
Drivers
#863Chat about your bookmarks — sherry-ummen-zalando / NONE · high (milestoned 0.33.0; scaffolded by merged #2861) OPEN
#2189Feature Request: Enhanced Prompt Customization for Advanced Tagging Workflows — DaveG7 / NONE · high — highest-reacted open issue (28 reactions); rides context, not a driver — easy to under-weight OPEN
#2894BUG: AI summary displays raw reasoning tags (<think>) instead of cleaned text — cabatech / NONE · medium (risk)OPEN
#1953Bug: text-input items keep inference status unprocessed — mapleshadow / NONE · medium (risk, Backlog)OPEN
Open risks: raw <think> tags leaking (#2894); text-item inference stuck at unprocessed (#1953); highest-reacted issue #2189 rides context, risk of under-weighting.
Anantara / next: none. Parallel-with-D1 is a heuristic (kalpita) read, hedged — no maintainer statement makes either a prerequisite of the other. Review + merge the three MERGEABLE PRs (#2785 #2890 #2771); rebase #2684; build chat (#863) on the merged scaffold. Unblocks: richer agent tools over the MCP server.
D3 · Crawler becomes anti-bot resilient READY
Extends (figure on ground): Crawler / archival (crawlerWorker.ts) — today's link crawl & metadata, full-page archival, SSRF-hardened crawling — one generic path repeatedly broken by anti-bot defenses.
Telos: the generic path that breaks on Reddit / X → reliably fetches them via platform-specific renderers, survives failing images / CSP changes, rests on a pinned/trusted chrome image.
Drivers
#2885[Crawler] Reddit crawling is now getting blocked — MohamedBassem / COLLABORATOR · high — maintainer-authored anchor PINNED · OPEN
#2172Uncertain origin of alpine chrome image — MemQu / NONE · high (milestoned 0.33.0; supply-chain) OPEN
#2576[Crawler] Persistent 500 on /json/version (Host header 'karakeep-chrome' rejected) — jbtls / NONE · medium (risk)OPEN
#1977BUG: Full page archives no longer render correctly after the CSP blocklist — dvshenry / NONE · medium (risk, Backlog)OPEN
#1667Bug: Add timeouts for the image download to avoid failing the entire crawling when the banner fails — Fmstrat / NONE · medium (risk, Backlog)OPEN
#2849docs(proposal): Firefox-based stealth backend for crawler worker — feder-cr / NONE · medium (RFC / open question — resolve adopt/reject) OPEN
Anantara / next: none — independent, ready now. Pinned #2885 has a MERGEABLE community fix #2887 → review + merge the contributor PR, not "blocked."#2488 is DRAFT + CONFLICTING → un-draft + rebase. Resolve RFC #2849. Unblocks: reliable archival for the whole pipeline.
D4 · Storage becomes durable at scale READY
Extends (figure on ground): Storage & backups (packages/db/schema.ts, Drizzle) — today SQLite-only, with an unbounded-memory worker and DB-locking deletes.
Telos: SQLite-only + memory-leaking worker + DB-locking deletes → an optional external Postgres backend, bounded memory under big imports/crawls, and background-reaped large deletions that don't lock the DB.
Drivers
#2344[BUG] Memory leak in 0.30 (with Pangolin) - RAM usage continuously growing over time — nkkfs / NONE · high — highest-engagement open bug (54 comments) PINNED · OPEN
#2669bug: removing accounts ... can lock the database for a long period of time (background reaping support) — MohamedBassem / COLLABORATOR · high (milestoned 0.33.0, pri/high, XL) OPEN
#1748Bug: High memory usage on karakeep worker during large imports (and crawlings in general) — Garrett-R / NONE · high (risk, Backlog)OPEN
#1782Support for external databases (like Postgres) — Mrtenz / NONE · high (Backlog) — the feature need OPEN
#2825Introduce Postgres support — johnford2002 / NONE · high (+7627/−1416) — in-flight implementation of #1782 OPEN · CONFLICTING → rebase
Open risks: the unbounded memory leak (#2344, pinned), large-import memory (#1748), DB-lock-on-delete (#2669) — these resource risks are independent of Postgres (they bite SQLite too).
Anantara / next: none — independent, ready now. Postgres (#1782) is in flight via the conflicting PR #2825 → "next, after rebase," not blocked. The huge size + conflict make rebase the gate; memory/DB-lock risks proceed in parallel. Unblocks: larger self-host & multi-instance deployments.