Skip to content

v1.7.0

Compare
Choose a tag to compare
@BentiGorlich BentiGorlich released this 04 Aug 17:56
· 172 commits to main since this release
93c4baf

This is the v1.7.0 release of Mbin and it brings a lot of changes: improved instance wide modlog, new SSO providers, new translated languages, moderator updates in the modlog, new cake day display, better stability and scalability of the messengers, PeerTube support, federating direct messages, federate un-/pinning entries, updated robots.txt, improve the documentation, longer durability of the user session, adding admin notifications for reports, tombstones for deleted remote users, improve the federation of edits, push subscriptions, a new look of the federation page, add public API endpoints for getting de-/federated and dead instances, magazines can now restrict posting to mods, updating magazines and users should now federate instantly, new users and magazines now show a leaf icon next to them, improve the editing of threads, make the maximum image size configurable

The Mbin dev team now suggests using PHP 8.3. If you are using the docker setup you will automatically be running the new PHP version.

A total of 145 reviewed and approved pull requests have been merged into this release! As always, a special thank you to new and existing contributors, without you, future Mbin releases would not be possible!

Comparison to previous version 1.6.0:

DB migrations New ENV vars Admin guide changes Suggest cache clearing New dependencies
☑️ ☑️ ☑️ ☑️ ☑️

Upgrade Instructions for v1.6.0

Note

If you are upgrading from one of the release candidates, you just have to follow the default upgrade procedure, like the one described in the 2nd release candidate

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
  4. Generate VAPID keys to support push notifications (for encryption): docker compose exec php php bin/console mbin:push:keys:update

For Bare Metal

  1. Stop all messenger processes by running supervisorctl stop messenger:* as the root user
  2. install the php extension bcmath, be sure the extension is for your installed php version. On debian for php 8.2 it would look like this: apt install php8.2-bcmath. Check if that was successful by running: php -m | grep bcmath
  3. Login as the mbin/kbin user: su mbin
  4. Go to your repo cd /var/www/mbin
  5. Get the new release: git fetch && git checkout v1.7.0
  6. Run the update script: bash bin/post-upgrade.sh. 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.
  7. Generate VAPID keys to support push notifications (for encryption): php bin/console mbin:push:keys:update
  8. Run exit so we are back at the root user (or put a sudo infront of every command)
  9. flush your redis db by running redis-cli, type in AUTH [YOUR PASSWORD] and then FLUSHDB
  10. clear your opcache by reloading php fpm systemctl reload php8.2-fpm (or for PHP 8.3: systemctl reload php8.3-fpm)
  11. Refresh supervisor and start the new messenger group: supervisorctl reread && supervisorctl update && supervisorctl start messenger:*

