v0.25.0
karakeep-app/karakeepv0.25.0Jun 8, 2025by MohamedBassem
AI Summary
This release addresses top feature requests, introducing public lists, RSS feeds, and significant mobile app improvements including PDF support and reader view.
Key Highlights
- Public Lists and RSS Feed Generation
- Mobile App Reader View and PDF Support
- Floccus Integration for Bi-directional Browser Sync
- NETSCAPE Bookmark File Export Format Support
- AI Auto-Summarization Configuration
New Features
- Tab-based layout for bookmark previews on small screens
- Dedicated extension shortcut to save pages
- Configurable default behavior for bookmark clicking
- Restored ability to sort by creation date
- Singlefile extension handling configuration
- Configurable visibility of archived bookmarks in lists
- Algolia-based search for documentation
- "Deleted" webhook event
- Disable AI summary button when AI is unconfigured
- Disable auto AI tagging
- US English localization
- Improved highlight menu positioning on mobile
- Moved delete button in bookmark menu for ergonomics
- API endpoint for tag creation
- Idempotent PUT operations for bookmarks
- Asset upload API documentation
- MCP documentation fixes
- Meilisearch upgrade guides
- Python SDK for Karakeep
- FreshRSS Importer
Full Release Notes
# 0.25.0 Welcome to the 0.25.0 release of Karakeep! This release addresses a lot of the top most upvoted feature requests. You can now share lists publicly, generate RSS feeds from your lists, reader view & pdf support in the mobile app, bi-directional browser bookmark sync using floccus, maintaining list structure on imports and a lot more. As usual, we have a lot of contributors in this release: @xuatz, @digithree, @thiswillbeyourgithub, @codelove77, @SConaway, @vhsdream, @AdrianAcala, @spasche, @SalGnt, @haappi, @yuikisaito, @jk, @jakeasmith, @Mxrk, @WilliamAGH, and @SteffoSpieler! > If you enjoy using Karakeep, consider supporting the project [here ☕️](https://buymeacoffee.com/mbassem) or via GitHub [here](https://github.com/sponsors/MohamedBassem). <a href="https://www.buymeacoffee.com/mbassem" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" width="auto" height="50" ></a> # New Features 🚀 - **Public Lists are here:** You can now share your curated lists publicly! (#1511). Example list [here](https://try.karakeep.app/public/lists/f9ot2k3ogai51gvm3v6k0aoq). - **RSS Feed Generation:** Create and share RSS feeds directly for your lists (#1507) - **Overdue Mobile Improvements**: - Added reader mode/screenshot/archive views to bookmark previews on mobile (pending app release) (#1509) - @digithree - View PDFs directly in the mobile app and share them to karakeep from the share sheet as well (#1519, #1494) - @codelove77 - **Import / Export improvements**: - Added NETSCAPE file export format support (#1374) - @yuikisaito - When importing netscape style bookmarks into karakeep, your lists will be re-created on karakeep. Preserving lists from other sources is planned. - Preserve archived status when importing from omnivore or pocket (RIP). - **AI Auto-Summarization:** Automatic summarization for new bookmarks can be now be enabled with `INFERENCE_ENABLE_AUTO_SUMMARIZATION=true` (#1163) - **Floccus Integration:** Karakeep [now supports](https://github.com/floccusaddon/floccus/pull/1953) bi-directional sync with browser bookmarks using [Floccus](https://floccus.org/). This will be available in the next Floccus release within a week or two. # UX Improvements ✨ - The user setting page got fully redesigned to look nicer given that we're starting to have more user settings. - Tab-based layout for bookmark previews on small screens - @thiswillbeyourgithub - Save pages faster with a dedicated extension shortcut (#1532) - @SConaway - Configure the default behavior when clicking on a bookmark. Either go to source, or expand the details. - Restored ability to properly sort by creation date for search pages (#1392) - @xuatz - You can now decide what you want to do when using the `singlefile` extension on an existing bookmark. Check out how to customize it [here](https://docs.karakeep.app/next/Guides/singlefile#handling-existing-bookmarks). - Configure whether you want to see archived bookmarks in lists or tags or not (#1505) - @xuatz - Added Algolia-based search to docs - Added "deleted" webhook event (#1464) - @SalGnt - The `Summarize with AI` button no longer shows up if you don't have AI configured - You can now disable auto AI tagging if not needed - Allow enabling/disabling RSS feeds collection - Added US English to folks who can't stand the British English - @WilliamAGH - Improved the positioning of the highlights menu on mobile devices - @Mxrk - Moved delete button in bookmark menu in the app for better ergonomics # Fixes 🐛 - Started using proper tokenizer for content truncation before inference. This should prevent the truncation of the model prompt leading to better accuracy and instruction adherence. - Preserve unsaved changes during tag modifications while editing bookmarks (#1515) - @AdrianAcala - Fixed tag drag-and-drop issues on Firefox (#1016) - @haappi - Added log rotation for linux installations (#1471) - @vhsdream - You can now run Karakeep container as a non-root user for better security. # For Developers 🛠️ - Added `?sortOrder` parameter for resource sorting (#1398) - @xuatz - New endpoint for tag creation - PUT operations for bookmarks are now idempotent (e.g. adding to list) (#1427) - @xuatz - Added PATCH method support to CORS headers (#1489) - @spasche - **Documentation:** - Added documentation for the asset upload APIs - Fixed JSON examples in MCP documentation (#1400, #1419) - @jk, @jakeasmith - Expanded Meilisearch upgrade guides (#1436) - @thiswillbeyourgithub # Community Projects 💡 - **Python-based SDK for Karakeep:** [karakeep-python-api](https://github.com/thiswillbeyourgithub/karakeep_python_api) - @thiswillbeyourgithub - **Freshrss Importer:** [freshrss-to-karakeep](https://github.com/thiswillbeyourgithub/freshrss_to_karakeep) - @thiswillbeyourgithub # Screenshots 📸 ## The Share List Modal <img src="https://github.com/user-attachments/assets/688d2389-65c1-4e0e-87ba-233d5b0ffaae" alt="Screenshot 2025-06-08 at 10 35 45@2x" width="500" height="auto"> ## Tabbed Layout on smaller screens <img src="https://github.com/user-attachments/assets/affc1426-fe1f-46df-9567-196c25d13107" alt="Screenshot 2025-06-08 at 10 37 11@2x" width="500" height="auto"> ## Reader Mode in the app <img src="https://github.com/user-attachments/assets/14f438ea-d558-40eb-8d05-84d017d46a89" alt="simulator_screenshot_1322546F-62F2-4129-89F7-7D77366179B6" width="300" height="auto"> # 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, upgrade the version and then run `docker compose pull && docker compose up -d`. # All Commits * release(extension): Bump extension version to 1.2.6 - @MohamedBassem in 5b520667 * release(mobile): Bump mobile version to 1.7.0 - @MohamedBassem in 3c48bb8d * ci: Fix manifest formatting - @MohamedBassem in b93f3a4a * feat(mobile): Add support for viewing PDFs (#1519) - @codelove77 in 0fde1087 * fix(mobile): Move the delete button to the end in the bookmark menu - @MohamedBassem in 421e3e86 * feat(mobile): add reader/screenshot/archive view to bookmark preview (#1509) - @digithree in ec31a971 * fix(build): karakeep-linux.sh fix use 'append' instead of 'file' for log (#1471) - @vhsdream in 09e5dd65 * feat(extension): add a keyboard shortcut to save page (#1532) - @SConaway in ee517456 * feat(ui): Improve the look of the public bookmarks page - @MohamedBassem in 3a0f5fa0 * fix: Use a new public list metadata endpoint for metadata generation - @MohamedBassem in bc65a738 * docs: Add asset APIs to the openapi spec - @MohamedBassem in a98f0236 * fix(web): Smaller card titles in the user info page - @MohamedBassem in 4e481f4b * fix: preserve unsaved title changes when modifying bookmark tags in the edit dialog (#1515) - @AdrianAcala in f53ad0a1 * feat(web): Redesign the user settings page - @MohamedBassem in 090c0d1c * readme: Small readme fixes - @MohamedBassem in 39feafe7 * fix(web): Drop the experimental icon from rss feeds - @MohamedBassem in bf4cbd12 * feat: Drop corepack dep in prod and allow running as non-root. Fixes #606 - @MohamedBassem in 169e14d3 * i18n: Sync weblate translations - 22460836 * Merge remote-tracking branch 'weblate/main' - @MohamedBassem in 7c245aa7 * feat: Maintain list structure when importing from netscape. Fixes #538 - @MohamedBassem in 1bae66f7 * feat: Allow specifying the overwrite mode for singlefile archives. Fixes #1125 - @MohamedBassem in e59be245 * feat: Add support for public lists (#1511) - @MohamedBassem in ea1d0023 * feat: add user customisable default archive display behaviour (#1505) - @xuatz in 3afe1e21 * docs: mention the list of example scripts for the community api (#1484) - @thiswillbeyourgithub in 8784c73c * feat(mobile): Add PDF support to share extension (#1494) - @codelove77 in 5f473401 * feat: Generate RSS feeds from lists (#1507) - @MohamedBassem in 9695bba2 * refactor: Move bookmark utils from shared-react to shared - @MohamedBassem in b218118b * docs: Add agolia based search - @MohamedBassem in 3e860b79 * doc: mention meilisearch in the updating section (#1472) - @thiswillbeyourgithub in 7f04bd13 * feat: Allow PATCH method in CORS headers (#1489) - @spasche in 915aeb36 * fix: Fix end icon in smart list input overlapping with text. Fixes #1379 - @MohamedBassem in d903c7f9 * fix: Show list options menu on list sidebar hover - @MohamedBassem in a1f77075 * fix: Truncate the RSS feed url - @MohamedBassem in e0ed727c * chore: Add localhost labs to README and landing - @MohamedBassem in e13809fb * fix(landing): Fix the favicon location for the landing page - @MohamedBassem in 96bce30c * feat: Add "deleted" webhook event (#1464) - @SalGnt in 8a927e96 * docs: Update the privacy policy - @MohamedBassem in 37c18b89 * feat: Allow defaulting to reader mode when clicking on bookmarks. Fixes #662 - @MohamedBassem in 09652176 * docs: Update database docs (#1451) - @haappi in 5f3fe5d1 * feat: Read the archive status from omnivore and pocket. Fixes #703 - @MohamedBassem in c6d21afa * build: Regen openAPI spec - @MohamedBassem in 6af14e9d * feat: Disable the AI summary button if AI is not configured. Fixes #649 - @MohamedBassem in 85929850 * feat: Add AI auto summarization. Fixes #1163 - @MohamedBassem in 2743d9e3 * feat(api): Expose the endpoint to create a new tag - @MohamedBassem in a5ae67c2 * fix(web): Switch to a tab view in small screens for bookmark previews - @thiswillbeyourgithub in 053d1a90 * build: Fix format error - @MohamedBassem in 0e734b6b * fix(web): Fix tag drag and drop merging on firefox .Fixes #1016 (#1309) - @haappi in c2e26f9f * refactor: Migrate from NextJs's API routes to Hono based routes for the API (#1432) - @MohamedBassem in 3505cb7d * doc: document how to upgrade meilisearch / migrate meilisearch db (#1436) - @thiswillbeyourgithub in 74e74fa6 * doc: new comunity project: freshrss to karakeep (#1435) - @thiswillbeyourgithub in 3a592931 * feat(api): enable ?sortOrder= for relevant resources (#1398) - @xuatz in 4e06ea7b * fix: Use proper tokenizer when truncating for inference. Fixes #1405 - @MohamedBassem in 70d57209 * feat: position highlight menu based on device type (#1348) - @Mxrk :) in 523a251b * fix(search): add new relevance sort order (#1392) - @xuatz in dbd0fd19 * fix(api): make PUT bookmark to a list idempotent (#1427) - @xuatz in f338f7b1 * build(Debian): update yt-dlp on karakeep's update and add a service check function (#1329) - @vhsdream in 4ae5857a * doc: Mention karakeep-python-api in community projects (#1424) - @thiswillbeyourgithub in 60f47122 * docs: minor update to dev setup instructions (#1421) - @thiswillbeyourgithub in 65d7096b * fix(landing): Fix the responsiveness of the landing page - @MohamedBassem in d44cd235 * docs: Update pikapods docs after the rename - @MohamedBassem in 6f6c9872 * feat: Allow enabling/disabling RSS feeds - @MohamedBassem in 370db082 * feat: Add karakeep metadata to openai calls - @MohamedBassem in 2a8d4b88 * doc: Fixed json syntax error in mcp docs (#1419) - @jakeasmith in 2082f87e * docs: Fix JSON in MCP documentation (#1400) - @jk in 3ececfcc * feat: Add NETSCAPE-Bookmark-file-1 export format support (#1374) - @yuikisaito in c03dcfdb * fix(mcp): Correct description for get-lists tool. Fixes #1332 (#1388) - @MohamedBassem in 8b05515b * i18n: Add US English as option in User Settings (#1327) - @WilliamAGH in 3d802db4 * docs: Update the docs about admin password reset to include the salt - @MohamedBassem in 3b246a88 * fix(docker): Fix build only docker compose file - @MohamedBassem in f4a31563