this post was submitted on 23 Jun 2023
790 points (99.5% liked)

Announcements

23319 readers
1 users here now

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

founded 5 years ago
MODERATORS
790
Lemmy v0.18.0 Release (join-lemmy.org)
submitted 1 year ago* (last edited 1 year ago) by dessalines@lemmy.ml to c/announcements@lemmy.ml
 

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

HTTP API instead of Websocket

Until now Lemmy-UI used websocket for all API requests. This has many disadvantages, like making the code harder to maintain, and causing live updates to the site which many users dislike. Most importantly, it requires keeping a connection open between server and client at all times, which causes increased load and makes scaling difficult. That's why we decided to rip out websocket entirely, and switch to HTTP instead. This change was made much more urgent by the sudden influx of new users. @CannotSleep420 and @dessalines have been working hard for the past weeks to implement this change in lemmy-ui.

HTTP on its own is already more lightweight than websocket. Additionally it also allows for caching of server responses which can decrease load on the database. Here is an experimental nginx config which enables response caching. Note that Lemmy doesn't send any cache-control headers yet, so there is a chance that private data gets cached and served to other users. Test carefully and use at your own risk.

Two-Factor Authentication

New support for two-factor authentication. Use an app like andOTP or Authenticator Pro to store a secret for your account. This secret needs to be entered every time you login. It ensures that an attacker can't access your account with the password alone.

Custom Emojis

Instance admins can add different images as emojis which can be referenced by users when posting.

Other changes

Progressive Web App

Lemmy's web client can now be installed on browsers that support PWAs, both on desktop and mobile. It will use an instance's icon and name for the app if they are set, making it look like a given instance is an app.

Note for desktop Firefox users: the desktop version of Firefox does not have built in support for PWAs. If you would like to use a Lemmy instance as a PWA, use use this extension.

Error Pages

Lemmy's web client now has error pages that include resources to use if the problem persists. This should be much less jarring for users than displaying a white screen with the text "404 error message here".

Route Changes

Pages that took arguments in the route now take query parameters instead. For example, a link to lemmy.ml's home page with a few options used to look like this:

https://lemmy.ml/home/data_type/Post/listing_type/All/sort/Active/page/1

The new route would look like this:

https://lemmy.ml?listingType=All

Note that you now only have to specify parameters you want instead of all of them.

Searchable select redesign

The searchable selects, such as those used on the search page, have a new look and feel. No more inexplicable green selects when using the lightly themes!

Share button

Posts on the web client now have a share button on supported browsers. This can be used to share posts to other applications quickly and easily.

Lemmy-UI Overall look and feel

lemmy-ui is now upgraded to bootstrap 5, and every component is now much cleaner.

Special thanks to sleepless, alectrocute, jsit, and many others for their great work on improving and re-organizing lemmy-ui.

Database optimizations

Special thanks to johanndt, for suggesting improvements to Lemmy's database queries. Some of these suggestions have already been implemented, and more are on the way.

Query speed is Lemmy's main performance bottleneck, so we really appreciate any help database experts can provide.

Captchas

Captchas are not available in this version, as they need to be reimplemented in a different way. They will be back in 0.18.1, so wait with upgrading if you rely on them.

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.

Support development

We (@dessalines and @nutomic) have been working full-time on Lemmy for almost three years. This is largely thanks to support from NLnet foundation.

If you like using Lemmy, and want to make sure that we will always be available to work full time building it, consider donating to support its development. No one likes recurring donations, but they've proven to be the only way that open-source software like Lemmy can stay independent and alive.

top 50 comments
sorted by: hot top controversial new old
[–] dessalines@lemmy.ml 109 points 1 year ago (3 children)

I apologize for the stability issues everyone.

People found an exploit and are using it to DDOS several lemmy instances.

[–] deweydecibel@lemmy.ml 46 points 1 year ago* (last edited 1 year ago)

Growing pains. You got popular, now you've got a target on your back.

[–] meldrik@lemmy.wtf 34 points 1 year ago

That's what happens when you start getting popular. Lemmy will survive it :D

[–] GuyDudeman@lemmy.ml 14 points 1 year ago (2 children)

So Reddit has decided to fight back, eh?

[–] dessalines@lemmy.ml 53 points 1 year ago (4 children)

Not sure, it is a coordinated DDOS attack tho. I welcome them doing these, because it only strengthens lemmy, and helps us find bugs.

[–] SubArcticTundra@lemmy.ml 23 points 1 year ago* (last edited 1 year ago) (1 children)

