0.33.1 #2979
MohamedBassem
announced in
Announcements
0.33.1
#2979
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
0.33.1
Welcome to the
0.33release 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.
New Features 🚀
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.k8s,kubernetesandKubernetesall coexisting). This also requires embeddings to be enabled, read the upgrade notes for details about how them.delete-bookmark, andget-asset. Big thanks to @joestump for the list/tag CRUD work (feat(mcp): add list CRUD, tag CRUD, delete-bookmark #2917)!GET /api/v1/bookmarks/{bookmarkId}/contentreturns a bookmark's article content as markdown or plain text, cursor-paginated in LLM-friendly chunks that snap to paragraph boundaries.CRAWLER_PREFLIGHT_USER_AGENToption lets you set a user agent for that probe request, and let's just say that a good user agent makes a huge difference.gpt-4.1-minitogpt-5.6-lunawhich is half as cheap, though a bit slower given that it's a reasoning model.UX Improvements ✨
Fixes 🐛
http/httpson create and update. Reported by @therawdev and @shukla304 (GHSA-6mfw-xrw2-h5x3).TAGSattribute when the export is opened in a browser.RATE_LIMITING_ENABLED=true.BROWSER_WEB_URLfailing to resolve on IPv6-only Docker networks by @VrtxOmega (Fix BROWSER_WEB_URL IPv6 host resolution #2863).INFERENCE_OUTPUT_SCHEMA=json, by @eviaaaaa (fix(inference): only set JSON response_format for schema requests #2926).OPENAI_TIMEOUT_SECoption to control the per-request inference timeout, useful for slow self-hosted providers, by @optix2000 (fix(inference): add OpenAI request timeout config #2876).just a momentorcloudflaretags on failed crawls.get-bookmark-contenttool crashing on bookmarks that haven't been crawled yet, by @joestump (fix(mcp): coerce null htmlContent before turndown in get-bookmark-content #2915).<embed>so they display in Safari, by @KayMi (fix(web): render PDFs via <embed> so Safari can display them #2806).For Developers 🛠️
PORTby @zerone0x (fix: respect PORT in Docker healthchecks #2948).OAUTH_ID_TOKEN_SIGNED_RESPONSE_ALG, by @CertStone (feat: Add support for configurable ID token signing algorithm in OAuth #2850).Community Projects 💡
Checkout our community projects page here.
Screenshots 📸
Offline Reading
New Mobile List Layouts
Please don't judge my saved content
Upgrading 📦
To upgrade:
KARAKEEP_VERSION=release, rundocker compose pull && docker compose up -d.docker compose pull && docker compose up -d.Enabling Embeddings
text-embedding-3-smallmodel.EMBEDDING_TEXT_MODEL=<your_mode>, the size of the dimension of the model viaEMBEDDING_DIMENSIONSand then passEMBEDDING_ENABLE_AUTO_INDEXING=trueto enable embeddings. Check out our docs for example models and configurations.Once you've enabled embeddings, you'll need to regenerate embeddings for all existing bookmarks. Head to the admin panel's Background Jobs page (new "Embeddings" card) and regenerate embeddings for all/pending bookmarks. This might take a while depending on how many bookmarks you have, and will cost you money (though embeddings are usually pretty cheap).
NOTE: Changing the model or its dimension after embedding even a single bookmark will require you to regenerate embeddings for all bookmarks.
All Commits
This discussion was created from the release 0.33.1.
All reactions