Skip to content

v3.3.0

Choose a tag to compare

@zfhassaan zfhassaan released this 19 May 11:49
· 27 commits to master since this release

Version 3.3.0 - Minor Release

This release broadens framework and PHP compatibility, improves configuration resolution, and expands CI coverage.

Compatibility

  • PHP: 7.3 through 8.5 (composer.json: ^7.3|^8.0)
  • Laravel: 7.x through 13.x in dev dependencies; CI matrix covers Laravel 8–13 across supported PHP versions
  • Laravel 8: supports PHP 7.3 and 7.4 (Laravel 9+ requires PHP 8.0.2+)
  • Laravel 9: requires PHP ^8.0.2; CI/local installs use platform.php 8.0.2 (see scripts/ci-platform-php.sh)
  • PHPUnit: ^9.6 on PHP 7.3/7.4; ^10.5|^11.5|^12.0 on PHP 8.0+ (resolved automatically by Composer)

Features

  1. Configuration layouts

    • ConfigurationProvider accepts current use/properties, legacy default/connections, and flat single-connection configs.
  2. CI and local testing

    • GitHub Actions matrix for PHP 7.3–8.5 and Laravel 8–13.
    • scripts/ci-platform-php.sh and scripts/ci-composer-install.sh for correct Composer platform constraints.
    • test-ci.sh for running the CI matrix locally.

Fixes

PHP 8.4+ and 8.5 compatibility fixes contributed by @dlpro in PR #136 (merged May 18, 2026):

  1. PHP 8.4+ implicitly nullable parameters

    • Added explicit ? to nullable constructor parameters in ConsumerFactory, PublisherFactory, Consumer, and Publisher (avoids deprecation warnings on PHP 8.4 and fatal errors in PHP 9).
    • Fixed the same pattern in DeadLetterExchangeIntegrationTest::createConfig().
  2. PHP 8.5 deprecations

    • Removed curl_close() from ManagementApiClient (no-op since PHP 8.0, removed in PHP 8.5).
    • Dropped ReflectionProperty::setAccessible() calls in unit/integration tests (deprecated in PHP 8.5; no-op since PHP 8.1).
    • ReflectionTestTrait still calls setAccessible(true) on PHP 7.3/7.4 where reflection access requires it.

Migration

No migration required. Existing config/amqp.php layouts continue to work.