What is Lemmy?

Lemmy is a self-hosted social link aggregation and discussion platform. It is completely free and open, and not controlled by any company. This means that there is no advertising, tracking, or secret algorithms. Content is organized into communities, so it is easy to subscribe to topics that you are interested in, and ignore others. Voting is used to bring the most interesting items to the top.

Major Changes

This version brings major optimizations to the database queries, which significantly reduces CPU usage. There is also a change to the way federation activities are stored, which reduces database size by around 80%. Special thanks to @phiresky for their work on DB optimizations.

The federation code now includes a check for dead instances which is used when sending activities. This helps to reduce the amount of outgoing POST requests, and also reduce server load.

In terms of security, Lemmy now performs HTML sanitization on all messages which are submitted through the API or received via federation. Together with the tightened content-security-policy from 0.18.2, cross-site scripting attacks are now much more difficult.

Other than that, there are numerous bug fixes and minor enhancements.

Support development

@dessalines and @nutomic are working full-time on Lemmy to integrate community contributions, fix bugs, optimize performance and much more. This work is funded exclusively through donations.

If you like using Lemmy, and want to make sure that we will always be available to work full time building it, consider donating to support its development. No one likes recurring donations, but they’ve proven to be the only way that open-source software like Lemmy can stay independent and alive.

Upgrade instructions

Follow the upgrade instructions for ansible or docker. There are no config or API changes with this release.

This upgrade takes ~5 minutes for the database migrations to complete.

You may need to run sudo chown 1000:1000 lemmy.hjson if you have any permissions errors.

If you need help with the upgrade, you can ask in our support forum or on the Matrix Chat.

  • @nutomicMA
    link
    English
    10010 months ago

    That particular improvement is actually mine. Lemmy was storing a lot of federation data which was completely unused so I removed it. However the 80% improvement is actually overstated, because not all data was migrated to the new table. So the db will grow a bit bigger over time, but still much smaller than before.

    Phiresky made a lot of other sql optimizations which make Lemmy snappier and reduce CPU usage on the server. We don’t have any benchmarks in that regard, but server load on lemmy.ml has gone down a lot since upgrading.

    • Char [she/her]
      link
      fedilink
      English
      2810 months ago

      Thanks for the clarification! Your stewardship along with everyone collaborating in work and donations makes for a wonderful project. Really demonstrates the power of people working together to provide spaces outside of the control of corporate interests that are destroying other platforms.

    • fmstrat
      link
      fedilink
      English
      610 months ago

      Do we need to run a full vacuum after upgrade? And for that matter, is the data not used truncated during upgrade?