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.

  • wiki_me@lemmy.ml
    link
    fedilink
    English
    arrow-up
    37
    ·
    edit-2
    1 year ago

    Update on lemmy finances (not including cryptocurrencies)

    patreon: $1,591/month

    liberapay: $374.22 per week (about 1609 per month)

    open collective: $2082 (29/6/2023 -> 29/7/2023)

    Assuming 63K active users , the per user monetization of 0.08 dollar per user (Reddit’s revenue per monthly user is roughly $1.19).

    Estimated developer salary for the two main developers is about 2600$, estimated median salary for developer in the US is about 10K a month.

    For comparison firefish made about 1424$ ((29/6/2023 -> 29/7/2023) with an active users count of 11868 (or 8146 if you don’t count calckey, which i think is important because they added a pop up asking for donation, but i don’t know if that is after the name change) so that gives a per user monetization of 0.11 dollar per user ( or 0.17 not counting calckey).

    Corrections are welcomed.

    • nutomic@lemmy.mlM
      link
      fedilink
      English
      arrow-up
      30
      ·
      1 year 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]@mander.xyz
        link
        fedilink
        English
        arrow-up
        7
        ·
        1 year 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@lemmy.nowsci.com
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 year ago

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

  • phiresky@lemmy.world
    link
    fedilink
    English
    arrow-up
    12
    ·
    1 year ago

    I want to clarify that most/ a lot of the DB work of this release actually came from others e.g. nutomic, RocketDerp, Sh4d ;)

    • JaneDoe@lemmy.ml
      link
      fedilink
      English
      arrow-up
      6
      ·
      1 year ago

      As a donor I had to spend some amount of time finding where to donate, that could be more explicit

    • adroit balloon@lemmy.ml
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      yeah, the comment thread navigation is broken. the same is true for following “More Reply” links deeper into a thread

  • RoundSparrow@lemmy.ml
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 year ago

    Sunday, lemmy.ml is performing better than I have seen it in 60 days. I did get errors on Saturday and significant lag. Not sure if activity is just today or what, but it’s really been fast in routine browsing.

  • Die4Ever@programming.dev
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    1 year ago

    well my Lemmy backups did exceed 10MB, but the 0.18.3 database optimizations brought me under 10MB again lol

    11M Jul 28 22:35 bak-lemmy-2023-07-28_22.35.52.zip
    8.8M Jul 28 22:39 bak-lemmy-2023-07-28_22.38.59.zip
    

    (hosting an instance with communities but no users doesn’t need much hardware at all btw)

  • ohai@subsubd.com
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 year ago

    docker compose down && docker compose pull && docker compose up -d update was flawless. nice!

    • RoundSparrow@lemmy.ml
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      docker compose down &&

      Looks like the & parsing in code blocks is another bug in 0.18.3 like the post title one. I’ll add your comment to the GitHub issue.

      • ohai@subsubd.com
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        that’s fair, just force of habit, i guess. thanks for the heads up! :)

  • Eugenia@lemmy.ml
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    Thank you for the continuing work! Just one bug report: when I click to load lemmy (either .world or .ml) from my homepage of various links, I’m logged out. If I refresh the page though, I’m logged in!

    • Dessalines@lemmy.mlOPM
      link
      fedilink
      English
      arrow-up
      6
      ·
      1 year ago

      You might have to clear your browser cache, we saw that issue a few times with lemmy-ui 0.18.0

        • Dessalines@lemmy.mlOPM
          link
          fedilink
          English
          arrow-up
          4
          ·
          1 year ago

          The only thing else I can think of, is that a browser plugin might be affecting it. Try a different browser and see if it’s still a problem.