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 small bugfix release with the following:
- Fixing cors origin wildcard. by @dessalines in #5194
- Fetch community mods synchronously by @Nutomic in #5169
- Move aggregates to replaceable_schema, fix error (fixes #5186) by @Nutomic in #5190
Full Changelog
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.
- Liberapay (preferred option)
- Open Collective
- Patreon
- Cryptocurrency
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 should also have a bugfix release for a few issues with the last release, and have 0.19.7
ready today or sometime soon.
karminski
dullbananas
- Combine action tables. This will greatly improve the performance of lemmy's post database queries by simplifying the number of joined tables.
SleeplessOne1917
Nutomic
- Always assign default language before checking if language is allowed
- Fetch community mods synchronously
- Move aggregates to replaceable_schema, fix error (fixes #5186)
- Implement private communities
- Run analyze after changing post.url type (ref #4983)
dessalines
- Add ability to mark multiple posts as read.
- Add user setting to auto-mark fetched posts as read.
- Change "mark post as read", "hide post" api calls to take single post instead of multiple
- Fixing cors origin wildcard.
- Upping default max_image_size from 256 to 512.
- Allow disabling private messages. Fixes #3640
- Fix postgres connection options causing slow query speed.
- Removing strip = true from release profile.
- Add filter to hide posts with comments.
- Fix fullsize post image
- Fix modlog mod_id filtering not working.
- Cleanup post action forms
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.
Changes
This release took a long time to complete due to a major performance problem which brought lemmy.ml to a crawl every time we tried to deploy the new version. It took a lot of testing (in production) to narrow it down to a single commit, and finally fix the problem.
The release itself contains numerous bug fixes and minor improvements:
Lemmy
Enhancements
- Parallel federation sending by @phiresky in #4623
- Reduce CPU usage for generating link previews by @phiresky in #4957
- Switch from OpenSSL to rustls by @kwaa in #4901
- Increase max post url length to 2000 characters by @dessalines in #4960
- Increase max length of user bio to 1000 charactes by @dessalines #5014
- Reduce maximum comment depth to 50 by @nutomic #5009
- Resize post thumbnails by @nutomic #5107/files
- Add category to RSS feeds by @nutomic #5030
- Allow users to view their own removed/deleted communities by @dessalines in #4912
- Add backend check to enforce hierarchy of admins and mods by @dessalines in #4860
- Do pictrs transformations for proxied image urls by @dessalines in #4895
- Enable more build optimizations by @nutomic in #5168
- Calculate "controversial" ranking with exponent instead of multiply (just like Reddit) by @dullbananas in #4872
- Automatically remove tracking parameters from URLs by @dessalines #5018
- Relax timeout for sending activities by @Nothing4You in #4864
Bug Fixes
- Fix admin notification for new user registration (fixes #4916) by @Nutomic in #4925
- Allow community settings changes by remote mods @flamingo-cant-draw in #4937
- Fix problem with connecting to Postgres with TLS @FenrirUnbound in #4910
- Fix bug when commenting in local-only community by @dessalines in #4854 and @abdel-m in #4920
- Fix scheduled task to delete users with denied applications by @Nothing4You in #4907
API
- Return image dimensions and content type in API responses by @dessalines in #4704
- Adding a show_read override to GetPosts. by @dessalines in #4846
- Add show_nsfw override filter to GetPosts. by @dessalines in #4889
- Require authentication for site metadata fetch endpoint by @dessalines in #4968
- Add the ability to fetch a registration application by person_id by @dessalines in #4913
- Order community posts by published data, not id by @dullbananas in #4859
- Throw error when non-mod posts to mod-only comm or when URL is blocked by @flamingo-cant-draw in #4966
- Add option to search exclusively by post title by Carlos-Cabello #5015
Database
- Approve applications in transaction by @Nothing4You in #4970
- Use trigger to generate apub URL in insert instead of update, and fix query planner options not being set when TLS is disabled by @dullbananas in #4797
Lemmy-UI
- Fix full-size post images. by @dessalines in #2797
- Fix modlog ID filtering. by @dessalines in #2795
- Allow Arabic and Cyrillic characters when signing up or creating community by @SleeplessOne1917
- UX - Swap "Select Language" and "Cancel/Preview/Reply" button locations around in commentsReverse order of buttons in Reply TextArea
- Fix jump to content by @SleeplessOne1917
- Fixing peertube and ordinary video embeds. by @dessalines in #2676
- Changing sameSite cookie from Strict to Lax. by @dessalines in #2677
- Remove show new post notifs setting. by @dessalines in #2675
- Fix memory leak around emojis on server render by @makotech222 in #2674
- Enable spellcheck for markdown text area by @SleeplessOne1917 in #2669
- Pre release dep bump by @SleeplessOne1917 in #2661
- Add ability to fill magnet link title on post creation. by @dessalines in #2654
- Registration application view by @SleeplessOne1917 in #2651
- Add torrent help by @dessalines in #2650
- More moderation history by @dessalines in #2649
- Fix tribute related bug by @SleeplessOne1917 in #2647
- Remove min and max length from password input when using login form by @SleeplessOne1917 in #2643
- Remove trending communities card from home. by @dessalines in #2639
- Set data-bs-theme based on the presence of "dark" in theme name by @SleeplessOne1917 in #2638
- Fixing modlog filtering to allow admins and mods to filter by mod. by @dessalines in #2629
- Fix issue from logo bugfix by @SleeplessOne1917 in #2620
- Make more post params cross-postable by @SleeplessOne1917 in #2621
- Fix wonky comment action icon button alignment by @SleeplessOne1917 in #2622
- Prevent broken logo from crashing site by @SleeplessOne1917 in #2619
- Add rate limit info message. by @dessalines in #2563
- Fix getQueryString by @matc-pub in #2558
New Contributors
- @abdel-m made their first contribution in #4920
- @johnspurlock made their first contribution in #4917
- @FenrirUnbound made their first contribution in #4910
- @kwaa made their first contribution in #4901
- @Daniel15 made their first contribution in #4892
Full Changelog
Upgrade instructions
This upgrade could take as long as ~30 minutes for larger servers, due to needing to recalculate controversy ranks for all historical posts.
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.
Special shout out to @SleeplessOne1917, @phiresky, @dullbananas, @mv-gh, @Nothing4u, @asonix, @sunaurus, @flamingo-cant-draw, and @Freakazoid182 for their many code contributions and helpful insights.
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.
- Liberapay (preferred option)
- Open Collective
- Patreon
- Cryptocurrency
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 also apologize for all the downtime on lemmy.ml recently, but thanks to @Nutomic and @phiresky, we've narrowed down the issue, and have a fix for it.
This was a blocker for the 0.19.6
release, so that should be ready to go soon, with 0.20.0
not long after.
flamingo-cant-draw
SleeplessOne1917
Nothing4You
Integral-Tech
dessalines
Nutomic
- Remove individual user/community inboxes
- Remove comment_like.post_id column which is unnecessary (ref #5122)
- Support markdown sub/superscript, use external crate for spoilers
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
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.
stevenvergenz
SleeplessOne1917
Nutomic
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
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.
sunaurus
netbrum
dullbananas
N4taaa
matc-pub
SleeplessOne1917
Nutomic
- Resolve links to remote posts into local URL
- Attempt to fix test for fetching deeply nested comment
- Avoid stack overflow when fetching nested comments, reduce max comment depth to 50
- Handle partial settings backup (fixes #4307)
- Avoid breaking changes, keep response fields as deprecated
- Replace clippy allow annotation with expect (fixes #5012)
- Cleanup remaining use of Result<bool, Error> (fixes #4862)
- Post scheduling (fixes #234)
- Conditionally hide comments on nsfw posts (fixes #4237)
- Simplify handling of NotFound SQL errors (fixes #4633)
- Post scheduling
dessalines
- Adding a get_random_community endpoint.
- Adding local site settings to reject federated upvotes or downvotes.
- Add modlog entries for bulk removals.
- Adding skip_serializing_none to another OAuth API request.
- Removing a few more Result<Bool>.
- Add ability to search for Community by its description (or title only).
- Remove redundant local_user.auto_expand setting.
- Adding saved_only, liked_only, and disliked_only filters to search.
- Get rid of a lot of pointless mut form initializations.
- Fixing titleOnly, PostSort, and CommentSort.
- Updating git cliff.
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
Here is an update that explains what we have been working on recently (apologies for not having these for a few months, summer vacations and all that). This should allow average users to keep up with development, without reading Github comments or knowing how to program.
@privacyguard added Single-Sign-On (SSO) support to lemmy (this still needs some UI work and testing, but the bulk of the work is done). Special thanks to Privacy Portal for working on this!
@carlos-cabello added a way to filter posts by title only (and not body) when searching.
@Freakazoid182 added custom emoji and tagline views.
@nothing4u made our scheduled cleanup job delete denied users.
@sunaurus made a few image proxy fixes.
@sleepless has been working hard on lemmy-ui-leptos, which may eventually replace lemmy-ui. He made improvements to how posts are displayed; made SI formatting consistent with how the current UI handles it; added translations; added post content actions, creator, and community listings; and made some plugins for markdown-it
.
@nutomic cleaned up the issue tracker by closing invalid issues and adding tags like good first issue. He also made some simple improvements, like adding a category to RSS feeds, fixing an issue with activitypub ids, and removing the enable_nsfw setting in favor of content_warning
.
@dessalines integrated a new rust clearurls library into lemmy that will remove tracking params for any post or comment text (Much thanks to @jendrikw for creating this library), increased the bio max length from 300 to 1000, removes lemmy's reliance on openssl, made the list logins response more uniform, added the ability to restore content on an unban, added a default comment sort type for both the local site, and your user.
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.
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.
We're readying the release of Lemmy v0.19.4
in the upcoming weeks, but still have a few performance and front-end issues to address. 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.
@snan fixed parent comment context links.
@matc-pub added mixins to simplify tippy popups and scroll-restoration, and conditional rendering to lemmy-ui. Also fixed deselecting community / creator filter for the search form. Added blur server-side-rendering by default for content-warning sites.
@sleepless added an adult consent popup to lemmy-ui, to account for the new site.content_warning
field. Fixed an issue with fallback images. Prevent video embeds from displaying, for content-warning sites. Added a way to view historical mod actions done on a single post or comment.
@dullbananas moved the SQL triggers out of migrations, and into a reusable SQL file. This will really help with fixing / tweaking database triggers.
@dessalines fixed extra modlog entries when filtering by post or comment id, removed the scheme from URL blocks to prevent duplicate http
/ https
regex matches, made all single-row database fetches return an Option so as to catch the missing case more explicitly, created a LocalImageView
so that front ends can better handle listing media. Also added the image upload views for users and admins to lemmy-ui. Full federated usernames are also always shown now for non-local users. Added vote display mode preferences to lemmy-ui, with upvotes / downvotes as the default. Added a banned indicator to the view votes popup.
@nutomic and @kroese have been fixing / tweaking thumbnail generation.
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.
@snan fixed parent comment linking when not showing context in lemmy-ui in #2417.
@matc-pub fixed deselecting community/creator filter for search form in #2416.
@aeharding fixed incorrectly escaped user data export JSON in lemmy-ui.
@kroese added a fix for the pictrs image mode setting.
@richardj added a comment margin to lemmy-ui.
@tracyspace fixed unecessarily duped notifications.
@jim-taylor-business added ignoring lemmy config based on an ENV var. Has also been working on lemmy-ui-leptos.
@dullbananas optimized set featured posts, added more test coverage.
@SleeplessOne1917 added url blocking and post hiding to lemmy-ui and has, more generally, been preparing lemmy-ui to support the 0.19.4 features added to the backend. He has also been working on lemmy-ui-leptos.
@dessalines added alt text and custom thumbnail to lemmy-ui. Fixed private message sort order. Fixed the docker release.. Partially fixed custom thumbnail updates.. Fixed a bug where comment notifs wouldn't be sent to blocked instances.. Changed defaults on user vote display mode to upvotes + downvotes. Converted many Result<..., LemmyError>
into LemmyResult
. #4614.
@nutomic added metadata and thumbnail fetching in the background. Added caching of LocalSite::read. Added ignoring of old federated post edits.. Changed exponential backoff for federation sends.. Added a test for fetching from a local url. Fixed a wrongly merged breaking change related to public_key, and reduced api cache duration.
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.
@sunaurus fixed our rate-limiter and is working on federation of local site bans.
@SleeplessOne1917 added banned_from_community
to post and comment views. Added a matrix account link to the create private message form. User emails are now shown for registration applications, to stop spam emails. Worked on notifying users when they're banned from a community.
@matc-pub reworked and cleaned up lemmy-ui's query parsing.
@rodrigo-fm added a loading skeleton for posts / comments to lemmy-ui.
@phiresky and @dullbananas have been doing a lot of work reviewing PRs, and finishing up current ones.
@nutomic worked on generating post thumbnail/metadata in background, deleting old avatar/banner/icon's when uploading a new one. On registration, automatically set content languages from accept-language
headers. Migrated apub block activity to standard endTime
property and deprecate expires
. Added delete user field removeData
to apub assets. Fixed handling of apub downvotes.
@dessalines has worked on fixing some issues with Woodpecker, our CI, deleting a person's local images on account deletion., adding a listMedia endpoint for users and admins to view local image uploads. Also added a creator_banned_from_community to vote views, and fixed an issue with comment replies being wrongly marked as read.. Also made jerboa use a new preference library.
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 failed to publish the update last Friday as scheduled, so this update contains more changes than usual. We also added @dullbananas as maintainer for the Lemmy backend repo.
@matc-pub reduced the amount of data that needs to be fetched by the browser for rendering lemmy-ui, by loading only translations which are actually used.
@flamingo-cant-draw added a URL Blocklist, to prevent link spamming.
@SleeplessOne exposed Lemmy errors in the Rust API. In lemmy-ui he added a badge for number of local subscribers to a community and added a UI to see and edit community visibility. In the leptos UI, he made the UI use the lemmy-client crate for API requests.
@Nutomic fixed synchronization of featured posts. He added a 'delete content' checkbox for account deletion which was missing from previous releases. He also fixed various bugs related to password reset, signed fetch from Mastodon, search listing type, password reset and 2FA. He updated the federation library with security improvements. Added dont require leading ! or @ for webfinger resolve. Fixed video thumbnail generation.. Added including an apub hashtag with a post.
@Dessalines added a new API endpoint for users to hide posts. He made various moderation improvements, such as removing content from local communities when a remote user is banned or purged, viewing mod action history and report history for specific posts and comments. Additionally he added an alt_text field for posts, and a new user setting for vote display mode. Also added extra fields to PostReport and CommentReport views. Has also, along with @MV-GH, been making many improvements to Jerboa.
In personal news, @nutomic's daugher will be born next month. Afterwards he will take a break from Lemmy to take care of her for some months.
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 had these changes merged:
@Sleepless added a field so that users can see if they've been banned from a community. Has been refactoring Lemmy's exports to make them more easily used by 3rd party libraries, such as their lemmy-client-rs , and lemmy-ui-leptos. Added an animated avatar setting for users.
Has also been making improvements to lemmy-ui such as fixing a scroll bug, and hiding WYSIWYG buttons on preview. Has also been working a lot on lemmy-ui-leptos.
@Nutomic created an rfc for private communities, fixed an issue with the database logging connection URLs on an error. Added an optional site content warning and post-listing-mode. Also did a lot of code reviews.
@dullbananas fixed an issue with Comment Report reads, added better query plans, and is working on many DB improvements.
@dessalines added an instance-level default post sort. Added a maintenance task to clean up old denied users from the DB.. Made sure that blocking an instance also hides private messages from their users, to prevent harassment. He also added the ability to specify custom thumbnails for posts. Fixed an issue with auto-resolving reports when removing a post or comment.
Has also been making a lot of additions to Jerboa, such as admin registration applications, report queues, comment distinguishing, banning users from their profile page, privacy policies, and muted / smaller federated names.
@sunaurus created an rfc for separate report inboxes for mods and admins.
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, @nutomic@lemmy.ml , SleeplessOne , or @phiresky@lemmy.world 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 @phiresky@lemmy.world 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
The full description of the bug is in the linked issue above, but the short version is:
Our CreatePrivateMessageReport
endpoint had a bug that would allow anyone, not just the recipient, to create a report, and then receive the details about private messages.
This allowed anyone to iterate over ids, creating thousands of reports in order to receive details about private messages.
Since those reports are visible to admins, it would be easy to discover if someone was abusing this, and luckily we haven't heard of anyone doing so on production instances (so far).
If you haven't, please be sure to upgrade to at least 0.19.1
for the fix.
Many thanks to @Nothing4You for finding this one.
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.
Yesterday we released Lemmy 0.19.2, which included various federation fixes, as well as a way for admins to view votes.
@phiresky fixed a federation loop bug, and worked on lemmy-federation-state, a tool to help visualize federation status.
@sleepless fixed a lemmy-ui theming issue, as well as an issue with lemmy-ui's error pages.
@dessalines fixed an issue with resolving reports, added the ability for admins to view votes to prevent downvote trolling, upgraded our woodpecker-ci to 2.1, and helped fix various CI issues, and is adding comment and post removing to jerboa.
@nutomic is fixing an issue with mastodon follows, working on local-only communities, fixed an issue with the lemmy-stats-crawler, fixed an issue with cache-control headers, better handling of federated reports from mastodon and kbin, and much more.
@dullbananas is fixing up some Lemmy DB triggers, adding a better-organized cursor-based pagination library, and a query plan viewer.
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)
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
- Outgoing federation bug fixes.
- Lemmy can now receive reports sent from Mastodon and Kbin.
- Added the ability for admins to view votes, to prevent downvote trolling. Demo. #4088
- Various bug fixes and minor enhancements.
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)
Sometime early this morning, our database started having issues, most likely due to a disk corruption issue.
Unfortunately the postgres database was unrecoverable, and we had to restore from a nightly backup, so a few hours of posts and comments will be missing.
Apologies again for the downtime, and for the disruption.