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 polls
is:reply/is:sensitive — Filter by post type
language:xx — Search in a specific language
from:username — Find posts from a specific person
mentions:username — Find posts mentioning someone
before:YYYY-MM-DD/after:YYYY-MM-DD — Search within a date range
Combine them with - for negation, OR for alternatives, and parentheses for grouping
For example, (from:alice OR from:bob) has:poll -is:reply will 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 quote and quoted_update notification 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_tags and max_pinned_statuses. Thanks to Juyoung Jung for this improvement in
#296.
The notifications API now includes a prev link 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/statuses and PUT /api/v1/statuses/:id were 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/statuses rejecting null values 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-Type header.
Peter Jeschke fixed notification endpoints returning 500 errors for unknown notification types in
#334.
Fixed /api/v2/search not respecting the limit parameter, 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 -d
Railway
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 prod
Thank 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!