1
Lemmy v0.19.0 Release - Instance blocking, Scaled sort, and Federation Queue - Bad at being social
badatbeing.socialcross-posted from: https://lemmy.ml/post/9347983 [https://lemmy.ml/post/9347983]
> ## 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 release is
very large with almost 400 commits since 0.18.5
[https://github.com/LemmyNet/lemmy/compare/0.18.5...main]. 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 changelog and linked issues at
the bottom of this post. > > ### Improved Post Ranking > > There is a new scaled
sort [https://github.com/LemmyNet/lemmy/pull/3907] which takes into account the
number of active users in a community, and boosts posts from less-active
communities to the top. Additionally there is a new controversial sort
[https://github.com/LemmyNet/lemmy/pull/3205] which brings posts and comments to
the top that have similar amounts of upvotes and downvotes. Lemmy’s sorts are
detailed here [https://join-lemmy.org/docs/users/03-votes-and-ranking.html]. > >
### Instance Blocks for Users > > Users can now block instances
[https://github.com/LemmyNet/lemmy/pull/3869]. Similar to community blocks, it
means that any posts from communities which are hosted on that instance are
hidden. However the block doesn’t affect users from the blocked instance, their
posts and comments can still be seen normally in other communities. > > ###
Two-Factor-Auth Rework > > Previously 2FA was enabled in a single step which
made it easy to lock yourself out. This is now fixed by using a two-step process
[https://github.com/LemmyNet/lemmy/pull/3959], where the secret is generated
first, and then 2FA is enabled by entering a valid 2FA token. It also fixes the
problem where 2FA can be disabled without passing any 2FA token. As part of this
change, 2FA is disabled for all users. This allows users who are locked out to
get into their account again. > > ### New Federation Queue > > Outgoing
federation actions are processed through a new persistent queue
[https://github.com/LemmyNet/lemmy/pull/3605]. This means that actions don’t get
lost if Lemmy is restarted. It is also much more performant, with separate
senders for each target instance. This avoids problems when instances are
unreachable. Additionally it supports horizontal scaling across different
servers. The endpoint /api/v3/federated_instances contains details about
federation state [https://github.com/LemmyNet/lemmy/pull/4104] of each remote
instance. > > ### Remote Follow > > Another new feature is support for remote
follow [https://github.com/LemmyNet/lemmy-ui/pull/1875]. When browsing another
instance where you don’t have an account, you can click the subscribe button and
enter the domain of your home instance in the popup dialog. It will
automatically redirect you to your home instance where it fetches the community
and presents a subscribe button. Here is a video showing how it works
[https://github.com/LemmyNet/lemmy-ui/pull/1875#issuecomment-1727790414]. > >
### Authentication via Header or Cookie > > Previous Lemmy versions used to send
authentication tokens as part of the parameters. This was a leftover from
websocket, which doesn’t have any separate fields for this purpose. Now that we
are using HTTP, authentication can finally be passed via jwt cookie or via
header [https://github.com/LemmyNet/lemmy/pull/3725] Authorization: Bearer
. The old authentication method is not supported anymore to simplify
maintenance. A major benefit of this change is that Lemmy can now send
cache-control headers depending on authentication state. API responses with
login have cache-control: private, those without have cache-control: public,
max-age=60. This means that responses can be cached in Nginx
[https://github.com/LemmyNet/lemmy-ansible/issues/195] which reduces server
load. > > ### Moderation > > Reports are now resolved automatically
[https://github.com/LemmyNet/lemmy/pull/3871] when the associated post/comment
is marked as deleted. This reduces the amount of work for moderators. There is a
new log for image uploads [https://github.com/LemmyNet/lemmy/pull/3927] which
stores uploader. For now it is used to delete all user uploads when an account
is purged. Later the list can be used for other purposes and made available
through the API. > > ### Cursor based pagination > > 0.19 adds support for
cursor based pagination [https://github.com/LemmyNet/lemmy/pull/3872] on the
/api/v3/post/list endpoint. This is more efficient for the database. Instead of
a query parameter ?page=3, listing responses now include a field "next_page":
"Pa46c" which needs to be passed as ?page_cursor=Pa46c. The existing pagination
method is still supported for backwards compatibility, but will be removed in
the next version. > > ### User data export/import > > Users can now export their
data [https://github.com/LemmyNet/lemmy/pull/3976] (community follows,
blocklists, profile settings), and import it again on another instance. This can
be used for account migrations and also as a form of backup. The export format
is designed to remain unchanged for a long time. You can make regular exports,
and if the instance becomes unavailable, register a new account and import the
data. This way you can continue using Lemmy seamlessly. > > ### Time zone
handling > > Lemmy didn’t have any support for timezones, which led to bugs when
federating with other platforms. This is now fixed by using UTC timezone for all
timestamps [https://github.com/LemmyNet/lemmy/pull/3496]. > > ### ARM64 Support
> > Thanks to help from @raskyld and @kroese, there are now offical Lemmy
releases for ARM64 available. > > ### Activity now includes voters > > -
Previously, site and community activity counts were only based on people who
commented, or posted. Those counts now include anyone who voted on a comment or
post as well. [https://github.com/LemmyNet/lemmy/pull/4235] Thanks to @Ategon
for this change. > > ## 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].
The upgrade should take less than 30 minutes. > > 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]. > >
Pict-rs 0.5 is also close to releasing. The upgrade takes a while due to a
database migration, so read the migration guide
[https://git.asonix.dog/asonix/pict-rs#user-content-04-to-05-migration-guide] to
speed it up. Note that Lemmy 0.19 still works perfectly with pict-rs 0.4. > > ##
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 [https://nlnet.nl/], as well as donations from individual users
[https://join-lemmy.org/donate]. > > This month we are running a funding drive
with the goal of increasing recurring donations from currently €4.000 to at
least €12.000. With this amount @dessalines and @nutomic can each receive a
yearly salary of €50.000 which is in line with median developer salaries. It
will also allow one additional developer to work fulltime on Lemmy and speed up
development. > > Read more details in the funding drive announcement
[https://join-lemmy.org/news/2023-10-31_-_Join-Lemmy_Redesign_and_Funding_Drive].
As the title states, the instance is now running Lemmy 0.19.0 release. Overall I think it’s running good, and some good quality of life features added.
You can read more about it here.
You must log in or register to comment.