Releases: MbinOrg/mbin
v1.8.4
This is our v1.8.4 release of Mbin. It includes one very important security patch and some improvements to the API and the handling of dead instances.
Comparison to previous stable version v1.8.3:
| DB migrations | New ENV vars | Admin guide changes | Suggest cache clearing | New dependencies |
|---|---|---|---|---|
| ☑️ | ❌ | ☑️ | ❌ | ❌ |
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
- 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.8.4 - 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(or for PHP 8.3:systemctl restart php8.3-fpm) - Restart the messengers:
supervisorctl restart messenger:*
What's Changed
- Fix DeleteHandler and add tests by @BentiGorlich in #1692
- Add a useful logging command to the docs by @BentiGorlich in #1699
- Translations update from Hosted Weblate by @weblate in #1691
- Create documentation for setting up anubis to protect mbin by @BentiGorlich in #1706
- Add column for created_at to the activity table by @BentiGorlich in #1701
- Translations update from Hosted Weblate by @weblate in #1708
- Improve marking instances as dead by @BentiGorlich in #1707
- Add
new_signupnotification to api docs and fix them by @BentiGorlich in #1702 - Add property
crosspostedEntriesto API by @BentiGorlich in #1705 - Add property
isAuthorModeratorInMagazineto all API content DTOs by @BentiGorlich in #1704 - Add user reputation to the API by @BentiGorlich in #1703
- Fix symfony generating http URLs with anubis by @BentiGorlich in #1709
- Add instance actor test and remove url field by @BentiGorlich in #1698
- Fix user outbox by @BentiGorlich in #1715
- Security Patch by @BentiGorlich in #1716
Full Changelog: v1.8.3...v1.8.4
v1.8.3
This is our release v1.8.3. We did a lot of changes to our activity pub code and started to add testing of it. We did a lot of improvements on the UI and added more options for the user. Finally, we also improved the search and added an emoji picker. But we did even more, which you can check out down below.
Comparison to previous stable version v1.8.2:
| DB migrations | New ENV vars | Admin guide changes | Suggest cache clearing | New dependencies |
|---|---|---|---|---|
| ☑️ | ❌ | ❌ | ☑️ | ☑️ |
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
- 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.8.3 - 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) - flush your redis db by running
redis-cli, type inAUTH [YOUR PASSWORD]and thenFLUSHDB - clear your opcache by reloading php fpm
systemctl restart php8.4-fpm(or for PHP 8.3:systemctl restart php8.3-fpm) - Restart the messengers:
supervisorctl restart messenger:*
What's Changed
- Bump robots.txt ban list version. by @melroy89 in #1570
- Check whether the actor is a User by @BentiGorlich in #1573
- Bump league/commonmark from 2.6.1 to 2.6.2 by @dependabot[bot] in #1572
- Bump phpstan/phpstan from 2.1.11 to 2.1.12 by @dependabot[bot] in #1571
- Bump gumlet/php-image-resize from 2.0.4 to 2.1.0 by @dependabot[bot] in #1574
- Translations update from Hosted Weblate by @weblate in #1569
- Sort and filter comment replies the same as root comments by @BentiGorlich in #1563
- WHen you enter a space during the search I was getting 500 error by @melroy89 in #1578
- Bump league/commonmark from 2.6.2 to 2.7.0 in the php group by @dependabot[bot] in #1585
- Translations update from Hosted Weblate by @weblate in #1586
- Bump symfony/yaml from 7.2.5 to 7.2.6 by @dependabot[bot] in #1582
- Bump symfony/maker-bundle from 1.62.1 to 1.63.0 by @dependabot[bot] in #1581
- Improve SSO documentation for privacy portal by @robertolopezlopez in #1580
- docs(contributor): contributors readme action update by @github-actions[bot] in #1587
- Display the bookmark icon on trashed content by @BentiGorlich in #1576
- Display the 2FA secret upon setup by @BentiGorlich in #1575
- Url Ids should not be extracted as a hashtag by @BentiGorlich in #1577
- Add emoji picker by @melroy89 in #1588
- Bump embed/embed from 4.4.15 to 4.4.17 by @dependabot[bot] in #1598
- Bump twig/extra-bundle from 3.20.0 to 3.21.0 by @dependabot[bot] in #1590
- Translations update from Hosted Weblate by @weblate in #1593
- Bump doctrine/orm from 2.20.2 to 2.20.3 by @dependabot[bot] in #1592
- Reduce the number of db calls on the login page by @BentiGorlich in #1599
- Translations update from Hosted Weblate by @weblate in #1600
- Bump symfony/ux-twig-component from 2.24.0 to 2.25.1 in the php group by @dependabot[bot] in #1601
- Adding missing command in the docs by @MakaryGo in #1604
- Bump symfony/ux-twig-component from 2.25.1 to 2.25.2 by @dependabot[bot] in #1606
- Fix the post comment expanding not working by @BentiGorlich in #1613
- Translations update from Hosted Weblate by @weblate in #1602
- docs(contributor): contributors readme action update by @github-actions[bot] in #1614
- Bump symfony/ux-chartjs from 2.24.0 to 2.25.2 by @dependabot[bot] in #1607
- Bump twig/cssinliner-extra from 3.20.0 to 3.21.0 by @dependabot[bot] in #1608
- Add
federationquery parameter to the post and entry retrieve API by @BentiGorlich in #1618 - docs(contributor): contributors readme action update by @github-actions[bot] in #1620
- Fix
npm cierror by @BentiGorlich in #1621 - Update 01-first_setup.md by @MakaryGo in #1622
- docs(contributor): contributors readme action update by @github-actions[bot] in #1623
- Add classes for move subscription panel arrows by @TheVillageGuy in #1632
- Bump symfony/dotenv from 7.2.0 to 7.3.0 by @dependabot[bot] in #1626
- Bump symfony/scheduler from 7.2.3 to 7.3.0 by @dependabot[bot] in #1625
- Bump symfony/debug-bundle from 7.2.0 to 7.3.0 by @dependabot[bot] in #1624
- Fix getting bookmarks from a bookmark list. by @olorin99 in #1646
- Translations update from Hosted Weblate by @weblate in #1648
- docs(contributor): contributors readme action update by @github-actions[bot] in #1649
- Bump twig/html-extra from 3.20.0 to 3.21.0 by @dependabot[bot] in #1640
- Bump symfony/ux-chartjs from 2.25.2 to 2.26.1 by @dependabot[bot] in #1642
- Bump symfony/translation from 7.2.4 to 7.3.0 by @dependabot[bot] in #1641
- Bump predis/predis from 2.3.0 to 3.0.1 by @dependabot[bot] in #1643
- Translations update from Hosted Weblate by @weblate in #1651
- Expose instance admins and moderators by @BentiGorlich in #1657
- Bump symfony/lock from 7.2.5 to 7.3.0 by @dependabot[bot] in #1652
- Bump symfony/runtime from 7.2.3 to 7.3.1 by @dependabot[bot] in #1655
- Bump symfony/property-info from 7.2.5 to 7.3.1 by @dependabot[bot] in #1654
- Bump symfony/ux-chartjs from 2.26.1 to 2.27.0 by @dependabot[bot] in #1653
- Fix
npm cierror by @BentiGorlich in #1660 - Fix template error on figure by @BentiGorlich in #1659
- Fix SSO auth not redirecting to /authorize by @BentiGorlich in #1638
- Improve admin user list by @BentiGorlich in #1634
- Improve entry editing by @BentiGorlich in #1658
- Fix the reputation list not counting upvotes by @BentiGorlich in #1633
- Add options for rendering rich markdown by @BentiGorlich in #1619
- Move from default
COUNT_CODEPOINTSunit toCOUNT_GRAPHEMESby @BentiGorlich in #1617 - Take federation status into account when creating content by @BentiGorlich in #1636
- Add Attitude to admin user list and user info by @BentiGorlich in #1635
- Remove openssl error and deprecation by @BentiGorlich in #1665
- Fix reading the wrong
magazineproperty by @BentiGorlich in #1666 - Fix reading the wrong magazine property II by @BentiGorlich in #1669
- Translations update from Hosted Weblate by @weblate in #1667
- Add header bread crumb for mobile by @BentiGorlich in #1671
- Translations update from Hosted Weblate by @weblate in #1672
- Rollback symfony packages to 7.2 by @BentiGorlich in #1668
- Translations update from Hosted Weblate by @weblate in #1673
- Improve the generic search and add users and magazines to it by @BentiGorlich in #1670
- Fix header crumb squashing on smaller devices by @BentiGorlich in #1679
- Translations update from Hosted Weblate by @weblate in #1681
- Fix header full width on desktop by @BentiGorlich in #1680
- Introduce the activity table by @BentiGorlich in #1173
- Fix the if statement for $content variable in ApHttpClient.php by @melroy89 in https://github.com...
v1.8.3-rc1
This is a release candidate for the upcoming version v1.8.3. It might not yet be production ready, hence it's a RC.
Comparison to previous stable version v1.8.2:
| DB migrations | New ENV vars | Admin guide changes | Suggest cache clearing | New dependencies |
|---|---|---|---|---|
| ☑️ | ❌ | ❌ | ☑️ | ☑️ |
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
- 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.8.3-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) - flush your redis db by running
redis-cli, type inAUTH [YOUR PASSWORD]and thenFLUSHDB - clear your opcache by reloading php fpm
systemctl restart php8.4-fpm(or for PHP 8.3:systemctl restart php8.3-fpm) - Restart the messengers:
supervisorctl restart messenger:* - Login as the mbin/kbin user:
su mbinagain - Run the command to remove the default domain from entries that are not local:
php bin/console mbin:update:local-domain
What's Changed
- Bump robots.txt ban list version. by @melroy89 in #1570
- Check whether the actor is a User by @BentiGorlich in #1573
- Bump league/commonmark from 2.6.1 to 2.6.2 by @dependabot[bot] in #1572
- Bump phpstan/phpstan from 2.1.11 to 2.1.12 by @dependabot[bot] in #1571
- Bump gumlet/php-image-resize from 2.0.4 to 2.1.0 by @dependabot[bot] in #1574
- Translations update from Hosted Weblate by @weblate in #1569
- Sort and filter comment replies the same as root comments by @BentiGorlich in #1563
- WHen you enter a space during the search I was getting 500 error by @melroy89 in #1578
- Bump league/commonmark from 2.6.2 to 2.7.0 in the php group by @dependabot[bot] in #1585
- Translations update from Hosted Weblate by @weblate in #1586
- Bump symfony/yaml from 7.2.5 to 7.2.6 by @dependabot[bot] in #1582
- Bump symfony/maker-bundle from 1.62.1 to 1.63.0 by @dependabot[bot] in #1581
- Improve SSO documentation for privacy portal by @robertolopezlopez in #1580
- docs(contributor): contributors readme action update by @github-actions[bot] in #1587
- Display the bookmark icon on trashed content by @BentiGorlich in #1576
- Display the 2FA secret upon setup by @BentiGorlich in #1575
- Url Ids should not be extracted as a hashtag by @BentiGorlich in #1577
- Add emoji picker by @melroy89 in #1588
- Bump embed/embed from 4.4.15 to 4.4.17 by @dependabot[bot] in #1598
- Bump twig/extra-bundle from 3.20.0 to 3.21.0 by @dependabot[bot] in #1590
- Translations update from Hosted Weblate by @weblate in #1593
- Bump doctrine/orm from 2.20.2 to 2.20.3 by @dependabot[bot] in #1592
- Reduce the number of db calls on the login page by @BentiGorlich in #1599
- Translations update from Hosted Weblate by @weblate in #1600
- Bump symfony/ux-twig-component from 2.24.0 to 2.25.1 in the php group by @dependabot[bot] in #1601
- Adding missing command in the docs by @MakaryGo in #1604
- Bump symfony/ux-twig-component from 2.25.1 to 2.25.2 by @dependabot[bot] in #1606
- Fix the post comment expanding not working by @BentiGorlich in #1613
- Translations update from Hosted Weblate by @weblate in #1602
- docs(contributor): contributors readme action update by @github-actions[bot] in #1614
- Bump symfony/ux-chartjs from 2.24.0 to 2.25.2 by @dependabot[bot] in #1607
- Bump twig/cssinliner-extra from 3.20.0 to 3.21.0 by @dependabot[bot] in #1608
- Add
federationquery parameter to the post and entry retrieve API by @BentiGorlich in #1618 - docs(contributor): contributors readme action update by @github-actions[bot] in #1620
- Fix
npm cierror by @BentiGorlich in #1621 - Update 01-first_setup.md by @MakaryGo in #1622
- docs(contributor): contributors readme action update by @github-actions[bot] in #1623
- Add classes for move subscription panel arrows by @TheVillageGuy in #1632
- Bump symfony/dotenv from 7.2.0 to 7.3.0 by @dependabot[bot] in #1626
- Bump symfony/scheduler from 7.2.3 to 7.3.0 by @dependabot[bot] in #1625
- Bump symfony/debug-bundle from 7.2.0 to 7.3.0 by @dependabot[bot] in #1624
- Fix getting bookmarks from a bookmark list. by @olorin99 in #1646
- Translations update from Hosted Weblate by @weblate in #1648
- docs(contributor): contributors readme action update by @github-actions[bot] in #1649
- Bump twig/html-extra from 3.20.0 to 3.21.0 by @dependabot[bot] in #1640
- Bump symfony/ux-chartjs from 2.25.2 to 2.26.1 by @dependabot[bot] in #1642
- Bump symfony/translation from 7.2.4 to 7.3.0 by @dependabot[bot] in #1641
- Bump predis/predis from 2.3.0 to 3.0.1 by @dependabot[bot] in #1643
- Translations update from Hosted Weblate by @weblate in #1651
- Expose instance admins and moderators by @BentiGorlich in #1657
- Bump symfony/lock from 7.2.5 to 7.3.0 by @dependabot[bot] in #1652
- Bump symfony/runtime from 7.2.3 to 7.3.1 by @dependabot[bot] in #1655
- Bump symfony/property-info from 7.2.5 to 7.3.1 by @dependabot[bot] in #1654
- Bump symfony/ux-chartjs from 2.26.1 to 2.27.0 by @dependabot[bot] in #1653
- Fix
npm cierror by @BentiGorlich in #1660 - Fix template error on figure by @BentiGorlich in #1659
- Fix SSO auth not redirecting to /authorize by @BentiGorlich in #1638
- Improve admin user list by @BentiGorlich in #1634
- Improve entry editing by @BentiGorlich in #1658
- Fix the reputation list not counting upvotes by @BentiGorlich in #1633
- Add options for rendering rich markdown by @BentiGorlich in #1619
- Move from default
COUNT_CODEPOINTSunit toCOUNT_GRAPHEMESby @BentiGorlich in #1617 - Take federation status into account when creating content by @BentiGorlich in #1636
- Add Attitude to admin user list and user info by @BentiGorlich in #1635
- Remove openssl error and deprecation by @BentiGorlich in #1665
- Fix reading the wrong
magazineproperty by @BentiGorlich in #1666 - Fix reading the wrong magazine property II by @BentiGorlich in #1669
- Translations update from Hosted Weblate by @weblate in #1667
- Add header bread crumb for mobile by @BentiGorlich in #1671
- Translations update from Hosted Weblate by @weblate in #1672
- Rollback symfony packages to 7.2 by @BentiGorlich in #1668
- Translations update from Hosted Weblate by @weblate in #1673
- Improve the generic search and add users and magazines to it by @BentiGorlich in #1670
- Fix header crumb squashing on smaller devices by @BentiGorlich in #1679
- Translations update from Hosted Weblate by @weblate in #1681
- Fix header full width on desktop by @BentiGorlich in #1680
- Introduce the activity table by @BentiGorlich in #1173
- Fix the if statement for $content variable in ApHttpClient.php by @melroy89 in https://github.com/MbinOrg/mbin...
v1.8.2 🚢
This release is a bit earlier than usual, but we created this new release because of our new Docker setup 🚢.
For bare metal deployments have no backwards incompatible changes. So upgrading is easy for bare metal.
However, if you were running the Docker setup before, this release is important to you. Take note and follow the upgrade instructions carefully for Docker!
And.. we fixed some bugs as well :)
Comparison to previous stable version v1.8.1 (Docker related mainly):
| DB migrations | New ENV vars | Admin guide changes | Suggest cache clearing | New dependencies |
|---|---|---|---|---|
| ❌ | ☑️ | ☑️ | ☑️ | ☑️ |
Upgrade Instructions
For Docker
Changes to Docker setup
- Additional
.envvariables are now required in the new Docker setup. Mainly these two variable names:
# Docker specific variables
MBIN_USER=1000:1000
# Possible values: debug, info, notice, warning, error, critical, alert, emergency
PHP_LOG_LEVEL=error- Dockerfile is completely overhauled
- Meaning the published Docker image is now also changed!
- Updated composer.yaml
- Updated
compose.override.yaml, see also: https://docs.joinmbin.org/admin/installation/docker#docker-image-preparation docker/storageis moved to just:storage/(including OAuth keys) on the root.- And the
.envandcompose.*files are also moved to the root directory. - There is no
wwwservice anymore dbcontainer service is renamed topostgresservice. So update your.envaccordingly as well to use postgres has the name inDATABASE_URL- Moved from Redis to Valkey, so the new service name is now also called
valkeyinstead ofredis.- Include a Valkey config with recommended default.
- The default PostgresSQL version has been bumped to
17. - The new Docker setup (with frankenphp and Caddy) can now be used directly as your main reverse proxy (including TLS certificate for HTTPS). NO need for Nginx anymore.
- RabbitMQ now correctly persists data.
- All containers are now set up to work with non-root users.
- There's a new bash script (
./docker/setup.sh) that automates the setup of the docker environment. - The default user for all services has changed from
kbintombin. - Automatically enable the S3 FS adapter when an
S3_KEYis provided. - Enable permanent image redirect responses (
301status code) by default. - Includes a development server, making contributing / development much easier.
Migration Guide
Use these steps to migrate from the old Docker setup to this one. The big thing to keep in mind is that all your server data is now in one of three locations: .env, compose.override.yaml, and storage/. So, all server data will be going under here from now on.
Additionally, this new setup does not require a reverse proxy (and actually recommends not using one), as the PHP server it's using comes with built-in HTTPS support via Let's Encrypt and Caddy. You will need to ensure ports 80 and 443 are directly exposed and available on your server in order for this migration guide to work.
- Keep your old Mbin directory for now; just create a new one by cloning Mbin again (
git clone https://github.com/MbinOrg/mbin.git)! I'll referenceoldas your old Mbin directory andnewas your new one. - Run the auto setup script in
new(with this docker branch of course):./docker/setup.sh prod DOMAINHERE. - Run
docker compose downinold/dockerif you haven't already. - Copy your Postgres database from
old/docker/storage/postgrestonew/storage/postgres. - Copy your media files from
old/docker/storage/mediatonew/storage/media. - Copy your OAuth keys from
old/config/oauth2tonew/storage/oauth(bothprivate.pemandpublic.pem). - Open
old/docker/.envandnew/.envside by side so you can copy values from the old.envfile to the new one as needed. - You'll want to copy over most
.envvalues, includingKBIN_*,MBIN_*,MAX_IMAGE_BYTES,HCAPTCHA_*,S3_*, the SSO fields,EXIF_*,APP_SECRET,POSTGRES_*,MAILER_DSN,MERCURE_JWT_SECRET,OAUTH_PASSPHRASE, andOAUTH_ENCRYPTION_KEY. Everything else, you can leave alone; feel free to ask if you have any questions about this. - Now that non-root containers are supported, you'll have to update the permissions of the files in
new/storage/to matchMBIN_USERin.env. Runchown -R 1000:1000 new/storage/if yourMBIN_USERis1000:1000. Running the new setup under root has not been tested yet, but you will likely not need to change any file permissions if you were running as root previously. - In
new/compose.override.yaml, uncomment the section that enables you to build the Docker image locally. - In
new, rundocker compose up -dto build and start the Docker containers. - If all goes well, then you should be able to access your Mbin instance from your domain!
And of course finally :
- Get the official image from ghrc.io (v1.8.2 is the first version that delivers this new docker setup) or checkout the code and build it locally by overriding the
pull_policy - Stop all containers
docker compose down - Start all containers
docker compose up -d
Quick Start Guide
Use these steps to install Mbin on a new server. It is assumed that docker is already installed and set up.
- Clone Mbin and change directories:
git clone https://github.com/MbinOrg/mbin.git && cd mbin(make sure to switch to this docker branch). - Run the auto setup script:
./docker/setup.sh prod DOMAINHERE(uselocalhostfor the domain if you want to test locally). - Optionally configure SMTP, hCaptcha, S3, and/or SSO in
.env. - Use
docker build -t mbin -f docker/Dockerfile .to build the Docker image. - Run
docker compose up -dto start the Docker containers. - Assuming your DNS and firewall (ports
80and443allowed) are correctly configured, then you should be able to access your new Mbin instance from your domain (or https://localhost_ if you usedlocalhost)! - Don't forget to follow the Mbin first setup instructions!
For Bare Metal
- 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.8.2 - Run the update script:
bash bin/post-upgrade. - Run
exitso we are back at the root user (or put asudoin front of every command) - Clear your OPcache by reloading php fpm
systemctl restart php8.4-fpm(or restartphp8.2-fpmin case of PHP 8.2) - Optional: Flush your Redis DB by running
redis-cli, type inAUTH [YOUR PASSWORD]and thenFLUSHDB - Restart the messengers:
supervisorctl restart messenger:*
What's Changed
- Fix SendApplicationAnswerMailHandler not supplying enough parameters by @BentiGorlich in #1538
- Docs: Update Docker nginx example with the existing nginx example by @melroy89 in #1540
- Add cs2pr to our Dockerfile (phase 1) by @melroy89 in #1547
- Use checkstyle GitHub actions (phase 2) by @melroy89 in #1546
- Translations update from Hosted Weblate by @weblate in #1536
- docs(contributor): contributors readme action update by @github-actions in #1549
- Fix warnings in logging + Update php-cs-fixer by @melroy89 in #1543
- Revert "sync file from server by hand" by @jwr1 in #1552
- docs(contributor): contributors readme action update by @github-actions in #1553
- Translations update from Hosted Weblate by @weblate in #1551
- Add missing $logger in ApActivityRepository + init $apActivity with null by @melroy89 in #1560
- Rework docker setup by @jwr1 in #1542
- docs(contributor): contributors readme action update by @github-actions in #1562
- Translations update from Hosted Weblate by @weblate in #1561
- Move complex regexes to dedicated regpatterns util by @melroy89 in #1550
- Pin docker images to version tags by @melroy89 in #1565
- Change leftover Redis reference to Valkey in Docker install docs by @jwr1 in #1566
- Left-over 'v' in front of our docker tags by @melroy89 in #1567
- Dump version to 1.8.2 by @melroy89 in #1568
Full Changelog: v1.8.1...v1.8.2
v1.8.1
I know, it has been a while. However, we are happy to release v1.8.1!
Mainly a lot of bug fixes / improvements. Composer package dependency updates. Lot of documentation and language improvements (we also got Catalan now fully translated, thanks!).
Feel free to upgrade to PHP v8.4 as well.
A noticeable fronted difference to point out is that we now put thumbnails in a lightbox by default. Although this can be changed by the end-user at: ⚙ Settings -> Under "Threads" section -> "Thread thumbnails opens full screen" option.
Comparison to previous stable version v1.8.0:
| DB migrations | New ENV vars | Admin guide changes | Suggest cache clearing | New dependencies |
|---|---|---|---|---|
| ❌ | ❌ | ☑️ | ☑️ | ❌ |
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 - execute the command to remove the default domain from entries that are not local:
docker compose exec php php bin/console mbin:update:local-domain
For Bare Metal
- 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.8.1 - 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) - flush your redis db by running
redis-cli, type inAUTH [YOUR PASSWORD]and thenFLUSHDB - clear your opcache by reloading php fpm
systemctl restart php8.4-fpm(or for PHP 8.3:systemctl restart php8.3-fpm) - Restart the messengers:
supervisorctl restart messenger:* - Login as the mbin/kbin user:
su mbinagain - Run the command to remove the default domain from entries that are not local:
php bin/console mbin:update:local-domain
What's Changed
- Improve Markdown inline twig rendering by @BentiGorlich in #1446
- Fix JS error with entries without short content by @BentiGorlich in #1448
- Improve contrast of light themes (+ some dark theme fixes) by @melroy89 in #1447
- Fix the
NotificationSettingApiby @BentiGorlich in #1450 - Push notification: add notification id by @BentiGorlich in #1451
- Docs: Make vars unique in Nginx config by @melroy89 in #1453
- Always put thumb images in a lightbox by @BentiGorlich in #1406
- Docs: Explictly enable JIT in PHP 8.4 by @melroy89 in #1455
- Some opcache and composer optimizations by @BentiGorlich in #1460
- Remove the
opcache.preloadsetting for the docker build by @BentiGorlich in #1461 - Revert .container.dumper.inline_factories by @melroy89 in #1463
- Bump symfony/ux-chartjs from 2.22.1 to 2.23.0 by @dependabot in #1458
- Bump symfony/ux-autocomplete from 2.22.1 to 2.23.0 by @dependabot in #1456
- Bump twig/intl-extra from 3.18.0 to 3.20.0 by @dependabot in #1457
- Bump symfony/ux-twig-component from 2.22.1 to 2.23.0 by @dependabot in #1459
- Create an appearance option: open lightbox for thumbnails by @BentiGorlich in #1462
- Translations update from Hosted Weblate by @weblate in #1464
- Move the thumbnail option to the Threads section by @melroy89 in #1466
- Render lemmy community links as preview by @BentiGorlich in #1454
- Add all needed instructions for php install on debian 12 by @TheVillageGuy in #1468
- Enable option help + missing text for various options by @melroy89 in #1467
- Translations update from Hosted Weblate by @weblate in #1469
- Docs: Remove dev setup from production guide + contribute improvements by @melroy89 in #1470
- Also add Valkey to post-upgrade script echo line by @melroy89 in #1471
- Docs: Run docker compose from the project root dir by @melroy89 in #1473
- Also set MESSENGER_TRANSPORT_DSN in .env.test by @melroy89 in #1474
- Extend public access roles for three API end-points by @melroy89 in #1487
- Explain how to use the bearer token now plus other minor improvements by @melroy89 in #1488
- Regard block and delete status for messages by @BentiGorlich in #1489
- Translations update from Hosted Weblate by @weblate in #1486
- Translations update from Hosted Weblate by @weblate in #1490
- Update Symfony framework (patch release only) by @melroy89 in #1491
- Fix missing
Updateactivity add cover and avatar removal by @BentiGorlich in #1492 - Improve modlog (use showAvatars on all user_inline + possibility to hide new icon from modlog) by @melroy89 in #1472
- Set the default from the default dto object in case of null by @melroy89 in #1500
- Translations update from Hosted Weblate by @weblate in #1494
- Add mbin logo bw (transparent) by @melroy89 in #1501
- Add .vs directory to gitignore and dockerignore by @melroy89 in #1505
- Remove DMs and ban sender users command by @melroy89 in #1514
- Add documentation about the mbin:messages:remove_and_ban by @melroy89 in #1515
- Docs: Extend pages for better findably and readability by @melroy89 in #1517
- Dump up to PHP v8.4 by @melroy89 in #1518
- Extend zz-docker with process manager config by @melroy89 in #1519
- Translations update from Hosted Weblate by @weblate in #1507
- Docs: Upgrade to PHP v8.4. Explain min hw requirements. And other doc fixes by @melroy89 in #1520
- Add Catalan to the language selector + update README by @melroy89 in #1524
- Fix error during missing magazine parsing by @BentiGorlich in #1525
- Inline all content previews by @BentiGorlich in #1526
- Update minor package versions by @melroy89 in #1527
- Fix period in remote usernames by @melroy89 in #1533
- Update version to v1.8.1 by @melroy89 in #1535
Full Changelog: v1.8.0...v1.8.1
v1.8.0
This is the v1.8.0 release of Mbin and it is a feature packed one. It brings an extensive bookmarking system, signup request support, signup notifications, extended markdown rendering, custom notification settings to set magazines, users, threads and microblogs to default, loud or muted, setting a default sort for the front page and comment lists, a new image delete command for admins and documentation changes. You also still might want to double check if you are using the latest Nginx configs (v1.8.0 has now additional regex improvements).
A total of 60* pull requests from 11 contributors** have been merged.
Comparison to previous stable version v1.7.4:
| DB migrations | New ENV vars | Admin guide changes | Suggest cache clearing | New dependencies |
|---|---|---|---|---|
| ☑️ | ☑️ | ☑️ | ☑️ | ❌ |
*: excluding dependabot and github actions
**: excluding dependabot, github actions and weblate
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
- 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.8.0 - Run the update script:
bash bin/post-upgrade. - Run
exitso we are back at the root user (or put asudoin front of every command) - Clear your OPcache by reloading php fpm
systemctl restart php8.3-fpm(or restartphp8.2-fpmin case of PHP 8.2) - Optional: Flush your Redis DB by running
redis-cli, type inAUTH [YOUR PASSWORD]and thenFLUSHDB - Restart the messengers:
supervisorctl restart messenger:*
What's Changed
- Introducing bookmarks by @BentiGorlich in #1095
- Make related panels respect blocks by @BentiGorlich in #1183
- Improve search by @BentiGorlich in #1167
- Fix checkmarks not being rendered correctly anymore by @BentiGorlich in #1233
- [Feature] Admin approval by @BentiGorlich in #1232
- Make applicationText nullable by @BentiGorlich in #1276
- [Feature] Admin Signup Notifications by @BentiGorlich in #1242
- Fix generated markdown search link not prefilling the query field by @BentiGorlich in #1369
- Fix search for URLs by @BentiGorlich in #1368
- Fix signup notifications for deleted accounts by @BentiGorlich in #1355
- English sentence fixes by @melroy89 in #1372
- Translations update from Hosted Weblate by @weblate in #1367
- Fix checkmarks not being rendered correctly anymore, again by @BentiGorlich in #1373
- Mark signup notification as read automatically by @BentiGorlich in #1354
- Translations update from Hosted Weblate by @weblate in #1374
- Fix Signup Notifications by @BentiGorlich in #1375
- Move from dotenv to ini codeblocks by @BentiGorlich in #1376
- Translations update from Hosted Weblate by @weblate in #1378
- Ban additional Semrush agents by @melroy89 in #1386
- Translations update from Hosted Weblate by @weblate in #1384
- Improve Nginx http accept regex by @melroy89 in #1387
- Dump version in issue template by @melroy89 in #1383
- Truncate body content in the production log by @melroy89 in #1377
- Bump phpunit/phpunit from 11.5.2 to 11.5.3 by @dependabot in #1379
- Use Paratest in GitHub Action by @garrettw in #1346
- Remove unnecessary memory limit passthrough by @BentiGorlich in #1391
- Translations update from Hosted Weblate by @weblate in #1389
- Make touch click open post by @BentiGorlich in #1390
- [Feature] Custom notification settings by @BentiGorlich in #1272
- Fix flakiness of MagazineActionReportsApiTest::testApiCanAcceptReport by @BentiGorlich in #1393
- Bump symfony/maker-bundle from 1.61.0 to 1.62.1 by @dependabot in #1380
- Bump doctrine/doctrine-bundle from 2.13.1 to 2.13.2 by @dependabot in #1392
- Leverage GitHub Actons concurrency groups by @melroy89 in #1396
- Translations update from Hosted Weblate by @weblate in #1395
- Introducing the mbin:images:delete command by @melroy89 in #1394
- Fix search link for missing communities not working by @BentiGorlich in #1399
- Add a default sort option for the front page and comments by @BentiGorlich in #1400
- Add twig component rendering to our markdown rendering by @BentiGorlich in #1366
- Increase padding in magazine description so numbers are not getting cut off by @BentiGorlich in #1398
- Update twig to v3.19.0 to fix composer audit by @BentiGorlich in #1404
- Limit touch click detection to the content div by @BentiGorlich in #1402
- Add endpoint to create bookmark list by @BentiGorlich in #1410
- Fix NRE within the
ExternalLinkRendererby @BentiGorlich in #1409 - Fix signup notification links when approvals are enabled by @BentiGorlich in #1411
- Fix nodeinfo not available when federation is disabled by @BentiGorlich in #1405
- Fix notification api route methods by @jwr1 in #1415
- Improve magazine matching in the
AddHandlerby @BentiGorlich in #1403 - Update npm packages by @melroy89 in #1417
- Improve README (part 1 / x) by @melroy89 in #1416
- docs(contributor): contributors readme action update by @github-actions in #1424
- Fix doctrine weirdness by @BentiGorlich in #1426
- Translations update from Hosted Weblate by @weblate in #1433
- Add missing colons to GitHub Issues template for bug reports by @MHLoppy in #1435
- Fix touch click on links in comments only opens comment by @BentiGorlich in #1430
- docs(contributor): contributors readme action update by @github-actions in #1438
- Fix the bookmark API and add tests for it by @BentiGorlich in #1425
- Mark signup notification as read, after clicking on the link by @melroy89 in #1437
- Adjust our pipeline docker file to use the prebuild ubuntu packages by @BentiGorlich in #1440
- Use new docker image by @melroy89 in #1441
- Add missing cascade deletes to NotificationSettings by @BentiGorlich in #1420
- Update symfony packages + minor release by @melroy89 in #1442
- Bump doctrine/doctrine-migrations-bundle from 3.3.1 to 3.4.1 by @dependabot in #1407
- Update version to v1.8.0 by @melroy89 in #1443
- Remove some cascade removes by @BentiGorlich in #1445
New Contributors
Full Changelog: v1.7.4...v1.8.0
v1.7.4
This is the v1.7.4 release of Mbin and it brings a lot of documentation updates and bug fixes (especially in the backend): documentation for the Nginx setup has been altered a lot (allowing the server admin to rate limit on Nginx), PostgreSQL has also seen a few edits, most Symfony commands are now documented, we improved the federation backend, we "revive" dead instances when we get activities from them, the search experience is now improved when searching for URLs, we now support strike through HTML to markdown and a lot more.
The most important thing for developers is that the automated tests are now working and required for PRs to be merged.
A total of 62 pull requests from 10 contributors (excluding dependabot) have been merged.
Comparison to previous stable version v1.7.3:
| DB migrations | New ENV vars | Admin guide changes | Suggest cache clearing | New dependencies |
|---|---|---|---|---|
| ❌ | ❌ | ☑️ | ❌ | ❌ |
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 - execute the command to remove the default domain from entries that are not local:
docker compose exec php php bin/console mbin:update:local-domain
For Bare Metal
- 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.7.4 - 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) - flush your redis db by running
redis-cli, type inAUTH [YOUR PASSWORD]and thenFLUSHDB - clear your opcache by reloading php fpm
systemctl restart php8.2-fpm(or for PHP 8.3:systemctl restart php8.3-fpm) - Restart the messengers:
supervisorctl restart messenger:* - Login as the mbin/kbin user:
su mbinagain - Run the command to remove the default domain from entries that are not local:
php bin/console mbin:update:local-domain
What's Changed
- Add default combined log format by @melroy89 in #1238
- Throw UnrecoverableMessageHandlingException on 4xx by @BentiGorlich in #1235
- Improved action workflow by @melroy89 in #1241
- Don't federate anything from the random magazine by @BentiGorlich in #1236
- Fix min length issues for magazine description and rules by @BentiGorlich in #1245
- Improve search experience when searching for AP urls by @BentiGorlich in #1244
- Fix mentions popping up in entry by @BentiGorlich in #1243
- Bump phpstan/phpdoc-parser from 1.33.0 to 2.0.0 by @dependabot in #1223
- Bump phpstan/phpstan from 1.12.10 to 2.0.2 by @dependabot in #1239
- Bump endroid/qr-code from 5.1.0 to 6.0.3 by @dependabot in #1226
- Bump aws/aws-sdk-php from 3.327.1 to 3.330.0 by @dependabot in #1240
- Improve contributing docs by @melroy89 in #1246
- Order the menu items by @melroy89 in #1250
- Rename 3rd party dev - > App developers by @melroy89 in #1252
- Fix CONTRIBUTING.md by @melroy89 in #1253
- Expose local subscriber count to the API by @BentiGorlich in #1251
- Fix reports not triggering push notifications by @BentiGorlich in #1249
- Fix error on new magazines for admins by @BentiGorlich in #1248
- Update minor package + major qr-code package by @melroy89 in #1247
- Check for banned instances + improved logging by @melroy89 in #1254
- Add remaining prefixes to logger on important files by @melroy89 in #1255
- Bump symfony/redis-messenger from 7.1.6 to 7.2.0 by @dependabot in #1260
- Bump symfony/security-bundle from 7.1.6 to 7.2.0 by @dependabot in #1261
- Translations update from Hosted Weblate by @weblate in #1257
- Bump phpstan/phpstan from 2.0.2 to 2.0.3 by @dependabot in #1262
- Bump doctrine/doctrine-fixtures-bundle from 3.6.2 to 3.7.0 by @dependabot in #1259
- Rename routes, serialization, utils controller and mixins to mbin by @melroy89 in #1256
- Translations update from Hosted Weblate by @weblate in #1264
- Update FAQ.md by @TheVillageGuy in #1263
- Bump twig/intl-extra from 3.15.0 to 3.16.0 by @dependabot in #1267
- Bump friendsofsymfony/jsrouting-bundle from 3.5.1 to 3.5.2 by @dependabot in #1270
- Bump symfony/cache from 7.1.9 to 7.2.0 by @dependabot in #1268
- Bump symfony/ux-twig-component from 2.21.0 to 2.22.0 by @dependabot in #1269
- Fix data action kbin -> mbin rename by @melroy89 in #1278
- Bump league/commonmark from 2.5.3 to 2.6.0 in the php group by @dependabot in #1279
- Update 04-image_metadata_cleaning.md by @TheVillageGuy in #1266
- Include last receive in the formula for dead instances by @BentiGorlich in #1277
- Add new html to markdown converter for strikethrough support by @BentiGorlich in #1275
- Improve command descriptions, add docs by @BentiGorlich in #1274
- Remove using the AP id as the URL by @BentiGorlich in #1281
- Add a magazine create command by @BentiGorlich in #1273
- Make dependabot serve security updates for all npm packages by @BentiGorlich in #1282
- Fix docs formatting by @BentiGorlich in #1283
- Fix null error on EntryPageFactory by @BentiGorlich in #1289
- Improve CLI docs page by @melroy89 in #1288
- Add the new CLI section to the top level readme by @melroy89 in #1290
- Bump symfony/rate-limiter from 7.1.8 to 7.2.0 by @dependabot in #1285
- Bump phpdocumentor/reflection-docblock from 5.6.0 to 5.6.1 by @dependabot in #1284
- Bump symfony/expression-language from 7.1.6 to 7.2.0 by @dependabot in #1287
- Bump symfony/browser-kit from 7.1.6 to 7.2.0 by @dependabot in #1286
- Bump symfony/amqp-messenger from 7.1.6 to 7.2.0 by @dependabot in #1296
- Bump pagerfanta/doctrine-dbal-adapter from 4.7.0 to 4.7.1 by @dependabot in #1295
- Bump symfony/ux-autocomplete from 2.21.0 to 2.22.1 by @dependabot in #1293
- Translations update from Hosted Weblate by @weblate in #1298
- Add pdo_pgsql PHP extenstion by @melroy89 in #1303
- Bump symfony/yaml from 7.1.6 to 7.2.0 by @dependabot in #1294
- Translations update from Hosted Weblate by @weblate in #1299
- Improve PostgreSQL config even further by @melroy89 in #1304
- Bump symfony/doctrine-messenger from 7.1.6 to 7.2.0 by @dependabot in #1308
- Bump symfony/security-csrf from 7.1.6 to 7.2.0 by @dependabot in #1306
- Bump twig/cssinliner-extra from 3.15.0 to 3.17.0 by @dependabot in #1305
- Bump symfonycasts/reset-password-bundle from 1.23.0 to 1.23.1 by @dependabot in #1307
- Update npm minor version packages by @melroy89 in #1311
- Update remaining npm packages + webpack update + tools directory by @melroy89 in #1312
- Add Timpibot to robots.txt by @melroy89 in #1314
- Improve Nginx access logs by @melroy89 in #1315
- Add two stage Nginx rate limit by @melroy89 in #1316
- Remove default local domain for entries by @BentiGorlich in #1280
- Get the integration tests up and running again by @BentiGorlich in #1300
- Fix Doctrine fixtures by @garrettw in #1321
- Add Devcontainer config (works with Codespaces) by @garrettw in #1320
- Fix NPM warnings by @garrettw in #1329
- Bump twig/intl-extra from 3.16.0 to 3.18.0 by @depend...
v1.7.3
We are excited to announce the latest release of Mbin; v1.7.3! It's a big patch release once again.
This version is focused on bug fixes and improvements rather than new features. Notable improvements in random order are:
- Improved PHP (
max_children), Nginx (improved logging using map, upstream block for Mercure andopen_file_cache) and PostgreSQL documentation (addingcommit_delayconfig option and better defaults). - Better RabbitMQ messenger defaults
- Fixed security Symfony audit & update all Symfony packages
- Fixed self-delivery looping
- Improved delivery handler by not rolling back InvalidApPostException exceptions
- Fixed private comments retrieval via API
- Fixed dead instance query (by allowing lastSuccessfulDeliver to be NULL)
- Fixed markdown toolbar editor during editing a thread
- Improved federation page
- New/improved
npm auditandcomposer auditchecks in GitHub Actions workflow
Comparison to previous stable version 1.7.2:
| DB migrations | New ENV vars | Admin guide changes | Suggest cache clearing | New dependencies |
|---|---|---|---|---|
| ❌ | ❌ | ☑️ | ☑️ | ❌ |
What's Changed
- Fix logic error in the posting restriction logic by @BentiGorlich in #1177
- Execute
npm audit fixby @BentiGorlich in #1178 - Exclude InvalidApPostException from rolling back the transaction by @BentiGorlich in #1180
- Use composer audit & npm audit by @melroy89 in #1179
- Redesign federation page by @BentiGorlich in #1181
- Fix toolbar broken in thread edit by @melroy89 in #1182
- Bump phpstan/phpstan from 1.12.4 to 1.12.6 by @dependabot in #1185
- Bump aws/aws-sdk-php from 3.322.0 to 3.324.1 by @dependabot in #1187
- Bump phpstan/phpdoc-parser from 1.30.1 to 1.33.0 by @dependabot in #1188
- Bump symfony/messenger from 7.1.4 to 7.1.5 by @dependabot in #1186
- Translations update from Hosted Weblate by @weblate in #1190
- Bump symfony/mailer from 7.1.2 to 7.1.6 by @dependabot in #1203
- Translations update from Hosted Weblate by @weblate in #1198
- Bump symfony/dotenv from 7.1.3 to 7.1.6 by @dependabot in #1202
- Bump symfony/ux-autocomplete from 2.19.2 to 2.21.0 by @dependabot in #1199
- Bump symfonycasts/verify-email-bundle from 1.17.0 to 1.17.1 by @dependabot in #1194
- Fix dead instance query by allowing lastSuccessfulDeliver is null by @melroy89 in #1204
- increase pm.max_children by @TheVillageGuy in #1206
- Bump symfony/runtime from 7.1.1 to 7.1.7 in the php group by @dependabot in #1207
- Bump the php group with 4 updates by @dependabot in #1209
- Fix private comments being retrieved via API by @BentiGorlich in #1208
- Fix delivering to oneself by @BentiGorlich in #1211
- Bump symfony/ux-chartjs from 2.20.0 to 2.21.0 by @dependabot in #1215
- Bump symfony/uid from 7.1.5 to 7.1.6 by @dependabot in #1214
- Bump symfony/expression-language from 7.1.4 to 7.1.6 by @dependabot in #1212
- Bump symfony/css-selector from 7.1.1 to 7.1.6 by @dependabot in #1213
- Translations update from Hosted Weblate by @weblate in #1216
- Fix Symfony security issues by @melroy89 in #1222
- Improve Nginx logging, by introducing a separate inbox log by @melroy89 in #1217
- Add Valkey in header by @melroy89 in #1228
- Translations update from Hosted Weblate by @weblate in #1229
- Improved PostgreSQL config & setup by @melroy89 in #1231
- Fix ms to μs by @melroy89 in #1234
- Fine-tune messenger retry strategy by @melroy89 in #1218
- Use keepalive (requires a upstream block) + Open file cache by @melroy89 in #1221
- Update to v1.7.3 by @melroy89 in #1237
Full Changelog: v1.7.2...v1.7.3
v1.7.2
We are excited to announce the release of Mbin v1.7.2! This version is packed with important bug fixes and performance improvements, focused on bug fixes rather than new features.
The main improvements are (in random order):
- Fixing many PHP undefined, null or other errors that admins might see in their production logs.
- Resolving several templating null issues.
- Removing CSRF tokens from public forms (when user isn't logged-in), reduce unnecessary large amount of sessions.
- Migrating Symfony sessions from Redis to PostgreSQL to avoid race conditions.
- Increase session & cookies duration to 4 months (so people stay logged-in).
- Adding a down-vote mode in
.env. - Add stricter requirements on the routes configuration (reducing invalid requests are making it to the controller).
- Introducing a scheduler for removing deleted user messages & pruning the dead letter queue in RabbitMQ.
- Various other bug fixes and updating package dependencies and translation improvements.
For more details see below the "What's Changed" section.
Comparison to previous stable version 1.7.1:
| DB migrations | New ENV vars | Admin guide changes | Suggest cache clearing | New dependencies |
|---|---|---|---|---|
| ☑️ | ❌ | ❌ | ☑️ | ❌ |
What's Changed
- Translations update from Hosted Weblate by @weblate in #1099
- Fix update actor failing because of a serializer error by @BentiGorlich in #1098
- Check whether the author is blocked before notifying by @BentiGorlich in #1100
- Implement downvote modes by @BentiGorlich in #1022
- Add the downvotes mode to the .env.example by @BentiGorlich in #1104
- Translations update from Hosted Weblate by @weblate in #1103
- docs(contributor): contributors readme action update by @github-actions in #1106
- Bump twig/twig from 3.11.0 to 3.11.1 in the composer group by @dependabot in #1107
- Fix the downvote error by @BentiGorlich in #1110
- Clean-up push controller js by @melroy89 in #1105
- Clean up push controller js even more by @melroy89 in #1111
- Add spoiler to markdown editor by @melroy89 in #1108
- Fix some npm vulnerabilities by @BentiGorlich in #1112
- Translations update from Hosted Weblate by @weblate in #1113
- Also check if filePath is not null by @melroy89 in #1114
- Null error on reported post comment notifications by @BentiGorlich in #1118
- Fix 3rd miscellaneous bug by @BentiGorlich in #1120
- Fix 4th miscellaneous bug by @BentiGorlich in #1121
- Fix 7th miscellaneous bug by @BentiGorlich in #1123
- Fix 2nd miscellaneous bug by @BentiGorlich in #1124
- Fix 6th miscellaneous bug by @BentiGorlich in #1125
- Fix 9th miscellaneous bug by @BentiGorlich in #1122
- Fix null error when an instance does not have a nodeinfo endpoint by @BentiGorlich in #1117
- Update composer PHP depedencies by @melroy89 in #1101
- Disable badges for now by @melroy89 in #1116
- Check on empty/null filePath image by @melroy89 in #1128
- Check if EntryComment is defined and not null by @melroy89 in #1129
- Improve invalid CSRF token logging + add explicit dependency by @melroy89 in #1130
- Make CSRF tokens better named by @melroy89 in #1131
- Add new command: "Remove failed messages command" by @melroy89 in #1132
- Update docs with failed messages remove command by @melroy89 in #1133
- Don't log full html pages (stop error log pollution) by @melroy89 in #1134
- Add explicit require dep phpseclib/phpseclib. Update minor releases o… by @melroy89 in #1135
- Translations update from Hosted Weblate by @weblate in #1137
- Remove dead messages + docs update by @melroy89 in #1139
- Disable CSRF checks on some most-used forms by @melroy89 in #1136
- Translations update from Hosted Weblate by @weblate in #1143
- Translations update from Hosted Weblate by @weblate in #1144
- Reduce error pollution even more on post request failures by @melroy89 in #1140
- Translations update from Hosted Weblate by @weblate in #1146
- add new develop branch for gh trigger by @melroy89 in #1147
- Store sessions in DB + improve cookies/sessions by @melroy89 in #1145
- Translations update from Hosted Weblate by @weblate in #1149
- Add stricter requirements to existing routes by @melroy89 in #1150
- Translations update from Hosted Weblate by @weblate in #1151
- Increase the interval for fetch_user_notifications by @melroy89 in #1152
- Translations update from Hosted Weblate by @weblate in #1154
- Adding Valkey to docs by @melroy89 in #1153
- Introducing dependabot for npm & composer by @melroy89 in #1141
- Bump symfony/http-client from 7.1.4 to 7.1.5 by @dependabot in #1155
- Bump symfony/uid from 7.1.4 to 7.1.5 by @dependabot in #1158
- Bump symfony/translation from 7.1.3 to 7.1.5 by @dependabot in #1156
- Bump symfony/webpack-encore-bundle from 2.1.1 to 2.2.0 by @dependabot in #1159
- Translations update from Hosted Weblate by @weblate in #1160
- Fix the docker build error due to an old symfon/cache version by @BentiGorlich in #1165
- Make the body not required while editing by @BentiGorlich in #1168
- Fix wrong title showing while editing a thread by @BentiGorlich in #1169
- Bump phpunit/phpunit from 11.3.6 to 11.4.0 by @dependabot in #1162
- Translations update from Hosted Weblate by @weblate in #1170
- Bump symfony/ux-chartjs from 2.19.3 to 2.20.0 by @dependabot in #1164
- Bump symfony/console from 7.1.4 to 7.1.5 by @dependabot in #1161
- docs(contributor): contributors readme action update by @github-actions in #1172
- Check if the openssl_sign went OK by @melroy89 in #1102
- Fix scheduler not running by @BentiGorlich in #1166
- Bump to 1.7.2 release now by @melroy89 in #1176
Full Changelog: v1.7.1...v1.7.2
v1.7.1
Welcome to version 1.7.1 of Mbin. A very packed Mbin release once again!
This version includes tons of fixes (too many to mention here, look at "What's Changed") and introduces also new features like: trusted proxy configuration (see also docs), activate accounts manually using the admin panel, show an error when the image is too large to upload (look at the latest .env template file), improved API end-points (isAdmin, isGlobalModerator is part of the user API, fixed AP context and more) as well as many documentation improvements.
Note: Due to a dead-lock issue in 1.7.0, which is now fixed in 1.7.1, we strongly recommend upgrading your Mbin server as soon as possible.
And as always, we would like to thank all the contributors and the Mbin community! We can't do it without you!
Comparison to previous stable version 1.7.0:
| DB migrations | New ENV vars | Admin guide changes | Suggest cache clearing | New dependencies |
|---|---|---|---|---|
| ☑️ | ☑️ | ☑️ | ☑️ | ❌ |
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
- 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.7.1 - Run the update script:
./bin/post-upgrade. If you get an error when running the db migrations you maybe have to stop your webserver, so nothing is trying to access the database. - Run
exitso we are back at the root user (or put asudoin-front of every command) - Flush your Redis db by running
redis-cli, type inAUTH [YOUR PASSWORD]and thenFLUSHDB - Clear your opcache by reloading PHP-FPM
systemctl reload php8.3-fpm(or for PHP 8.2:systemctl reload php8.2-fpm) - Restart the messengers:
supervisorctl restart messenger:*
What's Changed
- Update docker php config to match bare metal guide by @jwr1 in #992
- docs(contributor): contributors readme action update by @github-actions in #993
- Update docker ini files to be a little more consistent with docs in #994
- Fix the error when saving the admin settings by @BentiGorlich in #997
- Add posting restricted to mods to the API by @BentiGorlich in #998
- Add user ban and suspension lists to admin panel in #995
- Translations update from Hosted Weblate by @weblate in #999
- Add user password set/reset command to
bin/consolein #1002 - Fix remove moderator api throwing error by @BentiGorlich in #1003
- Fix
ActivityHandlererrors regarding the payload by @BentiGorlich in #1004 - Fix the managers checking wrong fields for editing permissions by @BentiGorlich in #1005
- Allow admins to activate/verify accounts manually using the admin user panel in #1000
- Stop banned or suspended users from notification creation on posts and entries in #1007
- Invalidate collection cache before getting collection for likes, dislikes and shares by @BentiGorlich in #1008
- Bump version to 1.7.1-rc1 by @BentiGorlich in #1010
- add default null to Instance entity nullables field by @asdfzdfj in #1006
- Remove
\intvalaroundMAX_IMAGE_BYTESinsrc/Service/SettingsManager.php, breaks settings name resolution in #1011 - Add trusted proxy config to framework configuration in #1012
- Version bump for 1.7.1-rc2 in #1015
- Translations update from Hosted Weblate by @weblate in #1017
- Make the API return the server public key and add a dedicated route for it by @BentiGorlich in #1018
- Use the default when the value is zero by @BentiGorlich in #1020
- Add an image too large error by @BentiGorlich in #1019
- Revert "Make the API return the server public key and add a dedicated route for it" by @jwr1 in #1024
- Fix user getting deleted when unregistering push by @BentiGorlich in #1029
- Fix
getAccessTokenalways returning null by @BentiGorlich in #1030 - docs(contributor): contributors readme action update by @github-actions in #1031
- Fix UserPushSubscriptionManager using wrong AccessToken type by @BentiGorlich in #1033
- Bump version to 1.7.1-rc3 by @BentiGorlich in #1027
- Fix 500 error when a thread is empty by @BentiGorlich in #1034
- Translations update from Hosted Weblate by @weblate in #1038
- Translations update from Hosted Weblate by @weblate in #1041
- Update PHP Dependencies by @BentiGorlich in #1037
- Fix user soft delete and user account restore within 30 days in #1013
- Change attributed to parsing to not expect a url by @BentiGorlich in #1035
- Add cascade delete to report.considered_by_id by @BentiGorlich in #1028
- Only match magazine by hashtag if post was in random by @BentiGorlich in #1036
- Fix error when updating an actor and the instance has no nodeinfo endpoint by @BentiGorlich in #1040
- Return only the host as audience for remote magazines by @BentiGorlich in #1039
- Bump Version to 1.7.1-rc4 by @BentiGorlich in #1042
- Add
isAdminandisGlobalModeratorfields to user api response by @BentiGorlich in #1044 - Add field to all content response DTOs:
canAuthUserModerateby @BentiGorlich in #1043 - Add missing checks for banned instance by @BentiGorlich in #1053
- actually building user agent in ProjectInfoService by @asdfzdfj in #1057
- push navbar front route generation into twig func by @asdfzdfj in #1058
- Fix AP context by @melroy89 in #1060
- Edit the contributing docs by @BentiGorlich in #1048
- Translations update from Hosted Weblate by @weblate in #1061
- Add a warning message when we hit the cache in post by @BentiGorlich in #1049
- Use different values for
timeoutandmax_durationby @BentiGorlich in #1051 - Use a different cache key for activity object by @BentiGorlich in #1050
- Add the featured collection to the ap context by @BentiGorlich in #1065
- Update _form_media.html.twig by @TheVillageGuy in #1055
- docs(contributor): contributors readme action update by @github-actions in #1067
- Fix some leftover magazine undefined errors in the nav by @BentiGorlich in #1069
- chore: Create PR template in #1059
- Add installation filler by @melroy89 in #1074
- docs(contributor): contributors readme action update by @github-actions in #1075
- Translations update from Hosted Weblate by @weblate in #1076
- Update theme-dark.scss by @TheVillageGuy in #1062
- Fix messenger deadlocks caused by cache locks by @BentiGorlich in #1066
- Fix the regex, so FF is no longer complaining by @BentiGorlich in #1077
- Use the latest pipeline docker image by @melroy89 in #1078
- Use is defined on twig report notification objects by @melroy89 in #1080
- Bump the version to 1.7.1-rc5 by @BentiGorlich in #1079
- move private vars out of some services/handlers by @asdfzdfj in #1070
- Add error message to logger in case of invalid reg form submission by @melroy89 in #1082
- Translations update from Hosted Weblate by @weblate in #1081
- docs(contributor): contributors readme action update by @github-actions in #1084
- Do not stealth anti-spam error messages in log by @melroy89 in https://github.com/MbinOr...