farmOS 3.0.0-beta1 and 3.0.0-beta2 have been released

farmOS 3.0.0-beta1 has been released.

Update: farmOS 3.0.0-beta2 has been released to fix the tagged release packaging for 3.x beta releases, along with two small bugfixes.

This is the first release of the farmOS 3.x branch, following semantic versioning. This means changes have been made which may be incompatible with existing integrations. These “breaking” changes are described below. For links with more details, see CHANGELOG.md.

farmOS v3 updates Drupal to version 10. Drupal 9 is end-of-life as of
November 1st, 2023. If you have built any add-on modules for farmOS, you will need to check that they are compatible with Drupal 10, and declare support in your *.info.yml file by changing core_version_requirement from ^9 to ^9 || ^10 (to indicate that it works on both versions), or just ^10 (to indicate that it only works on Drupal 10). The PHPStan tool that is included with the farmOS 3.x-dev Docker image can be used to perform static analysis of your module code to see if there are deprecations that need to be fixed. See farmOS coding standards for more information.

If you are using PostgreSQL, Drupal 10 requires PostgreSQL version 12 or greater, with the pg_trgm extension enabled. If you have PostgreSQL 13 or greater, the pg_trgm extension will be enabled automatically during farmOS installation. PostgreSQL 12 users, or users who are updating from farmOS 2.x to 3.x, will need to enable it manually by running the following query after the farmOS database has been created, but before farmOS is installed/updated: CREATE EXTENSION pg_trgm;

The Simple OAuth module has been updated to version 6. This includes a few breaking changes which may affect API integrations. farmOS includes code to handle the transition of its own OAuth clients and scopes, but if you have made any additional clients that used special roles they will also need to be updated. The biggest changes are that the “Implicit” grant type has been removed, and the “Password Credentials” grant type has been moved to an optional “Simple OAuth Password Grant” module, which must be enabled in order to use that grant type. The default farmOS client that is included with farmOS has also been moved to a separate module that is not enabled by default. After the update to farmOS 3.x, all access tokens will be invalidated, but refresh tokens will still work to get a new access token.

farmOS 2.x included code to help migrate data from a farmOS 1.x database. This code has been removed from farmOS 3.x If you are still on farmOS 1.x, you will need to migrate to farmOS 2.x, and then update to farmOS 3.x. For more information, see Migrating from farmOS v1.

Lastly, the following deprecated functions/methods have been removed:

  • farm_log_asset_names_summary()
  • QuickFormInterface::getId()

For the full release notes, see CHANGELOG.md.

2 Likes

Hi,
I have installed the 3 beta1 but on system status the Drupal core is 9 and not 10…

@altix Thanks for the heads up! I see what you mean. It appears that our “tagged” 3.0.0-beta1 tarball and Docker images still ended up with farmOS 2.2.2. The 3.x and 3.x-dev Docker images are using the correct 3.x branch. I will investigate and figure out what is going wrong with our automated delivery.

1 Like

FYI I figured out the cause of the issue with the tagged releases. I will be tagging a new 3.0.0-beta2 release soon which fixes it (along with a couple of small bugfix PRs from @paul121). Stay tuned!

1 Like

3.0.0-beta2 has been released - give that a try @altix - should work for you now. :slight_smile:

1 Like

The new beta2 work fine ! thanks

2 Likes