"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "Neos.Neos/Documentation/Appendixes/ChangeLogs/700.rst" between
neos-development-collection-7.0.0.tar.gz and neos-development-collection-7.0.1.tar.gz

About: TYPO3 Neos is a Content Application Platform with a CMS and an application framework at its core (based on the PHP web application platform "FLOW3").

700.rst  (neos-development-collection-7.0.0):700.rst  (neos-development-collection-7.0.1)
skipping to change at line 106 skipping to change at line 106
# Allow custom routes to be filtered by node type. # Allow custom routes to be filtered by node type.
With the bug above fixed the route part handler can be used in With the bug above fixed the route part handler can be used in
custom routes, but it would work for all nodes. custom routes, but it would work for all nodes.
So for every `valid/uri` a corresponding `valid/uri/some/custom/part` So for every `valid/uri` a corresponding `valid/uri/some/custom/part`
would match to the same node. would match to the same node.
To prevent that, a new option `nodeType` was added that allows the To prevent that, a new option `nodeType` was added that allows the
route to only apply for nodes of the specified type: route to only apply for nodes of the specified type:
```yaml .. code-block:: yaml
-
name: 'Custom' -
uriPattern: '{node}/custom.html' name: 'Custom'
defaults: uriPattern: '{node}/custom.html'
'@package': 'Neos.Neos' defaults:
'@controller': 'Frontend\\Node' '@package': 'Neos.Neos'
'@action': 'show' '@controller': 'Frontend\\Node'
'@format': 'html' '@action': 'show'
custom: true '@format': 'html'
routeParts: custom: true
'node': routeParts:
handler: 'Neos\\Neos\\Routing\\FrontendNodeRoutePartHandlerInterface' 'node':
options: handler: 'Neos\\Neos\\Routing\\FrontendNodeRoutePartHandlerInterface'
nodeType: 'Some.Package:Some.Node.Type' options:
``` nodeType: 'Some.Package:Some.Node.Type'
With this route (registered _before_ the default Neos routes) the With this route (registered _before_ the default Neos routes) the
URI `valid/uri/custom.html` would match the corresponding node only URI `valid/uri/custom.html` would match the corresponding node only
if it implements `Some.Package:Some.Node.Type`. if it implements `Some.Package:Some.Node.Type`.
The Fusion rendering can react to that by evaluating the `custom` request argume nt: The Fusion rendering can react to that by evaluating the `custom` request argume nt::
``` prototype(Some.Package:Some.Node.Type) < prototype(Neos.Fusion:Component) {
prototype(Some.Package:Some.Node.Type) < prototype(Neos.Fusion:Component) { renderer = Neos.Fusion:Case {
renderer = Neos.Fusion:Case { custom {
custom { condition = ${request.arguments.custom}
condition = ${request.arguments.custom} renderer = Some.Package:Some.Custom.Renderer
renderer = Some.Package:Some.Custom.Renderer }
} default {
default { condition = true
condition = true renderer = Some.Package:Some.Default.Renderer
renderer = Some.Package:Some.Default.Renderer }
} }
} @cache {
@cache { mode = 'dynamic'
mode = 'dynamic' entryDiscriminator = ${request.arguments.custom ? 'custom' : 'defaul
entryDiscriminator = ${request.arguments.custom ? 'custom' : 'default'} t'}
context { context {
1 = 'node' 1 = 'node'
2 = 'documentNode' 2 = 'documentNode'
3 = 'site' 3 = 'site'
}
} }
} }
}
```
Vice versa, to create a link using the custom route via Fusion: Vice versa, to create a link using the custom route via Fusion::
link = Neos.Neos:NodeLink {
node = ${someNode}
arguments {
custom = true
}
}
```
link = Neos.Neos:NodeLink {
node = ${someNode}
arguments {
custom = true
}
}
```
...will create a link pointing to the custom rendering of the node ...will create a link pointing to the custom rendering of the node
if `someNode` implements the configured node type. if `someNode` implements the configured node type.
* Related: `#3020 <https://github.com/neos/neos-development-collection/issues/30 20>`_ * Related: `#3020 <https://github.com/neos/neos-development-collection/issues/30 20>`_
* Packages: ``Neos`` * Packages: ``Neos``
`BUGFIX: Adjust fusion tests to match the InvalidPositionException <https://gith ub.com/neos/neos-development-collection/pull/3226>`_ `BUGFIX: Adjust fusion tests to match the InvalidPositionException <https://gith ub.com/neos/neos-development-collection/pull/3226>`_
-------------------------------------------------------------------------------- ---------------------------------------------------- -------------------------------------------------------------------------------- ----------------------------------------------------
Invalid positions has been skipped silently. Since https://github.com/neos/flow- development-collection/pull/2214 this leads to an InvalidPositionException. Invalid positions has been skipped silently. Since https://github.com/neos/flow- development-collection/pull/2214 this leads to an InvalidPositionException.
skipping to change at line 274 skipping to change at line 271
`BUGFIX: Add file and line information to fusion parser exceptions where possibl e <https://github.com/neos/neos-development-collection/pull/3204>`_ `BUGFIX: Add file and line information to fusion parser exceptions where possibl e <https://github.com/neos/neos-development-collection/pull/3204>`_
-------------------------------------------------------------------------------- ------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------
In many cases the currently parsed resource and line is known and it would help to In many cases the currently parsed resource and line is known and it would help to
editors to show this information in the parser exception. editors to show this information in the parser exception.
* Resolves: `#3206 <https://github.com/neos/neos-development-collection/issues/3 206>`_ * Resolves: `#3206 <https://github.com/neos/neos-development-collection/issues/3 206>`_
* Packages: ``Browser`` ``Fusion`` ``Neos`` * Packages: ``Browser`` ``Fusion`` ``Neos``
`BUGFIX: Add file and line information to fusion parser exceptions where possibl
e <https://github.com/neos/neos-development-collection/pull/3204>`_
In many cases the currently parsed resource and line is known and it would help
to
editors to show this information in the parser exception.
* Resolves: `#3206 <https://github.com/neos/neos-development-collection/issues/3
206>`_
* Packages: ``Browser`` ``Fusion`` ``Neos``
`TASK: Rename TYPO3CR where possible <https://github.com/neos/neos-development-c ollection/pull/3188>`_ `TASK: Rename TYPO3CR where possible <https://github.com/neos/neos-development-c ollection/pull/3188>`_
-------------------------------------------------------------------------------- ---------------------- -------------------------------------------------------------------------------- ----------------------
Affects #2842 and #3137 Affects #2842 and #3137
* Packages: ``ContentRepository`` ``Fusion`` ``Neos`` ``NodeTypes`` * Packages: ``ContentRepository`` ``Fusion`` ``Neos`` ``NodeTypes``
`BUGFIX: Align fusion caching and service <https://github.com/neos/neos-developm ent-collection/pull/3193>`_ `BUGFIX: Align fusion caching and service <https://github.com/neos/neos-developm ent-collection/pull/3193>`_
-------------------------------------------------------------------------------- --------------------------- -------------------------------------------------------------------------------- ---------------------------
* Fixes: `#3191 <https://github.com/neos/neos-development-collection/issues/3191 >`_ * Fixes: `#3191 <https://github.com/neos/neos-development-collection/issues/3191 >`_
* Packages: ``Neos`` * Packages: ``Neos``
`BUGFIX: Align fusion caching and service <https://github.com/neos/neos-developm
ent-collection/pull/3193>`_
* Fixes: `#3191 <https://github.com/neos/neos-development-collection/issues/3191
>`_
* Packages: ``Neos``
`FEATURE: Replace Fusion:Collection with Fusion:Loop <https://github.com/neos/ne os-development-collection/pull/3202>`_ `FEATURE: Replace Fusion:Collection with Fusion:Loop <https://github.com/neos/ne os-development-collection/pull/3202>`_
-------------------------------------------------------------------------------- -------------------------------------- -------------------------------------------------------------------------------- --------------------------------------
* Related: `#3137 <https://github.com/neos/neos-development-collection/issues/31 37>`_ * Related: `#3137 <https://github.com/neos/neos-development-collection/issues/31 37>`_
* Packages: ``ColumnLayouts`` ``ContentReferences`` ``Neos`` * Packages: ``ColumnLayouts`` ``ContentReferences`` ``Neos``
`FEATURE: Replace Neos.Fusion:Array with Neos.Fusion:Join <https://github.com/ne os/neos-development-collection/pull/3198>`_ `FEATURE: Replace Neos.Fusion:Array with Neos.Fusion:Join <https://github.com/ne os/neos-development-collection/pull/3198>`_
-------------------------------------------------------------------------------- ------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------
* Related: `#3137 <https://github.com/neos/neos-development-collection/issues/31 37>`_ * Related: `#3137 <https://github.com/neos/neos-development-collection/issues/31 37>`_
skipping to change at line 334 skipping to change at line 316
* For deprecated methods with a replacement (e.g. `getDepth()`): * For deprecated methods with a replacement (e.g. `getDepth()`):
* Don't remove the method but keep the deprecation annotation * Don't remove the method but keep the deprecation annotation
* Remove any `@api` annotation from the method * Remove any `@api` annotation from the method
* For deprecated methods without replacement (e.g. `getContextPath()`): * For deprecated methods without replacement (e.g. `getContextPath()`):
* Don't remove the method * Don't remove the method
* replace the `@deprecated` annotation by some comment * replace the `@deprecated` annotation by some comment
* Related: `#3137 <https://github.com/neos/neos-development-collection/issues/31 37>`_ * Related: `#3137 <https://github.com/neos/neos-development-collection/issues/31 37>`_
* Packages: ``ContentRepository`` ``Neos`` * Packages: ``ContentRepository`` ``Neos``
`TASK: Adjust Node and NodeInterface deprecation annotations <https://github.com
/neos/neos-development-collection/pull/3194>`_
* Reword the deprecation message in the interface doc comment
* For deprecated methods with a replacement (e.g. `getDepth()`):
* Don't remove the method but keep the deprecation annotation
* Remove any `@api` annotation from the method
* For deprecated methods without replacement (e.g. `getContextPath()`):
* Don't remove the method
* replace the `@deprecated` annotation by some comment
* Related: `#3137 <https://github.com/neos/neos-development-collection/issues/31
37>`_
* Packages: ``ContentRepository`` ``Neos``
`FEATURE: Replace RawArray with DataStructure <https://github.com/neos/neos-deve lopment-collection/pull/3200>`_ `FEATURE: Replace RawArray with DataStructure <https://github.com/neos/neos-deve lopment-collection/pull/3200>`_
-------------------------------------------------------------------------------- ------------------------------- -------------------------------------------------------------------------------- -------------------------------
#3137 #3137
* Packages: ``Fusion`` ``Neos`` * Packages: ``Fusion`` ``Neos``
`FEATURE: Replace TS in comments with Fusion <https://github.com/neos/neos-devel opment-collection/pull/3201>`_ `FEATURE: Replace TS in comments with Fusion <https://github.com/neos/neos-devel opment-collection/pull/3201>`_
-------------------------------------------------------------------------------- ------------------------------ -------------------------------------------------------------------------------- ------------------------------
skipping to change at line 403 skipping to change at line 371
The autorotate is applied before calculating the resize dimensions to work with correct size values. The autorotate is applied before calculating the resize dimensions to work with correct size values.
How to test: How to test:
- Go to the media module - Go to the media module
- Upload an image with exif orientation like https://github.com/recurser/exif-or ientation-examples/blob/master/Landscape_6.jpg - Upload an image with exif orientation like https://github.com/recurser/exif-or ientation-examples/blob/master/Landscape_6.jpg
- Look at the generated thumbnails (without this change the thumbnail is rotated 90°) - Look at the generated thumbnails (without this change the thumbnail is rotated 90°)
* Resolves: `#3148 <https://github.com/neos/neos-development-collection/issues/3 148>`_ * Resolves: `#3148 <https://github.com/neos/neos-development-collection/issues/3 148>`_
* Packages: ``Media`` * Packages: ``Media``
`BUGFIX: Use autorotate filter to apply resize adjustments properly to images wi
th exif-orientations <https://github.com/neos/neos-development-collection/pull/3
147>`_
The autorotate is applied before calculating the resize dimensions to work with
correct size values.
How to test:
- Go to the media module
- Upload an image with exif orientation like https://github.com/recurser/exif-or
ientation-examples/blob/master/Landscape_6.jpg
- Look at the generated thumbnails (without this change the thumbnail is rotated
90°)
* Resolves: `#3148 <https://github.com/neos/neos-development-collection/issues/3
148>`_
* Packages: ``Media``
`BUGFIX: Flush 1st level node caches after publishing <https://github.com/neos/n
eos-development-collection/pull/3174>`_
When a fresh variant is published outdated URLs may be generated if
the urlPathSegment was changed on the variant.
* Fixes: `#3173 <https://github.com/neos/neos-development-collection/issues/3173
>`_
* Packages: ``Browser`` ``ContentRepository``
`BUGFIX: Flush 1st level node caches after publishing <https://github.com/neos/n eos-development-collection/pull/3174>`_ `BUGFIX: Flush 1st level node caches after publishing <https://github.com/neos/n eos-development-collection/pull/3174>`_
-------------------------------------------------------------------------------- --------------------------------------- -------------------------------------------------------------------------------- ---------------------------------------
When a fresh variant is published outdated URLs may be generated if When a fresh variant is published outdated URLs may be generated if
the urlPathSegment was changed on the variant. the urlPathSegment was changed on the variant.
* Fixes: `#3173 <https://github.com/neos/neos-development-collection/issues/3173 >`_ * Fixes: `#3173 <https://github.com/neos/neos-development-collection/issues/3173 >`_
* Packages: ``Browser`` ``ContentRepository`` * Packages: ``Browser`` ``ContentRepository``
`BUGFIX: Adjust NodeIdentityConverterAspect to typed persistence <https://github .com/neos/neos-development-collection/pull/3183>`_ `BUGFIX: Adjust NodeIdentityConverterAspect to typed persistence <https://github .com/neos/neos-development-collection/pull/3183>`_
skipping to change at line 512 skipping to change at line 458
* Packages: ``Neos`` * Packages: ``Neos``
`BUGFIX: set collection mode explicitly for custom collection links <https://git hub.com/neos/neos-development-collection/pull/3162>`_ `BUGFIX: set collection mode explicitly for custom collection links <https://git hub.com/neos/neos-development-collection/pull/3162>`_
-------------------------------------------------------------------------------- ----------------------------------------------------- -------------------------------------------------------------------------------- -----------------------------------------------------
**What I did** **What I did**
I set the collection mode explicitly to 0 to correct the argument in the url for switching to a custom collection. This Fixes Issue https://github.com/neos/neos -development-collection/issues/3161 I set the collection mode explicitly to 0 to correct the argument in the url for switching to a custom collection. This Fixes Issue https://github.com/neos/neos -development-collection/issues/3161
**How I did it** **How I did it**
I adjusted the arguments in the link generation in the template for the index ac tion. I adjusted the arguments in the link generation in the template for the index ac tion.
**How to verify it**
Switch to the All collection and than by clicking on an link for a custom collec
tion the view switches to the selected collection.
**Checklist**
- [ x] Code follows the PSR-2 coding style
- [ x] The PR is created against the `lowest maintained branch <https://www.neos
.io/features/release-roadmap.html>`_ with the bug (5.3)
* Packages: ``Browser``
`BUGFIX: set collection mode explicitly for custom collection links <https://git
hub.com/neos/neos-development-collection/pull/3162>`_
**What I did**
I set the collection mode explicitly to 0 to correct the argument in the url for
switching to a custom collection. This Fixes Issue https://github.com/neos/neos
-development-collection/issues/3161
**How I did it**
I adjusted the arguments in the link generation in the template for the index ac
tion.
**How to verify it**
Switch to the All collection and than by clicking on an link for a custom collec
tion the view switches to the selected collection.
**Checklist**
- [ x] Code follows the PSR-2 coding style
- [ x] The PR is created against the `lowest maintained branch <https://www.neos
.io/features/release-roadmap.html>`_ with the bug (5.3)
* Packages: ``Browser`` * Packages: ``Browser``
`BUGFIX: Fix Compatibility fallback after switching from Neos.Fusion:Collection to Neos.Fusion:Loop <https://github.com/neos/neos-development-collection/pull/31 70>`_ `BUGFIX: Fix Compatibility fallback after switching from Neos.Fusion:Collection to Neos.Fusion:Loop <https://github.com/neos/neos-development-collection/pull/31 70>`_
-------------------------------------------------------------------------------- -------------------------------------------------------------------------------- ----- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -----
Close: #3169 Close: #3169
* Packages: ``Neos`` * Packages: ``Neos``
`BUGFIX: Fix Compatibility fallback after switching from Neos.Fusion:Collection to Neos.Fusion:Loop <https://github.com/neos/neos-development-collection/pull/31 70>`_ `BUGFIX: Fix Compatibility fallback after switching from Neos.Fusion:Collection to Neos.Fusion:Loop <https://github.com/neos/neos-development-collection/pull/31 70>`_
-------------------------------------------------------------------------------- -------------------------------------------------------------------------------- ----- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -----
Close: #3169 Close: #3169
* Packages: ``Neos`` * Packages: ``Neos``
`!!! FEATURE: Add Afx template for SiteKickstarter <https://github.com/neos/neos -development-collection/pull/3089>`_ `!!! FEATURE: Add Afx template for SiteKickstarter <https://github.com/neos/neos -development-collection/pull/3089>`_
-------------------------------------------------------------------------------- ------------------------------------ -------------------------------------------------------------------------------- ------------------------------------
!!! FEATURE: Add Afx template for SiteKickstarter
This is the first approach for making the SiteKickstarter more versatile. Now yo u can easily add a custom generator package and kickstart some sorts of sites wi th one package. This is the first approach for making the SiteKickstarter more versatile. Now yo u can easily add a custom generator package and kickstart some sorts of sites wi th one package.
* Add possibility to use more than one template for the site kickstarter * Add possibility to use more than one template for the site kickstarter
* Add Afx template in addition to the fluid template * Add Afx template in addition to the fluid template
* Add the generator selection to the backend module for site packages * Add the generator selection to the backend module for site packages
* Removed the old generic generator service (this is breaking) * Removed the old generic generator service (this is breaking)
This is a breaking change because it removes the old, Fluid-based generator serv ice. This is a breaking change because it removes the old, Fluid-based generator serv ice.
In case you want to use the Fluid based rendering you can use the dedicated pack age at https://github.com/queoGmbH/FluidSiteGenerator In case you want to use the Fluid based rendering you can use the dedicated pack age at https://github.com/queoGmbH/FluidSiteGenerator
skipping to change at line 583 skipping to change at line 505
This leads to a great performance improvement because: This leads to a great performance improvement because:
* The "current Site" is only determined once, not for every URI * The "current Site" is only determined once, not for every URI
* Previously we had *three* routes for the frontend, now it's * Previously we had *three* routes for the frontend, now it's
a single one a single one
* Shortcut resolution will happen in the handler, so it will * Shortcut resolution will happen in the handler, so it will
be cached be cached
Most of these performance improvements even hold true for uncached requests. Most of these performance improvements even hold true for uncached requests.
### Breaking Change Breaking Change
This might be a breaking change if you...: This might be a breaking change if you...:
* ...extend the `FrontendNodeRoutePartHandler` and rely on it's inner workings ( for example * ...extend the `FrontendNodeRoutePartHandler` and rely on it's inner workings ( for example
with shortcut nodes¹). with shortcut nodes¹).
No methods were removed though, so chances are that you are not affected No methods were removed though, so chances are that you are not affected
* ...created (functional) tests that cover the Neos routing behavior. * ...created (functional) tests that cover the Neos routing behavior.
The `FrontendNodeRoutePartHandler` expects the `requestUriHost` routing The `FrontendNodeRoutePartHandler` expects the `requestUriHost` routing
parameter to be set (usually done via HTTP Middleware). You can simulate that behavior via: parameter to be set (usually done via HTTP Middleware). You can simulate that behavior via:
`$httpRequest = $httpRequest->withAttribute(ServerRequestAttributes::ROUTING_P ARAMETERS, RouteParameters::createEmpty()->withParameter('requestUriHost', 'some -host'));` `$httpRequest = $httpRequest->withAttribute(ServerRequestAttributes::ROUTING_P ARAMETERS, RouteParameters::createEmpty()->withParameter('requestUriHost', 'some -host'));`
* ...rely on the *internal* behavior of the `resolveShortcuts` argument of the ` LinkingService` * ...rely on the *internal* behavior of the `resolveShortcuts` argument of the ` LinkingService`
skipping to change at line 618 skipping to change at line 541
The neos-ui can not use language plurals as the UI only uses the xliff.json endp oint and the XliffService that creates the JSON returns only the singular. This change adds the plurals when they are available. The neos-ui can not use language plurals as the UI only uses the xliff.json endp oint and the XliffService that creates the JSON returns only the singular. This change adds the plurals when they are available.
**What I did** **What I did**
The XliffService always returned the first value of a translation unit. So even when a label has a plural the XliffService only used the singular. So I changed that and we are respecting now plural and singular. The XliffService always returned the first value of a translation unit. So even when a label has a plural the XliffService only used the singular. So I changed that and we are respecting now plural and singular.
**How I did it** **How I did it**
Added a new method getTranslationUnitValue that iterates over the translation un it values and potentially scramble the singular and plural. When we have just a singular we just use the single value for the label. If we have singular and plu ral we use the whole array for the label key. Added a new method getTranslationUnitValue that iterates over the translation un it values and potentially scramble the singular and plural. When we have just a singular we just use the single value for the label. If we have singular and plu ral we use the whole array for the label key.
**How to verify it**
Clear the Xliff cache and http://domain.foo/neos/xliff.json?locale=en and check
changesApplied from the neos ui for instance.
!`Screenshot 2020-11-09 at 13 25 12 <https://user-images.githubusercontent.com/1
014126/98541066-2452b580-228f-11eb-95d9-9d283b35e174.png>`_
* Resolves: `#2786 <https://github.com/neos/neos-development-collection/issues/2 786>`_ * Resolves: `#2786 <https://github.com/neos/neos-development-collection/issues/2 786>`_
* Packages: ``Neos`` * Packages: ``Neos``
`TASK: Add migration to adjust constraints of \`Neos.Neos:ContentCollections\` < https://github.com/neos/neos-development-collection/pull/3163>`_ `TASK: Add migration to adjust constraints of \`Neos.Neos:ContentCollections\` < https://github.com/neos/neos-development-collection/pull/3163>`_
-------------------------------------------------------------------------------- ---------------------------------------------------------------- -------------------------------------------------------------------------------- ----------------------------------------------------------------
In PR #2715 the constraints in the `Neos.Neos:ContentCollection` were altered fr om allow `*` and disallow `Neos.Neos:Document` to disallow `*` and allowing `Neo s.Neos:Content`. In PR #2715 the constraints in the `Neos.Neos:ContentCollection` were altered fr om allow `*` and disallow `Neos.Neos:Document` to disallow `*` and allowing `Neo s.Neos:Content`.
This change adds an automatic migration to alter NodeTypes that are derived from `Neos.Neos:ContentCollection` and constraints of childNodes that are of type `N eos.Neos:ContentCollection`. This change adds an automatic migration to alter NodeTypes that are derived from `Neos.Neos:ContentCollection` and constraints of childNodes that are of type `N eos.Neos:ContentCollection`.
skipping to change at line 663 skipping to change at line 581
This will solve issue #3084 This will solve issue #3084
* Packages: ``NodeTypes`` * Packages: ``NodeTypes``
`Apply fixes from StyleCI <https://github.com/neos/neos-development-collection/p ull/3160>`_ `Apply fixes from StyleCI <https://github.com/neos/neos-development-collection/p ull/3160>`_
-------------------------------------------------------------------------------- ----------- -------------------------------------------------------------------------------- -----------
This pull request applies code style fixes from an analysis carried out by `Styl eCI <https://github.styleci.io>`_. This pull request applies code style fixes from an analysis carried out by `Styl eCI <https://github.styleci.io>`_.
For more information, click `here <https://github.styleci.io/analyses/PxlLxK>`_.
* Packages: ``Browser`` ``ContentRepository`` ``Neos``
`Apply fixes from StyleCI <https://github.com/neos/neos-development-collection/p
ull/3160>`_
This pull request applies code style fixes from an analysis carried out by `Styl
eCI <https://github.styleci.io>`_.
For more information, click `here <https://github.styleci.io/analyses/PxlLxK>`_. For more information, click `here <https://github.styleci.io/analyses/PxlLxK>`_.
* Packages: ``Browser`` ``ContentRepository`` ``Neos`` * Packages: ``Browser`` ``ContentRepository`` ``Neos``
`FEATURE: Add StaticResource helper to Fusion defaults <https://github.com/neos/ neos-development-collection/pull/3134>`_ `FEATURE: Add StaticResource helper to Fusion defaults <https://github.com/neos/ neos-development-collection/pull/3134>`_
-------------------------------------------------------------------------------- ---------------------------------------- -------------------------------------------------------------------------------- ----------------------------------------
Add the StaticResource EEL Helper from https://github.com/neos/flow-development- collection/pull/2174 to the Fusion defaultContext. Add the StaticResource EEL Helper from https://github.com/neos/flow-development- collection/pull/2174 to the Fusion defaultContext.
StaticResource.uri (packageKey, pathAndFilename, localize) StaticResource.uri (packageKey, pathAndFilename, localize)
- (string) packageKey - (string) packageKey
- (string) pathAndFilename - (string) pathAndFilename
- (boolean, optional) localize = false - (boolean, optional) localize = false
StaticResource.content (packageKey, pathAndFilename, localize) StaticResource.content (packageKey, pathAndFilename, localize)
- (string) packageKey - (string) packageKey
- (string) pathAndFilename - (string) pathAndFilename
- (boolean, optional) localize = false - (boolean, optional) localize = false
This makes this helper available in afx: This makes this helper available in afx::
```
<link rel="stylesheet" href={StaticResource.uri('Neos.Demo', 'Public/Styles/Ma in.css')} media="all" /> <link rel="stylesheet" href={StaticResource.uri('Neos.Demo', 'Public/Styles/Ma in.css')} media="all" />
<style>{StaticResource.content('Neos.Demo', 'Public/Styles/Main.css')}</style> <style>{StaticResource.content('Neos.Demo', 'Public/Styles/Main.css')}</style>
```
* Resolves: `#3133 <https://github.com/neos/neos-development-collection/issues/3 133>`_ * Resolves: `#3133 <https://github.com/neos/neos-development-collection/issues/3 133>`_
* Packages: ``Fusion`` * Packages: ``Fusion``
`FEATURE: Introduce NodeTypePresetPostprocessor <https://github.com/neos/neos-de velopment-collection/pull/3087>`_ `FEATURE: Introduce NodeTypePresetPostprocessor <https://github.com/neos/neos-de velopment-collection/pull/3087>`_
-------------------------------------------------------------------------------- --------------------------------- -------------------------------------------------------------------------------- ---------------------------------
Introduce `NodeTypePresetPostprocessor` and extract `IconNameMappingPostprocesso r` and `DefaultPropertyEditorPostprocessor` from `NodeTypeConfigurationEnrichmen tAspect`. Introduce `NodeTypePresetPostprocessor` and extract `IconNameMappingPostprocesso r` and `DefaultPropertyEditorPostprocessor` from `NodeTypeConfigurationEnrichmen tAspect`.
This allows to configure nodeType presets via settings and apply them to nodeTyp es via. Other than mixins this allows to ensure consistent configurations across differently named properties to ensure a consistent editor experience. This allows to configure nodeType presets via settings and apply them to nodeTyp es via. Other than mixins this allows to ensure consistent configurations across differently named properties to ensure a consistent editor experience.
Note: This is mainly a core adaptation of the Sitegeist.Silhoettes package https ://github.com/sitegeist/Sitegeist.Silhouettes. Note: This is mainly a core adaptation of the Sitegeist.Silhoettes package https ://github.com/sitegeist/Sitegeist.Silhouettes.
The presets can be applied by definining the `options.preset` for childNodes or properties. The presets can be applied by definining the `options.preset` for childNodes or properties.
``` .. code-block:: yaml
Neos:
Neos: Neos:
nodeTypes: Neos:
nodeTypes:
presets:
presets:
childNodes:
vendor: childNodes:
defaultConstraints: vendor:
constraints: defaultConstraints:
'Neos.Neos:Content': true constraints:
'Neos.NodeTypes.BaseMixins:TitleMixin': true 'Neos.Neos:Content': true
'Neos.NodeTypes.BaseMixins:TitleMixin': true
properties:
vendor: properties:
textBlock: vendor:
type: string textBlock:
ui: type: string
inlineEditable ui:
type: string inlineEditable
defaultValue: '' type: string
ui: defaultValue: ''
inlineEditable: true ui:
inline: inlineEditable: true
editorOptions: inline:
placeholder: 'Vendor.Site:NodeTypes.Generic:text.placeholder' editorOptions:
autoparagraph: true placeholder: 'Vendor.Site:NodeTypes.Generic:text.placehold
formatting: er'
strong: true autoparagraph: true
em: true formatting:
u: false strong: true
underline: false em: true
``` u: false
underline: false
Presets can then be applied to nodetypes via: Presets can then be applied to nodetypes via:
``` .. code-block:: yaml
'Vendor.Package:NodeTypeName':
childNodes: 'Vendor.Package:NodeTypeName':
column1: childNodes:
options: column1:
preset: 'vendor.defaultConstraints' options:
column2: preset: 'vendor.defaultConstraints'
options: column2:
preset: 'vendor.defaultConstraints' options:
properties: preset: 'vendor.defaultConstraints'
description: properties:
options: description:
preset: 'vendor.textBlock' options:
``` preset: 'vendor.textBlock'
* Resolves: `#3090 <https://github.com/neos/neos-development-collection/issues/3 090>`_ * Resolves: `#3090 <https://github.com/neos/neos-development-collection/issues/3 090>`_
This also solves two thirds of #2867 (get rid of NodeTypeConfigurationEnrichmen tAspect). The last part cannot be extracted that easily as it converts the magic value `i18n` to a key built from the NodeType it was defined on. This also solves two thirds of #2867 (get rid of NodeTypeConfigurationEnrichmen tAspect). The last part cannot be extracted that easily as it converts the magic value `i18n` to a key built from the NodeType it was defined on.
* Packages: ``Neos`` * Packages: ``Neos``
`!!!TASK: Adjust constraints of \`Neos.Neos:ContentCollection\` to allow \`Conte nt\` instead of denying \`Document\` <https://github.com/neos/neos-development-c ollection/pull/2715>`_ `!!!TASK: Adjust constraints of \`Neos.Neos:ContentCollection\` to allow \`Conte nt\` instead of denying \`Document\` <https://github.com/neos/neos-development-c ollection/pull/2715>`_
-------------------------------------------------------------------------------- -------------------------------------------------------------------------------- ---------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- ----------------------
A ContentCollection did allow all children but Documents in the past which is un expected and makes it needlessly harder to create derived nodetypes with custom constraints. A ContentCollection did allow all children but Documents in the past which is un expected and makes it needlessly harder to create derived nodetypes with custom constraints.
This constraint is now adjusted to allow nodes of `Neos.Neos:Content` inside a ` Neos.Neos:ContentCollection` as anyone would expect given the nodetype name. This constraint is now adjusted to allow nodes of `Neos.Neos:Content` inside a ` Neos.Neos:ContentCollection` as anyone would expect given the nodetype name.
Additionally the test fixtures are adjusted as in one test a `ContentCollection` was moved into another. Now the respective node has a type that inherits from C ontent and ContentCollection. Additionally the test fixtures are adjusted as in one test a `ContentCollection` was moved into another. Now the respective node has a type that inherits from C ontent and ContentCollection.
**How to update:** If you created NodeTypes derived from `Neos.Neos:ContentColl ection` and altered the constraints to forbid `*` you have to adjust the constr aints and now forbid `Neos.Neos:Content` instead of `*`: **How to update:** If you created NodeTypes derived from `Neos.Neos:ContentColl ection` and altered the constraints to forbid `*` you have to adjust the constr aints and now forbid `Neos.Neos:Content` instead of `*`:
``` .. code-block:: yaml
'Vendor.Site:ContentCollection':
superTypes: 'Vendor.Site:ContentCollection':
'Neos.Neos:ContentCollection': true superTypes:
constraints: 'Neos.Neos:ContentCollection': true
nodeTypes: constraints:
// remove constraints like: nodeTypes:
// '*': false // remove constraints like:
// and add the following instead // '*': false
'Neos.Neos:Content': false // and add the following instead
// everything else stays the same 'Neos.Neos:Content': false
'Vendor.Site:Content': true // everything else stays the same
``` 'Vendor.Site:Content': true
* Resolves: `#3119 <https://github.com/neos/neos-development-collection/issues/3 119>`_ * Resolves: `#3119 <https://github.com/neos/neos-development-collection/issues/3 119>`_
* Packages: ``Neos`` * Packages: ``Neos``
`TASK: Remove unused legacy UI setting <https://github.com/neos/neos-development -collection/pull/3130>`_ `TASK: Remove unused legacy UI setting <https://github.com/neos/neos-development -collection/pull/3130>`_
-------------------------------------------------------------------------------- ------------------------ -------------------------------------------------------------------------------- ------------------------
Part of #3137 Part of #3137
* Packages: ``Neos`` * Packages: ``Neos``
skipping to change at line 823 skipping to change at line 726
Before, it was not possible to log in to the Neos backend without having access to the content module, as the user was automatically redirected to the content m odule. Before, it was not possible to log in to the Neos backend without having access to the content module, as the user was automatically redirected to the content m odule.
With this feature, an available module is determined when a user logs in and the user is redirected to that module. With this feature, an available module is determined when a user logs in and the user is redirected to that module.
# High level features # High level features
- Users no longer need to have access to the content module to be able to log in - Users no longer need to have access to the content module to be able to log in
- There is a setting `Neos.Neos.moduleConfiguration.preferredStartModules` avail able to define the preferred start modules. The first module of that list, which a user has access to is chosen for the start module. If none of the listed modu les can be accessed, the first module of the list of accessible modules of a use r is chosen: - There is a setting `Neos.Neos.moduleConfiguration.preferredStartModules` avail able to define the preferred start modules. The first module of that list, which a user has access to is chosen for the start module. If none of the listed modu les can be accessed, the first module of the list of accessible modules of a use r is chosen:
- The backend modules and sub modules can now be sorted using the positional arr ay sorter - The backend modules and sub modules can now be sorted using the positional arr ay sorter
``` .. code-block:: yaml
Neos:
Neos: Neos:
moduleConfiguration: Neos:
preferredStartModules: [ 'content', 'user/usersettings' ] moduleConfiguration:
``` preferredStartModules: [ 'content', 'user/usersettings' ]
## Details ## Details
- A user who has no access to the content module is redirected to the first (pre ferred) accessible content module - A user who has no access to the content module is redirected to the first (pre ferred) accessible content module
- A user who has access to the content module is still redirected to the content module by default - A user who has access to the content module is still redirected to the content module by default
- A user without access to the content module does not see the available sites m enu - A user without access to the content module does not see the available sites m enu
- When the `preferredStartModule` is not `content`, the content module is still selectable - When the `preferredStartModule` is not `content`, the content module is still selectable
# Update notes # Update notes
- This removes `Neos.Neos.userInterface.routeAfterLogin`, it can be dropped from custom configuration - This removes `Neos.Neos.userInterface.routeAfterLogin`, it can be dropped from custom configuration
* Resolves: `#2351 <https://github.com/neos/neos-development-collection/issues/2 351>`_ * Resolves: `#2351 <https://github.com/neos/neos-development-collection/issues/2 351>`_
Depends on: https://github.com/neos/neos-ui/pull/2793 * Depends on: https://github.com/neos/neos-ui/pull/2793
* Packages: ``Neos``
`BUGFIX: Fix LinkingService for CLI mode <https://github.com/neos/neos-developme
nt-collection/pull/3129>`_
Specifies the HTTP request from the ControllerContext as
fallback for the `BaseUriProvider` in order to prevent an
exception when trying to create Node URIs on the CLI.
Note: This requires https://github.com/neos/flow-development-collection/pull/215
8
* Fixes: `#3128 <https://github.com/neos/neos-development-collection/issues/3128
>`_
Related: https://github.com/neos/flow-development-collection/issues/2084
* Packages: ``Neos`` * Packages: ``Neos``
`BUGFIX: Fix LinkingService for CLI mode <https://github.com/neos/neos-developme nt-collection/pull/3129>`_ `BUGFIX: Fix LinkingService for CLI mode <https://github.com/neos/neos-developme nt-collection/pull/3129>`_
-------------------------------------------------------------------------------- -------------------------- -------------------------------------------------------------------------------- --------------------------
Specifies the HTTP request from the ControllerContext as Specifies the HTTP request from the ControllerContext as
fallback for the `BaseUriProvider` in order to prevent an fallback for the `BaseUriProvider` in order to prevent an
exception when trying to create Node URIs on the CLI. exception when trying to create Node URIs on the CLI.
Note: This requires https://github.com/neos/flow-development-collection/pull/215 8 Note: This requires https://github.com/neos/flow-development-collection/pull/215 8
* Fixes: `#3128 <https://github.com/neos/neos-development-collection/issues/3128 >`_ * Fixes: `#3128 <https://github.com/neos/neos-development-collection/issues/3128 >`_
Related: https://github.com/neos/flow-development-collection/issues/2084 * Related: https://github.com/neos/flow-development-collection/issues/2084
* Packages: ``Neos`` * Packages: ``Neos``
`TASK: Remove unused backend content container <https://github.com/neos/neos-dev elopment-collection/pull/3127>`_ `TASK: Remove unused backend content container <https://github.com/neos/neos-dev elopment-collection/pull/3127>`_
-------------------------------------------------------------------------------- -------------------------------- -------------------------------------------------------------------------------- --------------------------------
The view helper and the "corresponding" template seems The view helper and the "corresponding" template seems
not to be used anywhere in the core anymore not to be used anywhere in the core anymore
* Packages: ``BaseMixins`` ``Neos`` * Packages: ``BaseMixins`` ``Neos``
skipping to change at line 910 skipping to change at line 797
Seems as this is a leftover of the old UI and is not used anywhere Seems as this is a leftover of the old UI and is not used anywhere
in the current code. in the current code.
* Packages: ``Browser`` ``Neos`` * Packages: ``Browser`` ``Neos``
`TASK: Apply fixes from StyleCI <https://github.com/neos/neos-development-collec tion/pull/3106>`_ `TASK: Apply fixes from StyleCI <https://github.com/neos/neos-development-collec tion/pull/3106>`_
-------------------------------------------------------------------------------- ----------------- -------------------------------------------------------------------------------- -----------------
This pull request applies code style fixes from an analysis carried out by `Styl eCI <https://github.styleci.io>`_. This pull request applies code style fixes from an analysis carried out by `Styl eCI <https://github.styleci.io>`_.
For more information, click `here <https://github.styleci.io/analyses/RvbyGK>`_. For more information, click `here <https://github.styleci.io/analyses/RvbyGK>`_.
`TASK: Apply fixes from StyleCI <https://github.com/neos/neos-development-collec tion/pull/3107>`_ `TASK: Apply fixes from StyleCI <https://github.com/neos/neos-development-collec tion/pull/3107>`_
-------------------------------------------------------------------------------- ----------------- -------------------------------------------------------------------------------- -----------------
This pull request applies code style fixes from an analysis carried out by `Styl eCI <https://github.styleci.io>`_. This pull request applies code style fixes from an analysis carried out by `Styl eCI <https://github.styleci.io>`_.
For more information, click `here <https://github.styleci.io/analyses/4xEKGe>`_. For more information, click `here <https://github.styleci.io/analyses/4xEKGe>`_.
* Packages: ``Browser`` ``ContentRepository`` ``Diff`` ``Fusion`` ``Media`` ``Ne os`` * Packages: ``Browser`` ``ContentRepository`` ``Diff`` ``Fusion`` ``Media`` ``Ne os``
`FEATURE: Use breadcrumb for URL preview <https://github.com/neos/neos-developme nt-collection/pull/3100>`_ `FEATURE: Use breadcrumb for URL preview <https://github.com/neos/neos-developme nt-collection/pull/3100>`_
-------------------------------------------------------------------------------- -------------------------- -------------------------------------------------------------------------------- --------------------------
This replaces the (preview) URL by a "breadcrumb" to the homepage node. This replaces the (preview) URL by a "breadcrumb" to the homepage node.
Essentially applies https://github.com/neos/neos-development-collection/pull/296 6 Essentially applies https://github.com/neos/neos-development-collection/pull/296 6
skipping to change at line 956 skipping to change at line 839
`BUGFIX: Correctly set apply values for instantiated array objects <https://gith ub.com/neos/neos-development-collection/pull/3103>`_ `BUGFIX: Correctly set apply values for instantiated array objects <https://gith ub.com/neos/neos-development-collection/pull/3103>`_
-------------------------------------------------------------------------------- ---------------------------------------------------- -------------------------------------------------------------------------------- ----------------------------------------------------
With the introduction of lazy evaluation the apply values are stored as With the introduction of lazy evaluation the apply values are stored as
an array of (absolute) paths and popped accordingly to the evaluation an array of (absolute) paths and popped accordingly to the evaluation
stack. When an object is instantiated only the effective apply values stack. When an object is instantiated only the effective apply values
for this object must be set (and not all currently set apply values). for this object must be set (and not all currently set apply values).
* Fixes: `#3003 <https://github.com/neos/neos-development-collection/issues/3003 >`_ * Fixes: `#3003 <https://github.com/neos/neos-development-collection/issues/3003 >`_
**What I did**
Adjusted the code in Runtime to only set applicable (stored) apply values when i
nstantiating an object.
**How I did it**
- Reproduced the error
- Analyzed the rendering of the broken case with some added debugging output
- Found the case where `Case` will be instantiated with wrong props and spotted
the issue introduced with `0642115d529237bd30ae1502a78409e7739c4718 <https://git
hub.com/neos/neos-development-collection/commit/0642115d529237bd30ae1502a78409e7
739c4718>`_
- Implemented a minimal functional test case that reproduces the error
- Implemented the fix by only setting the actual apply values for the Fusion obj
ect (we already remember these for popping them after leaving the evaluation sta
ck) and not _everything_ ever `@apply`'d
**How to verify it**
- Check the new functional test without the change to Runtime, it exposes the er
ror from #3003
- Add a NodeType like described in #3003 and check the rendering
* Packages: ``Fusion`` ``Media`` ``Neos`` * Packages: ``Fusion`` ``Media`` ``Neos``
`FEATURE: third parameter "sortFlags" for FlowQuery sort() <https://github.com/n eos/neos-development-collection/pull/2989>`_ `FEATURE: third parameter "sortFlags" for FlowQuery sort() <https://github.com/n eos/neos-development-collection/pull/2989>`_
-------------------------------------------------------------------------------- -------------------------------------------- -------------------------------------------------------------------------------- --------------------------------------------
On enabling Psmb/FlatNav I stumbled over the FlowQuery sort operation having the demand for case insensitive sort. On enabling Psmb/FlatNav I stumbled over the FlowQuery sort operation having the demand for case insensitive sort.
Here's the solution: a third optional `sort()` parameter for sortOptions. Here's the solution: a third optional `sort()` parameter for sortOptions.
The FlowQuery `sort()` is executed utilizing PHP `arsort()`. According to the so rt flags of `arsort()` (see `https://www.php.net/manual/en/function.sort <https: //www.php.net/manual/en/function.sort>`_) the sort options are: The FlowQuery `sort()` is executed utilizing PHP `arsort()`. According to the so rt flags of `arsort()` (see `https://www.php.net/manual/en/function.sort <https: //www.php.net/manual/en/function.sort>`_) the sort options are:
``` - `SORT_REGULAR`
'SORT_REGULAR' - `SORT_NUMERIC`
'SORT_NUMERIC' - `SORT_STRING`
'SORT_STRING' - `SORT_LOCALE_STRING`
'SORT_LOCALE_STRING' - `SORT_NATURAL`
'SORT_NATURAL' - `SORT_FLAG_CASE` (use as last option with SORT_STRING, SORT_LOCALE_STRING or S
'SORT_FLAG_CASE' (use as last option with SORT_STRING, SORT_LOCALE_STRING or SOR ORT_NATURAL)
T_NATURAL)
```
A single sort option can be supplied as string. Multiple sort options are suppli ed as array. A single sort option can be supplied as string. Multiple sort options are suppli ed as array.
Other than the above listed sort options shall throw an error. Other than the above listed sort options shall throw an error.
Omitting the third parameter leaves FlowQuery `sort()` in `SORT_REGULAR` sort mo de. Omitting the third parameter leaves FlowQuery `sort()` in `SORT_REGULAR` sort mo de.
How to use (example for Psmb/FlatNav) in `Settings.yaml`: How to use (example for Psmb/FlatNav) in `Settings.yaml`:
```
.. code-block:: yaml
frontendConfiguration: frontendConfiguration:
Psmb_FlatNav: Psmb_FlatNav:
presets: presets:
tree: tree:
type: tree type: tree
label: tree label: tree
icon: tree icon: tree
pressTags: pressTags:
label: 'Press Tags' label: 'Press Tags'
icon: icon-hashtag icon: icon-hashtag
type: flat type: flat
query: 'q(node).find("[instanceof My.Site:Document.PressTag]").sor t("title", "ASC", ["SORT_NATURAL", "SORT_FLAG_CASE"]).get()' query: 'q(node).find("[instanceof My.Site:Document.PressTag]").sor t("title", "ASC", ["SORT_NATURAL", "SORT_FLAG_CASE"]).get()'
... ...
numberTags: numberTags:
label: 'Number Tags' label: 'Number Tags'
icon: arrow-circle-up icon: arrow-circle-up
type: flat type: flat
query: 'q(node).find("[instanceof My.Site:Document.NumberTag]").so rt("title", "ASC", "SORT_NUMERIC").get()' query: 'q(node).find("[instanceof My.Site:Document.NumberTag]").so rt("title", "ASC", "SORT_NUMERIC").get()'
... ...
```
In the line `query:` of `pressTags:` you can see FlowQuery `sort()`in action: In the line `query:` of `pressTags:` you can see FlowQuery `sort()`in action::
```
sort("title", "ASC", ["SORT_NATURAL", "SORT_FLAG_CASE"]) sort("title", "ASC", ["SORT_NATURAL", "SORT_FLAG_CASE"])
```
with sort flags `["SORT_NATURAL", "SORT_FLAG_CASE"]` passed as array for natural , case insensitive sort. with sort flags `["SORT_NATURAL", "SORT_FLAG_CASE"]` passed as array for natural , case insensitive sort.
The line `query:`of `numberTags:` has a single sort option `"SORT_NUMERIC"` pass The line `query:`of `numberTags:` has a single sort option `"SORT_NUMERIC"` pass
ed as string: ed as string::
```
sort("title", "ASC", "SORT_NUMERIC") sort("title", "ASC", "SORT_NUMERIC")
```
* Packages: ``Neos`` * Packages: ``Neos``
`BUGFIX: TransientNodeCache must be able to return null <https://github.com/neos /neos-development-collection/pull/3097>`_ `BUGFIX: TransientNodeCache must be able to return null <https://github.com/neos /neos-development-collection/pull/3097>`_
-------------------------------------------------------------------------------- ----------------------------------------- -------------------------------------------------------------------------------- -----------------------------------------
This is an important bugfix because right now non existing nodes will result in a fatal error This is an important bugfix because right now non existing nodes will result in a fatal error
due to the type hint, when the $getter() actually doesn't resolve a node but nul l, which can happen. due to the type hint, when the $getter() actually doesn't resolve a node but nul l, which can happen.
The current behavior is therefore broken for many installations. The current behavior is therefore broken for many installations.
skipping to change at line 1059 skipping to change at line 924
This adds Doctrine migrations to replace the old with the new icons in the data base. This adds Doctrine migrations to replace the old with the new icons in the data base.
* Fixes: `#2341 <https://github.com/neos/neos-development-collection/issues/2341 >`_ * Fixes: `#2341 <https://github.com/neos/neos-development-collection/issues/2341 >`_
* Packages: ``Media`` * Packages: ``Media``
`TASK: Bump elliptic from 6.5.0 to 6.5.3 in /Neos.Neos <https://github.com/neos/ neos-development-collection/pull/3024>`_ `TASK: Bump elliptic from 6.5.0 to 6.5.3 in /Neos.Neos <https://github.com/neos/ neos-development-collection/pull/3024>`_
-------------------------------------------------------------------------------- ---------------------------------------- -------------------------------------------------------------------------------- ----------------------------------------
Bumps `elliptic <https://github.com/indutny/elliptic>`_ from 6.5.0 to 6.5.3. Bumps `elliptic <https://github.com/indutny/elliptic>`_ from 6.5.0 to 6.5.3.
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/indutny/elliptic/commit/`8647803dc3d90506aa03021
737f7b061ba959ae1 <https://github.com/neos/neos-development-collection/commit/86
47803dc3d90506aa03021737f7b061ba959ae1>`_"><code>8647803</code></a> 6.5.3</li>
<li><a href="https://github.com/indutny/elliptic/commit/`856fe4d99fe7b6200556e64
00b3bf585b1721bec <https://github.com/neos/neos-development-collection/commit/85
6fe4d99fe7b6200556e6400b3bf585b1721bec>`_"><code>856fe4d</code></a> signature: p
revent malleability and overflows</li>
<li><a href="https://github.com/indutny/elliptic/commit/`60489415e545efdfd3010ae
74b9726facbf08ca8 <https://github.com/neos/neos-development-collection/commit/60
489415e545efdfd3010ae74b9726facbf08ca8>`_"><code>6048941</code></a> 6.5.2</li>
<li><a href="https://github.com/indutny/elliptic/commit/`9984964457c9f8a63b91b01
ea103260417eca237 <https://github.com/neos/neos-development-collection/commit/99
84964457c9f8a63b91b01ea103260417eca237>`_"><code>9984964</code></a> package: bum
p dependencies</li>
<li><a href="https://github.com/indutny/elliptic/commit/`ec735edde187a43693197f6
fa3667ceade751a3a <https://github.com/neos/neos-development-collection/commit/ec
735edde187a43693197f6fa3667ceade751a3a>`_"><code>ec735ed</code></a> utils: leak
less information in <code>getNAF()</code></li>
<li><a href="https://github.com/indutny/elliptic/commit/`71e4e8e2f5b8f0bdbfbe106
c72cc9fbc746d3d60 <https://github.com/neos/neos-development-collection/commit/71
e4e8e2f5b8f0bdbfbe106c72cc9fbc746d3d60>`_"><code>71e4e8e</code></a> 6.5.1</li>
<li><a href="https://github.com/indutny/elliptic/commit/`7ec66ffa255079260126d87
b1762a59ea10de5ea <https://github.com/neos/neos-development-collection/commit/7e
c66ffa255079260126d87b1762a59ea10de5ea>`_"><code>7ec66ff</code></a> short: add i
nfinity check before multiplying</li>
<li><a href="https://github.com/indutny/elliptic/commit/`ee7970b92f388e981d694be
0436c4c8036b5d36c <https://github.com/neos/neos-development-collection/commit/ee
7970b92f388e981d694be0436c4c8036b5d36c>`_"><code>ee7970b</code></a> travis: real
ly move on</li>
<li><a href="https://github.com/indutny/elliptic/commit/`637d0216b58de7edee4f3eb
5641295ac323acadb <https://github.com/neos/neos-development-collection/commit/63
7d0216b58de7edee4f3eb5641295ac323acadb>`_"><code>637d021</code></a> travis: move
on</li>
<li><a href="https://github.com/indutny/elliptic/commit/`5ed0babb6467cd8575a9218
265473fda926d9d42 <https://github.com/neos/neos-development-collection/commit/5e
d0babb6467cd8575a9218265473fda926d9d42>`_"><code>5ed0bab</code></a> package: upd
ate deps</li>
<li>See full diff in <a href="https://github.com/indutny/elliptic/compare/v6.5.0
...v6.5.3">compare view</a></li>
</ul>
</details>
<br />
`![Dependabot compatibility score <https://dependabot-badges.githubapp.com/badge
s/compatibility_score?dependency-name=elliptic&package-manager=npm_and_yarn&prev
ious-version=6.5.0&new-version=6.5.3>`_](https://help.github.com/articles/config
uring-automated-security-fixes)
Dependabot will resolve any conflicts with this PR as long as you don't alter it
yourself. You can also trigger a rebase manually by commenting `@dependabot reb
ase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have
been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI pas
ses on it
- `@dependabot cancel merge` will cancel a previously requested merge and block
automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You
can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot
creating any more for this major version (unless you reopen the PR or upgrade t
o it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot
creating any more for this minor version (unless you reopen the PR or upgrade t
o it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot cr
eating any more for this dependency (unless you reopen the PR or upgrade to it y
ourself)
- `@dependabot use these labels` will set the current labels as the default for
future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the defaul
t for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the defaul
t for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default
for future PRs for this repo and language
You can disable automated security fix PRs for this repo from the `Security Aler
ts page <https://github.com/neos/neos-development-collection/network/alerts>`_.
</details>
* Packages: ``Neos`` * Packages: ``Neos``
`TASK: Bump jquery from 3.4.1 to 3.5.0 in /Neos.Neos <https://github.com/neos/ne os-development-collection/pull/3023>`_ `TASK: Bump jquery from 3.4.1 to 3.5.0 in /Neos.Neos <https://github.com/neos/ne os-development-collection/pull/3023>`_
-------------------------------------------------------------------------------- -------------------------------------- -------------------------------------------------------------------------------- --------------------------------------
Bumps `jquery <https://github.com/jquery/jquery>`_ from 3.4.1 to 3.5.0. Bumps `jquery <https://github.com/jquery/jquery>`_ from 3.4.1 to 3.5.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/jquery/jquery/releases">jquery's
releases</a>.</em></p>
<blockquote>
<h2>jQuery 3.5.0 Released!</h2>
<p>See the blog post:
<a href="https://blog.jquery.com/2020/04/10/jquery-3-5-0-released/">https://blog
.jquery.com/2020/04/10/jquery-3-5-0-released/</a>
and the upgrade guide:
<a href="https://jquery.com/upgrade-guide/3.5/">https://jquery.com/upgrade-guide
/3.5/</a></p>
<p><strong>NOTE:</strong> Despite being a minor release, this update includes a
breaking change that we had to make to fix <a href="https://github.com/advisorie
s/GHSA-gxr4-xjj5-5px2">a security issue</a> ( <a href="https://nvd.nist.gov/vuln
/detail/CVE-2020-11022"><code>CVE-2020-11022</code></a>). Please follow the blog
post &amp; the upgrade guide for more details.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/jquery/jquery/commit/`7a0a850f3d41c0412609c1d32b
1e602d4afe2f4e <https://github.com/neos/neos-development-collection/commit/7a0a8
50f3d41c0412609c1d32b1e602d4afe2f4e>`_"><code>7a0a850</code></a> 3.5.0</li>
<li><a href="https://github.com/jquery/jquery/commit/`8570a08f6689223aa06ca8cc51
d488c6d81d44f9 <https://github.com/neos/neos-development-collection/commit/8570a
08f6689223aa06ca8cc51d488c6d81d44f9>`_"><code>8570a08</code></a> Release: Update
AUTHORS.txt</li>
<li><a href="https://github.com/jquery/jquery/commit/`da3dd85b63c4e3a6a768132c2a
83a1a6eec24840 <https://github.com/neos/neos-development-collection/commit/da3dd
85b63c4e3a6a768132c2a83a1a6eec24840>`_"><code>da3dd85</code></a> Ajax: Do not ex
ecute scripts for unsuccessful HTTP responses</li>
<li><a href="https://github.com/jquery/jquery/commit/`065143c2e93512eb0c82d1b344
b71d06eb7cf01c <https://github.com/neos/neos-development-collection/commit/06514
3c2e93512eb0c82d1b344b71d06eb7cf01c>`_"><code>065143c</code></a> Ajax: Overwrite
s.contentType with content-type header value, if any</li>
<li><a href="https://github.com/jquery/jquery/commit/`1a4f10ddc37c34c6dc3a451ee4
51b5c6cf367399 <https://github.com/neos/neos-development-collection/commit/1a4f1
0ddc37c34c6dc3a451ee451b5c6cf367399>`_"><code>1a4f10d</code></a> Tests: Blacklis
t one focusin test in IE</li>
<li><a href="https://github.com/jquery/jquery/commit/`9e15d6b469556eccfa607c5ecf
53b20c84529125 <https://github.com/neos/neos-development-collection/commit/9e15d
6b469556eccfa607c5ecf53b20c84529125>`_"><code>9e15d6b</code></a> Event: Use only
one focusin/out handler per matching window &amp; document</li>
<li><a href="https://github.com/jquery/jquery/commit/`966a70909019aa09632c87c000
2c522fa4a1e30e <https://github.com/neos/neos-development-collection/commit/966a7
0909019aa09632c87c0002c522fa4a1e30e>`_"><code>966a709</code></a> Manipulation: S
kip the select wrapper for &lt;option&gt; outside of IE 9</li>
<li><a href="https://github.com/jquery/jquery/commit/`1d61fd9407e6fbe82fe55cb0b9
38307aa0791f77 <https://github.com/neos/neos-development-collection/commit/1d61f
d9407e6fbe82fe55cb0b938307aa0791f77>`_"><code>1d61fd9</code></a> Manipulation: M
ake jQuery.htmlPrefilter an identity function</li>
<li><a href="https://github.com/jquery/jquery/commit/`04bf577e2f961c9dde85ddadc7
7f71bc7bc671cc <https://github.com/neos/neos-development-collection/commit/04bf5
77e2f961c9dde85ddadc77f71bc7bc671cc>`_"><code>04bf577</code></a> Selector: Updat
e Sizzle from 2.3.4 to 2.3.5</li>
<li><a href="https://github.com/jquery/jquery/commit/`7506c9ca62a2f3ef773e193859
18c31e9d62d412 <https://github.com/neos/neos-development-collection/commit/7506c
9ca62a2f3ef773e19385918c31e9d62d412>`_"><code>7506c9c</code></a> Build: Resolve
Travis config warnings</li>
<li>Additional commits viewable in <a href="https://github.com/jquery/jquery/com
pare/3.4.1...3.5.0">compare view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a href="https://www.npmjs.com/~mgol">mgol<
/a>, a new releaser for jquery since your current version.</p>
</details>
<br />
`![Dependabot compatibility score <https://dependabot-badges.githubapp.com/badge
s/compatibility_score?dependency-name=jquery&package-manager=npm_and_yarn&previo
us-version=3.4.1&new-version=3.5.0>`_](https://help.github.com/articles/configur
ing-automated-security-fixes)
Dependabot will resolve any conflicts with this PR as long as you don't alter it
yourself. You can also trigger a rebase manually by commenting `@dependabot reb
ase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have
been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI pas
ses on it
- `@dependabot cancel merge` will cancel a previously requested merge and block
automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You
can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot
creating any more for this major version (unless you reopen the PR or upgrade t
o it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot
creating any more for this minor version (unless you reopen the PR or upgrade t
o it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot cr
eating any more for this dependency (unless you reopen the PR or upgrade to it y
ourself)
- `@dependabot use these labels` will set the current labels as the default for
future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the defaul
t for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the defaul
t for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default
for future PRs for this repo and language
You can disable automated security fix PRs for this repo from the `Security Aler
ts page <https://github.com/neos/neos-development-collection/network/alerts>`_.
</details>
* Packages: ``Neos`` * Packages: ``Neos``
`TASK: Bump acorn from 6.2.1 to 6.4.1 in /Neos.Neos <https://github.com/neos/neo s-development-collection/pull/3022>`_ `TASK: Bump acorn from 6.2.1 to 6.4.1 in /Neos.Neos <https://github.com/neos/neo s-development-collection/pull/3022>`_
-------------------------------------------------------------------------------- ------------------------------------- -------------------------------------------------------------------------------- -------------------------------------
Bumps `acorn <https://github.com/acornjs/acorn>`_ from 6.2.1 to 6.4.1. Bumps `acorn <https://github.com/acornjs/acorn>`_ from 6.2.1 to 6.4.1.
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/acornjs/acorn/commit/`9a2e9b6678e243d66846b91179
d650d28453e70c <https://github.com/neos/neos-development-collection/commit/9a2e9
b6678e243d66846b91179d650d28453e70c>`_"><code>9a2e9b6</code></a> Mark version 6.
4.1</li>
<li><a href="https://github.com/acornjs/acorn/commit/`90a9548ea0ce351b54f956e2c4
ed27cca9631284 <https://github.com/neos/neos-development-collection/commit/90a95
48ea0ce351b54f956e2c4ed27cca9631284>`_"><code>90a9548</code></a> More rigorously
check surrogate pairs in regexp validator</li>
<li><a href="https://github.com/acornjs/acorn/commit/`df0cf1a3e2b1a51a26c14984dc
0f5412b7151b10 <https://github.com/neos/neos-development-collection/commit/df0cf
1a3e2b1a51a26c14984dc0f5412b7151b10>`_"><code>df0cf1a</code></a> Mark version 6.
4.0</li>
<li><a href="https://github.com/acornjs/acorn/commit/`53034126864b492da4e278628b
b972cb2a9313d4 <https://github.com/neos/neos-development-collection/commit/53034
126864b492da4e278628bb972cb2a9313d4>`_"><code>5303412</code></a> Also export Par
ser via Parser.acorn</li>
<li><a href="https://github.com/acornjs/acorn/commit/`efe273e70123449a458157dbf5
78afaf109a49ab <https://github.com/neos/neos-development-collection/commit/efe27
3e70123449a458157dbf578afaf109a49ab>`_"><code>efe273e</code></a> give token type
s and etc to plugins</li>
<li><a href="https://github.com/acornjs/acorn/commit/`ac6decb94a3aa4eee99230fdaf
5883dfaafe8479 <https://github.com/neos/neos-development-collection/commit/ac6de
cb94a3aa4eee99230fdaf5883dfaafe8479>`_"><code>ac6decb</code></a> Mark version 6.
3.0</li>
<li><a href="https://github.com/acornjs/acorn/commit/`7e9817d17639d95cc6dbacfde7
34a0626b2a7dea <https://github.com/neos/neos-development-collection/commit/7e981
7d17639d95cc6dbacfde734a0626b2a7dea>`_"><code>7e9817d</code></a> Allow sourceTyp
e: module even with ecmaVersion &lt; 6</li>
<li><a href="https://github.com/acornjs/acorn/commit/`e2b8cc087386eccc2ad6fd4a02
b4257833557cb3 <https://github.com/neos/neos-development-collection/commit/e2b8c
c087386eccc2ad6fd4a02b4257833557cb3>`_"><code>e2b8cc0</code></a> Fix broken pars
ing of new expressions when allowReserved==&quot;never&quot;</li>
<li><a href="https://github.com/acornjs/acorn/commit/`1555c528855b10320ce98b4154
906d7898c92990 <https://github.com/neos/neos-development-collection/commit/1555c
528855b10320ce98b4154906d7898c92990>`_"><code>1555c52</code></a> Update acorn.d.
ts</li>
<li>See full diff in <a href="https://github.com/acornjs/acorn/compare/6.2.1...6
.4.1">compare view</a></li>
</ul>
</details>
<br />
`![Dependabot compatibility score <https://dependabot-badges.githubapp.com/badge
s/compatibility_score?dependency-name=acorn&package-manager=npm_and_yarn&previou
s-version=6.2.1&new-version=6.4.1>`_](https://help.github.com/articles/configuri
ng-automated-security-fixes)
Dependabot will resolve any conflicts with this PR as long as you don't alter it
yourself. You can also trigger a rebase manually by commenting `@dependabot reb
ase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have
been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI pas
ses on it
- `@dependabot cancel merge` will cancel a previously requested merge and block
automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You
can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot
creating any more for this major version (unless you reopen the PR or upgrade t
o it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot
creating any more for this minor version (unless you reopen the PR or upgrade t
o it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot cr
eating any more for this dependency (unless you reopen the PR or upgrade to it y
ourself)
- `@dependabot use these labels` will set the current labels as the default for
future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the defaul
t for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the defaul
t for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default
for future PRs for this repo and language
You can disable automated security fix PRs for this repo from the `Security Aler
ts page <https://github.com/neos/neos-development-collection/network/alerts>`_.
</details>
* Packages: ``Neos`` * Packages: ``Neos``
`TASK: Remove deprecated code use from ContentCollectionRenderer <https://github .com/neos/neos-development-collection/pull/2772>`_ `TASK: Remove deprecated code use from ContentCollectionRenderer <https://github .com/neos/neos-development-collection/pull/2772>`_
-------------------------------------------------------------------------------- -------------------------------------------------- -------------------------------------------------------------------------------- --------------------------------------------------
This replaces the use of `Neos.Fusion:Collection` with `Neos.Fusion:Loop` This replaces the use of `Neos.Fusion:Collection` with `Neos.Fusion:Loop`
and `Neos.Fusion:Array` with `Neos.Fusion:Join`. and `Neos.Fusion:Array` with `Neos.Fusion:Join`.
To ensure backwards compatibility there is a processor which overrides To ensure backwards compatibility there is a processor which overrides
`items` if the property `collection` is set. `items` if the property `collection` is set.
* Packages: ``Neos`` * Packages: ``Neos``
`Bump lodash from 4.17.15 to 4.17.19 in /Neos.Neos <https://github.com/neos/neos -development-collection/pull/3016>`_ `Bump lodash from 4.17.15 to 4.17.19 in /Neos.Neos <https://github.com/neos/neos -development-collection/pull/3016>`_
-------------------------------------------------------------------------------- ------------------------------------ -------------------------------------------------------------------------------- ------------------------------------
Bumps `lodash <https://github.com/lodash/lodash>`_ from 4.17.15 to 4.17.19. Bumps `lodash <https://github.com/lodash/lodash>`_ from 4.17.15 to 4.17.19.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/lodash/lodash/releases">lodash's
releases</a>.</em></p>
<blockquote>
<h2>4.17.16</h2>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/lodash/lodash/commit/`d7fbc52ee0466a6d248f047b5d
5c3e6d1e099056 <https://github.com/neos/neos-development-collection/commit/d7fbc
52ee0466a6d248f047b5d5c3e6d1e099056>`_"><code>d7fbc52</code></a> Bump to v4.17.1
9</li>
<li><a href="https://github.com/lodash/lodash/commit/`2e1c0f22f425e9c013815b2cd7
c2ebd51f49a8d6 <https://github.com/neos/neos-development-collection/commit/2e1c0
f22f425e9c013815b2cd7c2ebd51f49a8d6>`_"><code>2e1c0f2</code></a> Add npm-package
</li>
<li><a href="https://github.com/lodash/lodash/commit/`1b6c282299f4e0271f932b466c
67f0f822aa308e <https://github.com/neos/neos-development-collection/commit/1b6c2
82299f4e0271f932b466c67f0f822aa308e>`_"><code>1b6c282</code></a> Bump to v4.17.1
8</li>
<li><a href="https://github.com/lodash/lodash/commit/`a370ac81408de2da77a82b3c4b
61a01a3b9c2fac <https://github.com/neos/neos-development-collection/commit/a370a
c81408de2da77a82b3c4b61a01a3b9c2fac>`_"><code>a370ac8</code></a> Bump to v4.17.1
7</li>
<li><a href="https://github.com/lodash/lodash/commit/`1144918f3578a84fcc4986da9b
806e63a6175cbb <https://github.com/neos/neos-development-collection/commit/11449
18f3578a84fcc4986da9b806e63a6175cbb>`_"><code>1144918</code></a> Rebuild lodash
and docs</li>
<li><a href="https://github.com/lodash/lodash/commit/`3a3b0fd339c2109563f7e8167d
c95265ed82ef3e <https://github.com/neos/neos-development-collection/commit/3a3b0
fd339c2109563f7e8167dc95265ed82ef3e>`_"><code>3a3b0fd</code></a> Bump to v4.17.1
6</li>
<li><a href="https://github.com/lodash/lodash/commit/`c84fe82760fb2d3e03a63379b2
97a1cc1a2fce12 <https://github.com/neos/neos-development-collection/commit/c84fe
82760fb2d3e03a63379b297a1cc1a2fce12>`_"><code>c84fe82</code></a> fix(zipObjectDe
ep): prototype pollution (<a href="https://github-redirect.dependabot.com/lodash
/lodash/issues/4759">#4759</a>)</li>
<li><a href="https://github.com/lodash/lodash/commit/`e7b28ea6cb17b4ca021e7c9d66
218c8c89782f32 <https://github.com/neos/neos-development-collection/commit/e7b28
ea6cb17b4ca021e7c9d66218c8c89782f32>`_"><code>e7b28ea</code></a> Sanitize source
URL so it cannot affect evaled code (<a href="https://github-redirect.dependabot
.com/lodash/lodash/issues/4518">#4518</a>)</li>
<li><a href="https://github.com/lodash/lodash/commit/`0cec225778d4ac26c2bac95031
ecc92a94f08bbb <https://github.com/neos/neos-development-collection/commit/0cec2
25778d4ac26c2bac95031ecc92a94f08bbb>`_"><code>0cec225</code></a> Fix lodash.isEq
ual for circular references (<a href="https://github-redirect.dependabot.com/lod
ash/lodash/issues/4320">#4320</a>) (<a href="https://github-redirect.dependabot.
com/lodash/lodash/issues/4515">#4515</a>)</li>
<li><a href="https://github.com/lodash/lodash/commit/`94c3a8133cb4fcdb50db72b4fd
14dd884b195cd5 <https://github.com/neos/neos-development-collection/commit/94c3a
8133cb4fcdb50db72b4fd14dd884b195cd5>`_"><code>94c3a81</code></a> Document matche
s* shorthands for over* methods (<a href="https://github-redirect.dependabot.com
/lodash/lodash/issues/4510">#4510</a>) (<a href="https://github-redirect.dependa
bot.com/lodash/lodash/issues/4514">#4514</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/lodash/lodash/com
pare/4.17.15...4.17.19">compare view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a href="https://www.npmjs.com/~mathias">ma
thias</a>, a new releaser for lodash since your current version.</p>
</details>
<br />
`![Dependabot compatibility score <https://dependabot-badges.githubapp.com/badge
s/compatibility_score?dependency-name=lodash&package-manager=npm_and_yarn&previo
us-version=4.17.15&new-version=4.17.19>`_](https://help.github.com/articles/conf
iguring-automated-security-fixes)
Dependabot will resolve any conflicts with this PR as long as you don't alter it
yourself. You can also trigger a rebase manually by commenting `@dependabot reb
ase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have
been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI pas
ses on it
- `@dependabot cancel merge` will cancel a previously requested merge and block
automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You
can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot
creating any more for this major version (unless you reopen the PR or upgrade t
o it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot
creating any more for this minor version (unless you reopen the PR or upgrade t
o it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot cr
eating any more for this dependency (unless you reopen the PR or upgrade to it y
ourself)
- `@dependabot use these labels` will set the current labels as the default for
future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the defaul
t for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the defaul
t for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default
for future PRs for this repo and language
You can disable automated security fix PRs for this repo from the `Security Aler
ts page <https://github.com/neos/neos-development-collection/network/alerts>`_.
</details>
* Packages: ``Neos`` * Packages: ``Neos``
`FEATURE: User management for non-admins <https://github.com/neos/neos-developme nt-collection/pull/2322>`_ `FEATURE: User management for non-admins <https://github.com/neos/neos-developme nt-collection/pull/2322>`_
-------------------------------------------------------------------------------- -------------------------- -------------------------------------------------------------------------------- --------------------------
This introduces a new role `Neos.Neos:UserManager`. When an editor has that role , he is able to manage users with roles not exceeding his own, without being an Administrator. This introduces a new role `Neos.Neos:UserManager`. When an editor has that role , he is able to manage users with roles not exceeding his own, without being an Administrator.
!`peek 2018-12-15 23-40 <https://user-images.githubusercontent.com/837032/500472 49-cf1dc180-00c2-11e9-85d0-2fe681f70e26.gif>`_ !`peek 2018-12-15 23-40 <https://user-images.githubusercontent.com/837032/500472 49-cf1dc180-00c2-11e9-85d0-2fe681f70e26.gif>`_
* Packages: ``Neos`` * Packages: ``Neos``
`BUGFIX: Repair icon rendering for flash messages <https://github.com/neos/neos- Detailed log
development-collection/pull/3083>`_ ~~~~~~~~~~~~
**What I did**
Changed the font-family to the correct value `Font Awesome 5 Free`
**How to verify it**
Change a user in the backend for instance and check the flashmessage.
* Fixes: `#3069 <https://github.com/neos/neos-development-collection/issues/3069
>`_
* Packages: ``Neos``
`TASK: Bump websocket-extensions from 0.1.3 to 0.1.4 in /Neos.Media.Browser <htt
ps://github.com/neos/neos-development-collection/pull/3032>`_
Bumps `websocket-extensions <https://github.com/faye/websocket-extensions-node>`
_ from 0.1.3 to 0.1.4.
* Packages: ``Browser``
`TASK: Apply fixes from StyleCI <https://github.com/neos/neos-development-collec
tion/pull/3076>`_
This pull request applies code style fixes from an analysis carried out by `Styl
eCI <https://github.styleci.io>`_.
For more information, click `here <https://github.styleci.io/analyses/e74pRP>`_.
* Packages: ``Fusion``
`TASK: Apply fixes from StyleCI <https://github.com/neos/neos-development-collec
tion/pull/3075>`_
This pull request applies code style fixes from an analysis carried out by `Styl
eCI <https://github.styleci.io>`_.
For more information, click `here <https://github.styleci.io/analyses/4xRDKe>`_.
* Packages: ``Browser`` ``ContentRepository`` ``Fusion`` ``Media`` ``Neos``
`TASK: Apply fixes from StyleCI <https://github.com/neos/neos-development-collec
tion/pull/3072>`_
This pull request applies code style fixes from an analysis carried out by `Styl
eCI <https://github.styleci.io>`_.
For more information, click `here <https://github.styleci.io/analyses/aj4pmk>`_.
`Apply fixes from StyleCI <https://github.com/neos/neos-development-collection/p
ull/3073>`_
This pull request applies code style fixes from an analysis carried out by `Styl
eCI <https://github.styleci.io>`_.
For more information, click `here <https://github.styleci.io/analyses/KZx4WV>`_.
* Packages: ``Browser`` ``ContentRepository`` ``Diff`` ``Fusion`` ``Media`` ``Ne
os``
`FEATURE: Make login controller view configurable using Views.yaml <https://gith
ub.com/neos/neos-development-collection/pull/3009>`_
The login controller view was not configurable using a `Views.yaml` (as was the
case for Neos 3 & 4.)
This is fixed by adding a `Views.yaml` and removing `initializeView()` from `Log
inController`.
Now the Login screen can be customized again by creating custom Fusion for rende
ring it (see
`Neos.Neos/Resources/Private/Fusion/Backend` for inspiration) and adjusting the
path used
through `Views.yaml`, e.g.
-
requestFilter: 'isPackage("Neos.Neos") && isController("Login") && isActio
n("index") && isFormat("html")'
options:
fusionPathPatterns:
- 'resource://Acme.Com/Private/Fusion/NeosLogin'
* Resolves: `#3041 <https://github.com/neos/neos-development-collection/issues/3
041>`_
* Packages: ``Browser``
`TASK: Improve wording of include/exclude concepts where possible <https://githu
b.com/neos/neos-development-collection/pull/2992>`_
Matching change with https://github.com/neos/flow-development-collection/pull/20
24
* Packages: ``ContentRepository``
`BUGFIX: Prevent refetching nodes for policy checks <https://github.com/neos/neo
s-development-collection/pull/2302>`_
When defining a policy targeting a static node the static node was
refetched for every subject, slowing down policy information retrieval.
This adds a simple caching mechanism to `NodePrivilegeContext::getNodeByIdentifi
er`
that prevents nodes from being refetched for static policy comparisons.
* Resolves: `#2301 <https://github.com/neos/neos-development-collection/issues/2
301>`_
* Packages: ``Browser`` ``ContentRepository``
`TASK: Apply fixes from StyleCI <https://github.com/neos/neos-development-collec
tion/pull/3059>`_
This pull request applies code style fixes from an analysis carried out by `Styl
eCI <https://github.styleci.io>`_.
For more information, click `here <https://github.styleci.io/analyses/OMdgkW>`_.
`Apply fixes from StyleCI <https://github.com/neos/neos-development-collection/p
ull/3060>`_
This pull request applies code style fixes from an analysis carried out by `Styl
eCI <https://github.styleci.io>`_.
For more information, click `here <https://github.styleci.io/analyses/lKyEJV>`_.
* Packages: ``Browser`` ``ContentRepository`` ``Diff`` ``Fusion`` ``Media`` ``Ne
os``
`BUGFIX: Variants tab does not use mainRequest in form when opened from inspecto
r <https://github.com/neos/neos-development-collection/pull/3008>`_
This adds a condition for using the parentRequest only if it is not the mainRequ
est already.
* Fixes: `#3005 <https://github.com/neos/neos-development-collection/issues/3005
>`_
* Packages: ``Browser``
`BUGFIX: Make child nodes of hidden parents inaccessible <https://github.com/neo
s/neos-development-collection/pull/2998>`_
Since a couple of months child nodes of hidden nodes are accessible (outside the
Neos backend). This change restores the initial behavior and makes sure that ac
cessing child nodes from hidden nodes will lead to a 404 response.
resolves: https://github.com/neos/neos-development-collection/issues/2983
* Packages: ``ContentRepository`` ``Neos``
`TASK: Add types to workspace model <https://github.com/neos/neos-development-co
llection/pull/2921>`_
* Packages: ``BaseMixins`` ``ContentRepository`` ``Neos``
`!!! BUGFIX: Speed up node move actions <https://github.com/neos/neos-developmen
t-collection/pull/3015>`_
Due to an issue in how Doctrine 2.x handles the computation of changesets when g
iven
entities to commit it recomputed the changesets for all entities for every entit
y.
Leading to n^2 change computations.
In a large project this improved the moving of ~750 nodes from 1.7m to 8.5s.
In the demo site moving the "features" page from 4s to 1.65s.
Publishing seems to be only slightly (~10%) faster to its different behaviour in
the CR.
**What I did**
Which this change this behaviour is circumvented by commiting all
entities at once. Including entities which might not have been included
with the previous code but would have been persisted at the end of the request
anyway.
**What is breaking**
This change leads to all entities scheduled for persistence to actually persist
when a node is changed, see following comparison timelines:
Old:
1. Create Entity, mark for insertion
2. change node
3. controller call is done / persistAll was called -> entity from step one is no
w persisted
New:
1. Create Entity, mark for insertion
2. change node (entity will be persisted at this point)
3. controller call is done / persistAll was called -> nothing happens anymore.
**How I did it**
Replace the repeated flush calls to the entity manager with a single one.
This should only lead to a behavioural change if custom code would modify a node
then move other nodes and expect the the first node was not persisted yet.
**How to verify it**
1. Move a large set of pages with subpages and nodes in the Neos backend.
2. Check the request time of the `change` xhr request.
3. Apply this patch
4. Repeat steps 1 + 2 and compare
Example screenshots:
Before:
<img width="600" alt="before-change" src="https://user-images.githubusercontent.
com/596967/87766599-b4b94600-c819-11ea-9777-0bbe11f84d3a.png">
After:
<img width="600" alt="after-change" src="https://user-images.githubusercontent.c
om/596967/87766608-b7b43680-c819-11ea-83f9-2fbf1993cda7.png">
* Packages: ``ContentRepository``
`FEATURE: Configurable Asset Constraints <https://github.com/neos/neos-developme
nt-collection/pull/3013>`_
Extends the Media Browser and Asset proxy search endpoint so
that it supports *constraints* that filter the asset lists
(on top of the user-specified filters).
This makes it possible to constraint asset source(s) and
media type(s) per node type property.
Example:
'Some.Node:Type':
properties:
'asset':
type: 'Neos\\Media\\Domain\\Model\\Asset'
ui:
inspector:
group: 'asset'
editorOptions:
constraints:
mediaTypes: ['audio/*']
assetSources: ['neos', 'wikipedia_de']
(restricts the asset editor to only allow audio files of the `neos` or `wikipedi
a_de`
asset source when using the media browser modal, searchbox or file upload).
* Resolves: `#2984 <https://github.com/neos/neos-development-collection/issues/2
984>`_
* Packages: ``BaseMixins`` ``Browser``
`TASK: Remove curly brace string offset access for PHP 7.4 compatibility <https:
//github.com/neos/neos-development-collection/pull/3011>`_
**What I did**
I changed string offset access from curly-braces to brackets
* Packages: ``Diff`` ``Neos``
`BUGFIX: Fix login screen if no background image is set <https://github.com/neos
/neos-development-collection/pull/3007>`_
This will fix issue #3004
* Packages: ``Neos``
`TASK: Update code documentation for TraversableNodeInterface <https://github.co
m/neos/neos-development-collection/pull/2999>`_
Also improves deprecation warning for NodeInterface#getParent
1. The NodeInterface#getParent method is not fully equivalent to its deprecation
replacement TraversableNodeInterface#findParentNode -> it should be at least me
ntioned on the deprecation waring, that those behaviors differ from each other
2. The comment on findParentNode was telling "two truths" about root node handli
ng
* Packages: ``BaseMixins`` ``ContentRepository``
`BUGFIX: pass copied node to emitAfterNodeCopy signal <https://github.com/neos/n
eos-development-collection/pull/2995>`_
Pass copied node instead of current node instance to `emitAfterNodeCopy` signal.
This fixes #2994
* Packages: ``Browser`` ``ContentRepository`` ``Neos``
`BUGFIX: Resolve error when backend session times out <https://github.com/neos/n
eos-development-collection/pull/3002>`_
**What I did**
Check view type before setting fusion paths
**How I did it**
See above
**How to verify it**
Close #2990
* Packages: ``Browser`` ``Neos``
`BUGFIX: Fix path to Styles/<Lite.css> <https://github.com/neos/neos-development
-collection/pull/2997>`_
**What I did**
Remove the `/` in front of the Path for the resource.
**How to verify it**
Open Neos backend, e.g. User Manager and inspect the path in the HTML head for L
ite.css
Closes #2996
* Packages: ``Browser`` ``Neos``
`BUGFIX: Add missing pagination styles for media browser <https://github.com/neo
s/neos-development-collection/pull/2993>`_
They got lost in the style split for 5.2 in #2874
* Packages: ``Browser`` ``Neos``
`FEATURE: Add option to disable the creation of redirects for assets <https://gi
thub.com/neos/neos-development-collection/pull/2964>`_
This feature adds a config parameter for the media browser to disable the option
to create redirects for replaced assets resources. Might be useful for some pro
jects, where these kind of redirects don't make any sense and therefore should b
e disabled by default.
<img width="987" alt="createAssetRedirectsOption" src="https://user-images.githu
busercontent.com/36864084/79948497-46602400-8474-11ea-8859-46ef0a391eb2.png">
* Packages: ``BaseMixins`` ``Browser``
`BUGFIX: Passing glue string after array is deprecated <https://github.com/neos/
neos-development-collection/pull/2982>`_
Wrong parameter order leads to deprecation warning and to an exception
in PHP 7.4
* Packages: ``ContentRepository`` ``Neos``
`BUGFIX: Respect fallback rule "strictness" in FusionView <https://github.com/ne
os/neos-development-collection/pull/2976>`_
When Neos finds a content dimension named "language" it uses that
dimension to set the locale fallback order for rendering in the
`FusionView`.
In Neos 5.0 that rule was switched to "strict" mode, meaning the order
was used without falling back to implicit parents in locales. This
broke translations in case the "language" dimension was configured with
e.g. `de_DE` or `en_US` - for those cases translations were never used if
the respective XLIFF files were in `de` (or `en`) folders.
This change makes the `FusionView` use the strict flag from the settings,
giving back control to the user (in case non-strict is really needed).
At the same time it makes translations work as would be expected in
most cases, by using e.g. `de_DE` first, but falling back to `de` later.
* Fixes: `#2963 <https://github.com/neos/neos-development-collection/issues/2963
>`_
* Packages: ``Neos``
`BUGFIX: Revert ContentCollection constraint change <https://github.com/neos/neo
s-development-collection/pull/2978>`_
This reverts commit `b48660b28c1de596e74d4a95b8547d743b5199f1 <https://github.co
m/neos/neos-development-collection/commit/b48660b28c1de596e74d4a95b8547d743b5199
f1>`_ as it’s breaking the „constraint“ best practices for node types and allows
to many NodeTypes in existing projects suddenly.
As the previous fix is still necessary I will create a new PR for a next Neos ve
rsion 5.3 or 6.0 depending on the final solution.
Without the fix the actual constraint to only allow Content NodeTypes is done by
the Neos.Ui and NOT by our NodeType definition which causes an inconsistency wh
en working with the CR via its API or when analysing the NodeType definitions.
* Packages: ``BaseMixins`` ``Neos``
`FEATURE: Add keyRenderer to render the key in the result map <https://github.co
m/neos/neos-development-collection/pull/2977>`_
This adds a new fusionPath `keyRenderer` to render
the key of the resulting collection of `Neos.Fusion:Map`
Example:
```
keyRenderer = Neos.Fusion:Map {
items = ${items}
itemName = 'element'
itemRenderer = ${'value-' + element}
keyRenderer = ${'key-' + element}
}
```
will render:
```
['key-element1' => 'value-element1', 'key-element2' => 'value-element2']
```
* Packages: ``Fusion`` ``Neos``
`TASK: Fix failing evaluateReplaceResourceLinkTargetsInsideTag test <https://git
hub.com/neos/neos-development-collection/pull/2972>`_
Fixes the test that is failing since merging https://github.com/neos/neos-develo
pment-collection/pull/2409
* Packages: ``Neos``
`TASK: Add release notes for Neos 5.2.0 <https://github.com/neos/neos-developmen
t-collection/pull/2970>`_
* Packages: ``Neos``
`TASK: Throw exception when lazy props are attempted to be changed <https://gith
ub.com/neos/neos-development-collection/pull/2971>`_
As per discussion in https://github.com/neos/neos-development-collection/pull/27
38#discussion_r403867758
/cc @bwaidelich
* Packages: ``Fusion``
`BUGFIX: Don’t override default button style in modules <https://github.com/neos
/neos-development-collection/pull/2967>`_
The standard module stylesheet applied a lot of
styles to `<button>`. With this change this only
happens when using the backwards compatible
„Full“ stylesheet as the Lite and Minimal (introduced with 5.2)
shouldn’t interfere with the modules styles.
* Packages: ``Neos``
`BUGFIX: Prevent exception in asset usage view via editor <https://github.com/ne
os/neos-development-collection/pull/2957>`_
* Resolves: `#2956 <https://github.com/neos/neos-development-collection/issues/2
956>`_
* Packages: ``Browser``
`BUGFIX: Respect super types in CreateNodePrivilege <https://github.com/neos/neo
s-development-collection/pull/2961>`_
Fixes the `createdNodeIsOfType()` matcher so that it works respects
the inheritance chain:
privilegeTargets:
'Neos\\ContentRepository\\Security\\Authorization\\Privilege\\Node\\CreateNo
dePrivilege':
'Cornelsen.Webkatalog:Nodes.DisableCreation':
matcher: 'createdNodeIsOfType("Some.Package:Some.Mixin")'
* Fixes: `#2960 <https://github.com/neos/neos-development-collection/issues/2960
>`_
* Packages: ``ContentRepository``
`TASK: Replace login wallpaper <https://github.com/neos/neos-development-collect
ion/pull/2969>`_
Picture contributed by Matthias Widmer.
See: https://discuss.neos.io/t/neos-5-2-login-wallpaper/4912/8
* Packages: ``Neos``
`BUGFIX: Fix rendering of URLs in link- and reference editors <https://github.co
m/neos/neos-development-collection/pull/2966>`_
This replaces the preview URL by a "breadcrumb" to the homepage
node.
Note: Due to a separate bug in `neos/neos-ui` the breadcrumb is
currently rendered twice, neos/neos-ui#2711 will fix that.
* Fixes: `#2965 <https://github.com/neos/neos-development-collection/issues/2965
>`_
* Packages: ``AssetList`` ``BaseMixins`` ``Browser`` ``ColumnLayouts`` ``Content
References`` ``ContentRepository`` ``Form`` ``Html`` ``Navigation`` ``Neos`` ``N
odeTypes``
`BUGFIX: NodeType inheritance is not working correct <https://github.com/neos/ne
os-development-collection/pull/2740>`_
FIXES: #2663
* Packages: ``ContentRepository`` ``Neos``
`BUGFIX: Prevent black shapes in document thumbnails <https://github.com/neos/ne
os-development-collection/pull/2879>`_
**What I did**
Tested with the following imagick versions:
- V. 6.7.8
- V. 6.9
- V. 7.0
**How I did it**
See below
**How to verify it**
You can verifiy it by running this small code local:
```php
<?php
$filePath = 'pdf.pdf[0]';
$width = 500;
$height = 500;
$im = new \\Imagick();
$im->setResolution(120, 120);
$im->readImage($filePath);
$im->setImageFormat('png');
$im->setImageBackgroundColor('white');
$im->setImageCompose(\\Imagick::COMPOSITE_OVER);
if (method_exists($im, 'mergeImageLayers')) {
// Replace flattenImages in imagick 3.3.0
// @see https://pecl.php.net/package/imagick/3.3.0RC2
$im = $im->mergeImageLayers(\\Imagick::LAYERMETHOD_MERGE);
} else {
$im->flattenImages();
}
if (defined('\\Imagick::ALPHACHANNEL_OFF')) {
// ImageMagick >= 7.0, Imagick >= 3.4.3RC1
// @see https://pecl.php.net/package/imagick/3.4.3RC1
$im->setImageAlphaChannel(\\Imagick::ALPHACHANNEL_OFF);
} else {
$im->setImageAlphaChannel(\\Imagick::ALPHACHANNEL_RESET);
}
$im->thumbnailImage($width, $height, true);
$im->writeImage('thumb.png');
$im->destroy();
```
* Packages: ``Media``
`BUGFIX: Neos.NodeTypes:Menu has no default class attribute <https://github.com/
neos/neos-development-collection/pull/2518>`_
This fixes a previous breaking change where "Menu" node-type is not
getting a default class attribute rendered for instance 'neos-nodetypes-menu'
where a website's stylesheet is relying on this CSS class
**What I did**
In fusion prototype Neos.NodeTypes.Navigation:Navigation loaded fusion path 'at
tributes.class.@process' from Neos.Neos:Content.
**How I did it**
**How to verify it**
Add the Menu node type on the page and check in the console/page source it shoul
d have css class 'neos-nodetypes-menu'
* Packages: ``Navigation``
`BUGFIX: change regex for selecting \`<a href="">\` Tag <https://github.com/neos
/neos-development-collection/pull/2409>`_
fixe the behaviour when the a Tag is inside a Tag with the name beginning with a
Example: `<article> test <a target="_blank" href="http://localhost/_Resources/01
">example1</a></article>`
the function replaceLinkTargets returned `<a target="_blank"rticle> test <a tar
get="_blank" href="http://localhost/_Resources/01">example1</a></article>`
create new test evaluateReplaceResourceLinkTargetsInsideTag
this issue was already fixed in 4.2 release on 5 Nov 2018
* Fixes: `#2395 <https://github.com/neos/neos-development-collection/issues/2395
>`_
* Packages: ``Neos``
`BUGFIX: Use correct default value for redirect in Neos SitesController <https:/
/github.com/neos/neos-development-collection/pull/2774>`_
https://github.com/neos/flow-development-collection/commit/`0cd533a64b44961fbe9e
4b43ccc3fcf8e8325ab6 <https://github.com/neos/neos-development-collection/commit
/0cd533a64b44961fbe9e4b43ccc3fcf8e8325ab6>`_ changed the default value of the `$
arguments` parameter from `null` to `[]`, so we must change it here too.
I found nowhere else where `AbstractController->redirect()` may be called with `
$arguments = null`.
* Packages: ``AssetList`` ``BaseMixins`` ``Browser`` ``ColumnLayouts`` ``Content
References`` ``ContentRepository`` ``Form`` ``Html`` ``Navigation`` ``Neos`` ``N
odeTypes``
`Revert 2940 task/adjust to account interface <https://github.com/neos/neos-deve
lopment-collection/pull/2959>`_
Reverts neos/neos-development-collection#2940 as it depends on neos/flow-develop
ment-collection#1939 which is not merged yet and it is unclear if this will land
in 6.2 as is
* Packages: ``Fusion`` ``Neos``
`FEATURE: Fusion performance optimization (lazy Component props) <https://github
.com/neos/neos-development-collection/pull/2738>`_
**What I did**
* Components provide a nice way to structure Fusion code but prevent lazy evalua
tion as Fusion does by default by eagerly evaluating all properties as `props`
* If conditions are used inside the `renderer`, it's quite probable that not all
props are used - so a large amount of unnecessary evaluations could be performe
d (we measured that to be in the range of 20-30% in a larger project)
**How I did it**
* Introduced a `LazyProps` object implementing `ArrayAccess` that evaluates the
actually accessed props lazily (and caches the results)
**How to verify it**
* Components work as before (there could be edge-cases where explicit `array` ty
pe annotations are used for `props`)
* props are only evaluated if used (verified by test)
* Resolves: `#2793 <https://github.com/neos/neos-development-collection/issues/2
793>`_
* Packages: ``Fusion``
`BUGFIX: Only count local assets within collections <https://github.com/neos/neo
s-development-collection/pull/2773>`_
Since collections only show up if the current asset source is local
("Neos"), we should not sum up all assets from external asset sources.
We do not support collections for external asset sources and the
possibly much larger number is irritating, because when clicking
the "All" link the user will only see the local assets.
* Packages: ``Browser`` ``Neos``
`FEATURE: Reduced stylesheet for backend modules <https://github.com/neos/neos-d
evelopment-collection/pull/2874>`_
The old stylesheets from pre-react times override a lot of basic styles for back
end modules.
This makes it hard to implement custom styles there or use our react ui componen
ts.
With this change it's possible to configure a "Lite" and a "Minimal" variant of
the Neos backend stylesheet via the module configuration.
The old "Main" stylesheet variant is kept for compatibility reasons.
The "Lite" stylesheet should be used with almost all modules and will also be us
ed for the core modules. It also provides all relevant Neos CSS variables and is
about 50% smaller than the old one.
The "Minimal" stylesheet should be used for modules that bring their own styles.
For example modules that use the Neos react-components library. It also provide
s all relevant Neos CSS variables and is about 70% smaller than the old one.
Example:
```
Neos:
modules:
management: # Or any other module group
submodules:
myModule:
controller: \\My\\Site\\Controller\\MyModuleController
label: 'My module'
description: 'My module'
icon: 'fas fa-camera'
privilegeTarget: 'My.Site:ManageMyModule'
mainStylesheet: 'Lite' # Or 'Minimal', default is 'Main'
```
* Packages: ``Neos``
`FEATURE: Nested Tags <https://github.com/neos/neos-development-collection/pull/
2930>`_
This adds a naive implementation of nested tags using a parent field.
It is intentionally not exposed in the UI, as nested Tags will be a feature of t
he new Media UI only.
#solves: https://github.com/Flowpack/media-ui/issues/3
* Packages: ``Media``
`FEATURE: Reduce backend load time with nodetype schema cache <https://github.co
m/neos/neos-development-collection/pull/2887>`_
This prevents the generation of the nodetype schema on every backend reload.
Load times for Neos instances with lots of nodetypes
are reduced by several seconds depending on the setup.
Also the response has a cache header to allow the browser to keep the result lon
ger.
This also helps in development context as the `version` parameter changes when t
he nodetypes change. Therefore changing Fusion and reloading is faster ;)
**What I did**
Cache the generated nodetype and vie schema
**How I did it**
Use the same caching behaviour as is already used for the xliff translations.
**How to verify it**
Load the backend twice and check response times.
The difference in projects with many nodetypes is much larger.
* Packages: ``Neos``
`FEATURE: Sortable NodeType Post processors <https://github.com/neos/neos-develo
pment-collection/pull/2869>`_
Allows a `position` to be specified in the NodeType `postprocessors` configurati
on:
```yaml
'Some.Custom:NodeType':
# ...
postprocessors:
SomeCustomTypePostprocessor:
position: 'end'
postprocessor: 'Some\\TypePostprocessor'
```
* Resolves: `#2868 <https://github.com/neos/neos-development-collection/issues/2
868>`_
* Packages: ``ContentRepository``
`FEATURE: Icons and description for asset sources <https://github.com/neos/neos-
development-collection/pull/2937>`_
Icons and descriptions can now be provided by the asset source. The icon makes t
he asset source easier to identify while the description can provide further inf
ormation or a link to the asset source as required by some free asset source API
guidelines.
To make your AssetSources compatible with Neos 6.x add the methods
* `public function getIcon(): string`
* `public function getDescription(): string;`
to your asset source.
!`image <https://user-images.githubusercontent.com/642226/76680571-e612d280-65e9
-11ea-999b-e6e5932b6cdd.png>`_
solves: https://github.com/Flowpack/media-ui/issues/2
solves: https://github.com/Flowpack/media-ui/issues/1
* Packages: ``Media``
`FEATURE: Upgrade to fontawesome 5.12.1 <https://github.com/neos/neos-developmen
t-collection/pull/2881>`_
* Fixes: `#2880 <https://github.com/neos/neos-development-collection/issues/2880
>`_
* Packages: ``BaseMixins`` ``Neos``
`FEATURE: Allow more than one authentication provider <https://github.com/neos/n
eos-development-collection/pull/2577>`_
**What I did**
Currently, only one authentication provider can be used with Neos as described i
n #940. I implemented the changes proposed by the issue creator to allow more th
an one authentication provider.
Although I tested it successfully, I might not be aware of all possible implicat
ions; it would be great if someone with a deeper insight into the security layer
/ user handling of Neos could have a look.
Please note: This PR does not cover the issues that arise when more than one acc
ount is associated with a single Neos user. It only allows one account per user
(a limitation that already exists right now, though).
**How I did it**
Instead of always using the default authentication provider (Neos.Neos:Backend)
to retrieve a user or username, the authentication provider associated with the
respective account is used (also see #940).
* Packages: ``BaseMixins`` ``Browser`` ``Neos``
`BUGFIX: Ensure node query by identifier uses strings <https://github.com/neos/n
eos-development-collection/pull/2939>`_
Due to how the query is handled using an integer node identifier in a query by i
dentifier
will not break but result in severe performance problems as the query will not u
se
the index for identifier anymore. Casting to string prevents that.
To expose the problem you can simply try to run such a query with an integer ins
tead
of a string and you will see extreme performance degradation.
Not giving numbers because it depends on the amount of nodes but it is VERY noti
ceable.
* Packages: ``ContentRepository`` ``Neos``
`Apply fixes from StyleCI <https://github.com/neos/neos-development-collection/p
ull/2951>`_
This pull request applies code style fixes from an analysis carried out by `Styl
eCI <https://github.styleci.io>`_.
For more information, click `here <https://github.styleci.io/analyses/bQZjRl>`_.
* Packages: ``Browser`` ``Media``
`BUGFIX: Use Neos config when overriding FrontendRoutePartHandler <https://githu
b.com/neos/neos-development-collection/pull/2949>`_
When overriding the FrontendRouterPartHandler with a custom implementation but i
nheriting from it the configuration was not read from Neos.Neos but from the pac
kage that did the override.
This causes the setting to always be false and makes the routing not work proper
ly when
having empty segments for dimensions. This is then quite difficult to debug.
Custom implementations can still decide to override the config and read it from
somewhere else if required.
* Packages: ``Browser`` ``Neos``
`TASK: Adjust codebase to support new Account and Roles API <https://github.com/
neos/neos-development-collection/pull/2940>`_
This change is to support the AccountInterface introduced in neos/flow-developme
nt-collection#1939
Cases covered is mentioned in #2938
* Resolves: `#2938 <https://github.com/neos/neos-development-collection/issues/2
938>`_
* Packages: ``Neos``
`BUGFIX: fix isDescendantNodeOf permission with UUIDs if specified node is hidde
n <https://github.com/neos/neos-development-collection/pull/2866>`_
* Resolves: `#2865 <https://github.com/neos/neos-development-collection/issues/2
865>`_
* Packages: ``AssetList`` ``Browser`` ``ContentReferences`` ``ContentRepository`
` ``Form`` ``Navigation`` ``Neos``
`TASK: Add Fusion performance benchmarks <https://github.com/neos/neos-developme
nt-collection/pull/2745>`_
**What I did**
* Implemented performance benchmarks for the Fusion runtime with PHPBench
**How I did it**
* Slight modification in `Runtime` to have an optional `ControllerContext` (sinc
e it's hard to create outside of the bootstraped framework)
* Created PHPBench benchmarks to measure evaluation times and to verify further
performance improvements
**How to verify it**
* Resolves: `#2795 <https://github.com/neos/neos-development-collection/issues/2
795>`_
* Packages: ``AssetList`` ``BaseMixins`` ``Browser`` ``ContentReferences`` ``For
m`` ``Fusion`` ``Navigation`` ``Neos``
`BUGFIX: redirect-to-last-visited-page broken with Fusion LoginForm rewrite <htt
ps://github.com/neos/neos-development-collection/pull/2926>`_
When rewriting the Login form to Neos.Fusion.Form, the `name` attribute of the f
orm has been lost.
This broke the JS code which sets the `lastVisitedNode`.
**How to verify it**
- open some nested page in the frontend
- open the login form to the backend
- log in
- EXPECTED with this change: you get the exact same page in the backend
- WITHOUT this change: you get the homepage
* Packages: ``Neos``
`BUGFIX: Only allow content nodetypes in content collections <https://github.com
/neos/neos-development-collection/pull/2895>`_
This change makes sure that only nodetypes that inherit from `Neos.Neos:Content`
are addable to `Neos.Neos:ContentCollection` as the comment of the nodetype spe
cifically mentions.
Without this other nodetypes are reported as valid child types when getting the
configuration from the `NodeType` class.
This caused only a problem when interacting with nodetypes via PHP as the UI alr
eady made sure you could not add something else than Content.
* Resolves: `#2894 <https://github.com/neos/neos-development-collection/issues/2
894>`_
* Packages: ``Neos``
`BUGFIX: Don’t use technical workspace name in the UI <https://github.com/neos/n
eos-development-collection/pull/2920>`_
The technical name as title can be confusing as it doesn’t
change when the workspace title is changed.
* Packages: ``Neos``
`BUGFIX: Have NeosAssetProxy return resource on getImportStream <https://github.
com/neos/neos-development-collection/pull/2922>`_
The `AssetProxyInterface` declares `getImportStream()` must return
`resource`. The `NeosAssetProxy` returns `?UriInterface` there, which
breaks the contract.
In some places `getImportStream()` is used to access the original URI
(see #2190), but for other proxies, the resulting link target is
`Resource id #x` since the resource is cast to string and used as is.
This fixes the issue by making `getImportStream()` in `NeosAssetProxy`
return `resource` as expected and add (back) `getOriginalUri()` to the
proxy. The URI can be used for a download.
An additional `ProvidesOriginalUriInterface` is added, which can be
implemented by asset sources at will.
* Fixes: `#2918 <https://github.com/neos/neos-development-collection/issues/2918
>`_
* Packages: ``Media`` ``Neos``
`BUGFIX: Flush content cache on image variant change <https://github.com/neos/ne
os-development-collection/pull/2910>`_
If you access an image property in a node and render an ImageVariant
from it via Fusion using an image variant preset, the cache is now
flushed if the image variant is changed afterwards, e.g. when changing
the crop in the media management module.
* Fixes: `#2897 <https://github.com/neos/neos-development-collection/issues/2897
>`_
* Packages: ``Media`` ``Neos``
`BUGFIX: Access tags of asset in media list view <https://github.com/neos/neos-d
evelopment-collection/pull/2917>`_
This uses `assetProxy.asset.tags` instead of just `assetProxy.tags`
as a simple way to fix the display of assigned tags in the media
browser list view.
Fixes neos/neos-development-collection#2350
* Packages: ``Browser``
`BUGFIX: Add \`Form\` key to configuration schema of Fusion package <https://git
hub.com/neos/neos-development-collection/pull/2885>`_
When the package Neos.Fusion.Form is installed which it is by default since Neos
5.1 the key `Form` is
automatically created in the `Neos.Fusion` setting namespace. Since the schema f
or this namespace only allows predefined key this yields an error message in the
Configuration module.
In addition the schema file is renamed and shortened to only validate inside Neo
s.Fusion. That ensures that the file is picked up by the command ./flow configur
ation:validate --type Settings. This will avoid things like this slipping trough
in future.
* Packages: ``Fusion``
`BUGFIX: Don't use AbstractValidator::$result in PasswordValidator <https://gith
ub.com/neos/neos-development-collection/pull/2909>`_
PasswordValidator was using the property $result of AbstractValidaor. That cause
d an Error 500 since Flow 6, because AbstractValidator::$result is private now.
**What I did**
Changed to AbstractValidator::addError() method
**How to verify it**
Use The PasswordValidator with a minimumLength and try to produce a validation-e
rror.
* Packages: ``Neos``
`TASK: Remove unused template <https://github.com/neos/neos-development-collecti
on/pull/2912>`_
This code should have been removed when the `UsageController` was
introduced in `ea7587374012b35d45d1c7402c43410353613f6d <https://github.com/neos
/neos-development-collection/commit/ea7587374012b35d45d1c7402c43410353613f6d>`_.
* Packages: ``Browser``
`TASK: Remove unused code <https://github.com/neos/neos-development-collection/p
ull/2911>`_
This code should have been removed when the `ImageVariantController`
was introduced in `0aa2eed015e02a468f9b2e8e1d08f8275349edde <https://github.com/
neos/neos-development-collection/commit/0aa2eed015e02a468f9b2e8e1d08f8275349edde
>`_. Which
means it should have never been there. ;)
* Packages: ``Browser``
`TASK: update documentation link for formatCldr formats <https://github.com/neos
/neos-development-collection/pull/2913>`_
The link given in the documentation leads to a 404, I have set the correct link
* Packages: ``BaseMixins`` ``Neos``
`BUGFIX: Prevent double dash formatting in docs for node:repair command <https:/
/github.com/neos/neos-development-collection/pull/2908>`_
The readthedocs command reference formats double dashes
as one long dash. Copying the command into the CLI will therefore
not work properly as f.e. the node-type filter will not apply
and all nodes are repaired.
* Packages: ``Neos``
`BUGFIX: re-add lost variants update functionality <https://github.com/neos/neos
-development-collection/pull/2892>`_
Re-add lost variants update functionality to fix issue #2884
**What I did**
I compared the changes of PR #2751 with the code befor the changes of this PR a
nd saw, that the line `$this->getRepository($variant)->update($variant);` was mi
ssing after the changes of the PR. I added the missing line where I think it is
necessary. Additionally i added the generation of the redirect to the else part
in the replacement function, which was also missing. I think this fixes issue #
2884.
**How to verify it**
Find an asset, for which the resource can not be replaced, for example on the de
mo site. Then checkout my changes and try replacing the resource of the found a
sset. The replcement should be possible again.
* Packages: ``Media`` ``Neos``
`BUGFIX: Correct code blocks in documentation <https://github.com/neos/neos-deve
lopment-collection/pull/2904>`_
* Packages: ``Media`` ``Neos``
`TASK: Fix validation warnings/errors on .travis.yml <https://github.com/neos/ne
os-development-collection/pull/2901>`_
Fixes build config validation complaints:
- W jobs.include: deprecated key sudo (The key `sudo` has no effect anymore.)
- W notifications.slack: unknown key on_start (never)
- I root: missing os, using the default linux
- I root: key matrix is an alias for jobs, using jobs
* Packages: ``Browser`` ``Neos``
`BUGFIX: Make getThumbnail() return type nullable <https://github.com/neos/neos-
development-collection/pull/2903>`_
If the thumbnail strategy failed to generate a valid thumbnail, null
is returned. This needs to be allowed.
* Packages: ``Fusion`` ``Media``
`FEATURE: Keep tags and collections of assets when exporting sites <https://gith
ub.com/neos/neos-development-collection/pull/2835>`_
With this change tags and collections of assets are included in site exports to
XML and are imported properly, too.
See also #2503 and #2537.
* Fixes: `#1097 <https://github.com/neos/neos-development-collection/issues/1097
>`_
* Packages: ``BaseMixins`` ``Browser`` ``Media`` ``Neos``
`BUGFIX: Replace baseUri in cache identifiers <https://github.com/neos/neos-deve
lopment-collection/pull/2898>`_
Since Flow 6.0 the httpRequest.baseUri is gone and we
need to replace it in the cache identifiers to avoid wrong
cache behavior.
* Packages: ``Fusion``
`BUGFIX: Add code migration for MultiColumn* nodetypes <https://github.com/neos/
neos-development-collection/pull/2872>`_
Add missing code migration for nodetypes Neos.NodeTypes:MultiColumn and Neos.Nod
eTypes:MultiColumnItem for seamless upgrade process.
* Packages: ``Browser`` ``Neos`` ``NodeTypes``
`BUGFIX: Convert DateTimeImmutable "Now" into DateTime for account deactivation
<https://github.com/neos/neos-development-collection/pull/2859>`_
Convert "Now" based on DateTimeImmutable to DateTime, as Account::setExpirationD
ate expects it.
* Fixes: `#2131 <https://github.com/neos/neos-development-collection/issues/2131
>`_
* Packages: ``Neos``
`TASK: Pass on previous exception in getImageSize() <https://github.com/neos/neo
s-development-collection/pull/2877>`_
* Packages: ``Browser`` ``Media`` ``Neos``
`BUGFIX: Respect arguments value as defined in Neos.Neos:NodeUri <https://github
.com/neos/neos-development-collection/pull/2893>`_
The prototype Neos.Neos:NodeUri defines `arguments = Neos.Fusion:RawArray`
but this value is never processed in the PHP implementation.
Instead, the additionalParams is processed and passed to
the parameter `arguments` of the NodeLiking service.
Now both parameters are used. `additionalParams` should be deprecated.
* Packages: ``Browser`` ``Neos``
`FEATURE: Freely position content collections <https://github.com/neos/neos-deve
lopment-collection/pull/2891>`_
Together with https://github.com/neos/neos-ui/pull/2609 and https://github.com/n
eos/neos-ui/pull/2667
this change allows to have a `Neos.Neos:Content` nodetype
that is also a `Neos.Neos:ContentCollection` and have one
or more wrapping tags around the Fusion `Neos.Neos:ContentCollection`.
To specify the point for inserting children of a content collection in your mark
up,
you add an attribute on the container element: `data-__neos-insertion-anchor`.
If found, that container will be used for inserting new items, otherwise the par
ent
element (as usual).
Without the change in the UI new nodes are added into the outermost div instead
of the collection div.
* Packages: ``Neos``
`[TASK] Add .travis.yml <https://github.com/neos/neos-development-collection/pul
l/32>`_
Execute unit tests on Travis CI.
* Packages: ``Afx``
`[TASK] Add .travis.yml <https://github.com/neos/neos-development-collection/pul
l/32>`_
Execute unit tests on Travis CI.
`BUGFIX: Keep configured creationDialog elements <https://github.com/neos/neos-d
evelopment-collection/pull/2883>`_
Keep configured creationDialog elements to keep dialog fields for NodeTemplates.
* Fixes: `#2882 <https://github.com/neos/neos-development-collection/issues/2882
>`_
* Packages: ``Browser`` ``Neos``
`[TASK] Allow to override TYPO3.Form configuration from TS <https://github.com/n
eos/neos-development-collection/pull/31>`_
This change allow to override the Form configuration from TypoScript::
```
prototype(TYPO3.Neos.NodeTypes:Form) {
overrideConfiguration = TYPO3.TYPO3TypoScript:RawArray {
finishers = TYPO3.TypoScript:RawArray {
copy = TYPO3.TypoScript:RawArray {
options = TYPO3.TypoScript:RawArray {
recipientAddress = ${q(node).property('email')}
}
}
}
}
}
```
* Packages: ``Afx``
`[TASK] Allow to override TYPO3.Form configuration from TS <https://github.com/n
eos/neos-development-collection/pull/31>`_
This change allow to override the Form configuration from TypoScript::
```
prototype(TYPO3.Neos.NodeTypes:Form) {
overrideConfiguration = TYPO3.TYPO3TypoScript:RawArray {
finishers = TYPO3.TypoScript:RawArray {
copy = TYPO3.TypoScript:RawArray {
options = TYPO3.TypoScript:RawArray {
recipientAddress = ${q(node).property('email')}
}
}
}
}
}
```
`Bugfix: Use controller context to get FlashMessageContainer <https://github.com
/neos/neos-development-collection/pull/2876>`_
Remove left over of rewrite FlashMessages.
See: https://github.com/neos/flow-development-collection/pull/1061
* Packages: ``Neos``
`BUGFIX: xhr request in backend modules <https://github.com/neos/neos-developmen
t-collection/pull/2841>`_
With Neos 5.0 the nodetypeschema endpoint was removed from the backend modules
template but the request was still sent.
Without the uri the current url of the module was instead requested.
This caused other errors when using the backbutton of the browser when sometimes
instead of the whole module only the json response was shown.
This resolves: #2791
**What I did**
Prevent the duplicate request
**How I did it**
Check if the endpoint uri exists before calling it.
**How to verify it**
Go to any module and check whether a xhr request is sent to the current url.
* Packages: ``Browser`` ``Neos``
`TASK: PHP 7.4 compatibility <https://github.com/neos/neos-development-collectio
n/pull/2804>`_
See https://github.com/neos/flow-development-collection/issues/1866
* Packages: ``Neos``
`BUGFIX: Fix regression breaking login to Neos <https://github.com/neos/neos-dev
elopment-collection/pull/2861>`_
* Fixes: `#2860 <https://github.com/neos/neos-development-collection/issues/2860
>`_
* Packages: ``Neos``
`BUGFIX: Fix login behind basic auth <https://github.com/neos/neos-development-c
ollection/pull/2857>`_
In the latest version of Chrome (79.0.3945.88) the login page will
remain white if it's protected by Basic Authentication.
Until now a 401 status code was returned whenever the login page was
opened, causing a faulty behavior in Chrome and resulting in a white
page in almost all cases.
We now use a custom header instead to identify if Authentication is
necessary to view the content.
resolves: https://github.com/neos/neos-development-collection/issues/2845
* Packages: ``Neos``
`BUGFIX: Hide inaccessible backend modules <https://github.com/neos/neos-develop
ment-collection/pull/2855>`_
Adds a ViewHelper `ifModuleAccessible` that allows to evaluate whether a
given (sub) module is accessible to the currently authenticated user and
uses that ViewHelper in the SubmoduleOverview partial in order to hide
inaccessible modules from the module overview.
Background:
With #964 the `module.<submodule>.privilegeTarget` configuration became
deprecated in favor of `ModulePrivilege`s but the partial only checked
the "privilegeTarget" configuration.
Note: This is just a quick fix for the bug. In the long run we should
rewrite the whole backend module logic in order to move such crucial
conditions from the view to the domain layer.
* Fixes: `#2854 <https://github.com/neos/neos-development-collection/issues/2854
>`_
* Packages: ``Neos``
`BUGFIX: Call getPersonalWorkspaceName just once <https://github.com/neos/neos-d
evelopment-collection/pull/2852>`_
Use result of first call of getPersonalWorkspaceName() instead of calling it twi
ce.
* Packages: ``Neos``
`BUGFIX: Avoid isRemoved() call on null <https://github.com/neos/neos-developmen
t-collection/pull/2843>`_
The array returned by getNodes() may have null entries, e.g. if a
node was filtered in createFromNodeData().
* Packages: ``Neos``
`BUGFIX: Adjust PluginViewImplementation to PSR-7 <https://github.com/neos/neos-
development-collection/pull/2844>`_
This applies a fix that has been applied to PluginImplementation in
https://github.com/neos/neos-development-collection/pull/2777 to the
PluginViewImplementation. This makes plugin views work again as
expected, instead of replacing the full response content by the plugin
content.
* Packages: ``Browser`` ``Neos``
`BUGFIX: Avoid null as argument to recreateVariant() <https://github.com/neos/ne
os-development-collection/pull/2838>`_
* Fixes: `#2837 <https://github.com/neos/neos-development-collection/issues/2837
>`_
* Packages: ``Media``
`BUGFIX: Add FlowAnnotationDriver import to AssetRepository <https://github.com/
neos/neos-development-collection/pull/2840>`_
This fixes `array_map() expects parameter 1 to be a valid callback,
class ‘Neos\\Media\\Domain\\Repository\\FlowAnnotationDriver’ not found`
* Packages: ``Browser`` ``Media`` ``Neos``
`BUGFIX: #2664 set position to PHP_INT_MAX if nodeDimensionValue is no… <https:/
/github.com/neos/neos-development-collection/pull/2736>`_
Fix returning invalid nodes in reduceNodeVariantsByWorkspacesAndDimensions. * Se
e: `#2664 <https://github.com/neos/neos-development-collection/issues/2664>`_ fo
r further details.
* Packages: ``Browser`` ``ContentRepository`` ``Neos``
`BUGFIX: Invalid ratio mode during site import <https://github.com/neos/neos-dev
elopment-collection/pull/2834>`_
Sigh… This fixes one blocking and one small issue with the ratio mode
that still occurred when importing sites from XML. The error fixed is:
`During the import of the "Sites.xml" from the package "Neos.Demo" an
exception occurred: Error: During import an exception occurred:
"Could not convert target type "Neos\\Media\\Domain\\Model\\ImageVariant":
Could not convert target type
"Neos\\Media\\Domain\\Model\\Adjustment\\ResizeImageAdjustment": Invalid
mode "" specified, supported modes are: "inset", "outbound" (but use
the ImageInterface::RATIOMODE_* constants)"., see log for further
information.`
The fix brings back setting the ratio mode to the default of
ImageInterface::RATIOMODE_INSET when an empty string is given and
fixes the error message sprintf pattern.
* Packages: ``Media``
`TASK: Cleanup thumbnail service code <https://github.com/neos/neos-development-
collection/pull/2783>`_
Fixes some code smells and does some code cleanup.
* Packages: ``Media``
`BUGFIX: Improve CreationDialogPostprocessor <https://github.com/neos/neos-devel
opment-collection/pull/2832>`_
Improves the `CreationDialogPostprocessor` so that it...
* does not access the `NodeType::getConfiguration()` but acts
solely on the passed in `$configuration` array
* works for properties without `ui.inspector` configuration (for
example inline editable properties)
* Related: `#2173 <https://github.com/neos/neos-development-collection/issues/21
73>`_
* Packages: ``Browser`` ``Neos``
`BUGFIX: Fix version constraint after upmerge <https://github.com/neos/neos-deve
lopment-collection/pull/2833>`_
Did miss that while up merging
`BUGFIX: Don't show empty Creation Dialog <https://github.com/neos/neos-developm
ent-collection/pull/2830>`_
Fixes the `CreationDialogPostprocessor` so that it doesn't create
an empty `ui.creationDialog.elements` configuration if no node
properties are flagged with `showInCreationDialog`
* Related: `#2173 <https://github.com/neos/neos-development-collection/issues/21
73>`_
* Packages: ``Neos``
`FEATURE: Add new wallaper for Neos 5.1 <https://github.com/neos/neos-developmen
t-collection/pull/2827>`_
* Resolves: `#2824 <https://github.com/neos/neos-development-collection/issues/2
824>`_
* Packages: ``Neos``
`BUGFIX: Set default ratio mode in ResizeImageAdjustment <https://github.com/neo
s/neos-development-collection/pull/2781>`_
The default was assigned during runtime, but this lead to `getRatioMode()`
potentially failing, since it was declared to return a string, non-nullable.
This is a followup to #2716
* Fixes: `#2811 <https://github.com/neos/neos-development-collection/issues/2811
>`_
* Packages: ``Media`` ``Neos``
`Make adjustments to the latest ES CR version <https://github.com/neos/neos-deve
lopment-collection/pull/2828>`_
This adds support for explicit OriginDimensionSpacePoints as well as utility met
hods
* Packages: ``ContentRepository``
`TASK: Require concrete versions of fusion afx and forms for the 5.1 branch <htt
ps://github.com/neos/neos-development-collection/pull/2826>`_
Until the both packages will become part of the dev dist we have to set the vers
ion constraints for each branch manually as master requires „*“
* Packages: ``Fusion`` ``Neos``
`BUGFIX: Add leave statements for apply early returns <https://github.com/neos/n
eos-development-collection/pull/2813>`_
Small bugfix to have an even count of enter and leave calls, even if
apply values cause an early return.
This should be refactored anyway to a more efficient solution (see
#2737) where no cache context is prepared unless an object is
evaluated - but it doesn't hurt and helps the Flowpack.Fusion.Tracing
package to produce correct traces.
Replaces #2739
* Packages: ``Fusion`` ``Neos``
`TASK: Render headerComment from Settings instead of fluid-template <https://git
hub.com/neos/neos-development-collection/pull/2810>`_
This avoids needlessly instantiating the fluid template engine just to render si
ngle comment.
Additionally this allows to configure the licenseHeader via setting Neos.Neos.he
aderComment.
* Resolves: `#2812 <https://github.com/neos/neos-development-collection/issues/2
812>`_
* Packages: ``Neos``
`FEATURE: Refactor login rendering to Fusion <https://github.com/neos/neos-devel
opment-collection/pull/2808>`_
This will also get rid of the following assets in the login screen
* The Google font api inclusion.
* Fontawesome icons
* jQuery and Bootstrap JS
* Packages: ``Neos``
`TASK: Fusion performance optimization (get configuration) <https://github.com/n
eos/neos-development-collection/pull/2734>`_
**What I did**
* Refactored the configuration processing in `Runtime` to a separate `RuntimeCon
figuration` class for easier testing and separation of concerns
* Optimized getting the configuration for a Fusion path, since this is a very "h
ot" part of the code that is used for every evaluation
**How I did it**
* Measured and verified performance boost with a large production Neos project
* Performance boost might only be measurable if a lot of Fusion is evaluated (ag
ainst the total overhead)
**How to verify it**
* See new unit test
* Resolves: `#2796 <https://github.com/neos/neos-development-collection/issues/2
796>`_
* Packages: ``Fusion``
`FEATURE: Batch rendering of asset variants <https://github.com/neos/neos-develo
pment-collection/pull/2751>`_
This provides the following functionality:
- (re-)render variants based on presets
- re-render variants when replacing an asset resource
## Configuration
The feature comes with no configurable settings itself. But you will need to con
figure asset
variant presets. Here is an example for a square preset:
```yaml
Neos:
Media:
variantPresets:
'AcmeCom:Square':
label: 'AcmeCom Square Preset'
mediaTypePatterns: ['~image/.*~']
variants:
'square':
label: 'Square'
adjustments:
'crop':
type: 'Neos\\Media\\Domain\\Model\\Adjustment\\CropImageAdjustme
nt'
options:
aspectRatio: '1:1'
```
See the variant presets documentation at https://neos-media.readthedocs.io/en/st
able/VariantPresets.html for details.
## Usage
Simply run the command: `./flow media:rendervariants` to generate all missing va
riants for
configured presets. The option `--recreate` will also render existing variants a
gain based
on their presets. Using `--limit` you can only generate an sepcified amount of v
ariants.
* Resolves: `#2798 <https://github.com/neos/neos-development-collection/issues/2
798>`_
`FEATURE: add index to column path on nodedata table <https://github.com/neos/ne
os-development-collection/pull/2685>`_
This allows for faster results in case of prefixed path queries on the nodedata
table. The
index speeds up queries like in `findNodesByPathPrefixAndRelatedEntities()` (use
d to
determine the asset usage.)
* Resolves: `#2684 <https://github.com/neos/neos-development-collection/issues/2
684>`_
* Packages: ``ContentRepository``
`FEATURE: \`DataStructure\` assumes nesting for subkeys without specified type <
https://github.com/neos/neos-development-collection/pull/2729>`_
When a `DataStructure` is rendered for nested keys that have no specified type t
he fusion type `DataStructure` is assumed. This makes it much easier to describ
e larger data structure in fusion for instance to create json ld structures or d
efine complex mappings.
* Packages: ``Fusion``
`BUGFIX: Handle unavailable asset proxies in edit view <https://github.com/neos/
neos-development-collection/pull/2771>`_
When an asset is not found, some actions threw an 404 status, which
leads to Neos showing the "404 page" under certain circumstances.
This change assigns the exception just like in the case of a connection
error, leaving handling to the media browser.
Now when an asset is not available, the edit template reacts to the
`connectionError´. This avoids an error with the `format.relativeDate` VH
and informs the user correctly about the fact an asset could not be
found.
* Packages: ``Browser``
`BUGFIX: Allow content cache flush for asset references in other use workspaces
<https://github.com/neos/neos-development-collection/pull/2582>`_
Asset change leads to exception if unpublished changes in others users workspace
s exists, which are referenced to affected asset. Neos tries to access the other
s user workspace to get the node with the reference to flush there caches. By pr
ivilege `Neos.Neos:Backend.OtherUsersPersonalWorkspaceAccess` this is not allowe
d.
```
Access denied for method
Method: Neos\\ContentRepository\\Domain\\Service\\Context::validateWorkspace()
Evaluated following 1 privilege target(s):
"Neos.Neos:Backend.OtherUsersPersonalWorkspaceAccess": ABSTAIN
(0 granted, 0 denied, 1 abstained)
Authenticated roles: Neos.Flow:Everybody, Neos.Flow:AuthenticatedUser, Neos.Neos
:Editor, Neos.Neos:AbstractEditor, Neos.ContentRepository:Administrator, Neos.Co
ntentRepository:InternalWorkspaceAccess, Neos.Neos:LivePublisher, Neos.Neos:Admi
nistrator
```
This fixes that behaviour by allowing access to the content repository without a
uthorization
checks during retrieval of affected nodes.
* Packages: ``Neos``
`BUGFIX: Allow HtmlAugmenter operate on script tags <https://github.com/neos/neo
s-development-collection/pull/2764>`_
**What I did**
Regarding #2763 the HtmlAugmenter does not find script tags as root elements. Th
s DomDocument->loadHTML() puts them automatically into `html/head` instead of `h
tml/body` as it does with other tags.
**How I did it**
Extend XPath query to search in head AND body for root elements.
**How to verify it**
For script-tag:
```
$html = '<script>console.log("fooo");</script>';
$domDocument = new \\DOMDocument('1.0', 'UTF-8');
$domDocument->loadHTML((substr($html, 0, 5) === '<?xml') ? $html : '<?xml encodi
ng="UTF-8"?>' . $html);
var_dump($domDocument->saveHTML());
```
it returns:
```
string(195) "<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http
://www.w3.org/TR/REC-html40/loose.dtd">
<?xml encoding="UTF-8"?><html><head><script>console.log("fooo");</script></head>
</html>
"
```
For other tags:
```
$html = '<a>console.log("fooo");</a>';
$domDocument = new \\DOMDocument('1.0', 'UTF-8');
$domDocument->loadHTML((substr($html, 0, 5) === '<?xml') ? $html : '<?xml encodi
ng="UTF-8"?>' . $html);
var_dump($domDocument->saveHTML());
```
it returns:
```
string(185) "<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http
://www.w3.org/TR/REC-html40/loose.dtd">
<?xml encoding="UTF-8"?><html><body><a>console.log("fooo");</a></body></html>
"
```
* Packages: ``Fusion``
`BUGFIX: Prevent exception from logger in login controller <https://github.com/n
eos/neos-development-collection/pull/2805>`_
push already merged #2769 code into 5.0 branch
* Packages: ``Neos``
`FEATURE: Custom Route for node preview <https://github.com/neos/neos-developmen
t-collection/pull/2654>`_
Introduces a new Route `/neos/preview` that will be used for previewing/editing
purposes in the content iFrame and to preview content that is not live or visibl
e (yet).
## Advantages
### Greatly reduced amount of routing cache entries
Previously, URLs for nodes in the backend had the format `<the/node/url/path>@<w
orkspace-name>;<dimensions>`
Thus leading to two routing cache entries (match & resolve) for each user, node
& dimension combination.
With this change, there is only *one route* for those cases usinq query paramete
rs to specify the node & context: `/neos/preview?node=<the/node/url/path>@<works
pace-name>;<dimensions>`
### Explicit preview action
With a custom action just for the preview scenario, we can remove a lot of speci
al magic (like displaying hidden nodes, shortcut handling, ...) from the regular
frontend rendering path
### Faster backend navigation
Previously all links in the Backend triggered a `redirect` route, effectively re
sulting in two requests.
### Basis for further improvements and simplifications
With a different route (and action) we could greatly simplify the code of the `F
rontendRoutePartHandler` and make way for new features like partial matching (#7
80), multi-format-support (#870) dedicated workspace previews, ...
*Note:* This requires https://github.com/neos/neos-ui/pull/2604 to work as expec
ted
* Resolves: `#2653 <https://github.com/neos/neos-development-collection/issues/2
653>`_
`TASK: Prevent AssetInterfaceConverter to run into an exception <https://github.
com/neos/neos-development-collection/pull/2806>`_
fix rebase of (#2754)
* Packages: ``AssetList`` ``BaseMixins`` ``ColumnLayouts`` ``ContentReferences``
``Form`` ``Html`` ``Media`` ``Neos`` ``NodeTypes``
`FEATURE: Replace configuration tree <https://github.com/neos/neos-development-c
ollection/pull/2789>`_
**What I did**
The configuration module used dynatree and some other javascript stuff.
This PR adjusts the CSS and removes the old related Javascript.
As replacement we use vanilla JS to rebuild the tree feature.
AS we save states in the local storage I also refactored the handling in the men
u and extracted the
storage handling to an own service.
So the menu need also to be tested again.
**How to verify it**
Just use the configuration module.
* Resolves: `#2797 <https://github.com/neos/neos-development-collection/issues/2
797>`_
* Packages: ``BaseMixins`` ``Neos``
`TASK: Remove showInvisible query parameter handling again <https://github.com/n
eos/neos-development-collection/pull/2790>`_
The correct preview of a hidden document is not showing it, after all…
Related to https://github.com/neos/neos-ui/issues/2500
* Packages: ``AssetList`` ``BaseMixins`` ``ColumnLayouts`` ``ContentReferences``
``Form`` ``Html`` ``Neos`` ``NodeTypes``
`FEATURE: Allow Node properties to appear in the Creation Dialog <https://github
.com/neos/neos-development-collection/pull/2785>`_
Introduces a new Node Type setting `properties.<propertyName>.ui.showInCreationD
ialog`
that, if `true` will add the corresponding property to the Node Creation Dialog.
Example:
'Some.Package:SomeNodeType':
# ...
properties:
'someProperty':
ui:
showInCreationDialog: true
In that case the configuration of the corresponding `ui.inspector.editor` is cop
ied
to the corresponding Creation Dialog element and can be overridden using the alr
eady
existing `creationDialog` configuration::
'Some.Package:SomeNodeType':
creationDialog:
elements:
'someProperty':
ui:
label: 'Overridden label'
properties:
'someProperty':
ui:
showInCreationDialog: true
*Note:* This requires https://github.com/neos/neos-ui/pull/2596 to be merged fir
st!
* Related: `#2173 <https://github.com/neos/neos-development-collection/issues/21
73>`_
* Packages: ``Neos``
`FEATURE: Increasing the contrast in module tables <https://github.com/neos/neos
-development-collection/pull/2784>`_
**What I did**
Adjusted the SCSS of the backend module table to the suggested values of @creati
ve-resort
to higher the contrast and make it better readable.
**How to verify it**
Just open the package management in the backend.
Thanks to @creative-resort for the suggestion!
* Resolves: `#2782 <https://github.com/neos/neos-development-collection/issues/2
782>`_
* Packages: ``Neos``
`BUGFIX: setting Headers while evaluating PluginView. <https://github.com/neos/n
eos-development-collection/pull/2788>`_
This results in redirects without delay working not only for Plugins but also fo
r PluginViews.
While updating a Neos Project from 3.3 to 4.3 I encountered an issue with the Pl
uginViewImplementation. Redirects without a delay inside controllers of the plug
in views did not work anymore, while redirects in the controllers of the master
plugin still worked.
This problem occurred because the implementation of AbstractController::redirect
ToUri() changed in Neos 4.
In Neos 3 the line `$this->response->setContent('<html><head><meta http-equiv="r
efresh" content="' . (int)$delay . ';url=' . $escapedUri . '"/></head></html>');
` was always executed – in Neos 4 it is only executed if a delay is set. Without
a delay only the "Location" in the Response-Header is set.
The PluginViewImplementation (in contrast to the PluginImplementation) does not
append these Headers to the ParentRequest. I copied the lines from the PluginImp
lementation to the PluginViewImplementation and the redirects worked fine again.
(Actually this was also kind of a Problem in Neos 3, because it resulted in redi
rects from PluginViews always having a visible delay in the Frontend, even if th
e delay was 0. But I don't know if you still want to patch it in Neos 3.3 or onl
y in 4.3 where it does not work at all.)
* Packages: ``AssetList`` ``BaseMixins`` ``ColumnLayouts`` ``ContentReferences``
``Form`` ``Html`` ``Neos`` ``NodeTypes``
`BUGFIX: Replace $this->systemLogger by $this->logger in LoginController <https:
//github.com/neos/neos-development-collection/pull/2769>`_
**What I did**
Replaced the old systemLogger by logger in LoginController in Neos.Neos.
**How I did it**
See code changes.
**How to verify it**
Run tests.
* Packages: ``AssetList`` ``BaseMixins`` ``ColumnLayouts`` ``ContentReferences``
``Form`` ``Html`` ``Neos`` ``NodeTypes``
`TASK: Preparation for fixing plugin redirects <https://github.com/neos/neos-dev
elopment-collection/pull/2777>`_
This prevents the plugin content to end up in the main ActionReponse,
which is a preparation for the fix to plugin redirects and needs to
happen first in order to stay backwards compatible.
This change alone should change absolutely nothing in no circumstance.
* Packages: ``Neos``
`BUGFIX: Fix links and outdated docs in NodeTypeDefinition <https://github.com/n
eos/neos-development-collection/pull/2787>`_
Replaces no longer working links in the `NodeTypeDefinition` reference by corres
ponding docs.neos.io links and marks the `editorListeners` option deprecated
* Packages: ``Neos``
`BUGFIX: Fix default variable value <https://github.com/neos/neos-development-co
llection/pull/2778>`_
Fixes https://github.com/neos/neos-development-collection/issues/2775
* Packages: ``Browser`` ``Neos``
`[FEATURE] Node creation Wizard and actions on node creation <https://github.com
/neos/neos-development-collection/pull/27>`_
WIP!
See `TYPO3.Neos.NodeTypes:Gallery` and `TYPO3.Neos.NodeTypes:Test` for ideas how
to test this feature.
More info here: https://discuss.neos.io/t/rfc-allow-to-define-a-dialog-which-wil
l-be-shown-on-node-creation/91/22
* Packages: ``Afx``
`[FEATURE] Node creation Wizard and actions on node creation <https://github.com
/neos/neos-development-collection/pull/27>`_
WIP!
See `TYPO3.Neos.NodeTypes:Gallery` and `TYPO3.Neos.NodeTypes:Test` for ideas how
to test this feature.
More info here: https://discuss.neos.io/t/rfc-allow-to-define-a-dialog-which-wil
l-be-shown-on-node-creation/91/22
`[TASK] "Custom Backend Module" documentation <https://github.com/neos/neos-deve
lopment-collection/pull/19>`_
* Packages: ``Afx``
`[TASK] "Custom Backend Module" documentation <https://github.com/neos/neos-deve
lopment-collection/pull/19>`_
`BUGFIX: Change return types of some Fusion methods to mixed <https://github.com
/neos/neos-development-collection/pull/2762>`_
https://github.com/neos/neos-development-collection/commit/`ba8d1412f34820971fe6
f9c0137fd23196df6612 <https://github.com/neos/neos-development-collection/commit
/ba8d1412f34820971fe6f9c0137fd23196df6612>`_ introduced the return type `string`
for Fusions RenderViewHelper, so we must always return a `string` (not `null`).
* Packages: ``Fusion`` ``Neos``
`BUGFIX: Add missing translation in pagination <https://github.com/neos/neos-dev
elopment-collection/pull/2727>`_
The labels were only partially translated in https://github.com/neos/neos-develo
pment-collection/commit/`8d1c98a9999fac1830b78f17c08f87c0f67a6065 <https://githu
b.com/neos/neos-development-collection/commit/8d1c98a9999fac1830b78f17c08f87c0f6
7a6065>`_#diff-86d35dae35fd27aa00b7d0723d538960
* Packages: ``Browser`` ``ContentRepository``
`BUGFIX: MariaDB 10.4 compatibility for events migration <https://github.com/neo
s/neos-development-collection/pull/2735>`_
See https://jira.mariadb.org/browse/MDEV-19598
This will first rename the existing index before adding
a new primary key as MariaDB 10.4 would complain about
the existing unique key „uid“ and not allow adding
the primary key with the same name.
As the behavior for MariaDB 10.2 and 10.4 is different
we also need to check for the existence of the indices
before changing them or it will cause trouble with 10.2.
Replaces: #2665
Resolves neos/flow-development-collection#1704
* Packages: ``Neos``
`BUGFIX: Change aloha.placeholder labels to new editorOptions <https://github.co
m/neos/neos-development-collection/pull/2761>`_
This changs the language label ids for the placeholders of the base mixins.
* Packages: ``BaseMixins`` ``NodeTypes``
`TASK: Update showInvisible check to be upwards compatible <https://github.com/n
eos/neos-development-collection/pull/2766>`_
Uses `$this->request` instead of the http request, to stay upwards compatible wi
th PSR-7 changes.
* Related: `#2711 <https://github.com/neos/neos-development-collection/issues/27
11>`_
* Packages: ``BaseMixins`` ``Neos``
`TASK: Fusion performance optimizations (less calls) <https://github.com/neos/ne
os-development-collection/pull/2737>`_
**What I did**
* Fusion performance optimizations for less function calls and faster code paths
for expression and value evaluation
**How I did it**
* Inlined some functions
* Removed usage of `end()` to get last item in array (needs a micro benchmark)
* Introduced fast checks around apply, if and processors
* Implemented fast path for expressions and values
**How to verify it**
* Less function calls, smaller call stack
* Needs a benchmark to measure micro optimizations
* Packages: ``Fusion``
`TASK : Remove composer requirement for the BaseMixins package itself <https://g
ithub.com/neos/neos-development-collection/pull/2760>`_
The BaseMixin package lists itself as a dependency. This obviously doesn't make
any sense (unless there is a very specific reason for this that I'm not aware of
).
* Packages: ``BaseMixins`` ``Neos``
`TASK: Use RuntimeFactory to create FusionRuntime <https://github.com/neos/neos-
development-collection/pull/2721>`_
This allows to use `FusionView` without manually creating a `ControllerContext`,
because `RuntimeFactory` will take an effort to create one itself, if none is p
rovided.
* Packages: ``Fusion``
`TASK: Code cleanup in Neos.Media repositories <https://github.com/neos/neos-dev
elopment-collection/pull/2723>`_
* Packages: ``Browser`` ``Media`` ``Neos``
`TASK: Allow preview of invisible nodes in live <https://github.com/neos/neos-de
velopment-collection/pull/2711>`_
When opening the preview for a hidden page using the React UI a
validation error shows up instead of handling the error or showing
the preview.
This changes fixes that by
- https://github.com/neos/neos-ui/pull/2557
- and changing Neos to allow invisible nodes to be shown for
requests that are granted `Neos.Neos:Backend.GeneralAccess`
See https://github.com/neos/neos-ui/issues/2500
* Packages: ``Browser`` ``Neos``
`TASK: Asset variant tweaks <https://github.com/neos/neos-development-collection
/pull/2716>`_
This PR
- cleans up code, applies (strict) typing
- allows numbers and dash in adjustment and variant identifiers
- tweaks value object README a bit
* Packages: ``Media``
`DOCS: Use working examples in VariantPresets documentation and mention the vari
ants tab settings <https://github.com/neos/neos-development-collection/pull/2755
>`_
The previous examples were misleading and not helpful since they caused php-erro
rs when used
as mentioned. The adjustments correct this and add a sentence and example about
the VariantsTab that has to be enabled.
* Packages: ``Media``
`TASK: Add quiet flag to all Neos.Media CLI commands <https://github.com/neos/ne
os-development-collection/pull/2722>`_
This unifies the CLI interface and makes the quiet flag available
consistently with all media commands.
* Packages: ``Media`` ``Neos``
`BUGFIX: Adjust wrong parameters for log call <https://github.com/neos/neos-deve
lopment-collection/pull/2749>`_
This is probably an oversight during upmerges, the `log(…)` call expects
the level as first parameter. By now this should be a `warning(…)` call.
* Packages: ``Browser`` ``Media`` ``Neos``
`BUGFIX: Fix setup signature <https://github.com/neos/neos-development-collectio
n/pull/2748>`_
* Packages: ``Media`` ``Neos``
`BUGFIX: Add type="text" to title input field <https://github.com/neos/neos-deve
lopment-collection/pull/2747>`_
Even though the input field is read-only, the type should be given. At least
that makes sure the styling is correct.
* Packages: ``Browser``
`TASK: Fix return value of getArguments() to be array <https://github.com/neos/n
eos-development-collection/pull/2733>`_
* Packages: ``Browser`` ``Fusion``
`BUGFIX: Call PSR logger with warning directly <https://github.com/neos/neos-dev
elopment-collection/pull/2746>`_
* Fixes: `#2744 <https://github.com/neos/neos-development-collection/issues/2744
>`_
* Packages: ``Browser`` ``Neos``
`BUGFIX: Always select local original asset in media browser <https://github.com
/neos/neos-development-collection/pull/2743>`_
Only query for imported assets that are not a variant of an originally imported
asset.
* Fixes: `#2742 <https://github.com/neos/neos-development-collection/issues/2742
>`_
* Packages: ``Browser`` ``Media``
`TASK: Make countAll() in AssetRepository work as expected for subclasses <https
://github.com/neos/neos-development-collection/pull/2725>`_
Any repository extending AssetRepository would need to override the
countAll() method or would always return the count of all assets,
not only the type the repository dealt with.
Now countAll() counts all assets or the specific type as expected.
* Fixes: `#2724 <https://github.com/neos/neos-development-collection/issues/2724
>`_
* Packages: ``Media`` ``Neos``
`TASK: Mention the basic development setup steps in the readme <https://github.c
om/neos/neos-development-collection/pull/2726>`_
This should help people onboard for contribution, as it is not obvious that one
has to install the development-distribution and the information for that is not
that easy to find and then very elaborate. This is the perfect place to have it
in a TL;DR style
`FEATURE: Add \`Neos.Fusion:Fragment\` prototype <https://github.com/neos/neos-d
evelopment-collection/pull/2728>`_
A `Fragment` is a `Component` that renders the given `content` without additiona
l markup.
That way conditions can be defined for bigger chunks of afx instead of single ta
gs.
```
renderer = afx`
<Neos.Fusion:Fragment @if.isEnabled={props.enable}>
<h1>Example</h1>
<h2>Content</h2>
</Neos.Fusion:Fragment>
`
```
* Packages: ``Fusion`` ``Neos``
`!!!TASK: Fix getVariant() return type <https://github.com/neos/neos-development
-collection/pull/2717>`_
This is one way to solve the shortcoming of #2701 - or we leave out the
return type in the interface and implementations can specify their
concrete return type.
* Packages: ``Media``
`BUGFIX: Remove introduced integer type setting <https://github.com/neos/neos-de
velopment-collection/pull/2712>`_
Introduced in https://github.com/neos/neos-development-collection/pull/2694
A property with a given name should not be defined as different
value types as this will fail as soon as you try to use
elasticsearch indexing.
With defining that in the Testing index, an elasticsearch mapping
in the tests cannot be build
* Packages: ``Neos``
`BUGFIX: PaginateViewHelper in CR calls method on string <https://github.com/neo
s/neos-development-collection/pull/2713>`_
This is PR #2706 for the 5.0 banch…
* Fixes: `#2705 <https://github.com/neos/neos-development-collection/issues/2705
>`_
* Packages: ``ContentRepository`` ``Neos``
`BUGFIX: Remove Connection::PARAM_STR_ARRAY hint <https://github.com/neos/neos-d
evelopment-collection/pull/2709>`_
This "fixes" https://github.com/doctrine/orm/issues/7827, by
actually passing the correct type as parameter. And the "type
hint" can be removed, as well.
* Packages: ``Browser`` ``ContentRepository`` ``Neos``
`BUGFIX: PaginateViewHelper in CR calls method on string <https://github.com/neo
s/neos-development-collection/pull/2706>`_
* Fixes: `#2705 <https://github.com/neos/neos-development-collection/issues/2705
>`_
* Packages: ``ContentRepository`` ``Neos``
`!!! TASK: Add code migration to rename nodetypes that were extracted from Neos.
NodeTypes to subpackages <https://github.com/neos/neos-development-collection/pu
ll/2704>`_
The NodeTypes that were migrated to subpackage namespace via node migration `201
90304111200` are now migrated in yaml and fusion files aswell. So existing code
that extended or altered those nodetypes will still work.
In addition a wrong target nodetype for `Neos.NodeTypes:Records` in node migrati
on `20190304111200` is corrected as this migration was not part of a release yet
.
This is a follow up to pr: https://github.com/neos/neos-development-collection/p
ull/2385
Upgrade instructions: Run code migrations via `./flow flow:core:migrate Package.
Key` or `./flow flow:core:migrate --version Neos.NodeTypes-20190917101945 Packag
e.Key` to apply the migration to your code.
* Packages: ``AssetList`` ``BaseMixins`` ``Browser`` ``ColumnLayouts`` ``Content
References`` ``ContentRepository`` ``Form`` ``Html`` ``Navigation`` ``Neos`` ``N
odeTypes``
`BUGFIX: CropIimageAdjustment::refit only produces int sizes <https://github.com
/neos/neos-development-collection/pull/2702>`_
This is not a direct problem for Neos 3.3 but it becomes a problem
as soon as PHP type hints come into play. The ratio divided widths
and heights can easily be floats and that is unexpected. Therefore
rounding and casting to int makes sense to prevent problems.
In versions of Neos that include type hints this is an actual major
bug that prevents refitting to work.
* Packages: ``Media``
`!!! FEATURE: Add getVariant(string, string) to VariantSupportInterface <https:/
/github.com/neos/neos-development-collection/pull/2701>`_
This adds a new method to the `VariantSupportInterface`, allowing
to fetch a preset-generated variant of an image directly.
public function getVariant(string $presetIdentifier, string $presetVariantNa
me): ?ImageVariant;
* Packages: ``Media`` ``Neos``
`!!! FEATURE: Alter \`\`Neos.Fusion:Tag.attributes\`\` to \`\`Neos.Fusion:DataSt
ructure\`\` <https://github.com/neos/neos-development-collection/pull/2698>`_
In the past integrators often expected to be able to pass data structures to `Ta
g.attributes` which was not possible since the Tag implementation expected attri
butes to be a string that usually was rendered by `Neos.Fusion:Attributes`.
This change extends the `Neos.Fusion:Tag` implementation to accept iterables (ar
ray and traversables) as `attributes` and changes the default value to `Neos.Fus
ion:DataStructure`. A fallback to cast non-iterable values to string is in place
so if anyone uses Neos.Fusion:Attributes explicitly this will still work.
To control the wether or not empty attributes are allowed the key `allowEmptyAtt
ributes` is added to `Neos.Fusion:Tag` that mimics the behavior of `@allowEmpty`
on `Neos.Fusion:Attributes`.
`Neos.Fusion:Attributes` is marked as deprecated but will stay in there for a wh
ile.
How to update: This change is almost 100% backwards compatible. Only if you used
`attributes.@allowEmpty = false` inside a `Neos.Fusion:Tag` but did not define
`attributes = Neos.Fusion:Attributes` the rendering of empty attributes will cha
nge. To fix this replace `attributes.@allowEmpty = false` with `allowEmptyAttrib
utes = false`.
* Packages: ``Fusion``
`BUGFIX: Avoid count() call on null <https://github.com/neos/neos-development-co
llection/pull/2700>`_
* Fixes: `#2699 <https://github.com/neos/neos-development-collection/issues/2699
>`_
* Packages: ``Diff``
`[FEATURE] node:repair sub command for removing broken entity references <https:
//github.com/neos/neos-development-collection/pull/26>`_
This change introduces a new sub command for node:repair which detects
and removes node property references to entities which don't exist.
One practical example are Image nodes whose "image" property points to
ImageVariant objects which, for whatever reason, have been removed
in the meantime. For these nodes, node:repair will now set the "image"
property to NULL.
* Packages: ``Afx``
`[FEATURE] node:repair sub command for removing broken entity references <https:
//github.com/neos/neos-development-collection/pull/26>`_
This change introduces a new sub command for node:repair which detects
and removes node property references to entities which don't exist.
One practical example are Image nodes whose "image" property points to
ImageVariant objects which, for whatever reason, have been removed
in the meantime. For these nodes, node:repair will now set the "image"
property to NULL.
`!!! BUGFIX: Fix languages fallback order <https://github.com/neos/neos-developm
ent-collection/pull/2570>`_
The fallback order now corresponds to the order from the dimension "language".
`TASK: Remove Neos.NodeTypes uses from comments, docs, tests <https://github.com
/neos/neos-development-collection/pull/2692>`_
* Packages: ``ContentRepository``
`BUGFIX: Repair language label handling <https://github.com/neos/neos-developmen
t-collection/pull/2687>`_
While the adjusting the emberjs codebase the XliffCacheVersion view helper and
the xliffUrl has been removed. So the value was missing in the configuration in
the initialisation of the l18n handling never worked out.
To get it running again the check for the initialisation has been removed. This
patch now adds the view helper again. So that we can render the configuration in
the template and the l18n initialisation works like expected.
Thanks to @Sebobo for helping out and finding the issue.
* Packages: ``Neos``
`TASK: Adapt to Flow base URI change <https://github.com/neos/neos-development-c
ollection/pull/2693>`_
* Packages: ``Browser`` ``Neos``
`BUGFIX: Remove even more aloha leftovers in functional tests <https://github.co
m/neos/neos-development-collection/pull/2695>`_
* Packages: ``Neos``
`TASK: Cleanup Aloha leftovers in tests <https://github.com/neos/neos-developmen
t-collection/pull/2694>`_
* Packages: ``Neos``
`TASK: Convert ui.aloha to ui.inline.editorOptions <https://github.com/neos/neos
-development-collection/pull/2683>`_
* Packages: ``Neos``
`BUGFIX: Translate labels when modifying tag and collections <https://github.com
/neos/neos-development-collection/pull/2691>`_
**What I did**
Allow all media browser controllers to use the modified `addFlashMessage` method
.
**How I did it**
Use a trait for adding the method to all related controllers.
**How to verify it**
Add or delete a tag or collection in the media browser.
* Packages: ``Browser`` ``Neos``
`TASK: Fix Plugin reference regarding additional arguments, add example <https:/
/github.com/neos/neos-development-collection/pull/2681>`_
**What I did**
The documentation regarding internal arguments for controller-based plugins ment
ions that internal arguments can be accessed by using `_key`, while `__key` is c
orrect. Besides fixing this, I added an example on how to access it in the contr
oller.
* Packages: ``Neos``
`BUGFIX: Synchronize react-ui menu state with vanilla js <https://github.com/neo
s/neos-development-collection/pull/2688>`_
The new vanilla js menu did use the session storage to save the states and it tu
rns out that the react-ui uses the local storage. This patch synchronizes the st
ates and takes care that when you change a menu state in the content module (rea
ct-ui) the state is also available in the user module for instance.
**What I did**
Use also the local storage in the vanilla js based menu and adopt the data struc
ture to behave like the react-ui.
**How to verify it**
Change menu states in the content module an check then if the state is also in t
he user module. And vice versa.
* Fixes: `#2682 <https://github.com/neos/neos-development-collection/issues/2682
>`_
* Packages: ``Neos``
`BUGFIX: Add the last visited node handler <https://github.com/neos/neos-develop
ment-collection/pull/2690>`_
While the refactoring of the javascript code in the Neos.Neos package the LastVi
sitedNode.js
file has been deleted. Sadly this is used by the react-ui and the removal leads
to errors in the console.
Thanks to @Sebobo for reporting that :)
* Packages: ``Fusion`` ``Neos``
`Apply fixes from StyleCI <https://github.com/neos/neos-development-collection/p
ull/2686>`_
This pull request applies code style fixes from an analysis carried out by `Styl
eCI <https://github.styleci.io>`_.
For more information, click `here <https://github.styleci.io/analyses/XZwxER>`_.
* Packages: ``Neos``
`!!!TASK: Migrate extracted NodeTypes from Neos.NodeTypes to subpackage namespac
e <https://github.com/neos/neos-development-collection/pull/2385>`_
Currently Neos.NodeTypes defines many nodes of subpackages abstract and extends
them in its own namespace. This makes it hard to support setups with Neos.NodeTy
pes or only the subpackages from a single site-package.
This is especially problematic since we are not recommending Neos.NodeTypes anym
ore but still have it in the development collection.
This changes adds a migration to convert all NodeTypes that were extracted from
Neos.NodeTypes into the namespace of the respective subpackage.
To apply the migration run `./flow node:migrate 20190304111200`
Note: With this change we can remove the dependency to Neos.NodeTypes from Neos.
Demo and only require the subpackages we really need.
* Packages: ``NodeTypes``
`!!! TASK: Remove ember-js based content module <https://github.com/neos/neos-de
velopment-collection/pull/2672>`_
Removes old emberjs ContentModule Code and replaces the top navigation bar with
plain ES6.
For the new Codebase we use Webpack as toolchain.
* Packages: ``Neos``
`BUGFIX: Site imports with cropped images <https://github.com/neos/neos-developm
ent-collection/pull/2679>`_
Aspect ratio is stored as a string and there's no TypeConverter
available to reconstruct the AspectRatio object from a string
* Fixes: `#2538 <https://github.com/neos/neos-development-collection/issues/2538
>`_
Replaces https://github.com/neos/neos-development-collection/pull/2598
* Packages: ``Browser`` ``Media``
`BUGFIX: HTML augmenter preserves multibyte characters in attributes <https://gi
thub.com/neos/neos-development-collection/pull/2675>`_
The html augmenter uses the `loadHml` method of php which assumes the html conte
nt being iso encoded. This caused attributes with umlauts being broken once on t
he outermost tag. The previous declaration of the `UTF-8` charset has no effect
on the `loadHtml` behavior.
The change applies the mb_convert_encoding method to the html which allows to pr
operly read unicode characters as suggested on https://www.php.net/manual/en/do
mdocument.loadhtml.php
In addition this change adds a duck-emoji to the neos test codebase which is an
important improvement.
* Fixes: `#2677 <https://github.com/neos/neos-development-collection/issues/2677
>`_
* Packages: ``Fusion`` ``Neos``
`BUGFIX: Add missing controller to edit forms <https://github.com/neos/neos-deve
lopment-collection/pull/2674>`_
The Media Browser has at the moment the issue that you get an exception when you
change the tag name or the collection name.
**What I did**
I just added the correct controllers to the fluid forms.
**How I did it**
1. Go to media browser module
2. click the pencil for tags for instance
3. Choose a tag and click the edit button
4. Change the name and click save
**How to verify it**
!`Bildschirmfoto 2019-09-02 um 16 19 52 <https://user-images.githubusercontent.c
om/1014126/64121136-405eeb00-cd9e-11e9-8c76-fe2c3ae3e55a.png>`_
* Packages: ``Browser``
`BUGFIX: Fix PluginImplementation unit test <https://github.com/neos/neos-develo
pment-collection/pull/2676>`_
This adjusts the test to the PSR-7 changes.
* Packages: ``Neos``
`BUGFIX: Updating an asset throws an exception due to unavailable translation <h
ttps://github.com/neos/neos-development-collection/pull/2673>`_
**How to verify it**
1. Replace an asset
* Packages: ``Browser``
`BUGFIX: Rewrite additional usages of setStatus and setHeader <https://github.co
m/neos/neos-development-collection/pull/2661>`_
* Packages: ``Neos``
`TASK: Further cleanup tests <https://github.com/neos/neos-development-collectio
n/pull/2660>`_
* Packages: ``Browser``
`BUGFIX: Fix calls to removed method / Fix method signature <https://github.com/
neos/neos-development-collection/pull/2671>`_
* Packages: ``Neos``
`TASK: Document RichTextEditor <https://github.com/neos/neos-development-collect
ion/pull/2662>`_
Merge after https://github.com/neos/neos-ui/pull/2546
* Packages: ``Neos``
`BUGFIX: Change leftover calls to setStatus and setHeader <https://github.com/ne
os/neos-development-collection/pull/2670>`_
* Packages: ``Media``
`TASK: Exchange login wallpaper for Neos 5.0 <https://github.com/neos/neos-devel
opment-collection/pull/2667>`_
Autumn sunrise in Saxon Switzerland by Fabian Tschök
* Packages: ``Neos``
`BUGFIX: Adjust setHeader to PSR-7 interfaces <https://github.com/neos/neos-deve
lopment-collection/pull/2669>`_
* Packages: ``Neos``
`!!! BUGFIX: Neos\\Eel\\Utility::evaluateEelExpression may contain null <https:/
/github.com/neos/neos-development-collection/pull/2657>`_
`Node::getLabel()` has a return type set to `string` while the interface hasn’t.
The label is built by the ExpressionBasedNodeLabelGenerator which may return nul
l.
Added an explicit string cast to get an empty string in that case.
* Packages: ``ContentRepository``
`BUGFIX: Use PSR-7 methods in AssetProxyController::importAction <https://github
.com/neos/neos-development-collection/pull/2658>`_
* Packages: ``Browser`` ``Neos``
`TASK: Fixed Typo in ContentCache.rst <https://github.com/neos/neos-development-
collection/pull/2647>`_
**What I did**
fixed typo
* Packages: ``Neos``
`TASK: Fix documentation about f:widget.uri <https://github.com/neos/neos-develo
pment-collection/pull/2646>`_
its <f:widget.uri> / <f:widget.link> and not <f:uri.widget> / <f:link.widget>
* Packages: ``Neos``
`TASK: Postpone deprecation of NodeInterface <https://github.com/neos/neos-devel
opment-collection/pull/2643>`_
The nodeinterface is marked as deprecated with the announcement
to be replaced in Neos 5.0. This will not happen though.
The deprecation of the interface should be announced together
with replacement in the Neos core with one of the next minor versions.
* Packages: ``ContentRepository`` ``Fusion``
`BUGFIX: Avoid inheritance on unset Fusion pathes <https://github.com/neos/neos-
development-collection/pull/2238>`_
When Fusion pathes are unset with the `>` operator the operations was previously
handled by the parser. The drawback was that the parser unset could not affect
inherited pathes which were merged into the prototype by the runtime.
This change adds the internal-key `__stopInheritanceChain` to the fusion ast whe
never a value is unset. The fusion runtime will stop merging parent prototypes f
or the pathes where this key is set.
As a common example the following code does not render an empty body but a will
render the
keys `site` and `node` from the `Neos.Neos:Page` prototype which is totally une
xpected and against the intention.
```
prototype(Vendor.Site:ExampleDocument) < prototype(Neos.Neos:Page) {
body >
body = Neos.Fusion:Array {
@position = 'after bodyTag'
message = "hello world"
}
}
```
!!! While this is a clear bug this change might break code that relied on the ol
d inconsitent behavior. It is also important that this also avoids inheriting of
`@position` keys so if you rely on the ordering you have to add the @position k
eys again after unsetting like in the example above.
* Fixes: `#2213 <https://github.com/neos/neos-development-collection/issues/2213
>`_, #1109
* Packages: ``Browser`` ``Fusion``
`BUGFIX: Prevent deleting or rebasing the live workspace <https://github.com/neo
s/neos-development-collection/pull/2632>`_
Doing so would completely break Neos when resolving
the content of a workspace that is based on live.
* Resolves: `#2631 <https://github.com/neos/neos-development-collection/issues/2
631>`_
* Packages: ``Neos``
`TASK: Add more doc for Eel Translation.translate <https://github.com/neos/neos-
development-collection/pull/2640>`_
**What I did**
Add more information for Eel Translation helper:
- existence of I18n alias
- add more doc for Translation.translate's source argument
- add an example
**How to verify it**
Check that the doc is accurate
* Packages: ``Neos``
`TASK: Fix option name for NodeName filter <https://github.com/neos/neos-develop
ment-collection/pull/2641>`_
**What I did**
Fix option name for NodeName filter in the documentation
**How to verify it**
Check that the doc is accurate with the source code of the Filter
* Packages: ``Neos``
`BUGFIX: Fix broken JS require implementation in Backend Modules <https://github
.com/neos/neos-development-collection/pull/2639>`_
With resolution of #2479 javascript blocks were put into CDATA
sections in order to prevent them to break the Fluid parser.
This introduced a regression that prevents Backend Modules to
work properly when `loadMinifiedJavascript` is disabled.
Background:
The string `resource://...` is replaced by the `ResourceInterceptor`
but that behavior is skipped for CDATA sections.
* Related: `#2479 <https://github.com/neos/neos-development-collection/issues/24
79>`_
* Packages: ``Neos``
`!!!TASK: Adapt to PSR-7 HTTP separation <https://github.com/neos/neos-developme
nt-collection/pull/2485>`_
This is the adjustment PR to https://github.com/neos/flow-development-collection
/pull/1552
* Packages: ``Neos``
`TASK: Update documentation about inline validators <https://github.com/neos/neo
s-development-collection/pull/2626>`_
Merge after https://github.com/neos/neos-ui/pull/2538
* Packages: ``Neos``
`TASK: Refactor unit tests to static assert calls <https://github.com/neos/neos-
development-collection/pull/2624>`_
The assert* methods are static methods in recent versions of PHPUnit. As calling
static methods via $this-> feels odd, I replaced the method calls with static c
alls.
* Packages: ``Browser`` ``ContentRepository`` ``Media`` ``Neos``
`Moved documentation <https://github.com/neos/neos-development-collection/pull/2
616>`_
Our big effort to move the documentation away from RTD to our own Neos instance
is finally almost finished. Therefore this pull request will remove all (often o
utdated) documentation and only keep the references and deprecated Ember documen
tation in RTD.
**Related issues**
- https://github.com/neos/documentation/issues/32
- https://github.com/neos/neos-development-collection/issues/1771
- https://github.com/neos/documentation/issues/22
- Can we safely move Command Live Tools docs to References, and get rid of Oper
ations folder?
* Packages: ``Neos``
`FEATURE: Make Neos independent from Setup package <https://github.com/neos/neos
-development-collection/pull/2619>`_
Removes the `neos/setup` composer dependency from the `neos/neos` package
and adds a root dependency to the new `neos/neos-setup` package that now
contains configuration and custom "setup step" implementations.
* Resolves: `#2618 <https://github.com/neos/neos-development-collection/issues/2
618>`_
`Apply fixes from StyleCI <https://github.com/neos/neos-development-collection/p
ull/2625>`_
This pull request applies code style fixes from an analysis carried out by `Styl
eCI <https://github.styleci.io>`_.
For more information, click `here <https://github.styleci.io/analyses/qJwPwk>`_.
* Packages: ``ContentRepository`` ``Media`` ``Neos``
`FEATURE: Add PropertyValue node migration filter <https://github.com/neos/neos-
development-collection/pull/2465>`_
Adds a new filter to match against property values in node migrations.
* Packages: ``ContentRepository``
`TASK: Removes duplicate condition <https://github.com/neos/neos-development-col
lection/pull/2608>`_
**What I did**
Removed a elseif condition that was exactly the same than the if condition befor
e.
* Packages: ``Neos``
`BUGFIX: Don't render exception message in Production Context <https://github.co
m/neos/neos-development-collection/pull/2603>`_
Synchronizes the behavior of the Fusion rendering exception handing with the one
from Flow to only render the exception *message* in `Development` Context.
* Fixes: `#2602 <https://github.com/neos/neos-development-collection/issues/2602
>`_
* Packages: ``AssetList`` ``BaseMixins`` ``Browser`` ``ColumnLayouts`` ``Content
References`` ``Form`` ``Fusion`` ``Navigation`` ``Neos`` ``NodeTypes``
`TASK: Safelist branches for travis builds <https://github.com/neos/neos-develop
ment-collection/pull/2600>`_
This prevents builds from running doubly on branches created on this repository
for PRs, e.g. through the StyleCI bot or by github inline PRs.
See https://docs.travis-ci.com/user/customizing-the-build/#safelisting-or-blockl
isting-branches
See also https://github.com/neos/flow-development-collection/pull/1660
Retargeted replacement for #2593
`Apply fixes from StyleCI <https://github.com/neos/neos-development-collection/p
ull/2589>`_
This pull request applies code style fixes from an analysis carried out by `Styl
eCI <https://github.styleci.io>`_.
For more information, click `here <https://github.styleci.io/analyses/q1QdDL>`_.
* Packages: ``Browser`` ``ContentRepository`` ``Media`` ``Neos``
`BUGFIX: Skip nodes if they cannot be resolved in ContentCacheFlusher <https://g
ithub.com/neos/neos-development-collection/pull/2595>`_
If a node cannot be resolved in the content cache flusher
skip this node instead of throwing an exception.
* Resolves: `#2594 <https://github.com/neos/neos-development-collection/issues/2
594>`_
* Packages: ``Browser`` ``Neos``
`!!! FEATURE Improve standalone FusionView <https://github.com/neos/neos-develop
ment-collection/pull/2569>`_
- The `fallbackView` and related options are removed as it only caused confusion
and made debugging harder
- The `fusionPathPatterns` are now expected to point to a single fusion file ins
tead of parsing all files in the while directory. If the path points to a direct
ory the `Root.fusion` is loaded as starting point.
- Below the Root.fusion all other fusion files have to be included explicitly!
- The cache `Neos_Fusion_ObjectTree` is added and connected to the FusionView vi
a aspect. The cache is enabled only for production via Setting `Neos.Fusion.enab
leObjectTreeCache`
Upgrade Instructions: If you use the standalone FusionView make sure that a `Roo
t.fusion` exist in your `fusionPathPatterns` and that all other fusion files are
included from there.
* Packages: ``Browser`` ``Fusion`` ``Neos``
`TASK: Add sites default ordering <https://github.com/neos/neos-development-coll
ection/pull/2372>`_
If you have many sites inside a Neos instance it is difficult to find a specific
site, because they are ordered by creation date. I added default ordering by na
me and nodeName to SitesRepository.
* Packages: ``Neos``
`Apply fixes from StyleCI <https://github.com/neos/neos-development-collection/p
ull/2587>`_
This pull request applies code style fixes from an analysis carried out by `Styl
eCI <https://github.styleci.io>`_.
For more information, click `here <https://github.styleci.io/analyses/zDEWyy>`_.
* Packages: ``Browser`` ``ContentRepository`` ``Media`` ``Neos``
`!!!TASK: Remove static robots.txt file for fresh installations <https://github.
com/neos/neos-development-collection/pull/2583>`_
Since the base distribution contains ´´neos/seo´´ 3.x which does a much
better job at providing a more valuable and accurate ``robots.txt`` file.
When the default ``robots.txt`` still remains in the projects Web
folder, this can cause a lot of confusion. To make matters worse, it's
recreated whenever the composer install scripts are executed.
In case a custom distribution does not install the ``neos/seo`` package,
we now have the meta tag within the Neos login page as a fallback, so
even then status quo remains without the standard ``robots.txt`` from a SEO pers
pective.
Closes: #2533
* Packages: ``AssetList`` ``Browser`` ``ContentReferences`` ``Form`` ``Navigatio
n`` ``Neos``
`TASK: Create FUNDING.yml <https://github.com/neos/neos-development-collection/p
ull/2544>`_
* Packages: ``github``
`BUGFIX: Flush affected document node on asset change <https://github.com/neos/n
eos-development-collection/pull/2527>`_
When an asset is replaced, the content cache is flushed, but in most
cases this does not have an effect. As most content nodes do not have
a cache entry, the cache entry higher in the chain needs to be
flushed.
This is now done by fetching the affected node for an asset usage and
passing that to `registerNodeChange(…)` in the `ContentCacheFlusher`.
* Fixes: `#2061 <https://github.com/neos/neos-development-collection/issues/2061
>`_
* Packages: ``BaseMixins`` ``Navigation`` ``Neos``
`BUGFIX: Correctly pass current node to menu templates <https://github.com/neos/
neos-development-collection/pull/2534>`_
**What I did**
Correctly pass the current node to menu templates in a way that does not cause a
n infinite loop
See also: #2532
**How I did it**
- Revert back to behaviour removed in https://github.com/neos/neos-development-c
ollection/commit/`6f302f19d2d6dcf4293223d801d867d9fd1d208e <https://github.com/n
eos/neos-development-collection/commit/6f302f19d2d6dcf4293223d801d867d9fd1d208e>
`_#diff-033bf88345978204633d4a60db6f410cL5
**How to verify it**
* See: `#2532 <https://github.com/neos/neos-development-collection/issues/2532>`
_
* Packages: ``Neos``
`TASK: Add StaleBot configuration file <https://github.com/neos/neos-development
-collection/pull/2530>`_
Add Stalebot configuration.
See https://discuss.neos.io/t/rfc-introduce-stale-bot-on-dev-collections/4371
* Packages: ``github``
`BUGFIX: The copyright notice of assets is lost when exporting to Sites.xml <htt
ps://github.com/neos/neos-development-collection/pull/2529>`_
see also #2503
**What I did**
Included the copyright notice of assets in exports to `Sites.xml`.
**How I did it**
Added `copyrightNotice` in `ArrayConverter.php` the same way as `title`.
**How to verify it**
1. Add a copyright notice to an asset.
2. Export to `Sites.xml`.
3. Do a clean import.
4. Check that the copyright notice is preserved.
* Packages: ``Media`` ``Neos``
`BUGFIX: The caption of assets is lost when exporting to Sites.xml <https://gith
ub.com/neos/neos-development-collection/pull/2503>`_
Notes:
1. I could not find tests covering this part of the code. If you point me to it,
I will also add a test case for `caption`.
2. The copyright notice is also missing from the export, but afaik this was adde
d in Neos 4.2, so I will open a separate PR.
3. Relations to tags and collections are also missing from the export, but they
seem more complicated, so I will open separate PRs.
**What I did**
Included the caption of assets in exports to `Sites.xml`.
**How I did it**
Added `caption` in `ArrayConverter.php` the same way as `title`.
**How to verify it**
1. Add a caption to an asset.
2. Export to `Sites.xml`.
3. Do a clean import.
4. Check that the caption is preserved.
* Packages: ``Media``
`!!!TASK: Disable and deprecate plugin and content prototype generators <https:/
/github.com/neos/neos-development-collection/pull/2487>`_
The prototype generator classes are deprecated and removed from the nodeType con
figuration. This
helps to make the fusion-code more explict and understand the connection between
nodeType and fusion prototype much simpler. The previously assigned base types
were not recommended anymore and thus usually are overwritten anyways.
A very welcome effect is that the error message for missing node rendering proto
types will say just that and not any more that a template file is missing.
In addition this removes the documentPrototypeGenerator that was deprecated alre
ady for Neos 5.
Upgrade instructions:
To upgrade you have to make sure that content and plugin nodetypes have a matchi
ng fusion prototype that looks like the following examples:
```
prototype(Vendor.Site:ContentExample) < prototype(Neos.Fusion:Template) {
templatePath = "resource://Vendor.Site/Private/Templates/NodeTypes/EContentE
xamplexample.html"
/* for all properties needed for rendering */
title = ${q(node).property('title')}
}
prototype(Vendor.Site:PluginExample) < prototype(Neos.Neos:Plugin) {
package = "Vendor.Site"
subpackage = ""
controller = "Example"
action = "index"
}
```
Note: `Neos.Fusion:Template` is not considered best practice anymore in favor of
fusion-afx.
* Packages: ``NodeTypes``
`!!! TASK: Remove deprecated registerAssetResourceChange() slot <https://github.
com/neos/neos-development-collection/pull/2526>`_
* Packages: ``Neos``
`BUGFIX: Changed Domains by UriConstraints will not no longer get destroyed by t
he LinkingService <https://github.com/neos/neos-development-collection/pull/2523
>`_
With `UriConstraints` we have the ability to modify the Host but there is a prob
lem with the `LinkingService` in combination with `UriConstraints`. If you ask t
he `LinkingService` for a absolut Uri then it add the current base to the Url.
* Fixes: `#2398 <https://github.com/neos/neos-development-collection/issues/2398
>`_
* Packages: ``Neos``
`BUGFIX: node label sanitizing regex strips characters <https://github.com/neos/
neos-development-collection/pull/2524>`_
**What I did**
[[^:print:]] resulted in the characters print: followed by ] being removed from
the node label. Non-printable characters should be matched with [^[:print:]].
Resolves neos/neos-ui#2496
**How to verify it**
Output node labels normally including n], i] etc. e.g. in the document tree.
This PR replaces and closes #2515 which was targeting master.
* Packages: ``Neos``
`BUGFIX: Fix regression in ViewHelpers (render args removal) <https://github.com
/neos/neos-development-collection/pull/2525>`_
* Packages: ``Browser`` ``Media``
`!!! TASK: Remove discardall & publishall CLI commands <https://github.com/neos/
neos-development-collection/pull/2521>`_
They were deprecated since Neos 1.2 (!). Use `publish` and `discard`
instead.
* Packages: ``Neos``
`!!! TASK: Remove ConvertNodeUrisImplementation <https://github.com/neos/neos-de
velopment-collection/pull/2522>`_
Use the `ConvertUrisImplementation` instead.
This was deprecated since 2014(!) already…
* Packages: ``Neos``
`!!! TASK: Correct method signature of DataSourceInterface <https://github.com/n
eos/neos-development-collection/pull/2208>`_
This adjusts the getData method signature of the DataSourceInterface,
because if the first parameter is optional, the following should also be
optional.
The new signature has a default for `$arguments`:
public function getData(NodeInterface $node = null, array $arguments = []);
* Packages: ``Form`` ``Neos``
`TASK: Use PackageManager, not PackageManagerInterface <https://github.com/neos/
neos-development-collection/pull/2519>`_
The `PackageManagerInterface` is deprecated and will be removed with
Flow 6.0, so avoid it and use `PackageManager` directly.
* Packages: ``Browser`` ``ContentRepository`` ``Fusion`` ``Media`` ``Neos`` ``Si
teKickstarter``
`TASK: Remove arguments from VH render methods <https://github.com/neos/neos-dev
elopment-collection/pull/2506>`_
This removes the arguments from `render()` in Fluid ViewHelpers, and
registers them using `registerArgument` instead.
Arguments to `render()` were deprecated as of Flow 4.0 and support
is removed with Flow 6.0.
* Packages: ``Neos``
`FEATURE: Implement pager, ordering and search in user management module <https:
//github.com/neos/neos-development-collection/pull/2497>`_
This orders the results in the backend user management module by username and in
troduces a pager. Furthermore I implemented a search field to search in username
s and full names
* Packages: ``Fusion`` ``Neos``
`BUGFIX: Adjust warning text in setup <https://github.com/neos/neos-development-
collection/pull/2510>`_
Fixes Issue #2488
In this PR I adjusted the somewhat missleading warning text, which is displayed
in the image driver setup step, if none of the requiered drivers is installed. A
dditionaly I added some javascript to the image driver and the database configur
ation step in the setup package to disable the next button, if an error message
is shown. See the PR https://github.com/neos/setup/pull/53
* Packages: ``Neos``
`TASK: Add setNoOpener property to Neos.Neos:ConvertUris documentation <https://
github.com/neos/neos-development-collection/pull/2483>`_
* Packages: ``Browser`` ``Neos``
`BUGFIX: Use countAll of AssetRepository to get count of all assets <https://git
hub.com/neos/neos-development-collection/pull/2403>`_
To get count of all assets, we should use the AssetRepository.
* Solves: `#2358 <https://github.com/neos/neos-development-collection/issues/235
8>`_
* Packages: ``Browser`` ``Neos``
`BUGFIX: Accept valid settings rejected by broken schema <https://github.com/neo
s/neos-development-collection/pull/2507>`_
* Packages: ``Fusion``
`BUGFIX: Workspace review module no longer shows target dimension <https://githu
b.com/neos/neos-development-collection/pull/2509>`_
Fix the behaviour Workspace review module don't shows target dimension
* Fixes: `#2423 <https://github.com/neos/neos-development-collection/issues/2423
>`_
* Packages: ``BaseMixins`` ``Browser`` ``Neos``
`BUGFIX: Add translation for discard confirmation <https://github.com/neos/neos-
development-collection/pull/2512>`_
Fixes https://github.com/neos/neos-ui/issues/2283
* Packages: ``BaseMixins`` ``Browser`` ``Neos``
`BUGFIX: Assigned asset collections cannot be unassigned <https://github.com/neo
s/neos-development-collection/pull/2502>`_
Fix the behaviour when the asset can't be unassigned from collections
* Fixes: `#2473 <https://github.com/neos/neos-development-collection/issues/2473
>`_
`TASK: Add flowQuery \`q\` helper to the Eel configuration <https://github.com/n
eos/neos-development-collection/pull/2505>`_
Once the magic `q` method is removed FlowQuery has to be registered in the confi
guration to have `q` in the defaultContext for Fusion and CR label generation. T
his makes FlowQuery work as before from an integration perspective.
* Packages: ``Fusion`` ``Neos``
`BUGFIX: Make exception for non renderable fusion path more helpful <https://git
hub.com/neos/neos-development-collection/pull/2489>`_
The existing exception for non renderable fusion pathes was not very helpful har
d to read and missed mentioning likely reasons like a typo in the prototype name
. It also suggested a solution that is unlikely to fix the problem.
With this change the prototype name is moved to the front of the error message
as it is the most important information.
The path is removed from the message-body as the fusion exception handler will r
ender it anyway.
The most likely reasons typo + missing prototype are mentioned first and other p
ossible reasons
like missing parent-protopype, missing `@class` and missing `include:` later.
The proposed solution to inherit from `Neos.Fusion:Template` is removed as it wa
s misleading
* Packages: ``Browser`` ``Fusion`` ``Neos``
`TASK: Updated fontawesome to 5.8 for old UI <https://github.com/neos/neos-devel
opment-collection/pull/2500>`_
This updates FontAwesome to 5.8 for the old UI backendModules (e.g. UserManageme
nt)
* Packages: ``Neos``
`[TASK] Make the ConvertUrisImplementation extensible <https://github.com/neos/n
eos-development-collection/pull/24>`_
With this change the ConvertUrisImplementation is more extensible.
The anonymous function is now a normal method, so now the URLs are better
expandable via an aspect.
* Resolves: `NEOS-1477 <https://jira.neos.io/browse/NEOS-1477>`_
* Packages: ``Afx``
`[TASK] Make the ConvertUrisImplementation extensible <https://github.com/neos/n
eos-development-collection/pull/24>`_
With this change the ConvertUrisImplementation is more extensible.
The anonymous function is now a normal method, so now the URLs are better
expandable via an aspect.
* Resolves: `NEOS-1477 <https://jira.neos.io/browse/NEOS-1477>`_
`Show hidden in index nodes in dimensions menu <https://github.com/neos/neos-dev
elopment-collection/pull/2504>`_
Re-add `renderHiddenInIndex` with default `true`, to show also hidden in index n
odes in dimensions menu as before.
* Packages: ``Neos``
`TASK: Exchange injection of PsrSystemLoggerInterface to LoggerInterface <https:
//github.com/neos/neos-development-collection/pull/2493>`_
With Flow 6.0 PsrSystemLoggerInterface gets deprecated, so we exchange the PsrSy
stemLoggerInterface with LoggerInterface.
* Packages: ``ContentRepository`` ``Fusion`` ``Media`` ``Neos``
`BUGFIX: Remove usage of getproviders from UserController <https://github.com/ne
os/neos-development-collection/pull/2501>`_
Remove the usage of the deprecated and removed `AuthenticationProviderManager::g
etProviders()`method.
You find this change in https://github.com/neos/neos-development-collection/pull
/2501/commits/`4492c3d3b2295e2ea01f3a69ad760ba7502da3f1 <https://github.com/neos
/neos-development-collection/commit/4492c3d3b2295e2ea01f3a69ad760ba7502da3f1>`_
- a second commit improves the method typing and code style of that class.
* Packages: ``Neos``
`TASK: Avoid deprecated method in AuthenticationManager <https://github.com/neos
/neos-development-collection/pull/2495>`_
* Packages: ``Neos``
`TASK: Raise PHP version by one minor version in travis.yaml <https://github.com
/neos/neos-development-collection/pull/2494>`_
Raise PHP versions from 7.1 to 7.2 and 7.2 to 7.3 in the travis test matrix.
`[TASK] Create .codeclimate.yml <https://github.com/neos/neos-development-collec
tion/pull/6>`_
Adds a codeclimate configuration excluding Migrations, Tests and
JavaScript libraries.
* Packages: ``Browser`` ``Neos``
`!!! FEATURE: Refactor tests to phpunit v8.1 <https://github.com/neos/neos-devel
opment-collection/pull/2472>`_
* Resolves: `#2367 <https://github.com/neos/neos-development-collection/issues/2
367>`_
Needs https://github.com/neos/flow-development-collection/pull/1565 to be merged
before
* Packages: ``ContentRepository``
`TASK: Separate NodeTypes.yaml according to best practices <https://github.com/n
eos/neos-development-collection/pull/2490>`_
In this PR, I attempted to follow the best practice "Each NodeType SHOULD be def
ined in a dedicated yaml-file and the file-name MUST represent the namespace of
the contained NodeType/s."
In order to achieve this, I separated the NodeTypes.yaml into individual yaml fi
les.
* Packages: ``Neos``
`BUGFIX: Avoid PHP exception in NamespaceDetectionTemplateProcessor <https://git
hub.com/neos/neos-development-collection/pull/2484>`_
Related to neos/neos-development-collection#2479
* Packages: ``Browser`` ``Neos``
`Bugfix: Do access objects by key 0 in canEvaluate() of sort-operation <https://
github.com/neos/neos-development-collection/pull/2474>`_
For the current use of the sort operation, the element with key 0 must be presen
t in $context. But this is not necessary for the sort itself. Consequently, the
sort operation does not work using arrays without key 0.
Access via pointer avoids this problem in this PR.
* Packages: ``Neos``
`TASK: Limit parentpath index length through annotation <https://github.com/neos
/neos-development-collection/pull/2478>`_
As of Doctrine DBAL 2.9.0 this is actually possible, so we can finally
do it right.
* See: `#2475 <https://github.com/neos/neos-development-collection/issues/2475>`
_
* Packages: ``ContentRepository`` ``Neos``
`Remove wrong property from component wiring property list <https://github.com/n
eos/neos-development-collection/pull/2480>`_
The property `node` is not a wired property
* Packages: ``Neos``
`TASK: Correct syntax <https://github.com/neos/neos-development-collection/pull/
2476>`_
* Packages: ``ContentRepository`` ``Neos``
`BUGFIX: Fix \`parents\` flowQuery operation accidentally returning the \`/sites
\` and \`/\` node <https://github.com/neos/neos-development-collection/pull/2464
>`_
The test that should verify this behavior failed to mock the root and sites node
and thus the exclusion of `/sites` was not verified correctly.
* Resolves: `#2459 <https://github.com/neos/neos-development-collection/issues/2
459>`_
* Packages: ``Neos``
`BUGFIX: Filtering by nodeType that has subtypes causes a php_error <https://git
hub.com/neos/neos-development-collection/pull/2461>`_
When calculating constraints for nodeType filter the nodeDataRepository currentl
y puts the nodeType that was given as filter-argument directly as string to the
returned constraint-object but all superTypes as NodeType-objects. This later ca
uses trouble once the types are passed to the isOfType method that expects (but
not enforces) strings.
The problem exists since ages but is exposed in Neos 4.2 by the altered handling
of removed NodeTypes. Before that `isOfType` implicitly accepted a NodeType as
argument. The added checks for declaredSuperTypes that are null (removed by subt
ype) broke this implication.
Resolves: https://github.com/neos/neos-development-collection/issues/2460
* Packages: ``ContentRepository``
`TASK: Remove deprecated signals <https://github.com/neos/neos-development-colle
ction/pull/2457>`_
Remove deprecated signals `Asset::emitAssetCreated` and `Thumbnail:: emitThumbna
ilCreated` which were moved to the according service classes.
* Packages: ``Browser`` ``Media``
`BUGFIX: Fix return type annotation <https://github.com/neos/neos-development-co
llection/pull/2456>`_
The return type annotation for ``getParent()`` was wrong
* Packages: ``ContentRepository`` ``Neos``
`Apply fixes from StyleCI <https://github.com/neos/neos-development-collection/p
ull/2454>`_
This pull request applies code style fixes from an analysis carried out by `Styl
eCI <https://github.styleci.io>`_.
For more information, click `here <https://github.styleci.io/analyses/q5w93B>`_.
* Packages: ``Browser`` ``Neos``
`DOCS: Fix code blocks <https://github.com/neos/neos-development-collection/pull
/2455>`_
* Packages: ``Neos``
`TASK: Update release notes <https://github.com/neos/neos-development-collection
/pull/2451>`_
* Packages: ``Neos``
`BUGFIX: Use correct Flow version within 4.3 dev collection <https://github.com/
neos/neos-development-collection/pull/2452>`_
`BUGFIX: Fix site-package generator <https://github.com/neos/neos-development-co
llection/pull/2447>`_
Somehow the classic site generator did not replace the occurrences of the packag
e names
in fusion `reference://{packageKey}/...` strings any more while in other places
this still worked.
This works around this by falling back to a very plain search replace based impl
ementation that is only used on the fusion files.
With this change a site package created with the setup tool or the kickstart:sit
e command will not directly welcome the user with fusion-errors which it did bef
ore.
* Packages: ``SiteKickstarter``
`FEATURE: Variant view in react and possibility of cropping <https://github.com/
neos/neos-development-collection/pull/2426>`_
This variant view based on React is a beta feature, just like the current
implementation of the variant view. It allows to crop any preset variant
with a crop, retaining the current aspect ratio.
* Packages: ``Browser`` ``Media``
`BUGFIX: Apply enforced image format conversions to all generated images <https:
//github.com/neos/neos-development-collection/pull/2431>`_
Previously the configured image format conversions were only applied when a targ
et size was specified. That made the preview images in the media module still no
t show thumbnails for tiff images.
In addition the new configuration is much more generic and is easier to support
in future when we may improve the implementation.
This change removes the ConvertImageThumbnail Generator and the Configuration th
at came with it and introduces a setting `Neos.Media.image.defaultOptions.conver
tFormats` instead. The setting is a key-value-list that allows to specify which
media types shall be converted whenever they are rendered. The key in the new co
nfiguration is the the source media-type and the value is the target media-type
or file-extension.
By default the setting is empty since all format conversions have to be supporte
d by by the imagine driver and especially ``Gd`` lacks some features.
With the following setting you setup automatic conversion of tiff images to jpg:
```
Neos:
Media:
image:
defaultOptions:
# Image formats that shall always be converted regardless wether an adju
stment was applied or not
# The key is the the source media-type and the value is the target media
-type or file-extension.
convertFormats:
image/tiff: image/jpeg
```
!!! This replaces the implementation for the default conversions in #2389 with a
more generic approach wich is non breaking since it was not released yet.
* Packages: ``Media`` ``Neos``
`FEATURE: Add release notes <https://github.com/neos/neos-development-collection
/pull/2440>`_
* Packages: ``Neos``
`BUGFIX: add missing and new copyright field to the edit and new dialog in the m
edia manager <https://github.com/neos/neos-development-collection/pull/2444>`_
add the missing copyright field again and also added a new on for the "new" dial
og
* Packages: ``Browser``
`BUGFIX: add equals() methods on ContentStreamIdentifier and TraversableNode, us
e it in TraversableNodes <https://github.com/neos/neos-development-collection/pu
ll/2442>`_
* Packages: ``ContentRepository``
`BUGFIX: Fix tag rendering in media module <https://github.com/neos/neos-develop
ment-collection/pull/2439>`_
The names of tags were not rendered in the sidebar of the media module since htt
ps://github.com/neos/neos-development-collection/pull/2408 was merged because of
an incomplete renaming from `tag` to `retrievedTag`
* Packages: ``Browser``
`TASK: Adjust created responses to \`\`ActionResponse\`\` <https://github.com/ne
os/neos-development-collection/pull/2438>`_
This changes responses created in various areas of Neos to be
of the new ``ActionResponse`` class in preparation of the next
major version.
* Related: `#2437 <https://github.com/neos/neos-development-collection/issues/24
37>`_
* Packages: ``Fusion`` ``Neos``
`Namespace and interface adjustments <https://github.com/neos/neos-development-c
ollection/pull/2430>`_
This
* moves the new interfaces and value objects to conceptually matching namespaces
(e.g. NodeAggregateIdentifier -> NodeAggregate, NodeTypeConstraintFactory -> No
deType)
* makes NodeName nullable
* moves getDimensionSpacePoint from NodeInterface to TraversableNodeInterface
* removes getSubgraph from TraversableNodeInterface
* removes the now obsolete RootNodeIdentifiers class
* removes the now obsolete NodeIdentifier class
* Packages: ``Browser``
`TASK: Contain dimension changes in tests to test case only <https://github.com/
neos/neos-development-collection/pull/2427>`_
The reset to empty array was technically wrong because dimensions were
configured. While this is not an issue at this time, it can be one
when other tests rely on the integrity of configured dimensions and
the repository.
* Packages: ``Neos``
` FEATURE: Set crop image adjustment by aspect ratio <https://github.com/neos/ne
os-development-collection/pull/2408>`_
This change introduces a new property "aspectRatio" for the crop image
adjustment. It allows users to set a cropping area simply by providing
an aspect ratio, instead of x, y, width and height.
If an aspect ratio is specified, the x, y, width, and height parameters
are automatically deactivated. Likewise, if x, y, width or height are
specified, a potentially defined aspect ratio value will be reset.
* Packages: ``Media``
`TASK: Remove NodeInterface::getNodeIdentifier and add root node type name const
ant <https://github.com/neos/neos-development-collection/pull/2425>`_
This change is required to adjust the codebase to our current Event Sourced CR r
efactoring, where we drop the NodeInterface::nodeIdentifier.
`TASK: Adjust Login Wallpaper for Neos 4.3 <https://github.com/neos/neos-develop
ment-collection/pull/2421>`_
* Packages: ``Neos``
`BUGFIX: Respect settings for quality and format even if images are smaller that
target dimensions <https://github.com/neos/neos-development-collection/pull/242
2>`_
Thumbnail images always returned the original source if allowUpscaling is false
and the target size is smaller than the original image. This is unexpected when
quality and format are defined.
This change makes sure the new assets are rendered when quality and format is de
fined.
The dimension calculation of the target images respects the allowUpscaling if th
e source is smaller that the target dimension.
* Resolves: `#2416 <https://github.com/neos/neos-development-collection/issues/2
416>`_
* Packages: ``AssetList`` ``BaseMixins`` ``Browser`` ``ColumnLayouts`` ``Content
References`` ``ContentRepository`` ``Form`` ``Html`` ``Media`` ``Navigation`` ``
Neos`` ``NodeTypes``
`BUGFIX: Lowercase Node Names upon creation <https://github.com/neos/neos-develo
pment-collection/pull/2419>`_
This adjusts the `NodeName` Value Object to always convert the given
value to lower case when created via the `fromString()` constructor.
Background:
Node names are considered to be case insensitive. Internally they are
stored lower case but the `NodeInterface::MATCH_PATTERN_NAME` does not
allow for camel case names.
* Fixes: `#2418 <https://github.com/neos/neos-development-collection/issues/2418
>`_
* Packages: ``ContentRepository`` ``Media``
`TASK: New FlowQuery filter operation!instanceof <https://github.com/neos/neos-d
evelopment-collection/pull/23>`_
Checks if the value is not an instance of the operand.
Example of usage:
node = ${q(node).filter('[!instanceof Acme:Node]')}
NEOS-1321 #close
* Packages: ``Afx``
`TASK: New FlowQuery filter operation!instanceof <https://github.com/neos/neos-d
evelopment-collection/pull/23>`_
Checks if the value is not an instance of the operand.
Example of usage:
node = ${q(node).filter('[!instanceof Acme:Node]')}
NEOS-1321 #close
`FEATURE: Trigger signal when Thumbnail is persisted <https://github.com/neos/ne
os-development-collection/pull/2390>`_
PR for issue #2387
**What I did**
Added a signal `thumbnailPersisted` and an ORM lifecycle callback that triggers
the signal once the thumbnail is persisted.
**How I did it**
Added two methods in Neos\\Media\\Domain\\Model\\Thumbnail: one for the signal a
nd one for the lifecycle callback that triggers the signal.
* Packages: ``Media``
`BUGFIX: Allow translation of the textareaeditor placeholder <https://github.com
/neos/neos-development-collection/pull/2404>`_
This additionally requires a fix in the ui which will be done in the neos-ui pac
kage.
**What I did**
Add the textarea editor for configuration enrichment.
**How to verify it**
When using i18n in the placeholder it should show the full translation path in t
he textarea editor instead of just i18n.
* Packages: ``Neos``
`BUGFIX: No redirect with status 201 <https://github.com/neos/neos-development-c
ollection/pull/2415>`_
Sending a redirect code of 201 does not cause the browser to redirect
and leads to a blank page.
* Fixes: `#2414 <https://github.com/neos/neos-development-collection/issues/2414
>`_
* Packages: ``Browser`` ``Neos``
`BUGFIX: node:repair now handles node->getProperties() as ArrayObject <https://g
ithub.com/neos/neos-development-collection/pull/2411>`_
**What I did**
I changed the code of the node:repair command to handle the result of node->getP
roperties() as ArrayObject and not as array, because that recently changed.
**How I did it**
Instead of getting the key via array_keys the properties are now iterated to fin
d undefinded properties.
**How to verify it**
* run the node:repair-command on a content repository that is fine already => it
should not complain about anything
* add a undefinded property to a node (by editing a record in the nodedata-table
directly) and run node:repair => you should be asked if you want to remove the
undefinded property
* Packages: ``ContentRepository``
`BUGFIX: Image previews should be rendered for asset proxies as well <https://gi
thub.com/neos/neos-development-collection/pull/2412>`_
The previous code must be a leftover from an upmerge and it results in
fatal errors when trying to open the details of an asset coming from a
proxy source.
* Packages: ``Browser`` ``Neos``
`TASK: Add PgSQL migration to support variant presets <https://github.com/neos/n
eos-development-collection/pull/2410>`_
* Packages: ``Media`` ``Neos``
`BUGFIX: Add missing Eel FileHelper registration <https://github.com/neos/neos-d
evelopment-collection/pull/2407>`_
Register the file helper by default so that they can be used in Fusion, without
the need of separate registration.
Solves Issue: #2405
* Packages: ``Fusion`` ``Neos``
`FEATURE: Automatic image variants generation <https://github.com/neos/neos-deve
lopment-collection/pull/2396>`_
This change adds a feature which allows to automatically generate variants of an
original image based on the newly introduced image variant presets configuratio
n.
In this first version, variants are automatically created as soon as an asset is
created – for example, when it has been uploaded by an editor or otherwise been
imported. Future versions may defer this
generation into a job queue, or provide a way to put conditions of the generatio
n of these variants.
See the included documentation for configuration syntax and further background.
This change also includes a basic view displaying all variants of an asset in th
e edit view of the Media Browser. While this new view (implemented as a tab) may
be useful already, it is neither especially
polished nor does it provide additional features. Therefore it is disabled by a
feature switch for now. See the Settings.yaml of Neos.Media.Browser for details
on enabling the tab.
* Packages: ``Media``
`FEATURE: Add fallback from \`itemRenderer\` to \`content\` for \`Neos.Fusion:Ma
p\` and derived prototypes <https://github.com/neos/neos-development-collection/
pull/2400>`_
This allows to declare the itemRenderers in `afx` without `@children` annotation
and avoids a
common error in afx code.
Affected prototypes:
- `Neos.Fusion:Map`
- `Neos.Fusion:RawCollection`
- `Neos.Fusion:Loop`
- `Neos.Fusion:Collection`
* Packages: ``Fusion`` ``Neos``
`TASK: Translate Site Management <https://github.com/neos/neos-development-colle
ction/pull/2397>`_
The Site Management uses labels both from `Main.xlf` and `Modules.xlf`. For the
labels from `Module.xlf`, the `source` attribute must be set. Apart from that, s
ome labels didn't have a translation at all. This change makes the Site Manageme
nt fully localizable.
* Fixes: `#2394 <https://github.com/neos/neos-development-collection/issues/2394
>`_
* Packages: ``Neos``
`FEATURE: Add native 404 error rendering that can be controlled via Fusion <http
s://github.com/neos/neos-development-collection/pull/2374>`_
This change adds the default fusion path `error` that is used to render status m
essages
for the status codes 403, 404 and 410.
The matcher receives the context values `exception`, `renderingOptions`, `status
Code`,
`statusMessage` and `referenceCode` and will by default render the previous tem
plate.
By extending the `error` Case you can add custom 404 rendering like in the examp
le below.
```
#
# Extend error matcher to render the document with uriPathSegment `notfound`
# for exceptions with 4xx status code
#
error {
@context.notfoundDocument = ${q(site).children('[instanceof Neos.Neos:Doc
ument]').filter('[uriPathSegment="notfound"]').get(0)}
4xx {
@position = 'start'
condition = ${statusCode >= 400 && statusCode < 500 && notfoundDo
cument}
renderer = Neos.Fusion:Renderer {
@context.node = ${notfoundDocument}
renderPath = '/root'
}
}
}
```
* Resolves: `#2325 <https://github.com/neos/neos-development-collection/issues/2
325>`_
* Packages: ``Neos``
`BUGFIX: Remove coupling of functional tests to \`Neos:Demo\` and \`Neos.NodeTyp
es\` <https://github.com/neos/neos-development-collection/pull/2401>`_
The previous tests tested nodetypes from those external packages which lead to t
esting errors because of changes to the master of Neos.Demo. This change uses no
detypes local to the testing context of the cr itself.
This is cleaner and a preparation to move Neos.NodeTypes out of the development
collection someday. Right now it allows to run the functional tests without Neos
.Demo or Neos.NodeTyoes beeing installed.
* Packages: ``Neos``
`BUGFIX: Forward \`removedContentShown\` in Context->getNodeByIdentifier() <http
s://github.com/neos/neos-development-collection/pull/2293>`_
fixes #2292
* Packages: ``ContentRepository``
`BUGFIX: Testing Policy has a working expression <https://github.com/neos/neos-d
evelopment-collection/pull/2391>`_
The policy expression was wrong and leads to initialize*Action functions being i
ncluded in the AllControllerActions privilege. That is wrong and can lead to err
ors in tests. Compared to the (non testing) policy the new expression now works
as expected.
* Packages: ``Neos``
`FEATURE: Move new NodeInterface and TraversableNodeInterface to core <https://g
ithub.com/neos/neos-development-collection/pull/2202>`_
## Ready for final review / Merging.
This Pull Request does three things:
1. Introduce the Event-Sourced `NodeInterface` and `TraversableNodeInterface` in
the core
2. make the "old" `Node` implement `TraversableNodeInterface` as far as possible
.
3. adjust FlowQuery operation code to work on the new `TraversableNodeInterface`
whereever it makes sense.
This change is necessary to ensure a **smooth upgrade lateron to the Event Sourc
ed CR**; so people working with `NodeInterface` in their custom code can already
start using `TraversableNodeInterface` today.
*The change is rather big, but **not breaking*** (at least it should not be brea
king ;) )
## ToDo List
- [x] move new NodeInterface and TraversableNodeInterface to CR
- [x] adjust TraversableNodeInterface to have proper method namings. Everything
which queries something should be called find*; as opposed to get*.
- [x] make old Node implement TraversableNodeInterface
- [x] make compatible to PHP 7.1 (not sure if things need to be done; travis wil
l tell us!)
- [x] **fix test cases**
- [x] go through all FlowQueryOperations in Neos and ensure they work with Trave
rsableNodeInterface / new NodeInterface (partially done)
- [x] ensure the new NodeInterface and TraversableNodeInterface have proper API
descriptions; and the old NodeInterface has proper deprecation messages set up
* Packages: ``Neos``
`FEATURE: Add \`\`format\`\` option for image-prototypes, viewHelpers and preset
s <https://github.com/neos/neos-development-collection/pull/2389>`_
The option ``format`` is added to imagePresets, viewHelpers and FusionPrototypes
.
The format is passed as string "jpg", "jpeg", "gif", "png", "wbmp", "xbm", "webp
" and "bmp" are supported. If no format is given the crops will use the format o
f the original image.
This allows to to enforce rendering of crops in jpeg or png but also adds suppor
t for rendering
of webp-images as alternate sources.
Additionally this pr adds the ConvertImageThumbnailGenerator that allows to spec
ify images that should be converted for online-presentation to an optimized targ
et format. While the default imageFormat is specified in the settings this can s
till be overridden via `format` option on
the thumbnail-configurations.
The ConvertImageThumbnailGenerator is configured via settings:
```
Neos:
Media:
thumbnailGenerators:
Neos\\Media\\Domain\\Model\\ThumbnailGenerator\\ConvertImageThumbnailGener
ator:
supportedExtensions:
- tiff
targetExtension: jpg
```
Resolves. #2320
* Packages: ``Media`` ``Neos``
`FEATURE: Add \`Neos.Neos:MenuItems\`, \`Neos.Neos:DimensionMenuItems\` and \`Ne
os.Neos:BreadcrumbMenuItems\` prototypes <https://github.com/neos/neos-developme
nt-collection/pull/2381>`_
Three new fusion prototypes are added that extract the rendering of the ``items`
` that are passed to the template from ``Neos.Neos:Menu``, ``Neos.Neos:Breadcrum
bMenu`` and ``Neos.Neos:DimensionsMenu`` and make those items available for dire
ct Fusion use without Template.
In addition the ``Neos.Neos:*Menu`` prototypes are now based on ``Neos.Neos:Temp
late`` and do not have a custom implementation any more.
*Attention: This change removes the old MenuImplementation classes. Those are no
t part of the api so this is still non-breaking since the ``*Menu``fusion protot
ypes still support all previous options by beeing based on ``Neos.Fusion:Templat
e`` now instead of extending the TemplateImplementation class.*
### ``Neos.Neos:MenuItems``
Create a list of menu items for nodes. Each menuItem has the properties: ``node`
`, ``originalNode``, ``state``, ``label`` and ``menuLevel``.
- ``entryLevel`` (integer) Start the menu at the given depth
- ``maximumLevels`` (integer) Restrict the maximum depth of items in the menu (r
elative to ``entryLevel``)
- ``startingPoint`` (Node) The parent node of the first menu level (defaults to
``node`` context variable)
- ``lastLevel`` (integer) Restrict the menu depth by node depth (relative to sit
e node)
- ``filter`` (string) Filter items by node type (e.g. ``'!My.Site:News,Neos.Neos
:Document'``), defaults to ``'Neos.Neos:Document'``
- ``renderHiddenInIndex`` (boolean) Whether nodes with ``hiddenInIndex`` should
be rendered, defaults to ``false``
- ``itemCollection`` (array) Explicitly set the Node items for the menu (alterna
tive to ``startingPoints`` and levels)
### ``Neos.Neos:BreadcrumbMenuItems``
Create a list of of menu-items for a breadcrumb (ancestor documents), based on `
`Neos.Neos:MenuItems``.
### ``Neos.Neos:DimensionsMenuItems``
Create a list of menu-items for other node variants (e.g. variants of the curren
t node in other dimensions) by using this Fusion object.
If the ``dimension`` setting is given, the menu will only include items for this
dimension, with all other configured dimension being set to the value(s) of the
current node. Without any ``dimension`` being configured, all possible variants
will be included.
If no node variant exists for the preset combination, a ``NULL`` node will be in
cluded in the item with a state ``absent``.
- ``dimension`` (optional, string): name of the dimension which this menu should
be based on. Example: "language".
- ``presets`` (optional, array): If set, the presets rendered will be taken from
this list of preset identifiers
- ``includeAllPresets`` (boolean, default **false**) If TRUE, include all preset
s, not only allowed combinations
- ``renderHiddenInIndex`` (boolean, default **true**) If TRUE, render nodes whic
h are marked as "hidded-in-index"
* Packages: ``Neos``
`BUGFIX: Allow using font awesome brand icons in backend modules <https://github
.com/neos/neos-development-collection/pull/2388>`_
This was broken with 4.0 as fontawesome styling changed.
**What I did**
Inherit the font family for the icon pseudo element from the surrounding fa* cla
ss.
**How to verify it**
Use `fab fa-google` as icon for a backend module, f.e. Media Browser.
Instead of an empty square you should see the Google icon.
* Packages: ``Neos``
`FEATURE: Add NodeLink fusion prototype <https://github.com/neos/neos-developmen
t-collection/pull/2370>`_
The ``Neos.Neos:NodeLink`` fusion prototype is added which renders an ``<a>`` ta
g based on ``Neos.Neos:NodeUri``, similar to ``Neos.Neos:ImageTag`` and ``Neos.N
eos:ImageUri``.
- all properties of ``Neos.Neos:NodeUri`` are supported and passed over
- ``attributes`` (:ref:`Neos_Fusion__Attributes`) Link tag attributes
- ``content`` (string) The label of the link, defaults to the node label ``q(nod
e).property('_label')``.
This helps reducing code lines especially when using fusion-afx, with this proto
type you can now directly link nodes in an afx renderer.
* Packages: ``Neos``
`BUGFIX: Improve performance in findOneByResourceSha1 <https://github.com/neos/n
eos-development-collection/pull/2383>`_
AssetRepository::findOneByResourceSha1 forced case innsensitivity on the
SHA1 hash of the resource, so the query builder uses MySQL "LOWER"
function in its generated query, and as such the index cannot be used
in the intended way. Now we are just relying on sha1 to create lower
cased hash values.
* Packages: ``Media``
`TASK: More adjustments to Behat code <https://github.com/neos/neos-development-
collection/pull/2382>`_
* Packages: ``BaseMixins`` ``Browser`` ``ContentRepository`` ``Neos``
`BUGFIX: Improve performance in assetCollection operations <https://github.com/n
eos/neos-development-collection/pull/2376>`_
This changes how it is checked if an asset is contained
in an asset collection in order to improve performance.
It changes the complexity of O(n) while n is the amount of assets in an asset co
llection to O(n) where n is the amount of collections of an asset with the assum
ption that an asset has far less collections than a collection has assets.
close #2375
* Packages: ``BaseMixins`` ``Media`` ``Neos``
`!!!TASK: Upgrade to latest neos/behat version <https://github.com/neos/neos-dev
elopment-collection/pull/2343>`_
Test distribution for travis:
https://travis-ci.com/johannessteu/neos-development-distribution/builds/97495679
* Packages: ``Neos``
`!!! TASK: Tweak CR Value Objects <https://github.com/neos/neos-development-coll
ection/pull/2362>`_
for better type safety and interoperability
* Packages: ``ContentRepository``
`BUGFIX: Avoid server-error when invalid/deleted identifiers are passed to the n
ode service <https://github.com/neos/neos-development-collection/pull/2365>`_
When invalid node-identifiers, are passed to the node-service it mapped the list
of identifier to the getNodeByIdentifier call, which rightly returned null. Thi
s is triggered especially in the LinkEditor when nodes are referenced that have
been deleted in the meantime.
Since the result was not filtered the list containing a mix of null-values and n
odeInterfaces is passed to the template of the nodeService where an error is tri
ggered inside the `neos:node.closestDocument` view helper.
This error in turn triggers the ui showing a red error box with the html content
of the server-error that confused editors and is not helpful at all.
The fix applies array_filter to the nodes array to avoid passing `null` nodes to
the template.
* Packages: ``Neos``
`BUGFIX: Render missing icons in old ui parts <https://github.com/neos/neos-deve
lopment-collection/pull/2349>`_
This is a backport of `b742d9e997a03f9fe343f8fa1fd3e5d42c94a5f0 <https://github.
com/neos/neos-development-collection/commit/b742d9e997a03f9fe343f8fa1fd3e5d42c94
a5f0>`_ of #2311 and `4a62c8958496454991287ada1df8c692ffcc3d8f <https://github.c
om/neos/neos-development-collection/commit/4a62c8958496454991287ada1df8c692ffcc3
d8f>`_ of #2261 which fixes (most?) missing icons in 4.1.
* Packages: ``Browser`` ``Neos``
`BUGFIX: Revert "BUGFIX: Asynchronous and presets for media browser thumbnails"
<https://github.com/neos/neos-development-collection/pull/2364>`_
Reverts neos/neos-development-collection#2331
* Packages: ``Browser`` ``Fusion``
`BUGFIX: Handle maximum cache lifetime of 0 <https://github.com/neos/neos-develo
pment-collection/pull/2300>`_
If a cached prototype had a `maximumLifetime` of 0
configured, which is meant as infinite cache
lifetime, this value is propagated upwards to all
surrounding prototypes as it is the selected
as minimum value
* Packages: ``Fusion`` ``Neos``
`TASK: Adjust behavior of NodePropertyConverterServiceTest <https://github.com/n
eos/neos-development-collection/pull/2359>`_
This adjusts the complexTypesWithGivenTypeConverterAreConvertedByTypeConverter
of NodePropertyConverterServiceTest to behave as if the new UI is installed
which is insalled when test are run on CI and probably the case in all
other installations.
* Packages: ``ContentRepository`` ``Neos``
`TASK: Fix documentation example for toggling visibility of properties in inspec
tor <https://github.com/neos/neos-development-collection/pull/2334>`_
I updated the example for *"Hiding one property when the other one is not set"*
in the *"Dynamic Client-side Configuration Processing"* docs (https://neos.readt
hedocs.io/en/stable/CreatingASite/NodeTypes/DynamicConfigurationProcessing.html)
. The example didn't work, as stated here (https://github.com/neos/neos-ui/pull/
2118#issuecomment-441986052), but the "hidden" property has been introduced with
https://github.com/neos/neos-ui/pull/2118.
* Packages: ``Browser`` ``Neos``
`BUGFIX: Add cache control header to xliffAsJsonAction <https://github.com/neos/
neos-development-collection/pull/2357>`_
This is needed to get rid of https://github.com/neos/neos-ui/blob/`2239fe5465a84
971d6aa6a94ea2f7a058959bf59 <https://github.com/neos/neos-development-collection
/commit/2239fe5465a84971d6aa6a94ea2f7a058959bf59>`_/Classes/Aspects/XliffConfigu
rationCacheHeaderAspect.php in the Neos UI
* Packages: ``Browser`` ``Neos``
`BUGFIX: change aside bar in media browser for many tags <https://github.com/neo
s/neos-development-collection/pull/2352>`_
It's unfortunate, that the interactive fields are below the gallery, if the edit
ors use too many tags in the media browser. It results in the odd behavior that
the search bar is at the bottom of the page and limits the usability:
!`aside-bar-at-bottom <https://user-images.githubusercontent.com/6552092/5161869
2-063b8a00-1f2f-11e9-8477-68e7da329749.png>`_
I understand that it quickly turns unsightly, if there are too many tags in the
side bar, but I've noticed that if we use the button-style tags, rather than the
tag list in the aside-bar, it works out quite nicely:
!`aside-bar-to-the-left <https://user-images.githubusercontent.com/6552092/51618
693-063b8a00-1f2f-11e9-8f96-cac9f0b82e5e.png>`_
* Packages: ``Browser`` ``Neos``
`BUGFIX: Removed super types can be added again regardless of order <https://git
hub.com/neos/neos-development-collection/pull/2272>`_
I noticed the order of `superTypes` being of importance in one special case: re-
adding a super type removed by a super type.
There already was a test, but it didn't catch one case: the re-addition being po
sitioned **before** the super type where it was removed. Run the same test with
only the changes in `NodeTypeTest.php <https://github.com/neos/neos-development-
collection/pull/2272/files#diff-960a57534a39e75dc45c37535d2ba971R108>`_ and you'
ll get a `failed test <https://travis-ci.org/ComiR/neos-development-collection/j
obs/454551553>`_.
By making the Method `addInheritedSuperTypes()` `static` and slightly modifying
it to not handing over the array, I could get rid of `buildInheritanceChain()` c
ompletely and renamed the method to `getFlattenedSuperTypes()`.
The `array_unique()` present before wasn't useful anyway because the array was a
lready indexed by the node type names.
As a reminder: The visibility is determined by class and not by object. You can
just call `$nodeType->declaredSuperTypes`, even if it is another object (of the
same class of course)!
Since I started working on the `master` branch, there also is a version for that
: https://github.com/ComiR/neos-development-collection/commit/`a8076ae958676e130
9a4e33a51491d3204847239 <https://github.com/neos/neos-development-collection/com
mit/a8076ae958676e1309a4e33a51491d3204847239>`_.
* Packages: ``ContentRepository``
`Add Pull Reminders badge <https://github.com/neos/neos-development-collection/p
ull/2335>`_
Hi everyone!
Over 500 open-source organizations (like yours) use `Pull Reminders <http://pull
reminders.com>`_ for free. We've created this README badge so we can hopefully d
rive some traffic back to our website and continue sustainably providing free ac
counts to open-source orgazniations. Let me know if you have any concerns about
adding it. Here's `more information <https://pullreminders.com/badge>`_ about t
he badge program.
`FEATURE: Hide property "target" of Neos.Neos.ShortCut depending on targetMode <
https://github.com/neos/neos-development-collection/pull/2303>`_
*What I did/How I did it*
I added configuration to the shortcut nodetype definition to hide the target-pro
perty in the UI when targetMode is not "selectedTarget"
*How to verify it*
Insert a shortcut node. You should not see the target-property untill you change
the targetMode to "selectedTarget"
* Packages: ``Neos``
`BUGFIX: Asynchronous and presets for media browser thumbnails <https://github.c
om/neos/neos-development-collection/pull/2331>`_
Fixes the usage of the `asyncThumbnails` option in the media browser
along with using the thumbnail preset to improve performance of the
media browser and avoid additional thumbnails being generated.
* Fixes: `#2330 <https://github.com/neos/neos-development-collection/issues/2330
>`_
* Packages: ``Browser``
`BUGFIX: Allow primary domains to be removed via CLI <https://github.com/neos/ne
os-development-collection/pull/2345>`_
* Fixes: `#2344 <https://github.com/neos/neos-development-collection/issues/2344
>`_
* Packages: ``Neos``
`BUGFIX: Deletion of backend users <https://github.com/neos/neos-development-col
lection/pull/2323>`_
**What I did**
Backend users can now be deleted, even if they have a private workspace.
**How I did it**
Wrap deletePersonalWorkspace() in withoutAuthorizationChecks.
**How to verify it**
Create a backend user, log in and edit something. Log in as administrator and de
lete this user.
* Fixes: `#926 <https://github.com/neos/neos-development-collection/issues/926>`
_
@nezaniel
* Packages: ``Neos``
`BUGFIX: Copyrightnotice migration for postgres needs default value <https://git
hub.com/neos/neos-development-collection/pull/2342>`_
* Resolves: `#2333 <https://github.com/neos/neos-development-collection/issues/2
333>`_
* Packages: ``Media`` ``Neos``
`TASK: Add new nodeTagForIdentifier() method to CachingHelper <https://github.co
m/neos/neos-development-collection/pull/2340>`_
* Resolves: `#2339 <https://github.com/neos/neos-development-collection/issues/2
339>`_
* Packages: ``Browser`` ``Neos``
`TASK: Remove useless ternary operator use <https://github.com/neos/neos-develop
ment-collection/pull/2338>`_
The issue described in #2337 is not as bad as it seems. In fact, the
ternary operation is useless *and* no longer needed. The filtering is
applied via `applyAssetCollectionFilterFromBrowserState()` already.
* Resolves: `#2337 <https://github.com/neos/neos-development-collection/issues/2
337>`_
* Packages: ``Browser`` ``Neos``
`Add deprecation annotations to methods that will be removed <https://github.com
/neos/neos-development-collection/pull/2332>`_
Adds `@deprecated` annotations to methods from `NodeInterface`
and `Node` that will be replaced/removed with the CR rewrite.
* Packages: ``ContentRepository`` ``Neos``
`TASK: Update 3rd party dependency constraints <https://github.com/neos/neos-dev
elopment-collection/pull/2318>`_
This allows semantically non-breaking updates for a number of 3rd
party dependencies. It includes PR #2299 and is related to
neos/flow-development-collection#1481
It makes `ImportedAsset` a non-final class to allow Doctrine to create
a proxy for it.
* Packages: ``Media``
`WIP: TASK: Cleanup Node and TraversableNode interfaces <https://github.com/neos
/neos-development-collection/pull/2288>`_
* Introduce `TraversableNodes` as replacement for `array<TraversableNodeInterfac
e>`
* Replace nullable param and return types where possible
* Add missing (return) type annotations
* Packages: ``ContentRepository``
`BUGFIX: Fix example in the documentation <https://github.com/neos/neos-develop
ment-collection/pull/2319>`_
`Neos.Fusion:Loop` had a incorrect example using the old Fusion prototype name
* Packages: ``Browser`` ``Neos``
`BUGFIX: Don't create duplicate auto-created child nodes <https://github.com/neo
s/neos-development-collection/pull/2307>`_
This checks for existing auto-created child nodes before they
are created in `createVariantForContext($context)`.
* Fixes: `#782 <https://github.com/neos/neos-development-collection/issues/782>`
_
* Packages: ``ContentRepository`` ``Neos``
`BUGFIX: Fix wrong Neos.Fusion:Map prototype name <https://github.com/neos/neos-
development-collection/pull/2315>`_
This changes the wrong prototype name from `Neos.Fusion:Maping` to `Neos.Fusion:
Map`
* Fixes: `#2313 <https://github.com/neos/neos-development-collection/issues/2313
>`_
* Packages: ``Fusion`` ``Neos``
`BUGFIX: Broken layout in media browser when using more than 25 tags <https://gi
thub.com/neos/neos-development-collection/pull/2312>`_
This change just updates the compiled css and the scss source was already correc
t.
* Packages: ``Browser``
`BUGFIX: Render icons in old ui parts <https://github.com/neos/neos-development-
collection/pull/2311>`_
The old ui and some dialogs still use the old fontawesome integration and broke
due to the last fontawesome update as the mixins changed.
* Packages: ``Browser``
`BUGFIX: Continue in switch targets surrounding foreach <https://github.com/neos
/neos-development-collection/pull/2309>`_
* Packages: ``ContentRepository``
`BUGFIX: Return complete Neos.Fusion:Debug / DebugDump <https://github.com/neos/
neos-development-collection/pull/2253>`_
* Solves: `#2176 <https://github.com/neos/neos-development-collection/issues/217
6>`_
* Packages: ``Fusion`` ``Neos``
`TASK: Remove the feature list <https://github.com/neos/neos-development-collect
ion/pull/2306>`_
According to neos/documentation#8, feature list was removed. A redirect
on RTD has been added.
* Packages: ``Neos``
`TASK: Documentation tweaks <https://github.com/neos/neos-development-collection
/pull/2305>`_
This includes:
- TASK: Remove outdated toctree reverse setup
- TASK: Fix embedded rST markup in command controller
- TASK: Fix rST markup errors
- TASK: Remove user guide (is on neos.io now)
Resolves https://github.com/neos/documentation/issues/11
* Packages: ``Neos``
`BUGFIX: Use nodeType instead of documentNodeType in history translations <https
://github.com/neos/neos-development-collection/pull/2297>`_
In the history module, the translation uses the documents NodeType instead of th
e actually modified nodes NodeType.
Additionally, the `linkedNode` and `user` templates get trimmed to prevent ugly
spaces.
* Packages: ``Neos``
`BUGFIX: fix generation of i18n lables for the creationDialog <https://github.co
m/neos/neos-development-collection/pull/2164>`_
This fixes support for I18n labels of `editorOptions` in the `creationDialog`.
* Packages: ``Browser`` ``Neos``
`TASK: Add a hint for the user to avoid errors with incomplete site imports <htt
ps://github.com/neos/neos-development-collection/pull/2290>`_
This adds a little hint that avoids frequent errors with the site import command
crashing due to a memory limit, and users being confused about a breaky-looking
site.
* Packages: ``Neos``
`TASK: Add a helpful hint about the parameter expected for site:prune <https://g
ithub.com/neos/neos-development-collection/pull/2291>`_
With this, a tiny hint will show up if the site who should be pruned is not foun
d.
* Packages: ``Neos``
`BUGFIX: media:removeunused only works with limit flag <https://github.com/neos/
neos-development-collection/pull/2289>`_
This change fixes a regression introduced in `1804dc8e6edf79045fb318edf3e78c6e17
232658 <https://github.com/neos/neos-development-collection/commit/1804dc8e6edf7
9045fb318edf3e78c6e17232658>`_ where a new command line flag "--limit" was intro
duced. The command did not detect any unused assets unless the --limit flag was
specified, because the iteration would stop right away.
* Packages: ``Media``
`TASK: Continue during create missing child nodes if none defined <https://githu
b.com/neos/neos-development-collection/pull/2286>`_
In `createChildNodesByNodeType` there is no need to iterate nodes of
types that have no child nodes defined in their type.
* Packages: ``Browser`` ``ContentRepository``
`BUGFIX: Fix parameters of internal method call <https://github.com/neos/neos-de
velopment-collection/pull/2285>`_
The method `repairShadowNodes` calls `fixShadowNodesInWorkspace`
in turn. The call passes the `$nodeType` parameter in place of the
`$dryRun`.
This changes fixes that and corrects the return type annotation of
`fixShadowNodesInWorkspace` as well.
* Packages: ``Browser`` ``ContentRepository`` ``Neos``
`FEATURE: Health status and proper exit code for node:repair <https://github.com
/neos/neos-development-collection/pull/2278>`_
This is a backward compatible rework of the `node:repair` command.
This introduces a new `EventDispatchingNodeCommandControllerPluginInterface`
that can be implemented by NodeCommandControllerPlugins in order to
dispatch repair events instead of having to interact with the console
output directly.
The two provided core plugins now implement this interface and dispatch
corresponding events.
Background:
This rework allows the Command Controller to control the execution of tasks
and the rendering of their output which allows for a more streamlined
console output and serves as a basis for further improvements (e.g. verbosity
flag).
This also fixes the exit code of the command, that is now 1 if one of them
commands triggered an error.
* Resolves: `#1988 <https://github.com/neos/neos-development-collection/issues/1
988>`_
* Packages: ``ContentRepository`` ``Neos``
`TASK: Change login wallpaper for V 4.2 <https://github.com/neos/neos-developmen
t-collection/pull/2280>`_
Photographer: Daniel Bischoff
* Packages: ``Neos``
`TASK: Extract the methods \`\`render\`\`, \`\`prepare\`\` and \`\`getProps\`\`
from the \`\`evaluate\`\` method of the fusion ComponentImplementation <https://
github.com/neos/neos-development-collection/pull/2277>`_
This allows external packages to override those methods with aspects which, in t
urn, allows to implement things like CSS modules and propTypes. The behavior of
the fusion-component is not modified.
* Packages: ``Fusion`` ``Neos``
`[TASK] Fix missing space and capitalization <https://github.com/neos/neos-devel
opment-collection/pull/13>`_
* Packages: ``Afx``
`[TASK] Fix missing space and capitalization <https://github.com/neos/neos-devel
opment-collection/pull/13>`_
`Replace a few occurrences of TYPO3 with Neos <https://github.com/neos/neos-deve
lopment-collection/pull/2273>`_
This change replaces a few occurrences of "TYPO3" with "Neos",
mostly affecting code examples and documentation.
* Packages: ``Media`` ``Neos``
`TASK: Update FontAwesome Library from 5.2.0 to 5.5.0 <https://github.com/neos/n
eos-development-collection/pull/2261>`_
* Packages: ``Neos``
`BUGFIX: Revert supertype behaviour change <https://github.com/neos/neos-develop
ment-collection/pull/2265>`_
This reverts #2217, since it is potentially breaking.
In #2147 this was fixed for master, and for lower branches it was once fixed in
#2139 but reverted through #2145.
* Packages: ``ContentRepository`` ``Neos``
`TASK: Remove usage of deprecated Flow Logger and use PSR logger <https://github
.com/neos/neos-development-collection/pull/2259>`_
* Packages: ``Fusion`` ``Neos``
`BUGFIX: Remove duplicated packageManager in WorkspacesController <https://githu
b.com/neos/neos-development-collection/pull/2268>`_
* Packages: ``Browser`` ``ContentRepository`` ``Neos``
`TASK: Catch error XMLReader when opening XML in site:import <https://github.com
/neos/neos-development-collection/pull/2267>`_
This adds handling of XMLReaders open() returning false
during site import.
* Fixes: `#2199 <https://github.com/neos/neos-development-collection/issues/2199
>`_
* Packages: ``Neos``
`TASK: Apply fixes from StyleCI <https://github.com/neos/neos-development-collec
tion/pull/2266>`_
This pull request applies code style fixes from an analysis carried out by `Styl
eCI <https://github.styleci.io>`_.
* Packages: ``Browser`` ``ContentRepository`` ``Neos``
`BUGFIX: Do not cache non-existing accounts <https://github.com/neos/neos-develo
pment-collection/pull/2247>`_
When creating a new user and retrieving it within the same request from the user
service will result in `null` even though, the user has been created successful
ly. This happens because of an error in the internal runtime cache.
This regression was introduced in:
https://github.com/neos/neos-development-collection/commit/`dce483f9b0d17e347877
7270eadebebbaca0d2dd <https://github.com/neos/neos-development-collection/commit
/dce483f9b0d17e3478777270eadebebbaca0d2dd>`_
Since this is broken in the most recent bugfix release, I would like to propose
to merge this into 2.3. (which is otherwise only open for security fixes).
`[TASK] Adapt Neos composer.json to new installer script <https://github.com/neo
s/neos-development-collection/pull/18>`_
Adapts the Neos composer.json to the new configuration for
installer resources that works with joined repositories.
The old configuration (which won't be used anymore) is
kept for backwards compatibility reasons but should be removed
soon.
* Packages: ``Afx``
`[TASK] Adapt Neos composer.json to new installer script <https://github.com/neo
s/neos-development-collection/pull/18>`_
Adapts the Neos composer.json to the new configuration for
installer resources that works with joined repositories.
The old configuration (which won't be used anymore) is
kept for backwards compatibility reasons but should be removed
soon.
`BUGFIX: Allow pinnedDimension argument on itemLabel to be null <https://github.
com/neos/neos-development-collection/pull/2262>`_
This fixes a regression not caught by https://github.com/neos/neos-development-c
ollection/pull/2092
* Packages: ``Neos``
`BUGFIX: Return copyright in imageVariant <https://github.com/neos/neos-developm
ent-collection/pull/2260>`_
* Packages: ``Media`` ``Neos``
`BUGFIX: Limit image view in media browser to image <https://github.com/neos/ne
os-development-collection/pull/2257>`_
The image list view in the media browser list only image assets and
disable the rendering of the filter in the UI. So the asset type can
not changed in the image view.
* Fixes: `#2255 <https://github.com/neos/neos-development-collection/issues/2255
>`_
* Packages: ``Browser`` ``Neos``
`BUGFIX: Set min-height to make errors visible <https://github.com/neos/neos-dev
elopment-collection/pull/2254>`_
Solves Issue #2237
* Packages: ``Neos``
`TASK: Adjust XSD domain to neos.io <https://github.com/neos/neos-development-co
llection/pull/1860>`_
Set the correct XSD domain in the documentation.
* Resolves: `#1859 <https://github.com/neos/neos-development-collection/issues/1
859>`_
* Packages: ``Media`` ``Neos``
`TASK: Replace legacy logger with psrLogger in media <https://github.com/neos/ne
os-development-collection/pull/2239>`_
* Packages: ``Media``
`TASK: Redirect through Neos.Ui package if it is installed <https://github.com/n
eos/neos-development-collection/pull/2251>`_
The link to open a document node in edit view is not working with the React UI.
This
change fixes that.
resolves #2081
* Packages: ``Neos``
`TASK: Refactor instances of logger to psrLogger <https://github.com/neos/neos-d
evelopment-collection/pull/2244>`_
Refactor usages of the deprecated systemLogger to
the PSR system logger.
Fix some code style issues along the way.
* Packages: ``Neos``
`TASK: Redirect through Neos.Ui package if it is installed <https://github.com/n
eos/neos-development-collection/pull/2245>`_
The link to open a document node in edit view is not working with the React UI.
This
change fixes that.
resolves #2081
* Packages: ``Neos``
`FEATURE: Add Fusion prototypes \`Join\`, \`Loop\`, \`Map\`, \`Reduce\` and \`Da
taStructure\` <https://github.com/neos/neos-development-collection/pull/2189>`_
The difference between ``RawArray``, ``Array``, ``RawCollection`` and ``Collecti
on`` was often hard to get for new developers. To overcome this, the old confusi
ng names are deprecated, and new prototypes are introduced which are easier to u
nderstand and emphasize the declarative nature of Fusion.
``Neos.Fusion:Join``
The prototype concatenates the fusion values of all fusion-properties and return
s the result as a string. This prototype replaces ``Neos.Fusion:Array`` which is
deprecated.
In addition to the behavior of the ``Array`` ``Join`` allows to define the ``@gl
ue`` used for concatenating the parts.
``Neos.Fusion:Loop``
The ``Loop`` prototype iterates over the given items with the itemRenderer and r
eturns the concatenated result as a string. The prototype replaces ``Neos.Fusion
:Collection`` which is deprecated.
Other than in ``Collection`` the items are passed with the key ``items`` instead
of ``collection``.
In addition to the behavior of the classic ``Collection`` ``Loop `` allows defi
ning the ``@glue`` used for concatenating the items.
``Neos.Fusion:DataStructure``
The ``DataStructure`` prototype returns an associative array with all fusion key
s evaluated. The prototype replaces ``Neos.Fusion:RawArray`` which is deprecated
.
``Neos.Fusion:Map``
The ``Map`` iterates over the given ``items`` and returns the result as an array
. The prototype replaces ``Neos.Fusion:RawCollection`` which is deprecated.
Other than ``RawCollection`` the items are passed with the key ``items`` instead
of ``collection`` and the keys of the given ``items`` are preserved.
``Neos.Fusion:Reduce``
The `Neos.Fusion:Reduce` prototype is added which reduces the given items to a s
ingle value by using ``itemRenderer`` with the following properties.
- `items` (array/Iterable, **required**) The array or iterable to iterate over
- `itemName`: (string, defaults to `item`) Context variable name for each item
- `itemKey`: (string, defaults to `itemKey`) Context variable name for each item
key, when working with an array
- `carryName`: (string, defaults to `carry`) Context variable that contains the
result of the last iteration
- `iterationName`: (string, defaults to `iterator`) A context variable with iter
ation information will be available under the given name: ``index`` (zero-based)
, ``cycle`` (1-based), ``isFirst``, ``isLast``
- `itemReducer`: (mixed, **required**) The reducer definition (simple value, exp
ression or object) that will be applied for every item.
- `initialValue`: (mixed, defaults to `null`) The value that is passed to the fi
rst iteration or returned if the items are empty
* Packages: ``Fusion`` ``Neos``
`TASK: Apply fixes from StyleCI <https://github.com/neos/neos-development-collec
tion/pull/2249>`_
This pull request applies code style fixes from an analysis carried out by `Styl
eCI <https://github.styleci.io>`_.
* Packages: ``Browser`` ``Neos``
`Apply fixes from StyleCI <https://github.com/neos/neos-development-collection/p
ull/2248>`_
This pull request applies code style fixes from an analysis carried out by `Styl
eCI <https://github.styleci.io>`_.
* Packages: ``Browser`` ``Neos``
`FEATURE: Allow deletion of users from edit view <https://github.com/neos/neos-d
evelopment-collection/pull/2228>`_
The user list already allows deleting users, and so does the detail
view (show action). With this change, admins can delete users also
from the *edit* form.
* Packages: ``ContentRepository`` ``Neos``
`FEATURE: Extend the asset model by a copyright notice <https://github.com/neos/
neos-development-collection/pull/2240>`_
This extends the asset model by a `copyrightNotice` field.
This field is automatically populated from the `copyrightNotice` IPTC
property when an asset is imported from an asset source.
* Resolves: `#2064 <https://github.com/neos/neos-development-collection/issues/2
064>`_
* Packages: ``Browser`` ``Neos``
`FEATURE: Asset Sources support for Asset Editor <https://github.com/neos/neos-d
evelopment-collection/pull/2200>`_
This change introduces the necessary backend code for enabling the Asset Editor
(in the user interface's inspector panel) to use asset sources. A user can now s
earch for assets which are stored in asset sources and import them on the fly.
* Resolves: `#2198 <https://github.com/neos/neos-development-collection/issues/2
198>`_
* Packages: ``Browser`` ``Media`` ``Neos``
`FEATURE: Add \`\`@apply\`\` meta-keyword to the Fusion-language <https://github
.com/neos/neos-development-collection/pull/2192>`_
``@apply`` allows overriding multiple properties of a fusion-prototype with a si
ngle expression. This is useful when complex data structures are mapped to fusio
n prototypes.
The example shows the rendering of a ``teaserList``-array by using a Teaser-Comp
onent and passing all keys from each teaser to the fusion Object.
```
teasers = Neos.Fusion:Collection {
collection = ${teaserList}
itemName = 'teaser'
itemRenderer = Vendor.Site:Teaser {
@apply.teasers = ${teaser}
}
}
```
The code avoids passing down each fusion-property explicitly to the child compon
ent. A similar concept with a different syntax from the JavaScript world is know
n as ES6-Spreads.
Another use-case is to use ``Neos.Fusion:Renderer`` to render a prototype while
type and properties are based on data from the context.
```
example = Neos.Fusion:Renderer {
type = ${data.type}
element.@apply.properties = ${data.properties}
}
```
That way some meta-programming can use in fusion and both prototype and properti
es are decided late in the rendering by the fusion runtime.
The keys below ``@apply`` are evaluated before the fusion-object and the ``@cont
ext`` and are initialized. Each key below ``@apply`` must return a key-value map
(values other than an array it is ignored). During the evaluation of each fusio
n-path, the values from ``@apply`` are always checked first.
If a property is defined via ``@apply`` this value is returned without evaluatin
g the `fusionPath`.
The ``@process`` and ``@if``-rules of the original fusion-key are still applied
even if a value from ``@apply`` is returned.
Since ``@apply`` is evaluated first the overwritten values are already present d
uring the evaluation of ``@context`` and will overlay the properties of ``this``
if they are accessed.
``@apply`` supports the same extended syntax and ordering as fusion processors a
nd supports multiple keys. The evaluation order is defined via ``@position``, th
e keys that are evaluated last will override previously defined keys. This is al
so similar to the rules for ``@process``.
```
test = Vendor.Site:Prototype {
@apply.contextValue {
@position = 'start'
expression = ${ arrayValueFromContext }
}
@apply.fusionObject {
@position = 'end'
expression = Neos.Fusion:RawArray {
value = "altered value"
}
}
}
```
Other than ``@context`` ``@apply`` is only valid for a single fusion path, so wh
en subpaths or children are rendered they are not affected by the parents ``@app
ly`` unless they are explicitly passed down.
* Packages: ``Browser`` ``Fusion`` ``Neos``
`[TASK] Security warning about public Neos demo site <https://github.com/neos/ne
os-development-collection/pull/12>`_
* Packages: ``Afx``
`[TASK] Security warning about public Neos demo site <https://github.com/neos/ne
os-development-collection/pull/12>`_
`BUGFIX: NodeType->isOfType() respects explicitly removed supertypes <https://gi
thub.com/neos/neos-development-collection/pull/2217>`_
`NodeType->isOfType()` returned `true` if a node type inherited another node typ
es inherited node type which was declared as `false` in the NodeTypes `superType
s`.
Check existence of node type in inheritance chain instead of recursing through s
uper types.
* Packages: ``AssetList`` ``BaseMixins`` ``Browser`` ``ColumnLayouts`` ``Content
References`` ``ContentRepository`` ``Form`` ``Html`` ``Navigation`` ``Neos`` ``N
odeTypes``
`BUGFIX: Fix SCSS import for Fontawesome files <https://github.com/neos/neos-dev
elopment-collection/pull/2196>`_
This fixes an issue in Neos.scss which referred to wrong filenames
for importing Fontawesome styles.
* Packages: ``Browser`` ``Neos``
`BUGFIX: Fix SCSS import for Fontawesome files <https://github.com/neos/neos-dev
elopment-collection/pull/2195>`_
This fixes an issue in Neos.scss which referred to wrong filenames
for importing Fontawesome styles.
* Packages: ``Browser`` ``Neos``
`BUGFIX: FileTypeIconViewHelper should work with new $asset argument <https://gi
thub.com/neos/neos-development-collection/pull/2191>`_
If the newly added `$asset` argument is used, it's ignored and overridden to the
deprecated `$file` argument.
* Resolves: `#2186 <https://github.com/neos/neos-development-collection/issues/2
186>`_
* Packages: ``AssetList`` ``BaseMixins`` ``Browser`` ``ColumnLayouts`` ``Content
References`` ``Form`` ``Html`` ``Media`` ``Navigation`` ``Neos`` ``NodeTypes``
`BUGFIX: Fix typo in cache documentation <https://github.com/neos/neos-developme
nt-collection/pull/2194>`_
**What I did**
Fixed a small typo in the caching documentation.
**How I did it**
**How to verify it**
* Packages: ``AssetList`` ``BaseMixins`` ``Browser`` ``ColumnLayouts`` ``Content
References`` ``Form`` ``Html`` ``Navigation`` ``Neos`` ``NodeTypes``
`TASK: Moved editor documentation to neos.io <https://github.com/neos/neos-devel
opment-collection/pull/2112>`_
See also https://discuss.neos.io/t/refactoring-the-neos-user-guide/3256
* Packages: ``Browser`` ``Neos``
`BUGFIX: Fix condensed layout in Media Browser <https://github.com/neos/neos-dev
elopment-collection/pull/2181>`_
**What I did**
Fixed the condensed layout of the media browser added when having more than 25 t
ags.
Regression of #1745
**How to verify it**
Have more than 25 tags or add the class `neos-media-aside-condensed` to the div
with the class `neos-media-content`.
* Packages: ``Browser``
`BUGFIX: Avoid fatal error when asset not available <https://github.com/neos/neo
s-development-collection/pull/2177>`_
This fixes what is basically a merge error. It lead to a method call
on an unset variable.
* Packages: ``Browser``
`BUGFIX: Use the possible new node name to check it's existance in the move to l
ocation <https://github.com/neos/neos-development-collection/pull/2161>`_
The NodeExistsException was thrown even if the new nodeName does not exist in th
e new location, because only the old nodeName was checked.
Affected Versions: 3.3+ (I did not check the previous versions because it's not
security critical)
* Packages: ``Browser`` ``ContentRepository`` ``Neos``
`BUGFIX: Add missing Layout to access mediabrowser from inspector <https://githu
b.com/neos/neos-development-collection/pull/2171>`_
This fix a regressing introduced by https://github.com/neos/neos-development-col
lection/pull/1745
* Fixes: `#2170 <https://github.com/neos/neos-development-collection/issues/2170
>`_
* Packages: ``Browser`` ``Neos``
`TASK: Update FontAwesome to version 5.2.0 <https://github.com/neos/neos-develop
ment-collection/pull/2160>`_
Updated the font awesome assets to the latest version.
* Resolves: `#2159 <https://github.com/neos/neos-development-collection/issues/2
159>`_
* Packages: ``Neos``
`BUGFIX: Remove accidental space in code migration <https://github.com/neos/neos
-development-collection/pull/2158>`_
Otherwise prototypes won't get migrated.
* Packages: ``Fusion``
`TASK: Minor fixes in command documentation <https://github.com/neos/neos-develo
pment-collection/pull/2155>`_
Fixes wrong order in documentation and adds missing task name
* Packages: ``Browser`` ``Neos``
`BUGFIX: Add null checks to Asset::getAssetProxy() <https://github.com/neos/neos
-development-collection/pull/2154>`_
* Fixes: `#2153 <https://github.com/neos/neos-development-collection/issues/2153
>`_
* Packages: ``Media`` ``Neos``
`BUGFIX: Fix NodeTypes.schema.yaml broken by merge <https://github.com/neos/neos
-development-collection/pull/2151>`_
Fixes a merge regression introduced with `0481f5980fa64810178827b9d02a68b88caaf5
52 <https://github.com/neos/neos-development-collection/commit/0481f5980fa648101
78827b9d02a68b88caaf552>`_
* Packages: ``Browser`` ``Media`` ``Neos``
`BUGFIX: Unable to replace asset from the media browser <https://github.com/neos
/neos-development-collection/pull/2142>`_
This change add a missing use statement for `Neos\\RedirectHandler\\Storage\\Red
irectStorageInterface` in `AssetService`. With this statement the replacement of
an asset from the medialib browser is not possible.
This bug affect user with the RedirectHandler package, without this package the
replacement works fine.
* Packages: ``Media`` ``Neos``
`BUGFIX: Fix DocTools settings <https://github.com/neos/neos-development-collect
ion/pull/2148>`_
The settings were defined in the wrong namespace and still used `TYPO3` in
some places.
* Packages: ``Media``
`Revert "BUGFIX: Respect disabled superTypes when filtering by Node Type" <https
://github.com/neos/neos-development-collection/pull/2145>`_
Reverts neos/neos-development-collection#2139 which fixes invalid
behavior but introduced a breaking change.
I will add another PR against the `master` branch to have this in the
next minor release though.
* Packages: ``ContentRepository`` ``Neos``
`FEATURE: Friendlier error pages for setup / missing homepage <https://github.co
m/neos/neos-development-collection/pull/2136>`_
**What I did**
Changed the error template for "database error" and "missing homepage" to a frie
ndly welcome message, since most users are irritated by the big fat "database er
ror" we greet them with currently.
Old:
!`image <https://user-images.githubusercontent.com/10347669/43719553-4f510a70-99
8e-11e8-8016-3013a109a2e5.png>`_
!`image <https://user-images.githubusercontent.com/10347669/43719580-5ddb703a-99
8e-11e8-8812-2cacdf558728.png>`_
New:
!`image <https://user-images.githubusercontent.com/10347669/43719599-6f93af0e-99
8e-11e8-95f6-fe53c9c27139.png>`_
!`image <https://user-images.githubusercontent.com/10347669/43719624-7abda240-99
8e-11e8-8309-53003a107390.png>`_
* Packages: ``BaseMixins`` ``Neos``
`BUGFIX: Respect disabled superTypes when filtering by Node Type <https://github
.com/neos/neos-development-collection/pull/2139>`_
This fixes `NodeType::isOfType()` to return `false` when the given
type is explicitly disabled by the corresponding NodeType or one of
it's super types.
Example:
'Acme:Animal':
superTypes:
'Acme:HasBonesMixin': true
'Acme:Jellyfish':
superTypes:
'Acme:Animal': true
'Acme:HasBonesMixin': false
With this `NodeTypeManager::getNodeType('Acme.Jellyfish')->isOfType('Acme:HasBon
esMixin')`
should return `false` but it didn't.
Respectively a FlowQuery like the following should not return any "Jellyfish"-no
de (or
nodes with a sub-type): `q(node).find('[instanceof Acme:HasBonesMixin]')` but it
did.
* Fixes: `#1983 <https://github.com/neos/neos-development-collection/issues/1983
>`_
* Packages: ``ContentRepository``
`BUGFIX: Workspace preview only creates thumbnails for images <https://github.co
m/neos/neos-development-collection/pull/2138>`_
* Packages: ``Fusion`` ``Neos``
`BUGFIX: Fix caching of sub node types in NodeTypeManager <https://github.com/ne
os/neos-development-collection/pull/2127>`_
The method `NodeTypeManager->getSubNodeTypes(...)` cached results
regardless of the `$includeAbstractNodeTypes` flag. This causes issues
where the first invocation caches results including / not including abstract
node types for further invocations with different flag values.
* Fixes: `#2126 <https://github.com/neos/neos-development-collection/issues/2126
>`_
* Packages: ``ContentRepository`` ``Neos``
`BUGFIX: Add missing support for inline.editorOptions.placeholder i18n <https://
github.com/neos/neos-development-collection/pull/2125>`_
This adds the possibility to use i18n translation text at inline properties gene
rated with the new inline.editorOptions property.
This is a follow on of #2120
`FEATURE: Add progress and time to workspace:publish command <https://github.com
/neos/neos-development-collection/pull/2111>`_
**What I did**
Added a timestamp and progress indicator to the publish command of the Workspace
CommandController
**How I did it**
**How to verify it**
./flow workspace:publish --workspace foo --verbose
* Packages: ``BaseMixins`` ``Browser`` ``Neos`` ``NodeTypes``
`BUGFIX: Fix readonly asset source action buttons <https://github.com/neos/neos-
development-collection/pull/2119>`_
This fixes an issue with the action buttons shown in the list view
of the media browser. The buttons were not referenced correctly to
the respective line if the asset source was a read-only source, which
resulted in only one "view" button being shown for the whole list of
assets.
* Packages: ``BaseMixins`` ``Browser`` ``Neos`` ``NodeTypes``
`TASK: Corrected description of the slice operation <https://github.com/neos/neo
s-development-collection/pull/2117>`_
Resolves issue #1322
Corresponds to PR #2113, but for Neos 2.3
`TASK: Un-remove removed auto created child nodes in node repair <https://github
.com/neos/neos-development-collection/pull/1995>`_
When running the `createMissingChildNodes` in the `node:repair` command, check i
f a child node exists but has been removed, and if so un-remove it.
`BUGFIX: Fix docs formatting typo <https://github.com/neos/neos-development-coll
ection/pull/2114>`_
* Packages: ``Browser`` ``Neos``
`FEATURE: CacheEntries should respect the workspace they rely on <https://github
.com/neos/neos-development-collection/pull/2097>`_
* Resolves: `#2096 <https://github.com/neos/neos-development-collection/issues/2
096>`_
- [X] CacheHelper should prefix the Workspace correct
- [X] Use the CachingHelper instead of Hardcoded Tags
- [x] ContentCacheFlusher should generate correct Tags to flush
- [x] Update Documentation
- [x] Check if some code migrations are possible
* Packages: ``Neos``
`TASK: Support --node-type for orphanRemoval in node:repair <https://github.com/
neos/neos-development-collection/pull/2053>`_
The oprhanRemoval in `node:repair` ignored the `--node-type` flag, leading
to confusion. This adds the needed code to use a given node type flag.
* Packages: ``Browser`` ``ContentRepository`` ``Neos``
`TASK: Refactor AssetController in the Media Browser <https://github.com/neos/ne
os-development-collection/pull/2110>`_
This change is first iteration to refactor the AssetController and make it slime
r and easier to work with. The current AssetController as a lots of responsabili
ty. This first step extract the relatedNodes action to a specific controller. We
need to forward the request from the AssetController, because of how we use the
routing in backend module
* Packages: ``Browser`` ``Neos``
`TASK: Change all uppercase TRUE and FALSE to lowercase in YAML <https://github.
com/neos/neos-development-collection/pull/2098>`_
This was a thing at some time I remember and I've found many leftover uppercase
true and false.
* Packages: ``ContentRepository`` ``Fusion`` ``Neos``
`TASK: Change all uppercase TRUE and FALSE to lowercase in PHP <https://github.c
om/neos/neos-development-collection/pull/2099>`_
This was a thing at some time I remember and I've found many leftover uppercase
true and false.
related to #2098
* Packages: ``ContentRepository``
`TASK: Change all uppercase TRUE and FALSE to lowercase in fusion <https://githu
b.com/neos/neos-development-collection/pull/2100>`_
This was a thing at some time I remember and I've found many leftover uppercase
true and false.
related to #2098
* Packages: ``Fusion`` ``Neos``
`TASK: Adapt adjusted NodeTypes from UI-package <https://github.com/neos/neos-de
velopment-collection/pull/2105>`_
As the UI package adjusted some NodeTypes and the old UI
is deprecated since 4.0 we can put this into the original
NodeType configuration
related: https://github.com/neos/neos-ui/pull/1925
* Packages: ``Neos``
`TASK: Remove lastModified as it is not used anywhere <https://github.com/neos/n
eos-development-collection/pull/2106>`_
As @kitsunet figured out this property should be removed completely as it is not
used in any way.
* Packages: ``Media``
`TASK: Enhance Code quality <https://github.com/neos/neos-development-collection
/pull/2102>`_
I enhanced code quality with stuff I noticed and grouped them by commit, should
be pretty clear (:
* Packages: ``Media`` ``Neos``
`TASK: Remove unneeded ternerary operation <https://github.com/neos/neos-develop
ment-collection/pull/2101>`_
I've found this while going through the code ...
I think there is no reason for this operation
* Packages: ``ContentRepository``
`DOCS: Add accept option to Asset- and Image-Editor <https://github.com/neos/ne
os-development-collection/pull/2093>`_
Documenting the new `accept`-option.
See: https://github.com/neos/neos-ui/pull/1900
* Packages: ``Neos``
`BUGFIX: Fix regression in dimension menu introduced by #1159 <https://github.co
m/neos/neos-development-collection/pull/2092>`_
This fixes a regression in dimension menu (introduced by #1159) by
adding `null` as default arguments back in.
* Packages: ``Neos``
`TASK: Fix sorting icon <https://github.com/neos/neos-development-collection/pul
l/2040>`_
null
* Packages: ``Browser``
`BUGFIX: Adjust NodeTypes.schema.yaml in Neos.Neos <https://github.com/neos/neos
-development-collection/pull/2080>`_
Allows to omit some keys that are often (correctly) left out.
* Packages: ``Browser`` ``Neos``
`TASK: Fix documentation for inline.editorOptions <https://github.com/neos/neos-
development-collection/pull/2073>`_
The former`aloha` things need to go under `formatting` and have a new format.
* Packages: ``Browser`` ``Neos``
`BUGFIX: Make sure to materialize as few nodes as possible <https://github.com/n
eos/neos-development-collection/pull/2085>`_
For property changes there is no necessity to materialize
auto-created child nodes as well. In projects with deeply
nested auto-created node structures this behaviour could
quickly generate huge amounts of changed nodes therefore
we should only materialize child nodes for structural
changes.
All of this is only valid for workspace materializations though,
in case dimensions need to be materialized as well, we need to
materialize all child nodes as well for consistency.
`FEATURE: Integrate pdf.js to preview PDF in the Media Browser <https://github.c
om/neos/neos-development-collection/pull/1745>`_
null
* Packages: ``Browser``
`TASK: Improve Fusion debugging experience <https://github.com/neos/neos-develop
ment-collection/pull/2066>`_
This change introduce a DebugStack to store all the debugging
message created with `Neos.Fusion:Debug`, to avoid breaking
the rendering when using var_dump before the HTTP request has
been send, this change flush the DebugStack at the end of the
page rendering. The new `Neos.Fusion:DebugDump` can be used as a
Fusion processor to flush the stack at any point during the
rendering.
The `DebugMessage` is used as a DTO to transport the debugging
informations. It contains a currently unused property `level`.
This property can be used in the future to use a logging backend to
store debugging informations or integrate with protocols like Chrome
Logger to send the debugging informations in the browser directly.
* Packages: ``Neos``
`TASK: Allow DimensionsMenu item label to be overridden in sub class <https://gi
thub.com/neos/neos-development-collection/pull/1159>`_
This change extract the logic to build the menu item label to a
dedicated method. With this change applied it's more easy to change this
logic without the needs to override the full buildItems method.
`Kickstarted NodeType, Fusion & Page template more consistent & beginner-friendl
y <https://github.com/neos/neos-development-collection/pull/2083>`_
* Packages: ``Browser`` ``SiteKickstarter``
`BUGFIX: On asset change flush entries tagged with AssetDynamicTag <https://gith
ub.com/neos/neos-development-collection/pull/2082>`_
When using `registerAssetChange()` provided by `ContentCacheFlusher` not all aff
ected
cache entries would always be flushed. This adds flushing of entries tagged `Ass
etDynamicTag_*`
as done through `ConvertUrisImplementation`–`Runtime`–`RuntimeContentCache` to s
olve
this.
`BUGFIX: Prevent stale object references in user runtime cache <https://github.c
om/neos/neos-development-collection/pull/2084>`_
Holding a reference to an doctrine object can be dangerous
if something happens to the UOW during that time, so that
a new instance of the entity is produced, resulting in a
stale entity reference that must be considered detached.
We therefore should only cache the persistence identifier of
a user for easier retrieval. If said user was already loaded by
doctrine it will be available in the identity map and should not
trigger another query, making this not less efficient than the
original solution.
Additionally refactored so that the cache is flat.
`BUGFIX: Avoid duplicate results and respect filter in NodeSearchService <https:
//github.com/neos/neos-development-collection/pull/2087>`_
Moves the "search by node id" logic from the `NodesController` to the
`NodeSearchService` fixing the following regressions:
* Duplicate results will be filtered
* Respect `$searchableNodeTypeNames` argument
* Don't execute `getNodeByIdentifier()` twice for every search
* Fixes: `#2079 <https://github.com/neos/neos-development-collection/issues/2079
>`_
* Related: `#1894 <https://github.com/neos/neos-development-collection/issues/18
94>`_
* Packages: ``Browser`` ``Neos``
`BUGFIX: "inCacheEntryPoint" needs to be saved <https://github.com/neos/neos-dev
elopment-collection/pull/2077>`_
It is necessary to save and restore the `incacheEntryPoint` state in the followi
ng situation:
* the dynamic cache segment is evaluated in the **preEvaluate** step of a fusion
path which will set `inCacheEntryPoint` to `null`
* the **preEvaluate** returns a "cache miss" because not all segments could be r
eplaced
* Fusion then evaluates the path as usual
* the runtime content cache then sets `currentPathIsEntryPoint` to `true` in *en
ter* bc `inCacheEntryPoint` is still `null`
* the *postProcess* step then processes the cache entry and removes all CONTENT_
CACHE markers bc `currentPathIsEntryPoint` is `true`
BTW: In this situation, *uncached* and *dynamic* segments are evaluated twice. B
ut this is outside the scope of this bugfix.
`BUGFIX: Column NodeType should be abstract <https://github.com/neos/neos-develo
pment-collection/pull/2075>`_
The `Neos.NodeTypes:Column` NodeType was always abstract, the
abtract property isn't inherited down so it must be set again
on any inheriting NodeType. So to have Column abstract it must
declare so (again).
* Fixes: `#2071 <https://github.com/neos/neos-development-collection/issues/2071
>`_
* Packages: ``NodeTypes``
`BUGFIX: Do not insist on assetSourceOptions to be set <https://github.com/neos/
neos-development-collection/pull/2065>`_
assetSourceOptions are used to configure an asset source, but
they are not necessarily needed.
* Packages: ``Browser``
`DOCS: replace outdated Aloha configuration samples <https://github.com/neos/neo
s-development-collection/pull/2069>`_
Resolves: https://github.com/neos/neos-ui/issues/1619
The new UI has this format as the default: https://github.com/neos/neos-ui/blob/
`9219a78b7bb0e96e1caf7d570c18faef9061423f <https://github.com/neos/neos-developm
ent-collection/commit/9219a78b7bb0e96e1caf7d570c18faef9061423f>`_/packages/neos-
ui-contentrepository/src/registry/NodeTypesRegistry.js#L192
I think it's time to start officially using it.
* Packages: ``Neos``
`BUGFIX: Switch to using EntityManagerInterface <https://github.com/neos/neos-de
velopment-collection/pull/2067>`_
This avoids (potential) error caused by two Doctrine UoW instances
being in use, one in the EntityManager (of Flow) and one in the
ObjectManager injected here.
* Packages: ``Browser`` ``ContentRepository`` ``Media`` ``Neos``
`DOCS: document forceCrop feature <https://github.com/neos/neos-development-coll
ection/pull/2049>`_
* Packages: ``Neos``
`DOCS: document new events API of the new UI <https://github.com/neos/neos-devel
opment-collection/pull/2050>`_
* Packages: ``Neos``
`BUGFIX: Fix pagination for ListView in Media Browser <https://github.com/neos/n
eos-development-collection/pull/2062>`_
Use `paginatedAssetProxies` instead of `assetProxies` in Neos.Media.Browser List
View to make pagination work again.
`DOCS: Document custom background color for editPreviewMode <https://github.com/
neos/neos-development-collection/pull/2052>`_
This PR adds documentation for the newlty introduced `backgroundColor` option fo
r custom `editPreviewModes`
related: https://github.com/neos/neos-ui/pull/1864
`Tiny documentation typo bugfix <https://github.com/neos/neos-development-collec
tion/pull/2063>`_
Added a colon to make syntax highlighting work.
* Packages: ``Neos``
`BUGFIX: Fix Node migration without filter <https://github.com/neos/neos-develop
ment-collection/pull/2058>`_
This change test if the migration contains a filter before creating the
contrains. Without this change the migration fails with an empty WHERE
clause.
This bug impact the migration `20150716212459`. This migration is used to
define default dimensions on all nodes.
`BUGFIX: Fix icons in modules after FA5 change <https://github.com/neos/neos-dev
elopment-collection/pull/2057>`_
* Resolves: `#2054 <https://github.com/neos/neos-development-collection/issues/2
054>`_
* Packages: ``Browser`` ``Neos``
`TASK: Adjust test to change in Neos.Neos.Ui <https://github.com/neos/neos-devel
opment-collection/pull/2056>`_
The UI package comes with a new image serializer that needs to be
configured so the test sees it's expected result.
This change depends on ``1b4562c8b71a595b48fec03fac9cd52b9f8c7a5e <https://githu
b.com/neos/neos-development-collection/commit/1b4562c8b71a595b48fec03fac9cd52b9f
8c7a5e>`_ <https://github.com/neos/neos-ui/pull/1866/commits/`1b4562c8b71a595b48
fec03fac9cd52b9f8c7a5e <https://github.com/neos/neos-development-collection/comm
it/1b4562c8b71a595b48fec03fac9cd52b9f8c7a5e>`_>`_ in the
UI package.
* Packages: ``Neos``
`BUGFIX: Use correct cache namespace for redis in documentation <https://github.
com/neos/neos-development-collection/pull/2048>`_
The old namespace was deprecated and is now gone with 4.0
* Packages: ``Browser`` ``Neos``
`Updated Icon Documentation to FA5 <https://github.com/neos/neos-development-col
lection/pull/2042>`_
Old version still referred developers to Fontawesome 3. Update includes informat
ion on including icons with prefix- and icon-class.
* Packages: ``Neos``
`TASK: Revert composer changes for master <https://github.com/neos/neos-developm
ent-collection/pull/2041>`_
* Packages: ``SiteKickstarter``
`TASK: Fix icons in filter menu <https://github.com/neos/neos-development-collec
tion/pull/2039>`_
null
* Packages: ``Browser``
`TASK: Missing replace label <https://github.com/neos/neos-development-collectio
n/pull/2038>`_
null
* Packages: ``Browser``
`TASK: Fix the pencil icon in the mediabrowser <https://github.com/neos/neos-dev
elopment-collection/pull/2037>`_
Look like `pencil` is only available in the pro version, we need to use `pencil-
alt`
* Packages: ``Browser`` ``ContentRepository``
`TASK: Defer initialisation of NodePriviliges <https://github.com/neos/neos-deve
lopment-collection/pull/1883>`_
* Packages: ``ContentRepository``
`BUGFIX: Remove dashes from autogeneratd node types file <https://github.com/neo
s/neos-development-collection/pull/2035>`_
* Packages: ``SiteKickstarter``
`BUGFIX: Core migration must not fail if no Private dir exists <https://github.c
om/neos/neos-development-collection/pull/2034>`_
* Packages: ``Fusion``
`TASK: Document usage of Security Context in Content Cache <https://github.com/n
eos/neos-development-collection/pull/2033>`_
- [ x] The PR is created against the `lowest maintained branch <https://www.neos
.io/features/release-roadmap.html>`_
`TASK: Completely rewrite the "Page Rendering" Section of the docs to reflect th
e new standards. <https://github.com/neos/neos-development-collection/pull/2025>
`_
* Packages: ``Neos``
`Task/core migrations nodetypes navigation <https://github.com/neos/neos-develop
ment-collection/pull/2032>`_
https://github.com/neos/neos-development-collection/issues/2014
* Packages: ``Navigation``
`Task/core migrations nodetypes html <https://github.com/neos/neos-development-c
ollection/pull/2031>`_
https://github.com/neos/neos-development-collection/issues/2014
* Packages: ``Html``
`Task/core migrations nodetypes form <https://github.com/neos/neos-development-c
ollection/pull/2030>`_
https://github.com/neos/neos-development-collection/issues/2014
* Packages: ``Form``
`Task/core migrations nodetypes contentreferences <https://github.com/neos/neos-
development-collection/pull/2029>`_
https://github.com/neos/neos-development-collection/issues/2014
* Packages: ``ContentReferences``
`Task/core migrations nodetypes columnlayouts <https://github.com/neos/neos-deve
lopment-collection/pull/2028>`_
https://github.com/neos/neos-development-collection/issues/2014
* Packages: ``ColumnLayouts``
`!!! TASK: Add very basic document prototype and template <https://github.com/ne
os/neos-development-collection/pull/2012>`_
Add very basic prototype and template to ensure `Neos.NodeTypes:Page` works out
of the box.
This is marked breaking since it can lead to unexpected behaviour if you only ha
ve the `page` path defined. But it is fairly easy to get your project up to spee
d with minimal code changes. See:
https://github.com/neos/Neos.Demo/pull/42 (`page = Neos.NodeTypes:Page` as a fal
lback)
* Packages: ``NodeTypes``
`!!! FEATURE: Update auto-created \`\`Root.fusion\`\` to use prototypes instead
of the \`\`page\`\` object <https://github.com/neos/neos-development-collection/
pull/615>`_
A freshly created site package will now create a page protoype that extends `Neo
s.Neos:Page`. Using `/page` can be seen as deprecated and packages that rely on
extending `page` should be updated to extend the page prototype instead.
As a workaround the line `page = Neos.NodeTypes:Page` can be added to the `Root.
fusion` as a fallback so extension points using the the `page` path as well as l
ayout properties will still be in effect.
For further information see: http://neos.readthedocs.io/en/stable/HowTos/Renderi
ngCustomDocumentTypes.html
* Packages: ``Fusion`` ``SiteKickstarter``
`TASK: Set default setting to enable the switch to old UI switch <https://github
.com/neos/neos-development-collection/pull/2026>`_
See discussion there for more details.
Related: https://github.com/neos/neos-development-collection/pull/2021
https://github.com/neos/neos-ui/pull/1809
* Packages: ``Neos``
`TASK: Larger ramfs for PostgreSQL builds on Travis CI <https://github.com/neos/
neos-development-collection/pull/2024>`_
This switches builds using PostgreSQL to be sudo-enabled and enlarges
the RAM disk at /var/ramfs to avoid "out of disk space" errors during
the test runs.
* Fixes: `#2016 <https://github.com/neos/neos-development-collection/issues/2016
>`_
* Packages: ``ContentRepository``
`Task/core migrations Neos.Neos <https://github.com/neos/neos-development-collec
tion/pull/2018>`_
I run the core migrations for Neos.Neos
#2014
* Packages: ``Neos``
`Task/core migrations nodetypes base <https://github.com/neos/neos-development-c
ollection/pull/2022>`_
https://github.com/neos/neos-development-collection/issues/2014
* Packages: ``BaseMixins``
`Task/core migrations nodetypes assetlist <https://github.com/neos/neos-developm
ent-collection/pull/2020>`_
https://github.com/neos/neos-development-collection/issues/2014
* Packages: ``AssetList``
`Task/core migrations nodetypes <https://github.com/neos/neos-development-collec
tion/pull/2019>`_
https://github.com/neos/neos-development-collection/issues/2014
* Packages: ``Neos`` ``NodeTypes``
`TASK: core migration for fontawesome5 usage and new icons for the old UI <https
://github.com/neos/neos-development-collection/pull/2001>`_
Core Migration to adjust all icon names in YAML-Files to new fontawesome 5 icon
names. Needed to review and test the PR which updates the Neos.Neos.Ui to fontaw
esome 5.
This PR can't be merged until it adjusts the old Ui to support fontawesome5.
* Packages: ``Neos``
`FEATURE: Support search by property & exact value in NodeDataRepository <https:
//github.com/neos/neos-development-collection/pull/1>`_
Currently it is only possible to search through the properties by
giving a string that matches for any key or value found in the
jsonified properties field.
With this change, the term can also be an array to match exactly on a
given key / value combination.
The search term could be given as `['key' => 'value']`.
NEOS-1460 #close
* Packages: ``Neos``
`BUGFIX: Use single quote for default in Postgres migration <https://github.com/
neos/neos-development-collection/pull/2015>`_
null
* Packages: ``Browser`` ``Media``
`DOCS: Disable editors <https://github.com/neos/neos-development-collection/pull
/2013>`_
This PR adds documentation regarding the ability to disable Editors, which is ad
ded in this PR:
https://github.com/neos/neos-ui/pull/1665
* Packages: ``Neos``
`FEATURE: Assets sources support for Neos Media <https://github.com/neos/neos-de
velopment-collection/pull/1979>`_
This change introduces low-level support for third-party "asset sources" which a
llow for seamless integration of external asset management services.
The intention of this change is to establish a beta version of the API which can
be used for developing first asset source plugins. The newly introduced API mig
ht change slightly during that process and thus should not be considered as stab
le. The native Neos asset source, which is part of this change, should work like
it did before the introduction of this new feature.
* Packages: ``Browser`` ``Neos``
`BUGFIX: Show content dimensions with asset usages <https://github.com/neos/neos
-development-collection/pull/2006>`_
* Fixes: `#2005 <https://github.com/neos/neos-development-collection/issues/2005
>`_
`TASK: Adjust usage of packages to changes in Flow <https://github.com/neos/neos
-development-collection/pull/2008>`_
* Packages: ``ContentRepository`` ``Fusion``
`!!!TASK: Change default charset and collation to utf8mb4 <https://github.com/ne
os/neos-development-collection/pull/1991>`_
This changes the charset and collation to create table statements in the
existing migrations. This make sure the tables are set up correctly
independent of the database default configuration.
This is breaking if you have existing tables that do not use ut8mb4 as
charset and utf8mb4_unicode_ci as collation. To solve this you need to
convert the existing tables. This can be done using the command::
./flow database:setcharset
This will convert the database configured in the settings and all tables
inside to use a default character set of utf8mb4 and a default collation
of utf8mb4_unicode_ci. It will also convert all character type columns
to that combination of charset and collation.
Background information on why this is done can be found in
https://medium.com/@adamhooper/in-mysql-never-use-utf8-use-utf8mb4-11761243e434
* Packages: ``Neos``
`TASK: Add rel="noopener" to external links with target="_blank" <https://github
.com/neos/neos-development-collection/pull/1729>`_
Check if an external link has a ``target="_blank"`` and if so add the attribute
``rel="noopener"`` to the tag for improved security.
More info https://mathiasbynens.github.io/rel-noopener/
`BUGFIX: replace deprecated validation Viewhelper <https://github.com/neos/neos-
development-collection/pull/2011>`_
fixes a part of https://github.com/neos/neos-development-collection/issues/2010
* Packages: ``Neos``
`TASK: Improve login screen accessibility <https://github.com/neos/neos-developm
ent-collection/pull/1994>`_
- Added aria-label attributes to form fields
- Added role=alert to error message to improve screen reader accessibility
- Changed header tag to h1 (could break custom CSS that relies on the header tag
)
* Packages: ``Neos``
`TASK: Don't show protected package property as that will go away <https://githu
b.com/neos/neos-development-collection/pull/2007>`_
The ``protected`` property of packages doesn't make much sense anymore
now that disabling is gone. It will be removed in Flow and in
preparation should no longer be shown here.
* Packages: ``Media`` ``Neos``
`!!! FEATURE: Add \`documentType\` matcher to default-fusion that is evaluated b
efore \`default\` <https://github.com/neos/neos-development-collection/pull/1992
>`_
Add a `documentType` matcher before `default` matcher of the default fusion that
checks wether a fusion-prototype named like the nodeType of the current documen
tNode exists and is renderable. If that is the case this prototype is rendered i
nstead of `default`.
In addition the pr removes the prototype generators for `'Neos.Neos:Node` and `N
eos.Neos:Document`. Those generators are neither actively used or promoted and s
ince this feature is hardly usable it should be save to remove them. The reason
to deactivate those fusion generators now is that the invisible fusion code got
in the way of the protoype based document rendering we want to establish here.
Attention: If you use fusion-prototypes that have the same name as your document
s but do not inherit from Neos.Neos:Page you will have to adjust your code. Same
goes if you rely on the fusion prototypes that were autogenerated for `'Neos.Ne
os:Node` and `Neos.Neos:Document`.
* Packages: ``ContentRepository`` ``Neos``
`BUGFIX: Adjustments after Doctrine updates <https://github.com/neos/neos-develo
pment-collection/pull/2004>`_
This adjusts some code in Neos to match the updated Doctrine DBAL and ORM librar
ies.
* Packages: ``ContentRepository``
`TASK: Adjust to changed CacheAwareInterface <https://github.com/neos/neos-devel
opment-collection/pull/2003>`_
Adds the string return type declaration to getCacheEntryIdentifier().
`TASK: Update to Doctrine DBAL 2.7 and ORM 2.6 <https://github.com/neos/neos-dev
elopment-collection/pull/1993>`_
* Packages: ``Browser`` ``ContentRepository`` ``Fusion`` ``Media``
`TASK: Add translation for aria-labels of buttons introduced in neos/neos-ui#159
5 <https://github.com/neos/neos-development-collection/pull/1878>`_
**What I did**
Added label translations for button aria labels
**How to verify it**
Check labels introduced in neos/neos-ui#1595
* Packages: ``Neos``
`BUGFIX: NodeTemplateConverter::convertFrom must respect parent method… <https:/
/github.com/neos/neos-development-collection/pull/1776>`_
This throw an error in PHP 7.2 (at least on the RC2)
* Packages: ``ContentRepository``
`BUGFIX: Exclude shadow nodes in findOneByIdentifier <https://github.com/neos/ne
os-development-collection/pull/1987>`_
Added a filtering for `movedTo` like we already do in `filterNodeDataByBestMatch
InContext`.
See description of the discovered behavior in https://github.com/neos/neos-ui/is
sues/1523#issuecomment-379247165.
Closes #1986
`BUGFIX: Use fusionValue instead of tsValue in ImageUriImplementation <https://g
ithub.com/neos/neos-development-collection/pull/1990>`_
* Packages: ``Neos``
`BUGFIX: Remove leftover references to removed \`tsValue\` method <https://githu
b.com/neos/neos-development-collection/pull/1989>`_
* Packages: ``Fusion`` ``Neos``
`BUGFIX: Dynamic cache entries should be evaluated via runtime <https://github.c
om/neos/neos-development-collection/pull/1964>`_
Dynamic cache entries are complex and need a lot of information
to be evaluated correctly, therefore the runtime should always take
care of this. This is potentially a bit slower than the original
code but definitely more correct in outcome. Before tags were
definitely wrong as they were based on the parent elements
configuration.
`TASK: Remove deprecated methods <https://github.com/neos/neos-development-colle
ction/pull/1954>`_
Removes deprecated methods that were marked for remove
with Neos 4.0
Includes:
Drop support for the .ts2 suffix especially the root.ts2 as fusion root file
* Packages: ``Neos``
`BUGFIX: Avoid getPath() on null in LinkingService <https://github.com/neos/neos
-development-collection/pull/1984>`_
When the context of the "resolved" node does not have a "current" site
in `LinkingService.createNodeUri()` a fatal error was triggered. This
adds a check and handles the case like a site node path mismatch.
* Packages: ``Neos``
`BUGFIX: Skip CSRF protection in logout action <https://github.com/neos/neos-dev
elopment-collection/pull/1981>`_
Since we overwrite the `logoutAction` from Flow, we need to annotate it with `@F
low\\SkipCsrfProtection` here too.
see neos/flow-development-collection#1014
`FEATURE: Expose NodeType.isOfType in Node eel helper <https://github.com/neos/n
eos-development-collection/pull/1957>`_
This introduces the Node.isOfType() eel method to check
if a node is of a given type
* Packages: ``Neos``
`TASK: Fix incorrect child node types in \`\`node:repair\`\` command <https://gi
thub.com/neos/neos-development-collection/pull/1956>`_
When checking for missing child nodes it doesn't check if the existing child nod
es are the correct node type. This can happen when a node has been changed to th
e fallback node type or if the child node type is changed in the configuration.
`TASK: Use fully qualified names in Fusion reference <https://github.com/neos/ne
os-development-collection/pull/1975>`_
* Packages: ``Neos``
`!!! TASK: Extract the \`layout\` root matcher from Neos.Neos and move it over t
o Neos.NodeTypes <https://github.com/neos/neos-development-collection/pull/1973>
`_
Since the `layout` property is defined in `Neos.NodeTypes`, the `layout`-matcher
is
moved to `Neos.NodeTypes` aswell.
If your project relies on the `layout` or `subpageLayout` property but does not
use
`Neos.NodeTypes` you have to configure the layout matcher on your own.
* Packages: ``Neos``
`TASK: Remove base prototype and template path from autogenerated fusion for Nod
e and Document <https://github.com/neos/neos-development-collection/pull/1969>`_
The base prototypes and templatePathes are not set by the prototypeGenrator for
Neos.Neos:Node and Neos.Neos:Document any more. For convenience reasons the pro
totypes for each NodeTypes are declared without base prototype and template all
node properties are made accessible as fusion props.
* Packages: ``Neos``
`FEATURE: Add \`CanRender\` Fusion prototype <https://github.com/neos/neos-devel
opment-collection/pull/1974>`_
The prototype checks wether the given type is renderable by fusion. Which means
that the prototype exists and has an implementation class or is based on a proto
type that
has one.
* Packages: ``Neos``
`BUGFIX: Fix Fusion exception after login to Neos <https://github.com/neos/neos-
development-collection/pull/1972>`_
The Fusion configuration of `neosBackendMetaData.attributes.data-preview-uri`
lacked a fully qualified Fusion object name, leading to an expansion to
`Neos.Fusion:NodeUri`. That does not exist, leading to an exception right after
login.
* Fixes: `#1971 <https://github.com/neos/neos-development-collection/issues/1971
>`_
* Packages: ``ContentRepository`` ``Neos``
`BUGFIX: Typo in WorkspaceException #1395841899 <https://github.com/neos/neos-de
velopment-collection/pull/1968>`_
Duplicate "in a".
`FEATURE: Add createMissingSitesNode to node:repair <https://github.com/neos/neo
s-development-collection/pull/1959>`_
When the `/sites` node is missing, Neos can work quite well, but
at least `removeOrphanNodes` will wreck havoc! So this adds a
task to create the sites node if missing.
Note: since `removeOrphanNodes` is in the CR, which has no
notion of what the nodes inside it mean, this check was added
"separately".
* Packages: ``Neos``
`BUGFIX: Fix asset references detection for nodes even more <https://github.com/
neos/neos-development-collection/pull/1966>`_
Even after #1762 showing asset usage sometimes fails, with an error
that can only be explained by `documentNode` being null when trying
to render a reference.
This change adds another safety net for that case.
`BUGFIX: Only move children with the same dimensionHash in setPath() <https://gi
thub.com/neos/neos-development-collection/pull/1697>`_
This changes the code in setPath() to no longer move all children
across all dimension value combinations. Instead only children with
the same dimensionsHash as the currently moved node will be moved
along.
This avoids errors like the one described in #1696.
* Fixes: `#1696 <https://github.com/neos/neos-development-collection/issues/1696
>`_
`TASK: Also search for $searchTerm as identifier <https://github.com/neos/neos-d
evelopment-collection/pull/1894>`_
**What I did**
Added a search for NodeIdentifier when calling `\\Neos\\Neos\\Controller\\Servic
e\\NodesController::indexAction()`.
That is very helpful, if you have to find one node under thousands (with same No
deType).
**How I did it**
See the diff...
**How to verify it**
Put an Identifier into a reference/references field in inspector. You should get
the correct Node back.
!`bildschirmfoto 2018-02-13 um 17 00 23 <https://user-images.githubusercontent.c
om/9807101/36159821-ff9fb058-10df-11e8-831e-6a9c01b12736.png>`_
* Packages: ``Neos``
`BUGFIX: Dynamic cache segments not correctly re-evaluated <https://github.com/n
eos/neos-development-collection/pull/1960>`_
...
Only a test to expose the wrong behavior at this point.
* Fixes: `#1958 <https://github.com/neos/neos-development-collection/issues/1958
>`_
`FEATURE: Allow custom attributes to be added to \`ContentElementWrapping\` <htt
ps://github.com/neos/neos-development-collection/pull/1919>`_
This extends the `ContentElementWrapping` in order to allow
additional attributes to be added via Fusion or PHP.
This is useful to augment content and/or to affect its styling
in the Neos backend.
Example (Fusion):
Add the wrapped node's type to a new `data-_node-type` attribute
for all `ContentElementWrapping` instances::
prototype(Neos.Neos:ContentElementWrapping) {
additionalAttributes {
'data-_node-type' = ${node.nodeType.name}
}
}
Example (Fusion):
Add a custom class attribute to a single instance::
@process.contentElementWrapping = Neos.Neos:ContentElementWrapping {
additionalAttributes.class = 'some-additional-class'
}
Example (PHP)::
$this->contentElementWrappingService->wrapContentObject($node, $output, $fus
ionPath, ['custom-attribute' => 'attribute-value']);
* Resolves: `#1879 <https://github.com/neos/neos-development-collection/issues/1
879>`_
* Packages: ``Neos``
`TASK: Pass affected entities to flush as array, not one-by-one <https://github.
com/neos/neos-development-collection/pull/1949>`_
The `NodeDataRepository.persistEntities()` method looped over the
entities and passed them to `flush()` one-by-one. They can be passed
as the array at hand directly.
* Packages: ``ContentRepository``
`TASK: Make sure documentnodeidentifier index is not overlooked <https://github.
com/neos/neos-development-collection/pull/1950>`_
The `documentnodeidentifier` index defined in `NodeEvent` is not picked
up by Doctrine Migrations when generating a migration. This leads to
it's removal being included in new migrations, and it has actually been
removed unnoticed in the past.
This change adds it to the `Event` class as well, so it is picked up
correctly. See https://github.com/doctrine/doctrine2/issues/6248
* Packages: ``Neos``
`TASK: Change NodeData movedTo from ManyToOne to OneToOne <https://github.com/ne
os/neos-development-collection/pull/1951>`_
A node can only be moved to one other node, so ManyToOne was never
correct.
See https://github.com/neos/neos-development-collection/issues/1908
* Packages: ``ContentRepository`` ``Neos``
`FEATURE: Add globbing to \`site\`,\`user\` and \`domain\` cli-commands <https:/
/github.com/neos/neos-development-collection/pull/1884>`_
Add globbing to the follwing cli-commands:
- `site:prune`
- `site:activate`
- `site:deactivate`
- `domain:delete`
- `domain:activate`
- `domain:deactivate`
- `user:delete`
- `user:activate`
- `user:deactivate`
- `user:addrole`
- `user:removerole`
Additionally the `siteNode` is made a required argument for `site:prune`.
To still remove all sites `./flow si