How is your personal life btw? I was feeling bad for you guys because I imagine dealing with the (welcome) explosion of your project must take all your time.. Are you studying?

[–] dessalines@lemmy.ml 16 points 1 year ago (5 children)

Its good, thanks for asking <3 . I do have a high-score of github notifications ( > 1200 ), and hundreds of people all trying to get my attention. I've settled into a rhythm now tho where I just work on what I think is important, take lots of breaks, and try to keep a regular schedule.

load more comments (5 replies)

True. Better now before the bigger exodus after the third party apps are shut down.

load more comments (2 replies)
load more comments (1 replies)
[–] RoundSparrow@lemmy.ml 50 points 1 year ago* (last edited 1 year ago) (3 children)

Query speed is Lemmy’s main performance bottleneck, so we really appreciate any help database experts can provide.

I have been pleading that Lemmy server operators install pg_stat_statements extension and share metrics from PostgreSQL. https://lemmy.ml/post/1361757 - a restart of PostgreSQL server is required for the extension to be installed. I suggest this be part of 0.18 upgrade. Thank you.

[–] monobot@lemmy.ml 20 points 1 year ago

I think this kind of analysis can help a lot, sadly I don't see anyone interacting on your post.

Please do keep pushing for it and writing down your discoveries and explanations might help others understand the importance.

Howto with real world data (like you are doing) is helping and is quite interesting.

load more comments (2 replies)
[–] HorseFD@lemmy.ml 46 points 1 year ago (5 children)

My favourite feature: The collapse comment icon is on the left of the username now!

[–] CalcProgrammer1@lemmy.ml 43 points 1 year ago

My favorite feature is that upvotes now have a spinner that lets you know they actually got processed by the server. On 0.17 I would click an upvote and it would sometimes flash between on and off state or not be very obvious that it actually went through.

[–] alectrocute@lemmy.ml 10 points 1 year ago

Such a big improvement!

load more comments (3 replies)
[–] bathory@lemmy.ml 39 points 1 year ago* (last edited 1 year ago) (2 children)

Great. I saw that Lemmy.ml been on v.0.18.0 for more than a day. I love the subtle changes they made. Keep up the good work ! It’s becoming to be my favourite site day by day

[–] dessalines@lemmy.ml 45 points 1 year ago (3 children)

Thanks! I'm super excited about all the contributions making this site and its UI better.

That's the difference between an open source project like this and privatized software like reddit; we can add features we want directly.

[–] athelard@lemmy.ml 19 points 1 year ago

Thank you for your hard work ❤️‍

[–] PeefJerky@lemmy.ml 15 points 1 year ago (1 children)

Holy fuck man! As someone who wants to be a Web Dev, it’s really exciting to see open source projects where people develop without any financial incentives! It’s mind boggling how much this community is getting together to improve the experience of everyone!

load more comments (1 replies)
load more comments (1 replies)
load more comments (1 replies)
[–] Zetaphor@zemmy.cc 31 points 1 year ago* (last edited 1 year ago) (2 children)

Another addition that wasn't covered in the release notes, these will now automatically be linked to your local instance without having to do anything:

Edit: Forgot about kbin support

The markup is rendered as links when a valid format is detected without modifying the underlying text:

[–] knova@links.dartboard.social 23 points 1 year ago (2 children)

There was like 200 comments worth of discussion on this and it seems like it was implemented without much fanfare. What gives? This is one of the biggest gripes I had early on. I’m gonna shout this from the roof tops

[–] Zetaphor@zemmy.cc 9 points 1 year ago (1 children)

I saw those giant threads where it was being discussed in circles and decided to take a crack at implementing it myself. Turns out it was not that difficult, I think I was just the first developer who found the threads and took action. Everyone else was focused on getting bug fixes into this release.

load more comments (1 replies)
load more comments (1 replies)
[–] Shinhoshi@infosec.pub 10 points 1 year ago

Wow, that’s a nice change! Thanks for sharing!

[–] alectrocute@lemmy.ml 26 points 1 year ago (1 children)

Thanks for the shout out, @dessalines@lemmy.ml. It's a pleasure contributing to this awesome project.

[–] dessalines@lemmy.ml 21 points 1 year ago

o7 thank you for your service.

[–] glibg10b@lemmy.ml 24 points 1 year ago* (last edited 1 year ago) (6 children)

All collapsed comments get uncollapsed when I upvote comments (lemmy.ml on Firefox Nightly for Android)

