Announcements
Official announcements from the Lemmy project. Subscribe to this community or add it to your RSS reader in order to be notified about new releases and important updates.
You can also find major news on join-lemmy.org
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.
Changes
This is a smaller bugfix release, with the following changes:
Lemmy
- Don't change encoding style in clean_url_params.
- Fix for federation last_successful_id.
- Fixing featured_local trigger.
- Fix postres TLS connection.
Lemmy-UI
- Fix for fetch page title.
- Fix create post focus resets.
- Make media uploads viewable only on your own profile.
- Fixing an auto-download bug.
- Regenerating lemmy-ui themes.
Full Changelog
Upgrade instructions
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 three 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.
- Liberapay (preferred option)
- Open Collective
- Patreon
- Cryptocurrency (scroll to bottom of page)
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 v0.19.4
release is a big one, with > 200 pull requests merged since v0.19.3
. As such we can only give a general overview of the major changes in this post, and without going into detail. For more information, read the full changelogs at the bottom of this post.
Local Only Communities
Communities have a new visibility
setting, which can be either Public
(current behaviour) or LocalOnly
. The latter means that the community won't federate, and can only be viewed by users who are logged in to the local instance. This can be useful for meta communities discussing moderation policies of the local instance, where outside users shouldn't be able to participate. It is also a first step towards implementing private communities. Local only communities still need more testing and should be considered experimental for now.
Image Proxying
There is a new config option called image_mode which provides a way to proxy external image links through the local instance. This prevents deanonymization attacks where an attacker uploads an image to his own server, embeds it in a Lemmy post and watches the IPs which load the image.
Instead if image_mode
is set to ProxyAllImages
, image urls are rewritten to be proxied through /api/v3/image_proxy
. This can also improve performance and avoid overloading other websites. The setting works by rewriting links in new posts, comments and other places when they are inserted in the database. This means the setting has no effect on posts created before the setting was activated. And after disabling the setting, existing images will continue to be proxied. It should also be considered experimental.
Many thanks to @asonix for adding this functionality to pict-rs v0.5
.
Post hiding
You can now hide a post as a dropdown option, and there is a new toggle to filter hidden posts in lemmy-ui. Apps can use the new show_hidden
field on GetPosts to enable this.
Moderation enhancements
With the URL blocklist admins can prevent users from linking to specific sites.
Admins and mods can now view the report history and moderation history for a given post or comment.
The functionality to resolve reports automatically when a post is removed was previously broken and is now fixed. Additionally, reports for already removed items are now ignored.
The site.content_warning setting lets admins show a message to users before rendering any content. If it is active, nsfw posts can be viewed without login.
Mods and admins can now comment in locked posts.
Mods and admins can also use external tools such as LemmyAutomod for more advanced tools.
Media
There is a new functionality for users to list all images they have previously uploaded, and delete them if desired. It also allows admins to view and delete images hosted on the local instance.
When uploading a new avatar or banner, the old one is automatically deleted.
Instance admins should also checkout lemmy-thumbnail-cleaner which can delete thumbnails for old posts, and free significant amounts of storage.
Federation
Lemmy can now federate with Wordpress, Discourse and NodeBB. So far there was only minor testing and these projects are still under heavy development. If you encounter any issues federating with these platforms, open an issue either in the Lemmy repo or in the respective project's issue tracker. You can test it by fetching the following posts:
In order to improve interoperability with Mastodon and other microblogging platforms, Lemmy now automatically includes a hashtag with new posts. The hashtag is based on the community name, so posts to /c/lemmy
will automatically have the hashtag #lemmy
. This makes Lemmy posts much easier to discover.
Reliability and security of federation have been improved, and numerous bugs squashed. Signed fetch was broken and is fixed now.
Vote display user setting
There is now a user setting to change the way vote counts are displayed, called vote display mode.
You can specify which of the following vote data you'd like to see (or hide): Upvotes, Downvotes, Score, Upvote Percentage, or none of the above. The default (based on user feedback) is showing the upvotes + downvotes.
App developers will need to update their apps to support this setting.
RSS Feeds
RSS feeds now include post thumbnail and embedded images.
Security Audit
A security audit was recently performed on Lemmy. Big thanks to Radically Open Security for the generous funding, and to Sabrina Deibe and Joe Neeman for carrying out the audit. The focus was on federation logic, and discovered various problems in this area. Most of the problems are being mitigated as part of this release. Fortunately no critical security vulnerabilities were discovered.
This is already the third security audit of Lemmy, all organized by ROS. We're greatly indebted to them for their support.
Other Changes
- Added Community
local_subscribers
count - Support for custom post thumbnail
- For new user accounts the interface language and discussion languages are set automatically based on
accept-language
HTTP header - Added instance-level default sort type
- Indicate to user when they are banned from community
- Added alt_text for image posts
- Dont require leading ! or @ to fetch a user or community
- Extra fields for PostReport and CommentReport views
Full Changelog
Upgrade instructions
Warning: This version requires both a Postgres and Pictrs version upgrade, which requires manual intervention.
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.
Special thanks goes to Radically Open Security, @sleepless and @matc-pub for their work on lemmy-ui and lemmy-ui-leptos, @dullbananas for their help cleaning up the back-end, DB, and reviewing PRs, @phiresky for federation work, @MV-GH for their work on Jerboa and API suggestions, @asonix for developing pictrs, @ticoombs and @codyro for helping maintain lemmy-ansible, @kroese, @povoq, @flamingo-cant-draw, @aeharding, @Nothing4U, @db0, @MrKaplan, for helping with issues and troubleshooting, and too many more to count.
Support development
We (@dessalines and @nutomic) have been working full-time on Lemmy for over three 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.
- Liberapay (preferred option)
- Open Collective
- Patreon
- Cryptocurrency (scroll to bottom of page)
Here is our regular update that explains what we have been working on for the past two weeks. This should allow average users to keep up with development, without reading Github comments or knowing how to program.
We're readying the release of Lemmy v0.19.4
(currently on 0.19.4-rc.2
), in the upcoming weeks, but still have a few more issues to address, and testing that needs to be done. If you'd like to help us test betas to help find issues, you can go to https://voyager.lemmy.ml or ds9.lemmy.ml for the newest RC, or run your own test ones locally from our beta docker tags.
Please do not run unreleased builds in production, as these could cause issues which require some manual intervention to fix.
We've also added a few github milestones for our upcoming releases, to keep track of what we'll be working on, but you can also look at our pending pull requests.
@flamingo-cant-draw increased the character limit for alt-text fields.
@dullbananas just graduated from high school and will have a lot more time to work on Lemmy for a few months. Has been working on a custom database migration runner.
@matc-pub cleaned up and added a lot of asynchronous loading for various components in lemmy-ui.
@sleepless and matc-pub fixed an issue with leap years in lemmy-ui.
@sleepless fixed a bug with admin settings in lemmy-ui, fixed an issue with language not allowed, fixed an issue with video thumbnails, and upgraded to a non-deprecated QR library. Has also been adding a lot of the backbone for lemmy-ui-leptos.
@nutomic fixed some issues with importing partial settings backups, 2, made NodeInfo standard compliant, and upgraded to 2.1, added some test cases for user reports, removed unused federation code, added a stricter rate limit for logins, made password reset tokens non-reusable, marked DB fields as sensitive so they don't show up in logs, allowed passing of command-line params via environment vars. Also prevented removal of comments which are already deleted, and configured a max comment width in clippy.
@dessalines fixed some issues with image proxying, 2, made some fixes to our woodpecker CI jobs. Replies and mentions are now correctly hidden for blocked users.
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. Recurring donations are ideal because they allow for long-term planning. But also one-time donations of any amount help us.
- Liberapay (preferred option)
- Open Collective
- Patreon
- Cryptocurrency (scroll to bottom of page)
Here is our regular update that explains what we have been working on for the past two weeks. This should allow average users to keep up with development, without reading Github comments or knowing how to program.
We're readying the release of Lemmy v0.19.4
in the upcoming weeks, but still have a few more issues to address, and testing that needs to be done. If you'd like to help us test betas to help find issues, you can go to https://voyager.lemmy.ml for the newest beta, or run your own test ones locally from our beta docker tags.
Please do not run unreleased builds in production, as these could cause issues which require some manual intervention to fix.
We've also added a few github milestones for our upcoming releases, to keep track of what we'll be working on, but you can also look at our pending pull requests.
@ticoombs converted our docker upgrade script to the newer version, and has been readying lemmy-ansible for the next release.
@dullbananas optimized the actor language inserts, and fixed an issue with triggers locking the tables.
@sleepless Removed an unecessary login step from our crates.io publish, fixed a deprecated reliance on encoding.rs, fixed an issue with onBlur in lemmy-ui, and added a dependency on lemmy-rs-client for lemmy-ui-leptos, which included a lot of structural changes. Fixed an issue with broken direct messages in lemmy-ui, and a bug with newly-created communities.
@nutomic added setting the show_nsfw site setting based on content_warning, fixed an issue with Discourse federation, added NodeBB federation, fixed an issue with crashes for missing domains, added wordpress federation, fixed an issue with early exits when only running scheduled tasks, added a timeout on incoming activities, and made instance.preferred_username
optional.
@dessalines fixed an issue with broken community outboxes, fixed an issue with search returning deleted / removed posts. The liked_only
for GetPosts
now doesn't return your own items, making this more usable to show a history of your likes.
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. Recurring donations are ideal because they allow for long-term planning. But also one-time donations of any amount help us.
- Liberapay (preferred option)
- Open Collective
- Patreon
- Cryptocurrency (scroll to bottom of page)
Here is our regular update that explains what we have been working on for the past two weeks. This should allow average users to keep up with development, without reading Github comments or knowing how to program.
The last two weeks were rather quiet, with only some minor changes merged:
@Elara6331 made improvements to the RSS feeds, adding thumbnails and filtering invalid characters. She also made a change to account creation, so that new accounts automatically have the correct interface language.
@iatenine increased the font sizes in lemmy-ui.
@Kradyz improved the message of the add mod dialog.
@dessalines has been adding more mod tools to jerboa: adding ban actions and viewing votes.
@Sleepless has been working on lemmy-ui-leptos, as well as creating a rust api library for lemmy called lemmy-client-rs.
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. Recurring donations are ideal because they allow for long-term planning. But also one-time donations of any amount help us.
- Liberapay (preferred option)
- Open Collective
- Patreon
- Cryptocurrency (scroll to bottom of page)
This is a chance for any users, admins, or developers to ask anything they'd like to myself, @[email protected] , SleeplessOne , or @[email protected] about Lemmy, its future, and wider issues about the social media landscape today.
NLNet Funding
First of all some good news: We are currently applying for new funding from NLnet and have reached the second round. If it gets approved then @[email protected] and SleeplessOne will work on the paid milestones, while @dessalines and @nutomic will keep being funded by direct user donations. This will increase the number of paid Lemmy developers to four and allow for faster development.
You can see a preliminary draft for the milestones. This can give you a general idea what the development priorities will be over the next year or so. However the exact details will almost certainly change until the application process is finalized.
Development Update
@ismailkarsli added a community statistic for number of local subscribers.
@jmcharter added a view for denied Registration Applications.
@dullbananas made various improvements to database code, like batching insertions for better performance, SQL comments and support for backwards pagination.
@SleeplessOne1917 made a change that besides admins also allows community moderators to see who voted on posts. Additionally he made improvements to the 2FA modal and made it more obvious when a community is locked.
@nutomic completed the implementation of local only communities, which don't federate and can only be seen by authenticated users. Additionally he finished the image proxy feature, which user IPs being exposed to external servers via embedded images. Admin purges of content are now federated. He also made a change which reduces the problem of instances being marked as dead.
@dessalines has been adding moderation abilities to Jerboa, including bans, locks, removes, featured posts, and vote viewing.
In other news there will soon be a security audit of the Lemmy federation code, thanks to Radically Open Security and NLnet.
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. Recurring donations are ideal because they allow for long-term planning. But also one-time donations of any amount help us.
- Liberapay (preferred option)
- Open Collective
- Patreon
- Cryptocurrency
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
- Fixed lemmy-ui error page bug by @Sleepless in https://github.com/LemmyNet/lemmy-ui/pull/2302
- Fix bug with Mastodon undo follow activities by @Nutomic in https://github.com/LemmyNet/lemmy/pull/4364
- Count chars, not bytes for max title length (fixes #4366) by @Nutomic in https://github.com/LemmyNet/lemmy/pull/4367
- Mark instance as alive after successful activity send (fixes #4039) by @Nutomic in https://github.com/LemmyNet/lemmy/pull/4377
- Dont allow caching captcha response by @Nutomic in https://github.com/LemmyNet/lemmy/pull/4381
- Revert "Dont ignore errors during login (fixes #4319) (#4321)" by @Nutomic in https://github.com/LemmyNet/lemmy/pull/4380
- Removing group from woodpecker, as its deprecated. by @dessalines in https://github.com/LemmyNet/lemmy/pull/4387
- Add secondary sort by published date for post view (fixes #4383) by @Nutomic in https://github.com/LemmyNet/lemmy/pull/4384
Upgrade instructions
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 three 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.
- Liberapay (preferred option)
- Open Collective
- Patreon
- Cryptocurrency (scroll to bottom of page)
Here is our regular update that explains what we have been working on for the past two weeks. This should allow average users to keep up with development, without reading Github comments or knowing how to program.
Last Friday we finally released Lemmy 0.19.0, after a long development time and extensive bug fixing. Read the announcement to find out about the major changes. A few days later on Wednesday we had to publish 0.19.1 to fix a few more bugs that slipped through.
@phiresky fixed the critical bug with outgoing federation in 0.19. Previously he fixed an authentication bug in lemmy-ui which was blocking the 0.19 release.
@dessalines fixed the broken logic for "hide read posts". He also fixed a problem with email login being case sensitive
@nutomic reenabled pushing to crates.io so Rust developers can easily interact with Lemmy. He also made performance optimizations for /api/v3/site
and the optimized the Activitypub context sent by Lemmy, reducing the database size and the amount of data sent between instances. He fixed various tests to prevent random failures in continuous integration 1 2
@dullbananas has long been busy improving the database queries for Lemmy, such as fixing a bug in the way different posts sorts are combined, and improving the test cases.
This is our last update for 2023. It was a very busy year for Lemmy, and it looks like 2024 might have even more changes in store. So lets enjoy these holidays, have a Merry Christmas and Happy New Year!
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. Recurring donations are ideal because they allow for long-term planning. But also one-time donations of any amount help us.
- Liberapay (preferred option)
- Open Collective
- Patreon
- Cryptocurrency (scroll to bottom of page)
Here is our regular update that explains what we have been working on for the past two weeks. This should allow average users to keep up with development, without reading Github comments or knowing how to program.
This week we finally started deploying 0.19 release candidates to lemmy.ml, as a final testing step before release. Unfortunately there are some nasty authentication which we have been attempting to debug all week, without success so far. So it will take some more time to fix this and other issues before publishing the final version.
@rasklyd made Lemmy releases for ARM64 platforms possible. @kroese did the same for lemmy-ui. This means that official releases from Lemmy 0.19 will work on devices such as Raspberry Pi.
@dessalines has been very busy attempting to fix the previously mentioned authentication bug. He also worked on other bug fixes and upgraded Jerboa for Lemmy 0.19.
@nutomic again fixed various problems that were introduced during 0.19 development, to get ready for the release.
@Sleeplessone1917 implemented the frontend for user settings import/export. He also started work on an overhaul of context menus.
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. Recurring donations are ideal because they allow for long-term planning. But also one-time donations of any amount help us.
- Liberapay (preferred option)
- Open Collective
- Patreon
- Cryptocurrency (scroll to bottom of page)
This is an opportunity for any users, server admins, or interested third parties to ask anything they'd like to @[email protected] and I about Lemmy. This includes its development and future, as well as wider issues relevant to the social media landscape today.
Note: This will be the thread tmrw, so you can use this thread to ask and vote on questions beforehand.
Recently there have been some discussions about the political stances of the Lemmy developers and site admins. To clear up some misconceptions: Lemmy is run by a team of people with different ideologies, including anti-capitalist, communist, anarchist, and others. While @dessalines and I are communists, we take decisions collectively, and don't demand that anyone adopt our views or convert to our ideologies. We wouldn't devote so much time to building a federated site otherwise.
What's important to us is that you follow the site rules and Code of Conduct. Meaning primarily, no-bigotry, and being respectful towards others. As long as that is the case, we can get along perfectly fine.
In general we are open for constructive feedback, so please contact any member of the admin team if you have an idea how to improve Lemmy.
Slur Filter
We also noticed a consistent criticism of the built-in slur filter in Lemmy. Not so much on lemmy.ml itself, but whenever Lemmy is recommended elsewhere, a few usual suspects keep bringing it up. To these people we say the following: we are using the slur filter as a tool to keep a friendly atmosphere, and prevent racists, sexists and other bigots from using Lemmy. Its existence alone has lead many of them to not make an account, or run an instance: a clear net positive.
You can see for yourself the words which are blocked (content warning, link here). Note that it doesn't include any simple swear words, but only slurs which are used to insult and attack other people. If you want to use any of these words, then please stay on one of the many platforms that permit them. Lemmy is not for you, and we don't want you here.
We are fully aware that the slur filter is not perfect. It is made for American English, and can give false positives in other languages or dialects. We are totally willing to fix such problems on a case by case basis, simply open an issue in our repo with a description of the problem.