Lemmy Lead Developer and father of two children.

I also develop Ibis, a federated wiki.

  • 8 posts
  • 0 comments
Joined 6 years ago
Cake day: January 17th, 2020

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. Thanks to @flamingos-cant for contributing to resolve this.

Changes

This release mitigates a potential security issue with the image endpoint. In short, an attacker can inject query parameters and make proxied requests to arbitrary URLs. See the security advisory for details.

Also there are fixes for the database connection pool. The pool size is now at least two, as a lower size can result in deadlocks. Additionally there are now connection timeouts added. If your server logs show pool timeout errors, you should increase database.pool_size in the Lemmy config.

  • Fix for image proxy filetypes by @dessalines in #6357
  • Enable DB connection timeout by @Nutomic in #6355
  • Use min database pool size of 2. by @dessalines in #6345

Upgrade instructions

There are no breaking changes with this release.

Follow the upgrade instructions for ansible or docker.

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

Thanks to everyone

We’d like to thank our many contributors and users of Lemmy for coding, translating, testing, and helping find and fix bugs. We’re glad many people find it useful and enjoyable enough to contribute.

Support development

We (@dessalines and @nutomic) have been working full-time on Lemmy for over five years. This is largely thanks to support from NLnet foundation, as well as donations from individual users.

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. A recurring donation is the best way to ensure that open-source software like Lemmy can stay independent and alive, and helps us grow our little developer co-op to support more full-time developers.

Last month @Nutomic made some posts in !lemmy@lemmy.ml to get feedback and ideas for the official website join-lemmy.org:

Based on these we made various changes to the site. Most importantly, visitors can now register on a suggested Lemmy instance with a single click. Additionally the feature overview, app list, and instance list were reworked.

join-lemmy.org is one of the first search results for people who hear about Lemmy, and want to find out what it is. They should easily be able to register an account to become an active user, with as little friction as possible.

So if you have any suggestions for further improvements, please open an issue or comment below. We especially need help from designers to create better images and polish the design. You can also contribute by translating the site to your language via Weblate.


Now on to the Lemmy code itself. On this front it has been mostly the same as last month: Implementing the new backend features in the UI, bug fixing and minor backend changes. You can follow the progress with these milestones:

If you are impatient to see the new features in production, we share those feelings. But there is still a lot of work needed to make sure the new features work well and make for a good user experience. If you have any experience with web development (or want to learn it), you can also contribute. Checkout the lemmy-ui repo and the milestone above. It is written in standard Typescript with Bootstrap. Additionally you can help by testing the new version on voyager.lemmy.ml and reporting any problems.

Finally here are the major changes from January:

Full list of changes by user

matc-pub

iByteABit256

electricatgit

dankxiaobong

MV-GH

dessalines

Nutomic

Or see the full list of changes at the links below:


An open source project the size of Lemmy needs constant work to manage the project, implement new features and fix bugs. Dessalines and Nutomic work full-time on these tasks and more. As there is no advertising or tracking, all of our work is funded through donations. Even so there is barely enough time in the day, and no time for a second job. The only available option are user donations.

To keep it viable donations need to reach a minimum of 5000€ per month, resulting in a modest salary of 2500€ per developer. If that goal is reached we can stop worrying about money, and fully focus on improving the software for the benefit of all users and instances. We especially rely on recurring donations to secure the long-term development and make Lemmy the best it can be.

Donate

Last month saw more cleanup and bug fixes for the development version. We also setup nightly builds which are automatically deployed to voyager.lemmy.ml, as detailled in the 0.19.15 announcement post.

This upcoming month we’ll be working on the existing lemmy-ui 1.0 milestone and lemmy 1.0 milestone issues. Our work should be reflected nightly on voyager.lemmy.ml, so we’d much appreciate anyone helping to find bugs and issues

Here are the major changes from December:

Full list of changes by user

flamingos-cant

AcesFullOfKings

matc-pub

dessalines

Nutomic

Or see the full list of changes at the links below:


An open source project the size of Lemmy needs constant work to manage the project, implement new features and fix bugs. Dessalines and Nutomic work full-time on these tasks and more. As there is no advertising or tracking, all of our work is funded through donations. Even so there is barely enough time in the day, and no time for a second job. The only available option are user donations.

To keep it viable donations need to reach a minimum of 5000€ per month, resulting in a modest salary of 2500€ per developer. If that goal is reached we can stop worrying about money, and fully focus on improving the software for the benefit of all users and instances. We especially rely on recurring donations to secure the long-term development and make Lemmy the best it can be.

Donate

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. Thanks to @flamingos-cant for contributing to resolve this.

Changes

We messed up the previous release and did not include the full list of changes. In fact there were a handful of other bug fixes, and notably a maximum page limit of 10 to prevent a DDoS attack. Some users were also hitting this limit, so with this version the limit is increased to 100. We apologize for these mistakes.

Here is the full changelog since 0.19.13:

  • Don’t allow accessing page numbers greater than 10 by @dessalines #6017
  • Update deps based on cargo audit by @Nutomic in #6258
  • Increase page limit to 100 by @Nutomic in #6252
  • Ban federation for deleted users by @Nutomic in #6207
  • Federate mod actions on deleted users by @Nutomic in #6199
  • Allow admins to view deleted user profiles by @Nutomic in #6194
  • Adding creator and community indexes for post_aggregates. by @dessalines in #6025
  • Ignore apub person banners which cannot be parsed by @Nutomic in #6015u

Now for the good news, the development version of Lemmy 1.0 is available for testing on voyager.lemmy.ml with lots of new features. Registration is open, you’re welcome to create an account. Feel free to post spam and try everything out. Here is only a short overview:

  • Multi-communities: Combine different communities together into a custom feed.
  • Post scheduling: Specify when your post should be published.
  • Keyword filter: Automatically hide posts about certain topics.
  • Private communities: Only followers can view the content, and need to be approved manually by mods. Other community visibilities are also available (unlisted, local only).
  • New notification system: Including notifications for mod actions, and subscribing to communities and posts to be notified about new comments.
  • OAuth: Login to Lemmy with existing account from another website. Use this link to signup with your Github account (the UI still needs to be improved).
  • Post Tags: Categorize posts within a community (UI part not implemented yet).
  • User vote totals: You can see the total number of upvotes and downvotes given to each user.
  • User notes: You can keep notes on other users.
  • Combined Feeds: View your saved, liked posts and comments together in a single list.
  • Comment Locking: Mods can now lock comments recursively.
  • GDPR style data exporting: You can now export your full posting history as a JSON file.
  • Plugins: Can be written in JS, Python, Rust, and any other language that targets Webassembly. The test server has a plugin for automatic language tagging of posts.
  • Cursor pagination: Don’t lose your place in the feed when switching pages.
  • API v3 compat: Lemmy 1.0 can be used by existing apps with no changes (but most new features are only available via the new API v4).
  • More: Countless smaller features, bug fixes and improvements, too much to list here.

All the above mentioned features are already implemented and fully working, but may need some polishing. If you encounter any problems, please open an issue (backend, frontend). voyager.lemmy.ml is automatically updated to the latest development version every night, so that changes can immediately be tested.

Keep in mind that Lemmy 1.0 is still in alpha state. There may be breaking changes and critical bugs, so do not attempt to upgrade your own instances yet. We intend to publish the first beta version in January, along with API docs and upgrade instructions for test servers.

We hope that you are as excited about these new features as we are. With all this said, happy testing and Merry Christmas!

Upgrade instructions

There are no breaking changes with this release.

Follow the upgrade instructions for ansible or docker.

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

Thanks to everyone

We’d like to thank our many contributors and users of Lemmy for coding, translating, testing, donating and reporting bugs. We’re glad many people find it useful and enjoyable enough to contribute.

Support development

