- Drop support for Symfony 5
- Drop support for api-platform 2
- Test with PHP 8.4
- Add support for doctrine/dbal v4
- Add support for doctrine/orm v3.2
- Improved logging around backend notifications
- Port from doctrine annotations to PHP 8 attributes
- Port to PHPUnit 10
- Minor psalm fixes
- Add support for api-platform 3.2
- Add support for Symfony 6
- dev: replace abandoned composer-git-hooks with captainhook.
Run
vendor/bin/captainhook install -f
to replace the old hooks with the new ones on an existing checkout.
- Symfony upgrade preparations: Remove dependency on injecting ContainerInterface
- Drop support for PHP 7.4/8.0
- Drop support for PHP 7.3
- JSON-LD contexts are no longer embedded in the API responses, they have to be fetched separately.
- The expressions in the bundle config now support the relay extensions
- Make sure that any changes made by the connector bundles are persisted even if they error out/throw
- config: return_url_expression, notify_url_expression and psp_return_url_expression now get passed the URL via the "url" variable and are "false" by default. The payment object is no longer accessible in the expression.
- Added a health check for parsing all config Symfony expressions
- Some minor documentation improvements
- PaymentServiceProviderServiceInterface::complete() lost the pspData parameter, there is no replacement
- PaymentStatus::CANCELLED was removed, use PaymentStatus::FAILED instead
- Removed deprecated constants like PAYMENT_STATUS_PREPARED
- Changed the namespace of various types (Payment, PaymentPersistence, etc.)
- StartPayAction lost the restart parameter, it will be ignored and there is no replacement
- Drop the unused
number_of_uses
column from the main database table - Port to new api-platform metadata APIs
- Payment.paymentStatus: change from PaymentStatusType to just Text
- Rename /mono/payment endpoint to /mono/payments, the old endpoint still works but is deprecated
- Minor logging improvements
- Update to api-platform v2.7
- Minor translation changes
- Don't allow payment restarts if the payment is pending or completed.
- All duration based config entries like
payment_session_timeout
,completed_begin
,created_begin
andtimeout_before
are now in the ISO 8601 duration format.
- config: demo_mode is now per method instead of per type
- New PaymentServiceProviderServiceInterface::getPaymentIdForPspData() which each PSP connector needs to implement. This moves the last PSP specific logic into the connector.
- BackendServiceInterface::updateData() is now only called in the prepared state
- Introduce a new BackendServiceInterface::updateEntity() which is called in all states and can for example set the payment translation based on the current locale, independend of the payment state.
- Don't require the backend to check for the right payment state when notified
- composer: add pre-commit hooks for linting
- Add a new PaymentStatus enum
- Add locking to the backend notification, so the backend isn't notified for the same payment twice.
- logs: More logging and better audit logs
- logs: Always add a relay-mono-payment-id to the audit logs
- docs: document the audit logging channel
- Only clean up the main payment data if the connector cleanup worked
- Fix coverage reporting with newer xdebug
- Fix an error during cleanup in case there are payments in the DB that haven't been started
- Disable log masking for the audit log channel
- tests: don't fail if symfony/dotenv is installed
- Initial release