7.3.2 (2022-03-15)

Overview of merged pull requests

BUGFIX: Don’t create proxy classes for PHP enums

This change introduces a check in the proxy class compiler which makes sure that PHP 8.1 enums are not considered as regular classes and are removed from the list of proxyable classes.

How to reproduce:

1. create an enum, for example in Packages/Acme/Classes/ExampleEnum.php: ```php namespace Acme; enum ExampleEnum {

case FOO; case BAR;

}

  1. let Flow compile classes, the following error will appear:

> PHP Fatal error: Cannot declare class Acme\ExampleEnum, because the name is already in use in /application/Data/Temporary/Development/Cache/Code/Flow_Object_Classes/Acme_ExampleEnum.php on line 23

Addresses #2698

  • Packages: Flow

BUGFIX: Documentation fix follow up to #1108 and #2638

related #1108 related #2638

Concerning: Neos.Flow.error.exceptionHandler.renderingGroups.{exampleGroup}.options

include the overseen options:

viewClassName, and viewOptions

mark the legacy options as @deprecated and show alternative

  • Packages: Flow

BUGFIX: Use custom error view for rendering group independent of the configuration ‘templatePathAndFilename’

resolves: #1108

previously, a custom error view is for rendering groups only used if templatePathAndFilename is set. * See: #1108

A custom view will now be used if … - … there is a matching rendering group (no further checks. It could be also a rendering group with empty options (no viewClassName or viewOptions) … what would then trow an error probably - depending on the view) - … defaultRenderingOptions.templatePathAndFilename passes isset() (to not change previous working behaviour - should get depreceated sometime)

  • [x] Code follows the PSR-2 coding style

  • [x] Tests have been created, run and adjusted as needed

  • [x] The PR is created against the lowest maintained branch

  • Packages: Flow

BUGFIX: Correctly adjust Cache-Control in makeStandardsCompliant()

  • Fixes: #2625

  • Packages: Flow

BUGFIX: Clear stat cache when checking for directory

Makes sure the check does not use potentially outdated information.

  • Fixes: #2670

  • Packages: Utility.Files

BUGFIX: Use __toString for resolving value in DynamicRoutePart

When resolving values for a route via DynamicRoutePart, object are only being looked up in the persistence manager.

With this change, we honour if a identifier is found, and if not, we look at the object to see, if it has a __toString method available, to give us a value.

This is backward compatible, since we respect the identifier, if given at first

Reolves #2658

BUGFIX: Correct check on cache file write success

BUGFIX: Don’t access uninitialized property in Debugger

  • Fixes: #2664

  • Packages: Flow

BUGFIX: Fix rendering of release notes

  • Packages: Flow

TASK: Fix some psalm complaints, update baseline

TASK: Return 400 response when HMAC validation fails

When HMAC validation fails during request processing, the controller will return a response with a status code of 400, as that is caused by a bad request. The exception is logged with a notice to the log, to aid in debugging errors

Previously the uncaught exception would cause a status 500 response and log a critical error.

TASK: Update vimeo/psalm 4.9.3 to 4.22.0

  • Packages: Flow

TASK: Improve ThrowableStorage docblocks

This clarifies the use of logThrowable() from ThrowableStorage and ThrowableStorageInterface.

Detailed log