7.1.1 (2021-08-25)
Overview of merged pull requests
BUGFIX: Don’t skip childnodes when discarding nodes
Previously autocreated childnodes like ContentCollections were ignored when discarding selected nodes via the workspace module.
When deleting a node and discarding the change the auto created children would then stay deleted in the database and the backend would show no content/errors.
The behaviour is now the same as for publishing nodes and the direct child nodes are included in the discard if the node has auto-created child nodes or is a document.
BUGFIX: Create Localisation API structure earlier
Like in the new media-ui it could happen that the backend module throws an error because the Localization init is not completed yet.
See https://github.com/Flowpack/media-ui/issues/78 for more information.
This patch will split the init step of the Localization API to a plain init that builds the structure and the new initTranslations that will create the raw translation data. As the translation data is fetched first, it could take some time. Now we first build the structure and set initialized to false and after that we fetch the xliff data and create the localization mapping.
So the initialized flag is now working way better.
What I did Split up the init function to be able to create the structure and data separately. And then build the structure before fetching the data.
How to verify it Install the new media-ui for instance and check the console for an error ;)
Packages:
Neos
BUGFIX: Prevent repeated queries for non existing nodes
What I did
The first level node cache stores non existing nodes as null. This should have prevented repeated queries for the same non existing nodes. But isset returns false for a stored value of null in this case therefore saying that the node is unknown unstead of non existing, which triggers another db query. With this change, null is now returned and no additional query triggered by the context.
How I did it
The node cache returns the stored value of null instead of false.
How to verify it
Run test or manually query a CR context for non existing identifiers multiple times.
Packages:
ContentRepository
BUGFIX: Only document Nodes should appear in Breadcrumb
When rendering the Breadcrumb menu in a Content node, the Content node itself is no longer added to the menu.
This is done by replacing q(node).add(…) with q(documentNode).add(…)
Packages:
Browser
Neos
BUGFIX: Use vanilla js for toggling class
Use vanilla JS for toggling the technical information
Resolves: #3351
Packages:
Neos
SiteKickstarter
Fix/rebuild compiled files
What I did I suspected my problems described in #3382 are the result of outdated code in compiled sources. So I tried to rebuild them.
How I did it
``` cd Packages/Neos/Neos.Neos/ git clone -b 4.3 https://github.com/neos/neos-development-collection /tmp/neos-development-collection cp -a /tmp/neos-development-collection/Scripts/ Scripts/ cd Scripts/
mkdir gems bundler install –path gems
sed -i “s/ContentModuleBootstrap/LegacyUiBootstrap/; s/ContentModule-built/LegacyUiBootstrap-built/; s/Content\/Inspector\/.*,//g” build.js
and for the yarn part:
`
cd Packages/Neos/Neos.Neos
yarn build:production
`
Packages:
Neos
Collect affected nodes for each dimension to remove undefined properties
If you run removeUndefinedProperties of the ./flow node:repair command not all undefined properties get removed.
Currently the affected nodes get indexed by the node identifier. But this identifier is the same for all dimensions. So the list of nodes reflects all dimensions, but the actual removal just run on ONE node of any dimension. So you have to run the command n-times (n = number of dimensions).
Expected behavior Remove all undefined properties in all dimensions
Actual behavior Removes just undefinded properties of a node in one dimension
How to test
* Set up with more than one dimension
* Create a node with properties in more than one dimension
* Remove a property definition of that node
* run ./flow node:repair
* run again to see, if it had removed all properties in the run before
* Packages: ContentRepository
TASK: Enable PHP 8 build
This enables a PHP 8 build and adjusts some things to achieve PHP8-compatibility of the code-base.
Thanks a lot to @gerdemann !
Packages:
ContentRepository
TASK: Replace deprecated guzzle functions with static methods
See https://github.com/guzzle/psr7/pull/345
Related to https://github.com/neos/flow-development-collection/pull/2455 - hence why this targets 7.1 instead of master
Packages:
Fusion
Neos
BUGFIX: Fix cascade argument of childEvents relation
#3341 build failures made me aware of this
Packages:
Neos
BUGFIX: Fix depth comparison in hasHiddenNodeParent(…)
The comparison in this is wrong. Because the depth is 0-based, but the nodes returned by getNodesOnPath(…) contain the root node, less-than-or-equal must be used.
Fixes: #3363
Packages:
Neos
BUGFIX: Deletion of assets from media overview works again
Fixes: #3349
Packages:
Browser
Neos
BUGFIX: Skip unnecessary queries for nodedata
What I did and how I did it
Prevent node queries when is is clear that there would be an empty result
Prevent childnode count queries, when the children are already known due to previously cached query results for the same children
How to verify it
In the Neos page /en/features.html this reduces the number of queries from 138 to 133. In larger projects with more complex components this has a larger effect.
In a large project this reduced the SQL query count on one page from 1379 to 1115 (~23%) and the resulting rendering time by ~20%.
[x ] The PR is created against the lowest maintained branch
Packages:
ContentRepository
BUGFIX: Don’t evaluate reference nodes collection twice
The condition in fluid evaluates the „referenceNodes“ and the result is not cached. Therefore when the variable is used for the output the whole code is evaluated again.
Resolves: #3355
Packages:
ContentReferences
BUGFIX: Avoid use of removed isMethodSafe()
This has obviously been forgotten in the past… and since it’s not used by the new UI, that wasn’t noticed yet.
Packages:
Neos
PHP 8 Changes
Updates the ClassMetadata Namespace from Doctrine\Common\Persistence\Mapping\ClassMetadata to
Doctrine\Persistence\Mapping\ClassMetadata.
Fixes Unit-Tests.
Removes optional parameters after mandatory parameters.
Packages:
Browser
ContentRepository
Diff
Form
Fusion
Media
Neos
SiteKickstarter