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.

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 via lemmy-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.

  • DessalinesOPMA
    link
    fedilink
    arrow-up
    2
    ·
    4 years ago

    Could you help me replicate, I’ve tried to reproduce this a few times locally, but can’t seem to. Try messing around with multiple tabs and firefox containers on one of our test servers like enterprise.lemmy.ml

    • mtumishi@baraza.africa
      link
      fedilink
      arrow-up
      3
      ·
      4 years ago

      I tried replicating it on enterprise but also can’t seem to. It had happened to me twice on lemmy.ml so I will keep an eye on it. It could be my firefox browser or automated post updates clashing with javascript blockers.