github MbinOrg/mbin v1.10.0-rc1

9 hours ago

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 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

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-rc1

Don't miss a new mbin release

NewReleases is sending notifications on new releases.