[–] scottyjoe9@sh.itjust.works 11 points 1 year ago (2 children)

This is a known issue on the web ui - we're looking into it.

load more comments (2 replies)
load more comments (5 replies)
[–] UrbenLegend@lemmy.ml 20 points 1 year ago (1 children)

Hot diggity, these new changes are amazing! I can definitely see the difference in performance on lemmy.ml. Feed content sorting is also way better without the live updates and bugs with Hot and Active. Great work!

[–] dessalines@lemmy.ml 17 points 1 year ago

Thanks! I'm really glad we could get this out before the end of the month (when reddit kills 3rd party apps).

Also now we should be able to do a lot more frequent bugfix releases.

[–] ADL@lemmy.ml 18 points 1 year ago

Not sure what changed but the UX feels much more responsive than it did a couple days ago. Great work!

[–] Metallinatus@lemmy.ml 16 points 1 year ago

Damn, big update! I see a lot of people are contributing, that's really the biggest gift from Reddit's poor decisions (well, presuming contributions did increase, which is a fair assumption).

That's why I love open source software, it's truly a community effort!

[–] dash_o_truth@lemmy.ml 13 points 1 year ago (8 children)
[–] infamousbelgian@lemmy.ml 12 points 1 year ago (6 children)

So, the auto update is no longer active for the feeds. That is a good thing! However, I think Lemmy now needs a refresh button.

When I move away from my defaults (eg to check "new"), it isn't easy to update the new feed (when I refresh I need to reselect new)

load more comments (6 replies)
[–] UrbenLegend@lemmy.ml 12 points 1 year ago (2 children)

I've been noticing on lemmy.ml that clicking Next in the news feed pagination seems to cause it to scroll to a random point instead of back to the top of the feed, at least on mobile.

Is this a known bug?

load more comments (2 replies)
[–] Nyanix@beehaw.org 12 points 1 year ago

By Odin's beard!!! That's an absolute LIST of impressive and impactful enhancements!
I feel like I owe you several drinks after reading all of that!

[–] XLRV@lemmy.ml 12 points 1 year ago

Great, it seems that there's way less error message on Jerboa now with this update.

[–] gkd@lemmy.ml 11 points 1 year ago

I’ve been noticing significantly less errors when using the API. Thanks for all the hard work I know you guys are putting in. Much appreciated to both of you and the other guys contributing to the project.

[–] danielton@lemmy.world 11 points 1 year ago

Wow, can't wait until my instance upgrades. Great work! I don't think I will miss that alien site.

[–] n2burns@lemmy.ca 11 points 1 year ago (7 children)

andOTP is no longer maintained, so it's probably best to not suggest it!

[–] cyclohexane@lemmy.ml 12 points 1 year ago

Aegis is a good alternative

load more comments (6 replies)
[–] saint@group.lt 11 points 1 year ago (1 children)

yay! thank you all!

i have made a not-so-quick-but-dirty Dockerfile to build on arm64

FROM rust:1.70.0
WORKDIR /app

COPY . .

RUN echo "pub const VERSION: &str = \"$(git describe --tag)\";" > "crates/utils/src/version.rs"
RUN cargo build --release

RUN apt update
RUN apt -y install libpq5
RUN cp /app/target/release/lemmy_server /app/lemmy

CMD ["/app/lemmy"]

later I am planning to improve it a bit, to make the image smaller if i can

load more comments (1 replies)
[–] TheFreePenguin@lemmy.ml 11 points 1 year ago (2 children)

Proposals:
Bring the .16 themes back
Make the site denser and more compact
Remove flourishy animations

load more comments (2 replies)
[–] Lemminary@lemmy.ml 9 points 1 year ago

The change was so drastic and I'm still finding little changes here and there. Amazing work, y'all! <3

[–] knova@links.dartboard.social 9 points 1 year ago

Nice work to all the contributors for this release. Feels great so far.

[–] doctorcherry@lemmy.ml 9 points 1 year ago

Wow lemmy.ml feels a lot faster now. Compared to lemm.ee on 0.17.4 the difference is huge and lemm.ee was already very snappy. Excellent work!

[–] fing3r@feddit.de 8 points 1 year ago

Safari feels snappier!

[–] seahorse@midwest.social 8 points 1 year ago

Congrats on the release!

[–] BlackOak@mander.xyz 8 points 1 year ago

Absolutely phenomenal work! I love how fast the community is reacting to the scale changes. So many great things are in store for this platform.

load more comments
view more: next ›