# Karakeep v0.28.0 — 0.28.0 - Product: Karakeep (https://whatsnew.fyi/product/karakeep) - Vendor: Karakeep - 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 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** — 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]_