What's Changed

  • Translations update from Hosted Weblate by @weblate in #798
  • Translations update from Hosted Weblate by @weblate in #802
  • Add Brazilian Portuguese and Danish language selectors by @nobodyatroot in #801
  • change sso authentication success route to front page by @CocoPoops in #804
  • Authentik SSO by @CocoPoops in #806
  • Add moderator updates to the modlog by @BentiGorlich in #799
  • docs(contributor): contributors readme action update by @github-actions in #808
  • Docker caddy version bump by @nobodyatroot in #813
  • fix modlog error when the user adding/removing a moderator is null by @BentiGorlich in #812
  • Bump Symfony Framework to 7.0.8 by @nobodyatroot in #816
  • docs(contributor): contributors readme action update by @github-actions in #817
  • Add support for the Privacy Portal OAUTH provider by @privacyguard in #818
  • Update contrib workflow with new version and permissions by @nobodyatroot in #820
  • docs(contributor): contributors readme action update by @github-actions in #821
  • Fix Authentik Account Registration by @CocoPoops in #824
  • Improve modlog by @BentiGorlich in #828
  • expose the apFetchedAt field of users and magazines for admins by @BentiGorlich in #826
  • Translations update from Hosted Weblate by @weblate in #829
  • New/cake day by @BentiGorlich in #827
  • Include content of audience tag in the receivers by @BentiGorlich in #834
  • Remove border radius on autocomplete form to fix letters from getting cutoff at the beginning of the item by @nobodyatroot in #835
  • add aria attributes to cake day elements by @e-five256 in #841
  • Try to fix wrong urls for images in the related panels by @BentiGorlich in #803
  • Update all npm packages and address dependabot security notice by @nobodyatroot in #842
  • Fix entries with not showing preview icon by @BentiGorlich in #847
  • Try to fix the "Table too large for buffer" messenger errors by @BentiGorlich in #846
  • Revert "Fix entries with not showing preview icon" by @BentiGorlich in #851
  • improve findActorOrCreate by @BentiGorlich in #825
  • Translations update from Hosted Weblate by @weblate in #850
  • Revert "improve findActorOrCreate" by @BentiGorlich in #852
  • Add Filipino language selector to sidebar by @nobodyatroot in #854
  • Translations update from Hosted Weblate by @weblate in #856
  • revert preview hide toggling visibility by @e-five256 in #855
  • Fix rule mismatch on related entry front vs single by @e-five256 in #859
  • Improve actor fetch by @BentiGorlich in #853
  • reduce frequency of lastoriginupdate db writes by @e-five256 in #702
  • Translations update from Hosted Weblate by @weblate in #865
  • docs(contributor): contributors readme action update by @github-actions in #864
  • Make outbox message handlers use the DeliverManager by @BentiGorlich in #862
  • docs(contributor): contributors readme action update by @github-actions in #868
  • Translations update from Hosted Weblate by @weblate in #871
  • findActorOrCreate was changed to search by apPublicUrl which is wrong, revert to apProfileId by @BentiGorlich in #870
  • Fix/actor 404 json error by @BentiGorlich in #872
  • Translations update from Hosted Weblate by @weblate in #873
  • Add new exception to provide descriptive error (returned false) from openssl_pkey_get_public in signature validator by @nobodyatroot in #874
  • Translations update from Hosted Weblate by @weblate in #875
  • Add peertube support by @BentiGorlich in #782
  • Add Galician language support by @nobodyatroot in #876
  • Cleanup deprecation warnings in Symfony profiler pre 1.6.1 release by @nobodyatroot in #877
  • Implement message federation and redesign message view by @BentiGorlich in #830
  • Translations update from Hosted Weblate by @weblate in #878
  • Add send direct message button to profile by @melroy89 in #879
  • Translations update from Hosted Weblate by @weblate in #881
  • Fix/entry wrong type by @BentiGorlich in #880
  • Remove text from DM button, stops excessive text wrap on desktop view with three columns by @nobodyatroot in #882
  • Translations update from Hosted Weblate by @weblate in #884
  • Federate pinned entries by @BentiGorlich in #831
  • Translations update from Hosted Weblate by @weblate in #886
  • Translations update from Hosted Weblate by @weblate in #888
  • Add Discord SSO by @nobodyatroot in #887
  • Update npm minor releases by @melroy89 in #895
  • Add SSO documentation by @BentiGorlich in #892
  • Add a lock to the handle if a user manually approves followers by @BentiGorlich in #885
  • Fix PrivacyPortal SSO by @BentiGorlich in #894
  • Update sass loader and fix scss by @melroy89 in #896
  • Disable Ahrefs & Semrush bots by @melroy89 in #897
  • docs(contributor): contributors readme action update by @github-actions in #899
  • docs(contributor): contributors readme action update by @github-actions in #902
  • Update minor versions by @melroy89 in #903
  • Fix the docs build by @BentiGorlich in #904
  • Also block DataForSeoBot user-agent by @melroy89 in #907
  • Translations update from Hosted Weblate by @weblate in #908
  • Update php-cs-fixer to latest version. Fix linting files by @melroy89 in #906
  • Clean-up install notes by @melroy89 in #905
  • Move entry comments options below the add comment box by @CocoPoops in #910
  • Redirect to user profile settings on newly created SSO users by @CocoPoops in #909
  • Fix adviced -> advised by @melroy89 in #912
  • Translations update from Hosted Weblate by @weblate in #913
  • Increase lifetime remember me cookie by @melroy89 in #918
  • Redirect to existing thread by @BentiGorlich in #923
  • Add option to hide related panels by @BentiGorlich in #922
  • Futher extend robots.txt with AI bs user-agents by @melroy89 in #924
  • Extend robots.txt by @melroy89 in #925
  • Disallow terms & privacy policy by @melroy89 in #926
  • Fix the LogicException when a report was rejected by @BentiGorlich in #915
  • Try to fix node build by @melroy89 in #928
  • Add version info to robots.txt by @melroy89 in #927
  • Fix the instructions to setup GitHub SSO by @BentiGorlich in #929
  • Bump to newer version that also fixes npm install by @melroy89 in #930
  • Revert "Bump to newer version that also fixes npm install (#930)" by @melroy89 in #931
  • Reapply "Bump to newer version that also fixes npm install (#930)" by @melroy89 in #932
  • Fix trashed threads being part of the pinned collection by @BentiGorlich in #933
  • docs(contributor): contributors readme action update by @github-actions in #934
  • Improve minor paths to avoid breakage of server by @DismalShadowX in #935
  • Update RabbitMQ installation by @melroy89 in #937
  • docs(contributor): contributors readme action update by @github-actions in #938
  • Implement report notifications by @BentiGorlich in #783
  • Wrap all messenger invokes in their own transaction by @BentiGorlich in #936
  • When receiving an "Update" activity check permissions by @BentiGorlich in #893
  • Don't update actor if deleted by @BentiGorlich in #942
  • Tombstones for deleted remote users by @BentiGorlich in #941
  • Federate edits by @BentiGorlich in #940
  • Implement push notifications by @BentiGorlich in #921
  • Translations update from Hosted Weblate by @weblate in #944
  • increase issue stale time to a year by @BentiGorlich in #945
  • Translations update from Hosted Weblate by @weblate in #946
  • Fix & update composer.lock by @melroy89 in #949
  • Fix PostgreSQL docs heading by @melroy89 in #952
  • Add new instance table by @BentiGorlich in #939
  • Add Redis page to docs by @melroy89 in #953
  • Improve Redis / KeyDB guide by @melroy89 in #956
  • Fix left over mapping in OAuth2UserConsent by @BentiGorlich in #957
  • docs(contributor): contributors readme action update by @github-actions in #958
  • Add php8.3 to docs + how to switch by @melroy89 in #959
  • Edit php 8.3 files by @melroy89 in #960
  • Fix let's encrypt link in docs by @melroy89 in #961
  • Implement "posting restricted to mods" by @BentiGorlich in #951
  • Add missing option to limit thread creation to mods on magazine creation by @nobodyatroot in #962
  • Translations update from Hosted Weblate by @weblate in #964
  • docs(contributor): contributors readme action update by @github-actions in #963
  • Send out update activities on actor updates by @BentiGorlich in #954
  • docs(contributor): contributors readme action update by @github-actions in #966
  • Add a leaf icon next to users and magazines if they are new by @BentiGorlich in #969
  • Update composer + npm packages and Symfony 7.1 upgrade by @nobodyatroot in #970
  • Translations update from Hosted Weblate by @weblate in #972
  • Bump version for v1.7.0-rc by @BentiGorlich in #973
  • Translations update from Hosted Weblate by @weblate in #974
  • Remove the newly introduced jitter by @BentiGorlich in #975
  • Revert accidental change by @BentiGorlich in #976
  • Docs: Move mercure supervisor config, add media reverse proxy by @BentiGorlich in #968
  • Docs: add s3 reverse proxy and migration to docs by @BentiGorlich in #967
  • Clean up doctrine deprecation warnings by @nobodyatroot in #977
  • When editing an entry only use one type by @BentiGorlich in #971
  • Translations update from Hosted Weblate by @weblate in #979
  • Recommend new installs use php8.3 by @nobodyatroot in #981
  • Bump docker php to 8.3 and rabbitmq versions by @nobodyatroot in #980
  • Bump version to 1.7.0-rc2 by @BentiGorlich in #982
  • Add joinmbin.org list of instance by @melroy89 in #983
  • Additional details/notes on php migrations by @nobodyatroot in #984
  • Fix updating actor icons in specific cases by @BentiGorlich in #985
  • Add a section for setting up push notifications by @BentiGorlich in #986
  • fix some oddities about nodeinfo fetching/handling by @asdfzdfj in #988
  • preview controller memoize response by @asdfzdfj in #989
  • Replace MAX_IMAGE_BYTES constant in ImageManager.php with admin configurable environmental variable by @nobodyatroot in #987
  • Translations update from Hosted Weblate by @weblate in #990
  • Bump version to v1.7.0 by @BentiGorlich in #991

New Contributors

Full Changelog: v1.6.0...v1.7.0