# Karakeep changelog > A bookmark-everything app with AI-powered tagging and full-text search, formerly Hoarder. - Vendor: Karakeep - Category: Productivity - Official site: https://karakeep.app - Tracked by: What's New (https://whatsnew.fyi/product/karakeep) - Harvested from: GitHub (karakeep-app/karakeep) - Entries below: 11 (newest first) 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'. ## Releases ### v0.33.2 — 0.33.2 - Date: 2026-08-11 - Version: v0.33.2 - Original notes: https://github.com/karakeep-app/karakeep/releases/tag/v0.33.2 - Permalink: https://whatsnew.fyi/product/karakeep/releases/v0.33.2 - **fixed** — Set max completion tokens to true by default when using the default OpenAI configuration for 5.6 luna compatibility - **changed** — Migrate to a custom karakeep chrome container based on chromedp/docker-headless-shell with Chrome upgraded to version 151 - **fixed** — Strip inline videos from large singlefile archives to prevent metadata extraction failures due to out-of-memory errors - **fixed** — Harden the link to asset conversion mechanism in the crawler to prevent silently broken assets - **changed** — Pin Node.js to version 24.18.1 to work around a bug in Node.js 24.19 - **changed** — Make Karakeep's favicon light and dark mode aware - **added** — Allow uploading custom SingleFile archives to Karakeep directly using the CLI - **changed** — Switch to using context menu in iOS mobile interface - **fixed** — Use logger middleware instead of durable steps in restate #### 0.33.2 This is a patch release for after [0.33.1](https://github.com/karakeep-app/karakeep/releases/tag/v0.33.1). It contains the following fixes: **Bug fixes:** * Change default "use max completion tokens" token env variable to `true` when using the default OpenAI configuration now that we're using 5.6 luna and this flag is required there (#3007). * We're migrating to a custom karakeep chrome container (based on https://github.com/chromedp/docker-headless-shell) now that the old alpine-chrome is no longer fetch-able (and has been long abandoned by the maintainer). Check the migration guide [here](https://docs.karakeep.app/next/administration/chrome-image-migration). The old image will continue to work, but it's recommended that you migrate to the new one as it also upgrades chrome to 151 (compared to 124 in the old image). If you've been using browserless (e.g. on unraid), you're not impacted by this, and you don't need to migrate. * Large singlefile archives (typically because of videos) used to fail metadata extraction as the parser used to OOM. We strip inline videos now to make the parsing succeed. * Hardened the link to asset conversion mechanism in the crawler that used to result into silently broken assets. (#3002) * Pinned nodejs to version 24.18.1 thanks to @eriktews (#2996) to overcome a bug in the latest node 24.19 version (check #2989 for details). The proxmox scripts also were pinned by @MickLesk. * Karakeep's favicon is now light/dark mode aware, thanks to @ehfreema (#2990). **New features:** * You can now upload custom SingleFile archives to karakeep directly using the CLI. #### Changelog * fix: Set max completion tokens to true when using default openai config (#3007) - @MohamedBassem in 98c0c789 * feat: migrate to a custom karakeep chrome image (#3005) - @MohamedBassem in 951e5025 * feat: publish a new karakeep chrome container (#3004) - @MohamedBassem in b6415b3c * feat: favicon adapts to browser theme (#2990) - @ehfreema in ad27c051 * build: Fix crash loop caused by better-sqlite3 and node. (#2996) - @eriktews in 132e566b * fix(crawler): fail on failure to download urls converted to assets (#3002) - @MohamedBassem in f57aad1d * feat(mobile): switch to using context menu in ios - @MohamedBassem in 28e79094 * fix(restate): use logger middleware instead of durable steps - @MohamedBassem in 764ba850 * fix(workers): drop inline media blocks before metadata parsing - @MohamedBassem in 1c0b0a9a * feat(cli): allow importing singlefile archives via the CLI - @MohamedBassem in 5f6ba262 * docs: update intro doc with new features - @MohamedBassem in 3af6f458 * readme: update the readme and docs with the new features - @MohamedBassem in a81f935a * release: release cli, sdk & mcp - @MohamedBassem in b3fbf6bb ### v0.33.1 — 0.33.1 - Date: 2026-08-01 - Version: v0.33.1 - Original notes: https://github.com/karakeep-app/karakeep/releases/tag/v0.33.1 - Permalink: https://whatsnew.fyi/product/karakeep/releases/v0.33.1 - **added** — Semantic search mode using embeddings to find bookmarks by meaning instead of exact keywords - **added** — Hybrid search mode that combines full text and semantic search results - **added** — Readable content API endpoint to retrieve bookmark article content as markdown or plain text - **added** — Offline reading on mobile app with ability to save articles for offline viewing - **added** — Recent cache on mobile that persists bookmark lists, tags, and highlights for 7 days of offline access - **added** — New compact list layout for mobile app bookmarks - **added** — Bookmark sorting by newest-first or oldest-first on mobile - **added** — Clipboard entry in mobile app to save items from clipboard in one tap - **added** — Smarter auto-tagging using embeddings to suggest semantically similar bookmark tags - **added** — Automatic detection and opt-out of consent dialogs and GDPR cookie banners during page crawling - **added** — MCP server expanded from 8 to 29 tools including list CRUD, tag CRUD, highlights, delete-bookmark, and get-asset - **added** — CRAWLER_PREFLIGHT_USER_AGENT option to set user agent for preflight HTTP requests - **changed** — Default mobile app layout changed from card layout to compact list layout - **changed** — Default OpenAI model changed from gpt-4.1-mini to gpt-5.6-luna - **changed** — Re-saving an existing bookmark now un-archives it and bumps it to the top of the list instead of showing already exists message - **changed** — Bookmark previews now assess article quality for Reader View and default to page-overview panel for non-article content - **changed** — Crawled page metadata extraction now uses pre-flight HTTP request results for faster metadata appearance - **changed** — Mobile app bookmark management sheet now includes favourite, archive, share and highlights actions instead of just delete #### 0.33.1 Welcome to the `0.33` release of Karakeep! The headline of this release is **semantic search**. Karakeep can now generate embeddings for your bookmarks, letting you search by meaning instead of exact keywords (and making auto-tagging noticeably more consistent along the way). The mobile app gets **offline reading**, so you can save articles to your device and read them on a plane, along with new layouts, sorting, and one-tap clipboard saving. **Cookie and GDPR consents** should be something of the past with this release (finally). Plus a big batch of crawler, security and performance fixes. Thanks to everyone who contributed to this release: @esimkowitz, @joestump, @zerone0x, @ElectricTea, @optix2000, @thiswillbeyourgithub, @jcgoodwin86, @InventorB, @VrtxOmega, @pike00, @KayMi, @TanishValesha, @mahirhir, @moduvoice, @eviaaaaa, @archit-goyal, @CertStone, and everyone who shipped code, triaged bugs, or shared feedback. *Note: the changes mentioned here for the extension and mobile releases will need to go through the different store (apple, google, mozilla) reviews. So it might take a couple of days until all of them are released.* > If you enjoy using Karakeep, consider supporting the project [here ☕️](https://buymeacoffee.com/mbassem) or via GitHub [here](https://github.com/sponsors/MohamedBassem). Also share Karakeep's managed offering (☁️ [link](https://cloud.karakeep.app)) with your friends who're not into selfhosting. Buy Me A Coffee #### New Features 🚀 * **Semantic Search** (#2959, #2960) - Search is no longer limited to exact keyword matching. There are now three search modes, switchable from a dropdown in the search bar: * `Full text` - the existing keyword search (still the default). * `Semantic` [Experimental] - pure meaning-based search powered by embeddings. Searching for "how to make coffee" will find your espresso bookmarks even if they never use those words. * `Hybrid` [Experimental] - fuses the results of both. * The new mode is also available in the API, MCP and CLI which is going to be the most useful with agents. * Semantic search is still new and experimental, so results might not be super accurate yet, but it's a start. * ⚠️ Semantic search requires embeddings to be enabled, read the upgrade notes for details about how to enable them. * **Smarter auto-tagging using embeddings** (#2858) - When tagging a new bookmark, Karakeep now looks up semantically similar bookmarks and feeds their existing tags into the LLM prompt as suggestions. The result is a lot less tag sprawl (no more `k8s`, `kubernetes` and `Kubernetes` all coexisting). This also requires embeddings to be enabled, read the upgrade notes for details about how them. * **Cleaner saved pages** (#2973): the crawler now detects common consent dialogs (cookies and GDPR) and automatically opts out before capturing the article, screenshot and PDF. * **Offline reading on mobile** (#2957) - The mobile app can now work without a connection: * **Save articles for offline**: from a bookmark's "…" menu, pick *Make available offline*. The full article is downloaded and kept on device until you remove it. * **Recent cache**: everything you browse (bookmark lists, tags, lists, highlights) is now persisted for 7 days, so recently visited screens still open when you're offline. * **Mobile app improvements**: * **New layouts** (#2837): switch between the existing card layout and a new compact list layout. *Note: the default is now the list layout.* * **Sorting** (#2777): sort your bookmarks newest-first or oldest-first (overdue, sorry!). * **Save from clipboard** (#2868): a new *Clipboard* entry in the "+" menu saves whatever is in your clipboard in one tap. Thanks @InventorB! * The manage bookmark sheet now has favourite, arc _[Truncated at 4000 characters — full notes: https://github.com/karakeep-app/karakeep/releases/tag/v0.33.1]_ ### v0.32.0 — 0.32.0 - Date: 2026-05-08 - Version: v0.32.0 - Original notes: https://github.com/karakeep-app/karakeep/releases/tag/v0.32.0 - Permalink: https://whatsnew.fyi/product/karakeep/releases/v0.32.0 - **added** — Safari extension is now available on the App Store - **added** — Mobile app screens, headers and action buttons redesigned to feel more native - **added** — Customizable reader toolbar on mobile - **added** — Ability to keep screen on for bookmark reading on mobile - **added** — Opening links in reader view now opens them in an in-app browser - **added** — Ability to default open links in external browser - **added** — Official skill for Karakeep published on ClawHub and skills.sh for agentic usage - **added** — CLI can now store auth config in a file and use it for further requests via karakeep auth init - **added** — API keys now have granular scopes to all resources - **added** — Keyboard shortcuts for navigating bookmark grid and taking actions like favouring and archiving - **added** — Extension can now crawl bookmarks from client-side using SingleFile core, eliminating need for separate SingleFile extension - **added** — Support for manual save instead of default save on open in extension - **added** — Support for importing from OneTab - **added** — Support for importing from Readwise Reader - **added** — Karakeep MCP now has an update-bookmark tool - **added** — Support for writing rule engine rules based on bookmark source - **added** — Support for configuring OpenAI reasoning effort - **added** — New extensive event logging for events across the app - **changed** — CLI got major improvements to manage more aspects of bookmarks, lists, and tags with more AI friendly formatting - **changed** — Timestamps across the app are now correctly localized instead of showing the server's timezone - **changed** — Default new list emoji changed from 🚀 to 📁 Welcome to the `0.32.0` release of Karakeep! The mobile app is getting a major redesign by @esimkowitz so that it feels more native and friendly to use. Our long-overdue Safari extension is now available on the app store. Karakeep is now more AI-agents friendly with an official skill, revamped and more powerful CLI, granular API keys (and more coming in the next release). SingleFile is now integrated inside the karakeep extension itself for better crawling of authenticated pages. Keyboard shortcuts for faster actions across the app. And tons of fixes! This release has a huge list of contributors. Some frequent faces, and many contributing their first PRs. Thanks @esimkowitz, @Mxrk, @beluga73, @Ahmed-Abdel-karim, @GSAlex, @cinconueves, @keslerm, @xingzihai, @howwohmm, @vbalko-claimate, @MaximePinot, @apo-mak, @NikhilChowdhury27, @maxim-mityutko, @xuatz, @ir31k0, @Joly0, @larsborn, @venku122, @lmgarret, @hoilc, @zerone0x, @mrInvincible29, @Go2Engle, @faximan. *Note: the changes mentioned here for the extension and mobile releases will need to go through the different store (apple, google, mozilla) reviews. So it might take a couple of days until all of them are released.* > If you enjoy using Karakeep, consider supporting the project [here ☕️](https://buymeacoffee.com/mbassem) or via GitHub [here](https://github.com/sponsors/MohamedBassem). Also share Karakeep's managed offering (☁️ [link](https://cloud.karakeep.app)) to your friends who're not into selfhosting. We're offering yearly subscriptions now. Buy Me A Coffee #### New Features 🚀 * Karakeep's **Safari extension** is now available on the App Store ([link](https://apps.apple.com/gb/app/karakeep-app/id6479258022?platform=mac)), closing Karakeep's oldest open issue (#10). * Huge **mobile app revamp lead by @esimkowitz**: * More native screens, headers and action buttons by @esimkowitz (#2685) * Customizable reader toolbar by @esimkowitz (#2527) * Add ability to keep screen on for bookmark reading by @esimkowitz (#2691) * Opening links in the reader view now opens them in an in-app browser so that you can quickly go back to where you left by @esimkowitz (#2696) * Add ability to default open links in external browser by @xingzihai (#2516) * **Karakeep for Agentic usage**: Our goal is to make Karakeep very AI agents friendly. This will allow agents (OpenClaw, Hermes, etc) to find and hoard interesting content on your behalf, provide weekly digests, and more. * We're publishing an official skill for karakeep on ClawHub and skills.sh (details [here](https://docs.karakeep.app/next/integrations/agentic-skills)). Those skills teach the agent karakeep's concepts and how to use the CLI. * CLI improvements: * The CLI also got major improvements allowing it to manage more aspects for bookmarks, lists, and tags. Also got more AI friendly formatting, etc. * To avoid having to pass the address and API key with every request, karakeep can now store the auth config in a file and use it for further requests. Init that file with `karakeep auth init`. * If you're afraid to give agents full Read/Write access to your data, API keys now have granular scopes to all resources. Which means you can give agents access to your bookmarks but not administrative actions (like deleting users), etc. * **Keyboard Shortcuts**: You can now do more with the keyboard, as we added support for navigating the bookmark grid with keyboard shortcuts, and taking actions such as favouring/archiving and doing bulk actions. This is the beginning, and please send feature requests for the extra features you need. * **Extension improvements**: * [Experimental] The extension can now crawl bookmarks from the client-side eliminating the need of using the SingleFile extension separately from Karakeep ( _[Truncated at 4000 characters — full notes: https://github.com/karakeep-app/karakeep/releases/tag/v0.32.0]_ ### v0.31.0 — 0.31.0 - 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 - **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]_ ### v0.30.0 — 0.30.0 - Date: 2026-01-01 - Version: v0.30.0 - Original notes: https://github.com/karakeep-app/karakeep/releases/tag/v0.30.0 - Permalink: https://whatsnew.fyi/product/karakeep/releases/v0.30.0 - **added** — 2025 Wrapped feature to celebrate your year in Karakeep - **added** — PDF archives that can be generated automatically during crawling or on-demand - **added** — Unified reader settings for font, size, and other options that sync across devices with per-device overrides - **added** — Upload custom user avatars for more personal profiles - **added** — Customize tag styling per user including case, separators, and language - **added** — Per-user toggles to disable auto-tagging and/or auto-summarization - **added** — Import libraries from Matter with full export support - **added** — Bulk remove bookmarks from lists - **added** — New rule condition for rule engine: URL Does Not Contain - **added** — Configure an OpenAI proxy via OPENAI_PROXY_URL environment variable - **added** — Search qualifier is:broken to show links that failed crawling - **added** — Edit list functionality in the mobile app - **added** — OpenTelemetry integration with OTLP exporter - **added** — CLI can list users for admins - **changed** — Better metadata extraction for Reddit posts, YouTube thumbnails and authors, and Amazon product images - **changed** — Replace bookmark banners and download attachments directly from the drop down menu - **changed** — Improved Ollama summaries by using the generate endpoint - **changed** — In bookmark APIs includeContent now defaults to false - **changed** — Default to Node.js 24 as the current LTS - **fixed** — Missing database indices that were causing slow bookmark queries - **fixed** — HTML bookmark imports failing on empty folder names #### 0.30.0 (New year release 🎁) Welcome to the 0.30.0 release of Karakeep and happy new year! This release comes with "2025 wrapped" (a bit late), PDF archives, new reader settings, avatars, reddit crawling improvements, and more! Huge thanks to our contributors for this release @esimkowitz, @Moondragon85, @rzxczxc, @colado, @Yeraze, @eriktews 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. We're in public beta now and you can signup [here](https://cloud.karakeep.app) 🎉. #### New Features 🚀 - 2025 Wrapped is here to celebrate your year in Karakeep (#2322). - PDF archives - Archive bookmarks as PDFs, generated automatically during crawling or on-demand (#2309). - Set `CRAWLER_STORE_PDF=true` to enable auto PDF archiving. - Unified reader settings (font, size, etc) across all devices with per-device overrides (#2230). By @esimkowitz! - Better metadata extraction: - Reddit posts should now be crawled correctly, and banners should be fetched more reliably. - Fixed YouTube thumbnail and author extraction. - Fixed Amazon product image extraction (where it was sometimes showing the prime logo) (#2204, #2108). By @Yeraze - Upload custom user avatars for more personal profiles (#2296). - AI Setting customization: - Customize tag styling (case, separators, language) per user. It's highly recommended to set the tag style for more consistent tags (#2312). - Per-user toggles to disable auto-tagging and/or auto-summarization (#2275). - Others: - Import libraries from Matter with full export support (#2245). By @Moondragon85 - Bulk remove bookmarks from lists (#2279). - Add a new rule condition to rule engine: "URL Does Not Contain" (#2280). - Configure an OpenAI proxy via `OPENAI_PROXY_URL` (#2231). By @rzxczxc - Added `is:broken` search qualifier to show links that failed crawling (#2225). - Edit list now in the mobile app (#2310). By @colado #### UX Improvements ✨ - Our docs got a facelift! The docs got some styling, the pages got re-organized and we now have a "Using Karakeep" section that explains some of the core concepts of Karakeep. - Replace bookmark banners and download attachments directly from the drop down menu (#2328). - Sidebar scrollbar looks cleaner, and pending list invites show as a badge in the sidebar. - Bookmark edit dialog now includes notes. - Bookmark owner avatars now show up in collaborative lists. - Mobile UI/UX improvements: - Fixed title on mobile to be at most 2 lines long. - Mobile settings screens should now feel more native (#2307). - OLED-friendly colors in the Android app matching the colors of the ios app (#1958). - Toasts on iOS now appear correctly above the open modals (#2320). By @colado - Shared lists now appear in a dedicated subsection on mobile. - Adding a bookmark to a list now shows a spinner during loading (#2283). - Server version now appears in mobile settings (#2276). - Fixed the confusing "tick button" beside the server address during login. #### Fixes 🔧 - Fixed missing db indicies that was causing slow bookmark queries (#2246, #2287). - Improved Ollama summaries by using the generate endpoint (#2324). By @eriktews - Fixed HTML bookmark imports failing on empty folder names (#2300). - Fixed non-link bookmarks stuck in pending summarization (#1605). - Improved tagging prompts and error-page detection. - Reject spoofed content types on file uploads. - Preserve failure counts when rescheduling _[Truncated at 4000 characters — full notes: https://github.com/karakeep-app/karakeep/releases/tag/v0.30.0]_ ### v0.29.3 — 0.29.3 - Date: 2025-12-12 - Version: v0.29.3 - Original notes: https://github.com/karakeep-app/karakeep/releases/tag/v0.29.3 - Permalink: https://whatsnew.fyi/product/karakeep/releases/v0.29.3 Well. Upgrading Nextjs one more time to patch CVE-2025-67779. ### v0.29.2 — 0.29.2 - Date: 2025-12-11 - Version: v0.29.2 - Original notes: https://github.com/karakeep-app/karakeep/releases/tag/v0.29.2 - Permalink: https://whatsnew.fyi/product/karakeep/releases/v0.29.2 - **security** — Upgrade Next.js to patch two new vulnerabilities in React CVE-2025-55184 and CVE-2025-55183 Upgrading Nextjs to patch two new vulnerabilities in react CVE-2025-55184 & CVE-2025-55183. This is on top of the critical vulnerability (CVE-2025-66478) that was patched in 0.29.1. ### v0.29.1 — 0.29.1 - Date: 2025-12-03 - Version: v0.29.1 - Original notes: https://github.com/karakeep-app/karakeep/releases/tag/v0.29.1 - Permalink: https://whatsnew.fyi/product/karakeep/releases/v0.29.1 - **security** — Fix Next.js CVE-2025-66478 #### 0.29.1 A patch release for [0.29.0](https://github.com/karakeep-app/karakeep/releases/tag/v0.29.0) with the fix of NextJs CVE: CVE-2025-66478 ### v0.29.0 — 0.29.0 - Date: 2025-11-29 - Version: v0.29.0 - Original notes: https://github.com/karakeep-app/karakeep/releases/tag/v0.29.0 - Permalink: https://whatsnew.fyi/product/karakeep/releases/v0.29.0 - **added** — Collaborative lists allow inviting collaborators with viewer and editor access levels - **added** — Automated bookmark backups that can be scheduled - **added** — Search autocomplete to find filters and terms faster - **added** — Notes and search functionality on highlights in web, plus dedicated highlights page on mobile - **added** — Smart list creation on mobile - **added** — All-tags screen on mobile - **added** — Crawler domain rate limiting configurable with CRAWLER_DOMAIN_RATE_LIMIT_WINDOW_MS and CRAWLER_DOMAIN_RATE_LIMIT_MAX_REQUESTS - **added** — Import from MyMind - **added** — GET /api/version endpoint for getting server version - **added** — Bookmark source statistics in usage stats page showing extension, web app, and mobile app origins - **changed** — Sidebar typography and colors improved, especially in dark mode - **changed** — Page titles now correctly displayed in browser tabs - **changed** — HTTP status Prometheus counters, failed_permanent worker metric, and system metrics added for observability - **fixed** — Prompts module now lazily loads js-tiktoken reducing memory usage by 70-150MB - **fixed** — Edit dialog now correctly shows extracted text from assets - **fixed** — IP validation allowlisting allows bypassing all domains by setting CRAWLER_ALLOWED_INTERNAL_HOSTNAMES to . - **fixed** — Worker crash when hitting invalid URLs with proxy enabled - **fixed** — Shared lists are now separated in the sidebar - **fixed** — React errors in signin and signup forms - **fixed** — 404 page now appears for bookmarks and lists that don't exist #### 0.29.0 Welcome to the 0.29.0 release of Karakeep! This release ships some of our most awaited features. Collaborative lists, automated bookmark backups, search auto complete, highlighs are getting notes and search, and the mobile app is getting some more love. As usual thanks to @aa-ko, @fivestones, 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. ~~We're still in private beta (you can signup for access [here](https://tally.so/r/wo8zzx)) and gradually letting more and more users in.~~ We're in public beta now and you can signup [here](https://cloud.karakeep.app) 🎉. #### New Features 🚀 - Collaborative lists are here! (#2146, #2152) - You can now invite collaborators to your lists and manage their access levels between viewers and editors. - This was the most requested feature on the roadmap, and it's now here! - Automated bookmark backups you can schedule once and forget (#2182) - Currently it only captures non-asset bookmarks, but I'm planning to include lists, tags, and other metadata in the future. - Search gets autocomplete so you can find the right filters and terms faster (#2178) - Highlights overhaul: notes + search bar on web, plus a dedicated highlights page on mobile (#2154, #2155, #2156, #2157) - Mobile catches up with smart list creation and an all-tags screen (#2153, #2163) - Crawler domain rate limiting to avoid getting throttled by external sites (#2115) - Configure it with `CRAWLER_DOMAIN_RATE_LIMIT_WINDOW_MS` and `CRAWLER_DOMAIN_RATE_LIMIT_MAX_REQUESTS`. - Import from MyMind (#2138) #### UX Improvements ✨ - Sidebar typography and colors should feel nicer (specially in dark mode). - Page titles are now correctly displayed in the browser tabs. - We have a friendlier 404 page for bookmarks/lists that don't exist. - You can now see stats about the source of your bookmarks in the usage stats page (extension, web app, mobile app, etc). #### Fixes 🔧 - Prompts lazily load `js-tiktoken` which should cut between 70-150MB of karakeep's memory usage (#2176) - The edit dialog wasn't correctly showing the extracted text from assets, this is now fixed (#2181). - IP validation allowlisting now allows bypassing all domains by setting `CRAWLER_ALLOWED_INTERNAL_HOSTNAMES` to `.`. - Fix a worker crash when hitting invalid URLs with proxy enabled. #### For Developers 🛠️ - GET `/api/version` endpoint for getting server version (#2167) - More visibility: HTTP status Prometheus counters, failed_permanent worker metric, and system metrics on web/worker containers (#2117, #2107) - Documentation updates for `LOG_LEVEL` and Raycast links (#2166, #1923) by @aa-ko and @fivestones #### Screenshots 📸 ##### Collaborative Lists Screenshot 2025-11-29 at 6  23 18@2x ##### Automated Backups Screenshot 2025-11-29 at 6  23 57@2x ##### Search Autocomplete Screenshot 2025-11-29 at 6  24 54@2x #### Upgrading 📦 To upgrade: * If you're using `KARAKEEP_VERSION=release`, run `docker compose pull && docker compose up -d`. * If you're pinning it to a specific version, bump the version and then ru _[Truncated at 4000 characters — full notes: https://github.com/karakeep-app/karakeep/releases/tag/v0.29.0]_ ### v0.28.0 — 0.28.0 - Date: 2025-11-08 - Version: v0.28.0 - Original notes: https://github.com/karakeep-app/karakeep/releases/tag/v0.28.0 - Permalink: https://whatsnew.fyi/product/karakeep/releases/v0.28.0 - **added** — Revamped import experience with progress tracking - **added** — Revamped Tags page with search and pagination - **added** — Upload custom attachments to bookmarks - **added** — When deleting a list, optionally delete all its children - **added** — Server overview highlights service dependency health - **added** — Inline checklist toggling for text bookmarks - **added** — Release notes prompt displayed inside the app with every release - **added** — Pass custom headers from the mobile app to the server - **added** — Tab bookmark badge indicator in extension showing when a page is already bookmarked - **added** — Write notes directly after saving a bookmark in the extension - **changed** — Grid view controls expose title/tag toggles and image fit options - **changed** — Bookmark cards surface saved notes across web and mobile - **changed** — Manage Lists modal is now searchable - **changed** — Tags page now has a Create Tag button - **changed** — API key can be regenerated without recreating it - **added** — New title: search qualifier for searching bookmarks by title - **security** — Stricter URL validation to protect against SSRF attacks with webhook requests going through proxy and internal IP requests blocked by default unless explicitly allowed via CRAWLER_ALLOWED_INTERNAL_HOSTNAMES - **fixed** — Crawler memory footprint optimized - **fixed** — Allow Karakeep to use newer OpenAI models by setting INFERENCE_USE_MAX_COMPLETION_TOKENS=true - **fixed** — Search input no longer crashes on percent signs and works correctly with IME composition #### 0.28.0 (20k stars ⭐) Welcome to the 0.28.0 release of Karakeep! We've have hit 20k stars on Github 🎉 (well 21k because I was too late with the release)! Thanks a lot for your support throughout this journey! This release brings a refreshed import pipeline, uploading custom attachments, revamped tags page, inline checklists, and a bunch of quality-of-life touches across the web app, extension and mobile app. Huge thanks to @BOTkirial, @qixing-jk, @@maya-doshi, @BenjaminMichaelis, @cloudchristoph, @claytono, as usual @xuatz 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. We're still in private beta (you can signup for access [here](https://tally.so/r/wo8zzx)) and gradually letting more and more users in. #### New Features 🚀 - Revamped import experience with progress tracking (#2001) - Revamped Tags page that adds search and pagination to better serve users with thousands of tags (#1987) - You can now upload custom attachments to bookmarks (#2100) - When deleting a list, you can now optionally delete all its children (#1989) - Server overview highlights service dependency health. - Inline checklist toggling for text bookmarks (#1933) – @BOTkirial - With every release, you'll be prompted to view what's new in that release from inside the app. - You can now pass custom headers from the mobile app to the server (#2103) - Extension improvements: - Tab bookmark badge indicator by @qixing-jk shows when a page is already bookmarked (#1745) - You can now write notes directly after saving a bookmark in the extension (#2104) #### UX Improvements ✨ - Grid view controls expose title/tag toggles and image fit options (#1960) - Bookmark cards can surface saved notes across web and mobile (#2083) – @xuatz - Manage Lists modal is searchable for faster sorting (#2029) - The tags page now has a "Create Tag" button (#1942) - You can now regenerate the API key without having to recreate it. - New `title:` seach qualifier for searching bookmarks by title (#1940) #### Fixes 🔧 - ⚠️ (Potentially breaking change) ⚠️ Stricter URL valdaition to protect against SSRF attacks (#2082) - Webhook requests now go through the proxy if there's one configured - All server-initiated requests (including webhooks) to internal IP addresses are now blocked by default unless explicitly allowed via `CRAWLER_ALLOWED_INTERNAL_HOSTNAMES`. If your webhooks are hitting internal services, you'll have to allowlist them via `CRAWLER_ALLOWED_INTERNAL_HOSTNAMES`. - Monolith now honors the configured crawler proxy. - Metascraper logo extraction now respects the crawler proxy. - Crawler memory footprint shrinks with targeted optimizations (#1748) - Allow karakeep to use newer openai models that was previously failing because of deprecated max_tokens (#2000) - @BenjaminMichaelis - You'll need to set `INFERENCE_USE_MAX_COMPLETION_TOKENS=true` in your `.env` file to use the new models. This is eventually going to become the default. - Admin maintenance jobs respect abort signals to stop gracefully - Search input no longer crashes on percent signs and also works correctly with IME composition - Fixed a crash when sharing a list publicly that didn't have any bookmarks (#1990) - Screenshots are now stored as jpegs instead of pngs to reduce file size - Fixed a bug that was preventing tag merging (#1938) - RSS imports can apply feed categories as tags (#2031) #### For Developers 🛠️ - Create bookmark API returns 200 instead _[Truncated at 4000 characters — full notes: https://github.com/karakeep-app/karakeep/releases/tag/v0.28.0]_ ### v0.27.1 — 0.27.1 - Date: 2025-09-13 - Version: v0.27.1 - Original notes: https://github.com/karakeep-app/karakeep/releases/tag/v0.27.1 - Permalink: https://whatsnew.fyi/product/karakeep/releases/v0.27.1 - **fixed** — Fix ranking of search results - **fixed** — Fix migration failing when no user settings are set - **fixed** — Fix 5xx error on invalid API key - **fixed** — Migrate systemd config to the new worker path on update This is a hotfix release for [0.27.0](https://github.com/karakeep-app/karakeep/releases/tag/v0.27.0). #### 🐞 Fixes * fix: Fix ranking of search results. fixes #1922 - @MohamedBassem in 3bae3aad * fix: fix migration failing when no user settings are set. fixes #1919 (#1920) - @halkeye in 2cb1b28a * fix: fix 5xx on invalid api key - @MohamedBassem in 20f4e471 * fix: migrate systemd config to the new worker path on update. fixes #1889 - @MohamedBassem in e5dea956