11
Lemmy v0.18.0 Release - Lemmy
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
[https://github.com/LemmyNet/lemmy/issues/2841#issuecomment-1535469357], 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 [https://lemmygrad.ml/u/CannotSleep420] and
@dessalines [https://lemmy.ml/u/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 [https://github.com/LemmyNet/lemmy-ansible/pull/75] 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
[https://f-droid.org/es/packages/org.shadowice.flocke.andotp/] or Authenticator
Pro [https://f-droid.org/packages/me.jmh.authenticatorpro/] 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
[https://addons.mozilla.org/en-US/firefox/addon/pwas-for-firefox/]. #### 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 [http://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 [https://github.com/SleeplessOne1917], alectrocute
[https://github.com/alectrocute], jsit [https://github.com/jsit], and many
others for their great work on improving and re-organizing lemmy-ui. ####
Database optimizations Special thanks to johanndt [https://github.com/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
[https://github.com/LemmyNet/lemmy-ansible#upgrading] or docker
[https://join-lemmy.org/docs/en/administration/install_docker.html#updating]. If
you need help with the upgrade, you can ask in our support forum
[https://lemmy.ml/c/lemmy_support] or on the Matrix Chat
[https://matrix.to/#/!OwmdVYiZSXrXbtCNLw:matrix.org]. ## 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
[https://nlnet.nl/]. 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 [https://join-lemmy.org/donate]. 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.
Great changes!