Skip to content

v5.1.0

Latest

Choose a tag to compare

@rabbitlair rabbitlair released this 02 Apr 19:21
· 2 commits to main since this release
3ae6c9e

What's Changed

Upgrading to v5.1.0

PHPStan level raised to 6

The default PHPStan analysis level has been increased from 1 to 6. This will likely cause new failures in existing projects immediately after upgrading. To suppress pre-existing violations and only fail on new code, generate a baseline before or after upgrading:

task test:phpstan:generate-baseline
git add phpstan.neon phpstan-baseline.neon
git commit -m "Add PHPStan level 6 baseline"

phpstan/extension-installer now required

drainpipe-dev now requires the phpstan/extension-installer Composer plugin. If your project does not already allow it (e.g. via drupal/core-dev), add the following to your root composer.json to prevent CI failures:

"config": {
    "allow-plugins": {
        "phpstan/extension-installer": true
    }
}

Hosting provider configuration syntax updated

The CI configuration schema for Pantheon and Acquia has changed. The old flat-array syntax (e.g. "github": ["PantheonReviewApps"]) is deprecated — update to the new named sub-key syntax:

"github": { "pantheon": ["ReviewApps"] }
"github": { "acquia": ["Deploy"] }
"gitlab": { "pantheon": ["Deploy", "ReviewApps"] }

The old syntax continues to work but will be removed in a future release.

Pantheon authentication variable renamed

TERMINUS_MACHINE_TOKEN is now the preferred environment variable for Pantheon authentication, aligning with the standard used by DDEV and the Terminus documentation. The old names (PANTHEON_TERMINUS_TOKEN, PANTHEON_TOKEN) continue to work but will emit a deprecation warning.

Additionally, the setup-terminus GitHub Action input has been renamed from pantheon-token to terminus-token. Update any workflows that reference it:

# Before
- uses: ./.github/actions/pantheon/setup-terminus
  with:
    pantheon-token: ${{ secrets.PANTHEON_TERMINUS_TOKEN }}

# After
- uses: ./.github/actions/pantheon/setup-terminus
  with:
    terminus-token: ${{ secrets.TERMINUS_MACHINE_TOKEN }}

drupal:update now runs drupal:composer automatically

The drupal:composer:development and drupal:composer:production tasks have been unified into a single drupal:composer task (the old names remain as aliases). As part of this change, drupal:update now automatically runs drupal:composer to ensure the vendor directory is up to date. If your workflow depends on drupal:update not touching vendor, adjust accordingly. Where you previously called drupal:composer:development or drupal:composer:production explicitly, switch to:

task drupal:composer                    # development (default)
COMPOSER_NO_DEV=1 task drupal:composer  # production

Full Changelog: v5.0.0...v5.1.0