github karakeep-app/karakeep v0.24.0
0.24.0

latest releases: cli/v0.29.1, v0.29.3, v0.29.2...
7 months ago

0.24.0 – Riding the MCP hype

Welcome to the 0.24.0 release of Karakeep! This release packs a ton of new stuff (we're back to shipping folks!). This release introduces a new MCP server for interacting with Karakeep through LLMs, a new rule generic rule engine for more control over organizing your bookmarks, new search qualifiers for feeds and bookmark age, overdue edit dialog for bookmark details, some UI polishing and more! This release also welcomes a TON of new contributors, @brandonw3612, @yorch, @Summon528, @dotvhs, @YTKme, @hasansino, @gomnitrix, @adripo, @meysam81, @SteffoSpieler, @jkywalker (And I probably missed some).

If you enjoy using Karakeep, consider supporting the project here ☕️ or via GitHub here.

New Features 🚀

✨ MCP Server ✨

Unless you've been living under a rock recently, you've heard about the recent explosion of MCP servers all over the internet.
We're not going to miss the hype. This release ships a new MCP server (docs) that allows you to interact with your Karakeep instance and bookmarks through extrenal LLMs.
You can ask the LLM to summarize your bookmarks, search the web and send what it finds to Karakeep, or archive your recent chat as a text note in karakeep.
It can create new lists, attach tags and more to help you organize your bookmarks.

More demos in the screenshot section.

Generic Rule Engine ⚙️

Karakeep was born because I don't want to spend time organizing what I hoard. I just throw stuff in there and karakeep's tagging and search will help me retrieve it later.
However, turns out that not everyone is in the same camp. If you're one of those people who enjoy organizing their bookmarks, this feature is for you.
This release introduces a new generic rule engine that allows you to define arbitrary processing rules for organizing your bookmarks.

Some examples:

  1. If a bookmark is added, and it's coming from youtube, tag it with "#youtube" and "#video".
  2. If a bookmark is favourited, download an offline archive for it.
  3. If the tag "#fashion" is added to a bookmark, and this bookmark is an image, then add it my "Inspiration" list (You're better off using a smart list for this though).

⚠️ The firefox extension is back under a new name (Action Required) ⚠️

After the rebranding unfortunatly we couldn't get the old Firefox extension back, so we had to publish a new one (link).
If you're using the old "firefox" extension, you MUST migrate to the new one manually otherwise you won't be getting future updates.

And more!

  • gpt-4.1-mini is the new default text model: The default OpenAI text model changed to the new 4.1-mini. It's slightly more expensive than 4o-mini, but is supposed to be much smarter. The image model remains as 4o-mini as 4.1-mini is more expensive for images.
  • New Search & Smart list Qualifiers:
    • New “age:” search qualifier to show bookmarks older or newer than a given duration (by @brandonw3612).
    • New "feed:" search qualifier to find bookmarks imported from certain RSS feeds.
    • You can find the full query language here.
  • Edit Bookmark Details: You can now edit almost all the details of bookmarks. The URL, summary, creation date, everything. This is obviously very overdue.
  • List Merging: You can now merge lists together thanks to @gomnitrix.
  • Import Tab Session Manager Sessions: Bulk-import your Chrome/Firefox Tab Session Manager session files as Karakeep bookmarks by @yorch.
  • Configuring other AI providers: We added documentations for how to configure other AI providers beside OpenAI (link). This includes providers like Google AI Studio, OpenRouter, Perplexity, etc.
  • Karakeep on TrueNAS: People using TrueNAS can now find Karakeep in TrueNAS' app store thanks to @stavros-k.

UX Improvements ✨

  • Some UI polish
    – Reduced shadows, lighter font weights, smaller editor box following the suggestions of @dotvhs in #1261!
    – Removed focus rings where they don't matter much, fix popovers to the emoji picker (by @Mxrk), and list items in the sidebar now get truncated if they're long.
    – Fixed margins of the “New List” button, and fixed spinner visibility during AI summarization
  • Cached content is now called “Reader Mode” content.
  • There's now a nice looking "No bookmarks" banner for search and empty smart lists.
  • Lists now can have a short description beside their name (by @ekambains).
  • A new monochrome icon for android builds by @SteffoSpieler.
  • Copy link button now gets greyed out when on a non-secure context by @ekambains.
  • The github link in the sidebar now works correctly for people on the nightly build thanks to @hasansino.

For Developers 🛠️

  • Added includeContent to the API endpoints that return bookmarks (Listing, search, etc) to control whether the endpoint should include the content of the bookmark (which can be huge or not).
    • ⚠️ For backward compatibility, this defaults to true, but starting from the next release, this will default to false. So if your tool relies on the content of the bookmarks, start passing this to true now.
  • The API docs have a new look. The new look also fixes the enum-like requests types (like the one in createBookmark).

Fixes 🐛

  • Smart lists in search: Smart lists are now correctly resolved in the search qualifiers list: and is:inlist.
  • A much faster homepage loading times: If you've been a user for the SingleFile extension, Karakeep's homepage might have started getting slower recently. The UI was accidently downloading a big chunk of the archive in the homepage when it's not needed. This is now fixed.
  • Faster Imports: Importing bookmarks used to be extremely slow, now it's done with much higher parallelism and should be significantly faster.
  • Dark-mode icons for the firefox extension @L-K-M
  • Fixed the list getting opened when editing it from the sidebar.
  • Added a new INFERENCE_OUTPUT_SCHEMA configuration to restore support for models that only works with JSON mode (instead of the newer structured output mode).
  • Passwords stored in the database are now salted. For backward compatibility, existing users will continue using an empty salt until they change their password.
  • Karakeep now closes the browser after it's done crawling in "on demand" mode by @Summon528.
  • Fixed a bug in content extraction that might result in a suboptimal "cached content" being shown.
  • Triggering a search re-index now drops all the documents first to avoid dangling documents.

Community Projects 💡

Github 2 Karakeep Importer

By @hasansino

Exports your github stars automatically to Karakeep! Get it here.

Screenshots 📸

MCP Demo



The new "No Bookmarks banner"

Bookmark Editing Dialog

Upgrading 📦

If you’re using KARAKEEP_VERSION=release:

docker compose pull && docker compose up -d

If you pin to a specific version, update KARAKEEP_VERSION, then:

docker compose pull && docker compose up -d

All Commits

Don't miss a new karakeep release

NewReleases is sending notifications on new releases.