Skip to content

v1.10.0

Latest

Choose a tag to compare

@blued-gear blued-gear released this 15 Jun 18:51
6ee7918

This is the full release of version 1.10.
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
  • 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 (the layout for posts in Combined view can be toggled in the UI settings)
  • 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)
  • Fix infinite scrolling of comments
  • Fix reply button for comments on locked threads and posts not being disabled

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)
  • Make the language of fulltext-search configurable (see the docs)
  • Fix list of inactive users always being empty

Tip about the Messengers

As the load of deliveries can get high from time to time it is now recommended to run at least one separate messenger process for the Deliver queue.

Summary for developers

Mbin:

  • PHP updated to 8.4
  • Symfony updated to 7.4
  • Some dependencies updated

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
  • Get Combined feed for magazine (/api/magazine/{magazine_id}/combined[/v2])
  • Get chat messages of specific user (/api/users/{user_id}/messages)
  • Get content for a Tag (/api/tag/{name}/[entries|entryComments|post|postComments])
  • 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 published property 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
  • Treat as:Public or just Public correctly
  • Fix support for image property on Page type, add support for string

Upgrade Instructions

For Docker

  1. Get the official image or checkout the code and build it locally
  2. Stop all containers docker compose down
  3. Start all containers docker compose up -d

For Bare Metal

  1. Ensure you have PHP 8.4 installed
  2. Login as the mbin/kbin user: su mbin
  3. Go to your repo cd /var/www/mbin
  4. Get the new release: git fetch && git checkout v1.10.0-rc1
  5. Run the update script: bash bin/post-upgrade.
  6. Run exit so we are back at the root user (or put a sudo in front of every command)
  7. clear your opcache by reloading php fpm systemctl restart php8.4-fpm
  8. 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

Full Changelog: v1.9.1...v1.10.0