This is the first release candidate for the upcoming 1.10 release.
As some parts of the UI/UX and admin features were notably changed, we decided for the RC to get more widespread feedback.
It includes new features for users and admins, bug fixes, performance fixes and some breaking changes of the REST API.
Comparison to previous stable version v1.9.0:
| DB migrations | New ENV vars | Renamed ENV vars | Admin guide changes | Suggest cache clearing | New dependencies |
|---|---|---|---|---|---|
| ☑️ | ☑️ | ❌ | ☑️ | ☑️ | ☑️ |
We have 3 different summaries below. One for end-users, one for server admins, and finally a summary for developers.
Summary for Users
- Add support for lists of keyword filters of content; they can be scoped to content, comments and profile-overviews and can have an expiration-date
- Show the custom title of users and add the option to set one for yourself
- Add the option to also show content which was boosted by people you follow in the Combined view (still needs polishing)
- Pagination is now done by "anchors" (like that date of the last thread on the page) instead of page-numbers, to improve performance
- Add an indicator when a user has their "cake day"
- Fix search not returning most of Lemmy users and magazines
- Fix the search when searching content, users or magazines by their URL
- The date field of the search form now has a preset value
- Small UI improvements to make the elements of posts and threads more consistent
- Prevent opening a thread or post when touching interactive elements (buttons, spoilers, ...) on mobile
- Suppress notification for added content if it is more than two days old (for example after delayed federation)
Summary for Server Admins
- Introduces monitoring: record a variety of metrics and show statistics what causes performance-issues on your server
- Uploaded images now get compressed to fit the size limit (see the docs)
- Cached images can be removed with a command
- A new command for deleting orphaned media
- Extend the "check duplicate magazines" command to find and delete duplicate users in the database (which might block DB migrations)
- Fix list of inactive users always being empty
Summary for developers
Mbin:
- PHP updated to 8.4
- Symfony updated to 7.4
App:
- New API endpoints to retrieve content, boosts and list moderated magazines of a user
- New or extended API endpoints listing who liked and boosted content
- New API endpoints for managing mod and owner requests of magazines
- Add filter 'abandoned' for /api/magazines
- New OAuth permissions
- Breaking API changes:
- Schema of the DTO for notifications on user signup
/api/combined/{collectionType}changed from PUT to GET- Reworked response of the search API
Fediverse:
- Fix federation issues of some activities by adding the
publishedproperty to the Instance actor - Fix federation of link+image threads to Lemmy
- Send Delete activities to all known instances (instead of only ones the user interacted with)
- Honor the "application/ld+json" type in endpoint requests
- Periodic updates of user actors will also update their username
- Fix parsing of actors from PeerTube
Upgrade Instructions
For Docker
- Get the official image or checkout the code and build it locally
- Stop all containers
docker compose down - Start all containers
docker compose up -d
For Bare Metal
- Ensure you have PHP 8.4 installed
- Login as the mbin/kbin user:
su mbin - Go to your repo
cd /var/www/mbin - Get the new release:
git fetch && git checkout v1.10.0-rc1 - Run the update script:
bash bin/post-upgrade. - Run
exitso we are back at the root user (or put a sudo in front of every command) - clear your opcache by reloading php fpm
systemctl restart php8.4-fpm - Restart the messengers:
supervisorctl restart messenger:*
Warning
Executing the migrations might fail. If that is the case and the error message says something like "Unique violation: 7 ERROR: could not create unique index [...]", we prepared a command to fix these duplications.
Bare metal (as the mbin/kbin user): php bin/console mbin:check:duplicates-users-magazines
Docker: docker compose exec php php bin/console mbin:check:duplicates-users-magazines
This command will start a guided tour to delete all duplicated users.
What's Changed
- API for getting who upvoted / boosted content by @blued-gear in #1998
- add API for managing moderator and ownership requests by @blued-gear in #2006
- Translations update from Hosted Weblate by @weblate in #2011
- make the vote button of posts the same size as on entries by @blued-gear in #2009
- API endpoints to get the content of a user and their moderated magazines by @blued-gear in #2012
- Fix most lemmy users and magazines missing from search by @BentiGorlich in #2014
- Use Debian Trixie as our Docker CI/CD image by @melroy89 in #2005
- add API endpoint to get moderator and ownership requests by @blued-gear in #2010
- use apId as URL for crossposts of remote entries by @blued-gear in #2016
- Update symfony to 7.4 by @BentiGorlich in #1966
- Instance actor: add
publishedproperty by @BentiGorlich in #2019 - use DateType instead of DateTimeType in search and label the field by @blued-gear in #2017
- docs(contributor): contributors readme action update by @github-actions[bot] in #2022
- Abbreviate numbers by @BentiGorlich in #2021
- Fix criteria missing when rendering for front xml request by @BentiGorlich in #2025
- Fix composer audit: firebase/php-jwt use v7.0.2 as 6.11.1 by @BentiGorlich in #2027
- Fix the inactive user list by @BentiGorlich in #2024
- Improve performance of random panels by @BentiGorlich in #2018
- Translations update from Hosted Weblate by @weblate in #2031
- Put the link first in the attachments for lemmy compatibility by @BentiGorlich in #2029
- Send delete to all known instances by @BentiGorlich in #2028
- Fix responding with html to ActivityStreams profile by @BentiGorlich in #2032
- add filter 'abandoned' for /api/magazines by @blued-gear in #2000
- Fix a bunch of deprecations by @blued-gear in #1968
- docs(contributor): contributors readme action update by @github-actions[bot] in #2038
- suppress opening subject on touch for interactive elements by @blued-gear in #2037
- change DTO of signup notifications by @blued-gear in #2039
- fix layout of posts on startpage if combined mode is used by @blued-gear in #2020
- Fix notifications from old threads by @BentiGorlich in #2035
- Add a command to delete orphaned media by @BentiGorlich in #2033
- Bump predis/predis from 3.2.0 to 3.3.0 by @dependabot[bot] in #2001
- Bump twig/cssinliner-extra from 3.22.0 to 3.23.0 by @dependabot[bot] in #2002
- Introducing monitoring by @BentiGorlich in #1960
- Change user clause to use user_id instead of user by @TheVillageGuy in #2042
- Bump league/commonmark from 2.7.1 to 2.8.1 in the php group across 1 directory by @dependabot[bot] in #2044
- Bump symfonycasts/verify-email-bundle from 1.17.4 to 1.18.0 by @dependabot[bot] in #2045
- Translations update from Hosted Weblate by @weblate in #2046
- Bump nelmio/cors-bundle from 2.6.0 to 2.6.1 by @dependabot[bot] in #1981
- add icon what a user account has its "birthday" by @blued-gear in #2049
- Doctrine Upgrade by @BentiGorlich in #2026
- show boosts for followed users by @blued-gear in #2054
- Implement support for custom usernames by @blued-gear in #2036
- Bump minishlink/web-push from 9.0.2 to 10.0.3 by @dependabot[bot] in #2052
- Bump knplabs/knp-time-bundle from 2.4.0 to 2.5.0 by @dependabot[bot] in #2051
- Bump symfony/maker-bundle from 1.63.0 to 1.66.0 by @dependabot[bot] in #2050
- Bump phpseclib/phpseclib from 3.0.47 to 3.0.50 in the php group across 1 directory by @dependabot[bot] in #2055
- Bump league/commonmark from 2.8.1 to 2.8.2 in the php group across 1 directory by @dependabot[bot] in #2056
- Bump twig/intl-extra from 3.22.0 to 3.24.0 by @dependabot[bot] in #2059
- Bump twig/cssinliner-extra from 3.23.0 to 3.24.0 by @dependabot[bot] in #2057
- Bump phpstan/phpstan from 2.1.32 to 2.1.42 by @dependabot[bot] in #2058
- Bump symfony/monolog-bundle from 3.10.0 to 4.0.1 by @dependabot[bot] in #2003
- Restore compatibility with Mastodon by @BentiGorlich in #2063
- Fix messenger and php container being not healthy by @BentiGorlich in #2062
- Improve image handling by @BentiGorlich in #2041
- Bump aws/aws-sdk-php from 3.369.3 to 3.374.2 by @dependabot[bot] in #2070
- Supress some logs by @blued-gear in #2053
- Move the front page to cursor based pagination by @BentiGorlich in #1985
- Improve performance of RemoveRemoteMediaCommand by @BentiGorlich in #2064
- Add command to fix user duplicates by @BentiGorlich in #2047
- Bump phpstan/phpstan from 2.1.42 to 2.1.44 by @dependabot[bot] in #2067
- Bump symfony/ux-twig-component from 2.32.0 to 2.34.0 by @dependabot[bot] in #2068
- Bump scienta/doctrine-json-functions from 6.3.0 to 6.5.0 by @dependabot[bot] in #2069
- use new AP resolve code from SearchController in SearchRetrieveApi by @blued-gear in #2013
- fix log_filter_handler config by @blued-gear in #2075
- Reintroduce English as the fallback by @BentiGorlich in #2076
- fix error when searching for a non-fedi URL by @blued-gear in #2074
- Update npm package minor/patch versions only by @melroy89 in #2084
- Bump league/flysystem-aws-s3-v3 from 3.30.1 to 3.32.0 by @dependabot[bot] in #2079
- Bump justinrainbow/json-schema from 6.6.1 to 6.8.0 by @dependabot[bot] in #2080
- Bump babdev/pagerfanta-bundle from 4.5.0 to 4.6.0 by @dependabot[bot] in #2081
- Bump pagerfanta/doctrine-dbal-adapter from 4.7.2 to 4.8.0 by @dependabot[bot] in #2082
- Add ability to filter feeds, comments and the profile by key-words by @BentiGorlich in #2073
- fix: handle array-typed url field in ActivityPub actor payload by @melroy89 in #2077
- Translations update from Hosted Weblate by @weblate in #2087
- Translations update from Hosted Weblate by @weblate in #2089
- Bump phpseclib/phpseclib from 3.0.50 to 3.0.51 in the php group across 1 directory by @dependabot[bot] in #2092
- Fix
Create->Announce->Delivercircle by @BentiGorlich in #2095 - fix query for boosted comments + better layout for post comments in combined by @blued-gear in #2090
- Bump thenetworg/oauth2-azure from 2.2.2 to 2.2.5 by @dependabot[bot] in #2093
- bump to v1.10.0-rc1 by @blued-gear in #2096
Full Changelog: v1.9.1...v1.10.0-rc1