# Karakeep v0.31.0 — 0.31.0 - Product: Karakeep (https://whatsnew.fyi/product/karakeep) - Vendor: Karakeep - Date: 2026-02-22 - Version: v0.31.0 - Original notes: https://github.com/karakeep-app/karakeep/releases/tag/v0.31.0 - Permalink: https://whatsnew.fyi/product/karakeep/releases/v0.31.0 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **added** — Synchronized reading progress across all devices - **added** — LLM-based OCR as an alternative to Tesseract for improved results on image and asset bookmarks - **added** — Revamped import pipeline with import details page, dedicated low-priority queue, better progress tracking, ability to pause imports, and more resilient error handling - **added** — Drag-and-drop bookmarks into lists - **added** — Highlights support on mobile app's reader view - **added** — AI tag suggestions to limit auto-tagging to existing tags for consistent results - **added** — Export lists in backups and exports - **added** — Retry buttons for dangling bookmarks in the admin panel - **added** — Signup support in the mobile app - **added** — OpenAI service tier configuration via OPENAI_SERVICE_TIER - **added** — Import from Instapaper - **added** — Privacy-respecting bookmark debugger admin tool - **added** — MCP server support for custom configurable HTTP headers - **added** — Search qualifiers: source: filter, tag: alias for #, and ! alias for negation - **added** — New Title Contains condition in the Rule Engine - **added** — Download button for assets in the bookmark options menu - **added** — Display of last-used dates for API keys - **changed** — Mobile app with native tabs and more native-feeling screens - **changed** — Two-phase metadata updates so bookmarks show up faster while crawling continues - **changed** — Extension autofocuses on note field on open - **changed** — Docker images moved from Alpine to Debian - **changed** — Upgraded to Expo SDK 54, React 19.2.1, and Node.js 24 - **fixed** — Sanitize reddit's crawling output to prevent stored XSS - **fixed** — Eliminated O(n²) parsing of Netscape bookmark imports - **fixed** — Smart lists can now be used in search qualifiers and in other smart list queries - **fixed** — Parallelize content extraction in the crawler worker for faster crawling - **fixed** — Batch meilisearch indexing requests for better performance - **fixed** — Auto dismiss dialogs during crawling to prevent worker crashes - **fixed** — Use user's preferred language for manual summarization - **fixed** — Accept more permissive RSS feed content types - **fixed** — Fix clipping of reader view in smaller screens - **fixed** — Fix overscrolling in some setting pages - **fixed** — Stop theme flashes with Cloudflare Rocket Loader - **fixed** — Retry 403, 429 and 5XX status codes from the crawler - **fixed** — Lower priority of recrawling and mass admin actions to avoid starving interactive traffic - **fixed** — Fix scrolling in manage lists/edit tags when inside a dialog - **fixed** — Respect archived display behavior setting in mobile lists and tags - **fixed** — Fix flicker on closing bookmark preview on search page - **fixed** — Share PDFs from the mobile app as files instead of links - **fixed** — Fix high CPU usage of browser container after large imports due to leaking contexts - **fixed** — Reader settings preview in the mobile app now matches reader view formatting - **fixed** — When saving an image or link from a page using Add to Karakeep menu item, the title of the original page is no longer incorrectly used for that link #### 0.31.0 Welcome to the 0.31.0 release of Karakeep! This release brings synchronized reading progress, LLM-based OCR, a revamped import pipeline, drag-and-drop for lists, highlights on mobile, a lot of mobile polish, and fixes for some long standing bugs. Huge thanks to our contributors for this release @esimkowitz, @WieserDaniel, @chen-ye, @SnowSquire, @mokhovyk, @evan6seven, @ElectricTea, @RobertRosca, @sweepies, @usr3 and everyone who shipped code, triaged bugs, or shared feedback for this release. > If you enjoy using Karakeep, consider supporting the project [here ☕️](https://buymeacoffee.com/mbassem) or via GitHub [here](https://github.com/sponsors/MohamedBassem). Buy Me A Coffee And in case you missed it, we now have a ☁️ managed offering ☁️ for those who don't want to self-host. You can signup [here](https://cloud.karakeep.app) 🎉. #### New Features 🚀 - Synchronized reading progress across all your devices (#2302). By @esimkowitz! - Your reading position is now saved and synced, so you can pick up right where you left off on any device. - LLM-based OCR as an alternative to Tesseract (#2442) - You can now use your configured LLM for OCR instead of Tesseract, which produces significantly better results for image and asset bookmarks. - Revamped Import pipeline (#2378) - The import experience got another big overhaul: a new import details page (#2451), a dedicated low-priority queue for import crawling (#2452), better progress tracking, ability to pause an import and more resilient error handling. - Drag-and-drop bookmarks into lists (#2469) - Highlights support on mobile (#2494) - You can now view and create highlights in the mobile app's reader view. - AI tag suggestions: instructs the model to limit auto-tagging to a subset of your existing tags for more consistent results (#2444). - Export lists in backups and exports (#2484) - Automated backups and full exports now include your lists. - Others: - Retry buttons for dangling (aka pending) bookmarks in the admin panel (#2341). - Add signup support to the mobile app. - OpenAI service tier configuration via `OPENAI_SERVICE_TIER` (#2339). By @RobertRosca! - Import from Instapaper (#2434). By @WieserDaniel! - Privacy-respecting bookmark debugger admin tool (#2373) - MCP server now supports custom configurable HTTP headers (#2436). By @chen-ye! - New search qualifiers: - `source:` filter to search by bookmark source (mobile, extension, web, etc.) (#2465). - `tag:` alias for `#` and `!` alias for negation (#2425). - New "Title Contains" condition in the Rule Engine (#2354). By @mokhovyk! #### UX Improvements ✨ - Mobile app overhaul: - Native tabs and more native-feeling screens. - Animated UI feedback in the sharing modal (#2427). - Show bookmark count in the all lists view. - Better looking content fetching loading state in the bookmark preview. - Two-phase metadata updates so bookmarks show up faster while crawling is still in progress (#2467). - Links to apps, extensions and docs in the profile dropdown. - Extension autofocuses on note field on open (#2366). By @SnowSquire! - Improving the visual consistency of the settings page. - Opt-in OAuth auto-redirect for single-provider passwordless setups (#2483) - Add a download button for assets in the bookmark options menu. - API keys now show their last-used dates to better identify unused keys. - Fix masonry overflow in bookmark grids (#2400). By @evan6seven! - Hide confusing `No suggestions` message when no search suggestions are available. #### Fixes 🔧 - [Security] Sanitize reddit's crawling output to prevent stored XSS. This was reported by @ByamB4 and published as a github advisory (GHSA-mg93-f9mw-wpgj). - Eliminated O(n²) parsing of Netscape bo _[Truncated at 4000 characters — full notes: https://github.com/karakeep-app/karakeep/releases/tag/v0.31.0]_