Crossposted from https://fedia.io/m/mbinReleases@gehirneimer.de/t/4440654

After quite some slow development, finally we can release a new version of Mbin. It contains new features for users, performance improvements and important security fixes.

Summary for Users

  • Show who boosted content in the feed (Combined view + subscribed + newest)
  • Add ability to block instances. Content from blocked instances will not show up in the feed and search anymore.
  • Fix emoji autocomplete inserts ‘null’
  • Show a placeholder when an image embed could not be loaded
  • Improve design of posts and comments in some areas of the site
  • Fix endless loop when compressing uploaded images
  • Fix layout when a comment contains a very wide table
  • Bugfixes for some federation issues (handling of Mastodon posts with multiple images, embedded video formats, buggy mentions, etc.)
  • Change layout of list of cross posts
  • Fix the issue of browsers wanting to download a file when unsupported media files are used in an embed
  • Add translation for Swedish (by Jonatan Nyberg)

Summary for Server Admins

  • Minimum software requirements updated to PHP 8.5, Node 24 and Ubuntu 24.04 recommended
  • Upgraded most of our dependencies. For more details see #2162
  • Add ability to block instances globally.
  • Instances blocked this way will be blocked for all current and new users. Users can unblock them manually afterward; thus allowing a “soft” way to moderate the content shown by default for your users. For more details see #2155
  • Added the new queue async_slow for long-running tasks. If your async queue have gotten full often in the past, consider creating a separate messenger for async_slow.
  • The sessions are now stored in Redis instead of Postgres. You need to enable persistence in your Redis server, if you want to keep open sessions on restarts of Redis.
  • Fixed a couple of security vulnerabilities
    PostgreSQL autovacuum is tuned for high-churn tables

Summary for developers

Mbin:

  • Minimum software requirements updated to PHP 8.5 and Node 24
  • Upgraded most of our dependencies. For more details, including possible breaking package changes, see #2162

Fediverse:

Fix issue that to value might be an object instead of array in some edge-cases

Upgrade Instructions

There are significant changes in the DB. It is advised to create a DB backup before upgrading.

After the post-upgrade script has run, you should not clear Redis / Valkey.

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.5 and Node 24 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.11.0
  • Run the update script: bash bin/post-upgrade
  • Run exit so 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.5-fpm
  • Restart the messengers: supervisorctl restart messenger:*