Hollo 0.7.0: Advanced search, faster notifications, and improved client compatibility
-
Hollo 0.7.0: Advanced search, faster notifications, and improved client compatibility
It's been a while since our last release, and we're excited to finally share Hollo 0.7.0 with you. This release brings a lot of improvements that we've been working on over the past months—from powerful new search capabilities to significant performance gains that should make your daily Hollo experience noticeably snappier.
Let's dive into what's new.
Highlights
Search gets a major upgrade
One of the most requested features has been better search, and we're happy to deliver. Hollo now supports Mastodon-compatible search operators, so you can finally filter your searches the way you've always wanted:
has:media/has:poll— Find posts with attachments or pollsis:reply/is:sensitive— Filter by post typelanguage:xx— Search in a specific languagefrom:username— Find posts from a specific personmentions:username— Find posts mentioning someonebefore:YYYY-MM-DD/after:YYYY-MM-DD— Search within a date range- Combine them with
-for negation,ORfor alternatives, and parentheses for grouping
For example,
(from:alice OR from:bob) has:poll -is:replywill find polls from Alice or Bob that aren't replies.We've also made search much faster. URL and handle searches that used to take 8–10 seconds now complete in about 1.4 seconds—an 85% improvement.
Notifications are faster than ever
We completely rebuilt how notifications work under the hood. Instead of computing notifications on every request, Hollo now stores them as they happen. The result? About 24% faster notification loading (down from 2.5s to 1.9s).
On top of that, we've implemented Mastodon's v2 grouped notifications API, which groups similar notifications together server-side. This means less work for your client app and a cleaner notification experience.
Everything loads faster with compression
All API responses are now compressed, reducing their size by 70–92%. Some real numbers: notification responses dropped from 767KB to 58KB, and home timeline responses went from 91KB to 14KB. You'll notice faster load times, especially on slower connections.
Quote notifications
When someone quotes your post, you'll now get a notification about it. And if the original author edits a post you've quoted, you'll be notified too. These are the new
quoteandquoted_updatenotification types from Mastodon 4.5.0.Background import processing
Importing your data (follows, lists, muted/blocked accounts, bookmarks) used to block the entire request until it finished. Now imports run in the background, and you can watch the progress in real-time. Much better for large imports. Thanks to Juyoung Jung for implementing this in #295.
Other improvements
- Upgraded Fedify to 1.10.0.
- Instance API responses now include proper thumbnails, actual stats, and correct values for
max_featured_tagsandmax_pinned_statuses. Thanks to Juyoung Jung for this improvement in #296. - The notifications API now includes a
prevlink in pagination headers, which was tracked in #312. - Replaced the deprecated fluent-ffmpeg package with direct ffmpeg calls. If video thumbnail generation fails, you'll get a default image instead of an error. Thanks to Peter Jeschke for this fix in #333.
Bug fixes
- Emelia Smith fixed an issue where
POST /api/v1/statusesandPUT /api/v1/statuses/:idwere rejecting FormData requests in #171. - Fixed log files writing multiple JSON objects on a single line, as reported in #174.
- Lee ByeongJun fixed
POST /api/v1/statusesrejectingnullvalues in optional fields in #179. - Juyoung Jung fixed OAuth token endpoint issues with clients that send credentials in both the header and body in #296.
- Fixed OAuth token endpoint failing to parse requests from clients that don't send a
Content-Typeheader. - Peter Jeschke fixed notification endpoints returning 500 errors for unknown notification types in #334.
- Fixed
/api/v2/searchnot respecting thelimitparameter, as reported in #210.
Upgrading
Docker
Pull the latest image and restart your container:
docker pull ghcr.io/fedify-dev/hollo:0.7.0 docker compose up -dRailway
Go to your Railway dashboard, select your Hollo service, and click Redeploy from the deployments menu.
Manual installation
Pull the latest code and reinstall dependencies:
git pull origin stable pnpm install pnpm run prodThank you to our contributors
This release wouldn't have been possible without the contributions from our community. A big thank you to Emelia Smith (@thisismissem@hachyderm.io), Juyoung Jung (@quadr@hollo.redfeel.net), Lee ByeongJun (@joonnot@hackers.pub), and Peter Jeschke (@peter@jeschke.dev) for their pull requests and bug reports. We really appreciate your help in making Hollo better!
-
undefined hongminhee@hollo.social shared this topic