0.16.0
Welcome to the 0.16.0
release of Hoarder. Sorry for the long delay since the last release! We'd like to welcome to our first time contributors @Mxrk, @j-fuentes & @rootly-be!
NOTE: This release is backward compatible with the previous release, but it's highly recommended that you check out the
Upgrading
section in the release notes.
New Features
- Deploying Hoarder is now simpler. We're getting rid of two containers in this release:
- Redis is no longer needed as a dependency and is replaced by a sqlite-backed queue implementation.
- There's now a new container that acts as both the
web
andworkers
container. You no longer need two different hoarder containers. - The old images will continue to work just fine for the foreseeable future to make this release backward compatible. Upgrading to the new image is highly recommended though.
gpt-4o-mini
is now the default OpenAI model. This model is 3X cheaper than the previous default!- The mobile app received a bunch of overdue updates:
- Added the ability to manage bookmark lists from the app.
- You can now add/remove lists from the app.
- You can view full notes by tapping on the notes card and you can now edit them as well
- You can zoom into uploaded images.
- You can add/view attached notes to bookmarks.
- There's now a unified editor for new links and notes. Still pretty basic though.
- You can now configure the image quality of the uploaded images. Keep in mind that for large images, you might want to increase
MAX_ASSET_SIZE_MB
from the default of4MB
, otherwise, you'll get anAsset too big
error.
- Hoarder's notes now support checklists, tables and auto-links in markdown thanks to @kamtschatka
- If you have the browser extension installed, you'll find now a new
Add to Hoarder
button that you can use to send links, texts, images, to hoarder directly. Note: If you're using chrome, you'll need to be on v127 or older. Thanks @kamtschatka! - @j-fuentes added kubernetes installation instruction to the wiki.
UX Improvements
- When renaming bookmark titles or tags, pressing Enter will save the changes.
Fixes
- Importing a lot of URLs from the UI used to error, this no longer the case thanks @kamtschatka.
- SVG weren't correctly loading in full page archives using monolith, @kamtschatka fixed it.
- Bulk deletion confirmation dialog wasn't automatically dismissed after the deletion. This is now fixed by @kamtschatka.
- On the mobile app, login fails if your server URL had an extra slash at the end. @Mxrk fixed that!
Upgrading
⚠️ If you have ongoing crawlings/inference/indexing jobs in Hoarder, you'll need to re-enqueue them from the admin panel after the upgrade.
As mentioned in the release notes, this release removes the need for the redis
container and the worker container. Although the migration is optional given that the old images will work, it's highly recommended, to migrate, you'll need to do the following:
- Remove the redis container and its volume if it had one.
- Move the environment variables that you've set exclusively to the
workers
container to theweb
container. - Delete the
workers
container. - Rename the web container image from
hoarder-app/hoarder-web
tohoarder-app/hoarder
.
The diff for the compose file will look something like this:
diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml
index cdfc908..6297563 100644
--- a/docker/docker-compose.yml
+++ b/docker/docker-compose.yml
@@ -1,7 +1,7 @@
version: "3.8"
services:
web:
- image: ghcr.io/hoarder-app/hoarder-web:${HOARDER_VERSION:-release}
+ image: ghcr.io/hoarder-app/hoarder:${HOARDER_VERSION:-release}
restart: unless-stopped
volumes:
- data:/data
@@ -10,14 +10,10 @@ services:
env_file:
- .env
environment:
- REDIS_HOST: redis
MEILI_ADDR: http://meilisearch:7700
+ BROWSER_WEB_URL: http://chrome:9222
+ # OPENAI_API_KEY: ...
DATA_DIR: /data
- redis:
- image: redis:7.2-alpine
- restart: unless-stopped
- volumes:
- - redis:/data
chrome:
image: gcr.io/zenika-hub/alpine-chrome:123
restart: unless-stopped
@@ -37,24 +33,7 @@ services:
MEILI_NO_ANALYTICS: "true"
volumes:
- meilisearch:/meili_data
- workers:
- image: ghcr.io/hoarder-app/hoarder-workers:${HOARDER_VERSION:-release}
- restart: unless-stopped
- volumes:
- - data:/data
- env_file:
- - .env
- environment:
- REDIS_HOST: redis
- MEILI_ADDR: http://meilisearch:7700
- BROWSER_WEB_URL: http://chrome:9222
- DATA_DIR: /data
- # OPENAI_API_KEY: ...
- depends_on:
- web:
- condition: service_started
volumes:
- redis:
meilisearch:
data:
To upgrade:
- If you're using HOARDER_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
- feature(mobile): Allow interacting with images in the app. Fixes #352 - @MohamedBassem in 2fb8559
- feature(mobile): Add support for deleting lists - @MohamedBassem in 7593982
- feature(mobile): Allow configuring uploaded image quality in the mobile app - @MohamedBassem in fdf055a
- feature(mobile): Add ability to create basic lists from the app - @MohamedBassem in 1405540
- release(mobile): Bump mobile version to 1.6.1 - @MohamedBassem in 410b0e7
- ui(mobile): Merge the editors for notes and links - @MohamedBassem in 49dc06e
- feature(mobile): Change the view bookmark page to be a modal and add tags and notes - @MohamedBassem in b094b2c
- ui(mobile): Change the add/edit note editor dialogs to be bottom sheets - @MohamedBassem in 8410a6d
- feature(mobile): Allow editing notes from the mobile app - @MohamedBassem in d8cf7c1
- fix(mobile): trim slash from url on signin. Fixes #311 (#361) - @Mxrk :) in 6fba4aa
- fix(mobile): Allow expanding the text by clicking on bookmark card - @MohamedBassem in 0584ad2
- fix(mobile): Change the next note text input to have multiple lines by default - @MohamedBassem in dc68b44
- [docker] Adding chrome-service.yaml and adapt kustomization.yaml. Fixes #357 (#358) - @rootly-be in 809a9bc
- fix(extension): Upgrade crxjs to 2.0 to add support for firefox - @MohamedBassem in 485276e
- release(extension): Release version 1.2.2 - @MohamedBassem in 99b24bc
- [extension] Add context menu item in the browser extension. Fixes #155 (#278) - @kamtschatka in 0710147
- fix(mobile): Change the hoarded page to no longer be a modal to allow AddToList to work - @MohamedBassem in c7f9feb
- docs: Add Kubernetes installation with Kustomize (#324) - @j-fuentes in 7ddfcad
- release(mobile): Bump mobile version to 1.6.0 - @MohamedBassem in 1ca951a
- feat(mobile): Add ability to manage lists - @MohamedBassem in 93afb75
- fix(workers): Shutdown workers on SIGTERM - @MohamedBassem in 92c92c1
- docker: Change all images to be built from the same AIO base - @MohamedBassem in c72dbd0
- feat: Upgrade default openai models to gpt-4o-mini which are 3x cheaper - @MohamedBassem in b74bee8
- cli: Extract tag management into separate subcommand - @MohamedBassem in f6ecef8
- release(cli): Bump CLI version to 0.13.6 - @MohamedBassem in 4f661c4
- feature(cli): Allow updating tags/lists from CLI (#211) - @kamtschatka in 5e4decb
- refactor: Remove unused BookmarkedTextViewer (#310) - @kamtschatka in eb0a28e
- build: Add an all-in-one container - @MohamedBassem in 98fc559
- fix: async/await issues with the new queue (#319) - @kamtschatka in c5c62de
- chore(deps): Upgrade turbo and disable its daemon - @MohamedBassem in 4c23ea9
- refactor: Replace the usage of bullMQ with the hoarder sqlite-based queue (#309) - @MohamedBassem in 9edd154
- [docs] Change the docs to versioned - @MohamedBassem in edbd98d
- feature: Add github markdown support which includes tables, checklists and auto links #300 (#302) - @kamtschatka in 888dad6
- chore: Add a new sqlite based queue package - @MohamedBassem in f77a41a
- fix: monolith not embedding SVG files correctly. Fixes #289 (#306) - @kamtschatka in aa3dce0
- fix: Fix TRPC batchign failure because of long URLs. Fixes #281 (#291) - @kamtschatka in a222564
- feature(web): Save title and tag name changes on enter. Fixes #283 (#293) - @kamtschatka in 1396dd2
- fix: Delete confirmation doesn't disappear after bulk deletion of links using WebUI. Fixes #290 (#292) - @kamtschatka in e65aadb
- chore: added a new table to store the config in the database (#279) - @kamtschatka in ee167be
- landing: update landing page to include bulk actions - @MohamedBassem in 6a8d839
- fix(web): Suppress hydration warnings caused by the dates in the bookmark grid - @MohamedBassem in d7fff89