We (@dessalines and @nutomic) have been working full-time on Lemmy for over five years. This is largely thanks to support from NLnet foundation, as well as donations from individual users.

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. A recurring donation is the best way to ensure that open-source software like Lemmy can stay independent and alive, and helps us grow our little developer co-op to support more full-time developers.

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. Thanks to @flamingos-cant for contributing to resolve this.

Changes

Recently some malicious users started to use an exploit where they would post rule violating content and then delete the account. This would prevent admins and mods from viewing the user profile to find other posts, and would also prevent federation of ban actions.

The new release fixes these problems. Thanks to @flamingos-cant for contributing to solve this.

Upgrade instructions

There are no breaking changes with this release.

Follow the upgrade instructions for ansible or docker.

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

Thanks to everyone

We’d like to thank our many contributors and users of Lemmy for coding, translating, testing, and helping find and fix bugs. We’re glad many people find it useful and enjoyable enough to contribute.

Support development

We (@dessalines and @nutomic) have been working full-time on Lemmy for over five years. This is largely thanks to support from NLnet foundation, as well as donations from individual users.

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. A recurring donation is the best way to ensure that open-source software like Lemmy can stay independent and alive, and helps us grow our little developer co-op to support more full-time developers.

During the past month, we’ve been working rapidly on adding features to lemmy-ui. We also finished up the last major backend changes. This means we can soon go to the beta phase for 1.0, which will focus on testing, bug fixing and helping Lemmy clients to start updating for the new API. After that will be the release candidate phase when version 1.0 will be live tested on lemmy.ml.

You can see the changes in action on the test server voyager.lemmy.ml (which was recently wiped). Registration is open, you are welcome to try things out. To stay up to date with our progress look at the lemmy-ui 1.0 and lemmy 1.0 milestone issues.

The major changes during October were:

Full list of changes by user

matc-pub

dullbananas

SleeplessOne1917

MV-GH

dessalines

Nutomic

Or see the full list of changes at the links below:


An open source project the size of Lemmy needs constant work to manage the project, implement new features and fix bugs. Dessalines and Nutomic work full-time on these tasks and more. As there is no advertising or tracking, all of our work is funded through donations. Even so there is barely enough time in the day, and no time for a second job. The only available option are user donations.

To keep it viable donations need to reach a minimum of 5000€ per month, resulting in a modest salary of 2500€ per developer. If that goal is reached we can stop worrying about money, and fully focus on improving the software for the benefit of all users and instances. We especially rely on recurring donations to secure the long-term development and make Lemmy the best it can be.

Donate

Recently there seems to be some of misunderstanding what the lemmy.ml instance is about, especially from newer users.

Lemmy.ml has always been a niche site, and it will most likely stay this way. We don’t have any intentions to turn it into a mainstream instance, or set a goal of getting as many users as possible. Our goal is simple: make an instance that people like to use. I would say that we have been successful in this, but obviously it is impossible to satisfy everyone.

The reason for this is that @dessalines and I are paid to develop Lemmy, while donations from lemmy.ml users only make up a negligible part of our income. Besides, having more users would force us to spend more time moderating, and less time for development. Lemmy works quite differently from big tech sites like Reddit in this regard: while they get more money with each extra user through advertising, for us it is the opposite. So we would much rather have a smaller, non-toxic, and friendly userbase, than a large one.

Part of the problem might be that lemmy.ml is described as “flagship instance”, which can certainly be interpreted to mean “mainstream” or “general purpose”. I struggle to come up with a better, more accurate description. If you can think of one, please comment here.

If you dont like the way lemmy.ml works, thats okay. Federation exists exactly to solve that problem, let different groups have their own instances, with their own rules and political views. You can see the list of existing instances, and instructions for setting up a new one on join-lemmy.org.

In particular, I would like to see someone (or a group of people) create a mainstream, or liberal instance. That should help to avoid further drama, and avoid attempts to turn lemmy.ml into something that it is not. @dessalines and I would certainly be willing to help with any technical problems that such an instance runs into, and include it on join-lemmy.org (just like any other instance that meets the code of conduct).