github karakeep-app/karakeep v0.27.0
0.27.0

latest release: sdk/v0.27.0
one day ago

0.27.0

Welcome to the 0.27.0 release of Karakeep! This release brings website-aware previews, cookies support, redesigned background jobs page, and a lot of fixes and cleanups that accumulated over the past 1.5 months. Huge thanks to our contributors in this release:
@Ahmed-Abdel-karim, @qixing-jk, @youenchene, @Drashi, @thiswillbeyourgithub, @xuatz, @haappi, @CrazyWolf13, @landonepps, @dvdpearson, @vivienbcr, @yinan-c, @packetmonkey, @liCells and
everyone who reported issues and tested changes!

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

Buy Me A Coffee

And in case you missed it from the last release, 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) and gradually letting more and more users in.

New Features 🚀

  • [Experimental] Karakeep now detects specific websites and renders a customized cards for them. We're starting with 4 special renders (and are accepting contributions for more):
    • X (twitter): Now shows a tweet embed by default.
    • Amazon: A card that shows the product.
    • Youtube: Renders a youtube embed (i.e. a player) by default.
    • Tiktok: Renders a tiktok embed (i.e. a player) by default.
    • If you want to see more websites supported, don't hesitate to send PRs. This is meant to evolve into karakeep understanding the different bookmark types (e.g. products, articles, etc) and showing more specialized cards for each type.
  • Background Jobs page got a complete redesign to better explain the different jobs (#1551)
  • Cookie support for crawling login-protected sites (#1664 by @liCells)
    • You can now pass a list of cookies for karakeep to use while crawling to access session-protected websites. Checkout the documentation of BROWSER_COOKIE_PATH here.
    • Note: This is an advanced feature. Cookies are extremely sensitive. Make sure you're handling them carefully. Also note that the cookies that you set are going to be shared with all the users in your instance. SingleFile remains the recommended way for accessing login-protected websites.
  • GIF asset support (#1876 by @Drashi)
  • Updated default chrome container to v124, make sure to update yours as well.

UX Improvements ✨

  • Browser Extension:
    • Theme selection and theme-adapting icon support (#1894 by @qixing-jk)
    • Constrain height of list and tag selectors to prevent viewport overflow (#1895 by @qixing-jk)
    • Both will come in the next extension release (aka soon).
  • Mobile:
    • Various mobile theme fixes (#1872)
    • Edit menu item on bookmark card
    • Add context aware sharing button in mobile app (#1785 by @xuatz)
    • Delete button and creation dates on info page
  • Render author, publisher, and publish date in bookmark view
  • Configurable number of grid columns in the bookmark grid (#1713)
  • Show loading indicator while the karakeep export is being generated (#1787/#1870 by @Ahmed-Abdel-karim)
  • Hide AI settings tab if inference isn’t configured (#1781)
  • Render human tags before AI tags (#1740 by @haappi)
  • Preserve selected bookmark preview section in link preview via query params
  • Hide bookmark actions from the navbar when no bookmark grid is shown
  • Dark mode titles fixed for public lists
  • Render AI summary in Markdown (#1869 by @youenchene)
  • Bookmark skeleton while search results are loading

Fixes 🔧

  • [Security] CSP policies on asset-serving paths
    • Fixes potential self-XSS on user uploaded assets.
    • Check the security advisory here.
    • Special thanks to @Skelmis for the disclosure!
  • Speed improvements:
    • Avoid prefetching assets and tags which should make the tags page loading smoother
    • Fixed a big (accidental) performance bottleneck in the API endpoints caused by API key validation. Re-login in your mobile app (and regenerate your API keys if you use any) for a significantly noticeable speed improvement.
  • Queue DB respects configured WAL mode
    • This fixes issues of slow imports and frequent locked databases
    • Enabling WAL is highly advisable
  • fix search query getting rest when bookmark preview is closed
  • Handle lists with slashes during imports and truncate long list names for more resilient imports
  • Don’t mark inference job as failed when content is missing (#1666)
  • fix WebView deceleration rate on iOS (#1835 by @landonepps)
  • Fix PDF detection when Content-Type includes charset (#1677)
  • Rule engine: deleting an action now doesn't auto-save (#1858)
  • Fix feed worker to use proxy when it's configured
  • Web UI will poll for longer (incrementally) as bookmarks are being fetched.
  • Fixed an issue with using SingleFile with S3 caused by unaccepted chars in filenames (#1765)
  • fix admin API route to be under /v1
  • fixed assets incorrectly marked as pending summarization
  • Add max output tokens env variable to control the max allowed number of tokens returned by the LLM (to control the costs).

For Developers 🛠️

  • Prometheus:
    • Workers now also export prometheus metrics. You need to enable the metrics endpoint and the port to crawl them.
    • Trpc latency was switched to histograms
    • karakeep_ prefix was added to all exported metrics (by @CrazyWolf13), you'll need to update your dashboards.
  • Enable/disable specific workers via env variables
  • You can now upload video attachments to bookmarks from the API (#1847 by @packetmonkey)

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.

Also upgrade your chrome container to 124 if you have it pinned.

All Commits

Don't miss a new karakeep release

NewReleases is sending notifications on new releases.