Lemmy now has private instances, optional registration applications, optional email verification, and temporary bans! These are described in detail below.
Special thanks to @asonix for adding tokio-console and Jaeger + opentelemetry to our dev setups, so we can better identify performance bottlenecks.
What is Lemmy?
Lemmy is similar to sites like Reddit, Lobste.rs, or Hacker News: you subscribe to communities you’re interested in, post links and discussions, then vote and comment on them. Lemmy isn’t just a reddit alternative; its a network of interconnected communities ran by different people and organizations, all combining to create a single, personalized front page of your favorite news, articles, and memes.
Major Changes
Required email verification
Admins can turn this on, and new users will need to verify their emails. Current users will not have to do this.
Registration applications
Admins can now optionally make new users fill out an application to join your server. There is a new panel in their top bar where they can approve or deny pending applications.
This works in conjunction with the require_email field. If that is also turned on, the application will only be shown after their email has been verified. The user will receive an email when they have been accepted.
Closed / Private instances
The instance settings now includes a private instance option, which if turned on, will only let logged in users view your site. Private instances was one of our first issues, and it was a large effort, so its great to finally have this completed.
Temporary Bans
When banning users from your site or community, moderators can now optionally give a number of days for the ban to last.
Allow comment replies from blocked users
It used to be that if a user blocked you, you couldn’t respond to their public posts and comments. This is now fixed. They won’t see your content, but others can.
Upgrade notes
Follow the Docker or Ansible upgrade instructions here.
Support development
If you’d like to support development, and make sure that we will always be available to work full time on Lemmy, consider donating to support its development. We’ve spent hundreds of hours on Lemmy, and would like to be able to add more developers to our little open-source co-op as time goes on.
Changes
API
We’ve removed a list of banned users from GetSite
, added a few endpoints related to registration applications, made a few changes allowing temporary bans, site settings, made a few changes to the login response. These are non-destructive and current clients should work with this release.
- A full list of the API changes can be seen on this diff of lemmy-js-client: 0.14.0 -> 0.15.0 .
Config
There is a new rate limit for creating new comments in the config.hjson.
Lemmy Server
- Adding temporary bans. Fixes #1423 (#1999)
- Add console-subscriber (#2003)
- Opentelemetry (#1992)
- Use correct encoding when fetching non-UTF-8 site metadata (#2015)
- Adding a banned endpoint for admins. Removing it from GetSite. Fixes #1806
- Prevent panic on InboxRequestGuard
- Case-insensitive webfinger response. Fixes #1955 & #1986 (#2005)
- First pass at invite-only migration. (#1949)
- Upgrading pictrs. (#1996)
- Trying out an upgraded version of html5ever. #1964 (#1991)
- Adding min setup password length to the docs. Fixes #1989 (#1990)
- Test pleroma follow (#1988)
- Remove awc (#1979)
- Consolidate reqwest clients, use reqwest-middleware for tracing
- Don’t drop error context when adding a message to errors (#1958)
- Change lemmur repo links (#1977)
- added deps - git and ca-certificates (for federation to work) and changed adduser to useradd so that user can be added non-interactively (#1976)
- Allow comment replies from blocked users. Fixes #1793 (#1969)
- Fix retry infinite loops. Fixes #1964 (#1967)
- Add lotide activities to tests
- Allow single item for to, cc, and @context
- Adding a captcha rate limit. Fixes #1755 (#1941)
- Dont send email notifications for edited comments (fixes #1925)
- Fix API dupes query. #1878
- Fixing duped report view for admins. Fixes #1933 (#1945)
- Adding a GetComment endpoint. Fixes #1919 (#1944)
- Fix min title char count for post titles. Fixes #1854 (#1940)
- Adding MarkPostAsRead to API. Fixes #1784 (#1946)
- background-jobs 0.11 (#1943)
- Add tracing (#1942)
- Remove pointless community follower sort. (#1939)
- Use once_cell instead of lazy_static
- Adding unique constraint for activity ap_id. Fixes #1878 (#1935)
- Making public key required. Fixes #1934
- Change NodeInfo
links
to an array - Fixing fuzzy_search to escape like chars.
- Fix build error in #1914
- Fix login ilike bug. Fixes #1920
- Fix Smithereen webfinger, remove duplicate webfinger impl (fixes #1916)
- Dont announce comments, edited posts to Pleroma/Mastodon followers
- Community outbox should only contain activities sent by community (fixes #1916)
- Remove HTTP signature compatibility mode (its not necessary)
- Implement rate limits on comments
Lemmy UI
- Fixed an issue with post embeds not being pushed to a new line #544
- Adding as and lt languages, Updating translations.
- Temp bans (#524)
- Fix banner. Fixes #466 (#534)
- Making the modlog badge stand out more. Fixes #531 (#539)
- Add some fallback properties for display in older browsers (#535)
- Private instances (#523)
- Add nord theme. Fixes #520 (#527)
- Dont receive post room comments from blocked users. (#516)
- Using console.error for error logs. (#517)
- Fix issue with websocket buffer.
- Switching to websocket-ts. #247 (#515)
- Fix native language issue. (zh_Hant) (#513)
- Fix tippy on component mount. Fixes #509 (#511)
- Fix docker latest (#510)
- Enabling html tags in markdown. Fixes #498
- Fix comment scroll bug. Fixes #492
- Fixing error for null person_block. Fixes #491
- Trying to catch promise and json parse errors. #489 (#490)
Hi, I’m a dev from hexbear and it looks like my first UI changes (relating to post listings) were included in this release.
Here are the changes I made:
- Expanded image and body now show below the rest of the listing.
- And also offset to not be under the votes and thumbnail.
- Post title doesn’t jump to a new line when you expand the image.
- Thumbnail doesn’t disappear when you expand the image.
- Does not apply on mobile since things don’t jump around as much.
- Clicking expanded image opens the original in a new tab.
- Does not apply on mobile since you can just long press.
- Instead tapping the image closes it.
- pictrs images now prefer the original format over jpg.
- Rendering split into many functions to improve readability.
- Post actions are now on the same line as the comments button.
- Post actions now show on mobile.
- Comments button made larger.
- Expanding or contracting an image now expands or contracts the body.
I’d love to hear any feedback or ideas anyone here may have.
I’m a fan of the new thumbnail behavior, thanks!
THANK you! Lemmy is feature rich but the UI is so confusing for new users. Super happy to see someone helping out with it :)
Let me know if there’s any specific confusing parts of the UI and I can take a look.
I like to use Lemmy though a browser on mobile, the interface is good (especially compared to reddit) but I think the buttons could be changed a bit to make it better.
I think it might improve the mobile UI to have all buttons at the bottom (sort of like in lemmur):
Buttons that I think would be useful at the bottom:
- Home (like in lemmur)
- Communities (like in lemmur)
- Search (like in lemmur)
- Profile (like in lemmur)
- Notifications
- Create post
- Sort
Now that there’s someone interested in UX on board, I might record some user tests. Would you be interested?
I wouldn’t know about organizing something like that, but I’m happy to go along.
Awesome! I like a lot of the enhancements on hexbear and can’t wait for the mergening!
Is there anything specific from hexbear you’d like to see here? I’m mainly just going off of what I notice is different, but I could easily be missing things.
target="_blank"
=PThere are a lot of nice aesthetic changes
Clicking on a post and going “back” doesn’t involve any loading
Video embeds
Expanders on the left
Pinned post/comments
Site-flaira lot of stuff really =]
EDIT: dark mode by default!
target="_blank"
=Plol that was actually a bit of an issue when I opened the PR. Apparently it has some accessibility issues so Dessalines is avoiding it. I’ll need to look more into how to use it while maintaining accessibility and work with Dessalines on that.
Clicking on a post and going “back” doesn’t involve any loading
Huh, I’m not sure I even realized that.
Video embeds
Definitely on the list, I’ve done a bit of research into that but it’ll need some back end changes and idk Rust (yet). I’ll need to see when other hexbear devs get up to speed on contributing to lemmy.
Expanders on the left
Do you mean clicking the thumbnail expanding the embed or post body? I already brought that over for image posts. I can get that going to for self posts as well.
Site-flair
Right now hexbear only has pronoun flairs. We’ve actually been wanting to add user defined flairs too. I’ve put a bit of thought into a generic, instance and community customizable flair system, so that’s definitely on the list.
dark mode by default!
There’s actually already an option for instance admins to pick the default theme.
Apparently it has some accessibility issues so Dessalines is avoiding it.
Yeah, I knew there was some kerfuffle, but I really hope we can come to a peaceful resolution.
Clicking on a post and going “back” doesn’t involve any loading
This in combination with never opening in a new tab makes the site really clunky on bad internet =/
Do you mean clicking the thumbnail expanding the embed or post body?
I meant for posts and comments
site-flair
I was hoping it would be made into a generic feature where admins can set a white/blacklist regex in the config or something.
What exactly is hexbear btw? Is it a fork of lemmy? Does it federate with lemmy?
It’s a fork of Lemmy made for the now defunct /r/ChapoTrapHouse community from Reddit. It does not federate with Lemmy.
Originally a fork of lemmy, it currently uses both a rewritten front and back end AFAIK (I haven’t actually worked on hexbear’s current codebase). We’re looking to go back to being a proper fork, which is why we’re starting to contribute hexbear features to lemmy.
We don’t federate with lemmy right now because we forked before lemmy had federation, and adding federation to the rewrite would have been too much work. But once we get hexbear stuff into lemmy we’ll switch over and should be able to federate.
Are you going to wait until all hexbear features have been added to Lemmy before moving or do you think you will move over before that point? Any idea how long this will take?
Thanks for the contributions by the way!
I don’t think we have a fixed goal for moving yet, but it will definitely require some of our biggest changes like featured posts and pronouns*.
* Our plan there is to make a generic, customizable per instance flair system for lemmy that hexbear can then use as a pronoun system.
Thank you for the in depth reply! Hopefully that won’t take too long. I had no idea about hexbear nor chaptraphouse. You have quite a big community there!
- Expanded image and body now show below the rest of the listing.
deleted by creator
yes, transparency. If we see the same 5 groups or leaders reporting 45% of the people on Lemmy to be banned, we might want to investigate whether these people aren’t a bit intolerant of other points of view. It could be that they are simply diligent, but maybe not. Personally, I learn a lot from well-informed differing points of view that tell me facts in a patient, polite manner. People often jump to conclusions and think their values are the only ones that matter. Taken to extremes, this leads to intimidation and a type of witch-burning.
Oh yes, another release! Thank you all <3
Fantastic work!
Great work!
I think I found a bug:
I can vote on comments made by a user who banned me!
but I cant vote on comments that are direct descendants to that comment.Ive been having this issue for some time but keep forgetting about it right after it happens.
Im most curious about the private instance feature. That could be a great tool for organizations.
Thank you!!
deleted by creator
Damn, good job everyone! It’s really nice to see Lemmy grow like this :D
o7
Congrats on the new release. The new features are really great
Wow so much new stuff
Congratulations!! Great news!
As a sidenote, I wish we stop defining our free/libre projects by starting to compare them to existing proprietary/centralized ones… it somehow diminishes our work and its importance, by always bringing comparison/alternative first. If you consider gimp as “a bitmap editor” it is quite decent… if you compare it to photoshop, it hmm… “pales” in comparison.
I would just invert sentences there:
"Lemmy is a network of interconnected communities ran by different people and organizations, all combining to create a single, personalized front page of your favorite news, articles, and memes. [It is somehow] similar to sites like Reddit, Lobste.rs, or Hacker News: you subscribe to communities you’re interested in, post links and discussions, then vote and comment on them.
Lemmy isn’t just a reddit alternative;to which “somehow similar” can be elaborated to match one’s politics and strategic objectives:
“It is better than reddit, lobste.rs or Hacker News, because it is federated; you subscribe…”
“It is better than reddit, lobste.rs or Hacker News, because it is not bound to commercial interests; you subscribe…”
“It is better than reddit, lobste.rs or Hacker News, because it is 100% free/libre software; you subscribe…”
etc.
But by saying “it’s a Reddit alternative” wouldn’t that potentially bring in some miffed users from Reddit who otherwise wouldn’t have considered or joined the site?
It used to be that if a user blocked you, you couldn’t respond to their public posts and comments. This is now fixed. They won’t see your content, but others can.
If a user personally-blocks you, but they moderate a subreddit, and you make a comment on their post in their sub, will they be able to moderate it?
They won’t see it, because they blocked you.
IDK what should be done about that, but it seems to undermine ppls ability to moderate =\
EDIT: I reported it
I noticed an unexpected side effect of blocking: I am apparently blocked by a user I’ve never interacted with, which I discovered because I cannot upvote their posts or comments. Is this intentional? I wish I could ask them why they blocked me, but I of course cannot message them to ask. It makes sense that blocking prevents messaging, but, why can’t I upvote their posts?!
This should be fixed now in
v0.15.2
Just a thought (it may already be so): if a group blocks almost all discussion - including polite contrary opinions or facts, perhaps the group itself needs to be reported. The reporting wouldn’t be about censoring or banning, but more about making the power more equal, more Democratic. Yes, users can start their own groups and simply no longer use the group with the leader they think is domineering. But, it seems to still give the leader/creator of the group a bit of unfair advantage and people who want to be tyrants are more likley to start their own organizations. I haven’t thought this idea out and I am sure it is full of holes, but I’d simply like the power of use or access to be as equal as possible between group admins and users. Many positions in life attract those who might weild their power unfairly and I’ve seen that this is also the case in social media groups.
Most of this looks great!