Lemmy v0.9.0 Release (2021-01-25)
Changes
Since our last release in October of last year, and we’ve had ~450 commits.
The biggest changes, as we’ll outline below, are a re-work of Lemmy’s database structure, a v2
of Lemmy’s API, and activitypub compliance fixes. The new re-worked DB is much faster, easier to maintain, and now supports hierarchical rather than flat objects in the new API.
We’ve also seen the first release of Lemmur, an android / iOS (soon) / windows / linux client, as well as Lemmer, a native iOS client. Much thanks to @krawieck, @shilangyu, and @uuttff8 for making these great clients. If you can, please contribute to their patreon to help fund lemmur development.
LemmyNet projects
Lemmy Server
- Moved views from SQL to Diesel. This was a spinal replacement for much of lemmy.
- Removed all the old fast_tables and triggers, and created new aggregates tables.
- Added a
v2
of the API to support the hierarchical objects created from the above changes. - Moved continuous integration to drone, now includes formatting, clippy, and cargo build checks, unit testing, and federation testing. Drone also deploys both amd64 and arm64 images to dockerhub.
- Split out documentation into git submodule.
- Shortened slur filter to avoid false positives.
- Added query performance testing and comparisons. Added indexes to make sure every query is
< 30 ms
. - Added compilation time testing.
Federation
This release includes some bug fixes for federation, and some changes to get us closer to compliance with the ActivityPub standard.
- Community bans now federating.
- Local posts sometimes got marked as remote.
- Creator of post/comment was not notified about new child comments.
- Community deletion now federated.
None of these are breaking changes, so federation between 0.9.0 and 0.8.11 will work without problems.
Lemmy javascript / typescript client
- Updated the lemmy-js-client to use the new
v2
API. Our API docs now reference this project’s files, to show what the http / websocket forms and responses should look like. - Drone now handles publishing its npm packages.
Lemmy-UI
- Updated it to use the
v2
API vialemmy-js-client
, required changing nearly every component. - Added a live comment count.
- Added drone deploying, and builds for ARM.
- Fixed community link wrapping.
- Community Titles are now used instead of names.
- Various other bug fixes.
Lemmy Docs
- We moved documentation into a separate git repository, and support translation for the docs now!
- Moved our code of conduct into the documentation.
Upgrading
If you’d like to make a DB backup before upgrading, follow this guide.
Known issues
Some older self-comments are being marked as unread in your inbox, click Mark all as read
to resolve this.
1.0 implies a stable API, and we are certainly not there yet.
Hmm, ok.