6.3.0 (2020-09-08)¶
Overview of merged pull requests¶
TASK: Add documentation to model unidirectional OneToMany and ManyToMany¶
This adds basic documentation for how to properly model unidirectional OneToMany relations in Flow and slightly extends the “Getting Started” guide.
Related to #2053
- Packages:
Flow
TASK: Add missing HTTP status codes to ResponseInformationHelper¶
This adds a number of HTTP status codes to the ResponseInformationHelper and tweaks the message for code 413 from ‘Request Entity Too Large’ to ‘Payload Too Large’ (as in RFC7231 Section 6.5.11.)
- Packages:
Flow
TASK: Apply fixes from StyleCI¶
This pull request applies code style fixes from an analysis carried out by StyleCI.
—
For more information, click here.
TASK: Apply fixes from StyleCI¶
This pull request applies code style fixes from an analysis carried out by StyleCI.
—
For more information, click here.
- Packages:
Flow
TASK: Apply fixes from StyleCI¶
This pull request applies code style fixes from an analysis carried out by StyleCI.
—
For more information, click here.
Apply fixes from StyleCI¶
This pull request applies code style fixes from an analysis carried out by StyleCI.
—
For more information, click here.
- Packages:
Cache
Eel
Flow
FluidAdaptor
Schema
Apply fixes from StyleCI¶
This pull request applies code style fixes from an analysis carried out by StyleCI.
—
For more information, click here.
- Packages:
Cache
Eel
Flow
FluidAdaptor
Schema
Apply fixes from StyleCI¶
This pull request applies code style fixes from an analysis carried out by StyleCI.
—
For more information, click here.
- Packages:
Cache
Eel
Flow
FluidAdaptor
Schema
BUGFIX: Correct indention for throwables config¶
The configuration of the throwable exceptions should not be part of the psr3 level. And the default config did not work since 6.0. The method initializeExceptionStorage still expects the configuration to be at the path Neos.Flow.log.throwables.
- Fixes: #2082
- Packages:
Flow
TASK: Apply fixes from StyleCI¶
This pull request applies code style fixes from an analysis carried out by StyleCI.
—
For more information, click here.
- Packages:
Flow
TASK: Remove typo3 namespace replacements¶
There never was and never will be a typo3/flow version of 6.3+
- Packages:
Flow
!!! BUGFIX: Browser arguments are the request parsed body¶
Since 6.0 the Browser $arguments were accidentially moved to the request query parameters, while they should reflect the post body arguments.
The docblock even states that: @param array $arguments Arguments to send in the request body
Note: this slightly changes behaviour if you adapted your usage of Browser since 6.0.0. If you want to send query parameters, you should instead provide an Uri instance with the parameters, as was already the case prior to 6.0. (This is the reason for marking this bugfix as breaking.)
- Packages:
Flow
Fix some typos¶
When I stumbled over “anonyous”, I had a closer look at the hole section. I’m not a native speaker though.
- Packages:
Flow
` BUGFIX: Set session cookie after flash message storage <https://github.com/neos/flow-development-collection/pull/2047>`_¶
The FlashMessages component by default uses the SessionStorage, which depends on sending the session cookie through the SessionResponse component. However, the FlashMessages component was configured to be run after the session component. That way, unless a session was (still) open, the Set-Cookie was not sent and hence the flash message got lost. This was primarily visible after logging out and redirecting the user with a flash message.
Thanks @astehlik for finding the root cause!
- Resolves: #1807
- Packages:
Flow
TASK: Use argument unpacking instead of call_user_func_array¶
This is supported since PHP 5.6 and is actually faster than call_user_func_array at least since PHP 7. Just be sure to not use it in places where the method is static or a Closure. This also deprecates ObjectAccess::instantiateClass() (retrospectively). It will be removed with Flow 7.
- Packages:
Flow
BUGFIX: Make php binary setting check use realpath¶
The check if the current executing php binary path as set in PHP_BINARY matches the given setting in phpBinaryPathAndFilename was case-sensitive. This check is only done when the setting is specified and should guarantee that the path specified refers to the same binary as the one executing the current script. On Windows, the filesystem is case-insensitive by default though (Windows 10 has options to make it case-sensitive) and the chance that someone accidentially gets the casing of the path wrong on windows is (arguably) much more likely than someone having different versions of php installed on a case-sensitive filesystem in pathes /foo/PHP/php and /foo/php/php respectively. ~Even if that would be the case, if the two versions do not match the check at ensureWebSubrequestsUseCurrentlyRunningPhpVersion would still throw an error with an even more specific message.~
So this will prevent irritating errors on Windows in the form of !`image <https://user-images.githubusercontent.com/4259532/85157246-83217f00-b25b-11ea-8ebb-abc95b30e09a.png>`_
- Packages:
Flow
BUGFIX: Use serverRequestFactory to create server request with path¶
- Fixes: #2043
- Packages:
Flow
TASK: Update psalm baseline¶
Adjusts the psalm-baseline to changes in #2024
- Packages:
Cache
Eel
Flow
BUGFIX: Check if PdoBackend cache tables exist in setup¶
Running the setup for a PdoBackend multiple times should not lead to an error, similar to other Backends.
- Resolves: #2039
What I did Allow PdoBackend::setup() to be called multiple times.
How I did it Check if cache tables exist in PdoBackend::setup() before creating them.
How to verify it
* See: #2039
* Packages: Cache
BUGFIX: Correct default log file size¶
Updating https://github.com/neos/flow-development-collection/pull/1998 to correct version.
- Packages:
Flow
BUGFIX: Avoid trying to autowire constructor arguments for factory created objects¶
This bug was uncovered with the previous fix to not map arguments to the object when a factory is configured (see #1967). That way (singleton) objects which expected a (non-optional/nullable) constructor argument that could not be autowired (e.g. because it was a scalar) would lead to the exception “Could not autowire required constructor argument … for singleton class …”. This change fixes that, by completely skipping autowiring for objects configured with a factory. The factory has full responsibility to create and wire the constructor arguments correctly.
- Packages:
Flow
TASK: Improve wording of include/exclude concepts where possible¶
Those old wordings have no place and they are also objectively worse than the replacements.
- Packages:
Eel
Flow
BUGFIX: Allow Views to replace the response in AjaxWidgetContext¶
If a WidgetController has a view returning a PSR-7 response, it was not replaced in Ajax context. Now the behavior of the ReplaceComponent is merged into the AjaxWidgetComponent, so the expected ActionController behavior can be guaranteed
- Solves: #2027
- Packages:
FluidAdaptor
TASK: Adding a test case for breaking object configuration if argumen…¶
…ts of object constructed by factory cannot be autowired
- Packages:
Flow
Apply fixes from StyleCI¶
This pull request applies code style fixes from an analysis carried out by StyleCI.
—
For more information, click here.
- Packages:
Eel
Flow
FEATURE: Configurable PersistedUsernamePasswordProvider lookup name¶
Adds an option lookupProviderName to the PersistedUsernamePasswordProvider that allows the provider to be reused for multiple authentication types.
Example:
- Flow:
- security:
- authentication:
- providers:
- ‘Acme.SomePackage:Default’:
- provider: PersistedUsernamePasswordProvider token: UsernamePassword
- ‘Acme.SomePackage:Default.HttpBasic’:
provider: PersistedUsernamePasswordProvider providerOptions:
lookupProviderName: ‘Acme.SomePackage:Default’token: UsernamePasswordHttpBasic entryPoint: HttpBasic
- Resolves: #1996
- Packages:
Flow
TASK: Rename Doctrine\Common\Persistence -> Doctrine\Persistence¶
This fixes psalm errors due to the namespace renaming of various doctrine classes in doctrine/orm 2.7.3 release. The old class name was an alias since 2.7, so this should not break anything. 🤞
- Packages:
Flow
ObjectHandling
TASK: Get rid of PhpUnit warnings in unit tests¶
Adjusts unit tests to avoid PhpUnit 8 deprecation warnings and in order to support PhpUnit 9
- Packages:
Flow
FEATURE: Add configurable PSR-15 middleware kernel¶
This introduces a configurable middleware chain as the new main entry point into HTTP request handling. The old component chain is itself now a middleware “dispatch” that is configured to run at the end and other middlewares can be configured to run before, which also means it runs after “dispatch” due to how PSR-15 middlewares work.
Each middleware itself decides if it runs only before, after, or both by invoking the next handler appropriately. See also https://www.php-fig.org/psr/psr-15/meta/
This allows to easily manipulate the incoming HttpRequest or the outgoing HttpResponse with existing middlewares (e.g. https://github.com/middlewares/awesome-psr15-middlewares) and even completely short-cut Flows old component chain handling to handle special cases more performantly.
Depends on #1967 Related to #1889
- Packages:
Flow
BUGFIX: Allow objects to be serialized twice without loosing their relations to persisted properties¶
- Resolves: #2009
- Packages:
Flow
TASK: Small code tweak to TaggableMultiBackend¶
- Packages:
Cache
Flow