8.3.2 (2023-06-29)
Overview of merged pull requests
BUGFIX: Normalize windows package paths
regression from: https://github.com/neos/flow-development-collection/pull/2736 solves: #3087
Thanks to @icpb and @eartahhj for reporting and helping me debug this ;)
- The root of the problem that flow cant read the packages composer.jsons is because we want to cache the
packagePath
of each package as relative path. (see AvailablePackages.php in your cache folder)
On windows the cache would write include the absolute path.
This line: https://github.com/neos/flow-development-collection/blob/2aefffd8fa3a579d9e1e7d0eed4dba047ba295c7/Neos.Flow/Classes/Package/PackageManager.php#L657
should make sure we trim it to an relative path, but because a mismatch of directory separators, the str_replace doesnt work. See example: ```php # FLOW_PATH_PACKAGES = ‘X:/project/packages’ # always unix style format
$fullPackagePath = ‘X:\Project\packages\Application\packageY’; # currently style depends on OS
str_replace(FLOW_PATH_PACKAGES, ‘’, $fullPackagePath); ```
on linux the fullPackagePath
would be /project/packages/Application/packageY
, so we use Files::getUnixStylePath to normalize it.
It was reported that this problem also appeared in Neos 8.0, but this fix is now written for 8.3, as we refactored the code a little.
I cant actually believe that starting with Neos 8 it wouldnt work on windows anymore, as this would mean no one used Flow8 with windows.
Upgrade instructions
Packages:
Flow
BUGFIX: No usage of dynamic properties
This patch resolves deprecation notices on PHP 8.2:
## Dynamic properties in proxy classes
There are some properties that are dynamically declared in proxy classes:
* Flow_Injected_Properties
* Flow_Object_PropertiesToSerialize
* Flow_Persistence_RelatedEntities
: this is mostly used inside of the ObjectSerializationTrait
, so I thought it might make more sense to declare it there instead of adding a property using the ProxyClassBuilder
Resolves: #2946
## parent
inside of closures
There are some methods that will be checked against is_callable
with parent::
:
* parent::Flow_Aop_Proxy_buildMethodsAndAdvicesArray
* parent::__wakeup
Review instructions * Set up a flow distribution on PHP 8.2 * Run tests and make sure no deprecation warnings are thrown
Packages:
Flow
BUGFIX: Widgets can’t be nested in For (Fluid)
introduces a test with an AjaxWidgetViewHelper in a ForViewHelper which tests the indexAction and the ajaxAction
resolved: https://github.com/neos/flow-development-collection/issues/1214
Upgrade instructions
Review instructions
The crucial part has a comment in code (AbstractWidgetViewHelper).
Packages:
Flow
FluidAdaptor
BUGFIX: Fix proxy compilation for edge cases
This change fixes proxy compilation for certain cases where “class” was used as a string in multi-line quoted strings or within comments.
Resolves: #1835
Packages:
Flow
TASK: Require all collection packages as `self.version <https://github.com/neos/flow-development-collection/pull/3035>`_
Any dependency from one package in the collection to another should always be “to the same version”.
This changes makes sure this is the case by using self.version
as the required version.
See #3034
Packages:
Flow
FluidAdaptor