3.0.6 (2016-03-16)

Overview of merged pull requests

BUGFIX: Log throwable errors in PHP 7

Throwable errors (TypeError, ParseError, ..) introduced in PHP 7.0 are not logged in the system log. Which means these errors can only be shown using the debug exception handler.

To fix this a new logger interface ThrowableLoggerInterface that extends the existing LoggerInface is introduced, which adds supports throwables in addition to exceptions.

To support PHP7 in custom logger interfaces, the new interface needs to be implemented. Otherwise throwables won’t get logged.

FLOW-441 #close

  • Packages: Flow

TASK: Memcached cache backend compatibility with memcached

Adds support for the “memcached” extension in addition to the existing support for the “memcache” extension.

“memcached” is a newer version with several improvements and often both extensions aren’t available simultaneously.

FLOW-440 #close

  • Packages: Flow

BUGFIX: Remove duplicate “htmlspecialchars”

Removes a duplicate “htmlspecialchars” on the id-Attribute of the “orginallySubmittedResource” hidden-field.

  • Packages: Fluid

TASK: Raise doctrine/migrations version to 1.3

This may bring a massive speedup and avoids an issue with composer.json not being included with the 1.0.0 archives.

  • Packages: Flow

BUGFIX: Avoid cross influence in schema migrations

There have been cleanup migrations added in the past that interact in breaking ways with each other. This changes the index renaming to only happen if needed.

  • Packages: Flow

TASK: Fix rST errors and warnings for 3.0

I’ve tried to fix as much as possible.

But I can’t resolve some errors, e.g. in ChangeLog some labels exist twice as there were two pull requests for the same topic leading to the same title.

Beside that, there are two code blocks I can’t fix with my knowledge and without breaking the code.

  • Packages: Flow

BUGFIX: All rst errors and warnings

As the used syntax was invalid to sphinx, and are recommended in yaml anyway.

  • Packages: Flow

BUGFIX: Correct error message in package:create command

$packageType is used in the error message if is is not a valid Flow package type.

  • Packages: Flow

Revert “TASK: Exclude classes pulled in by doctrine/migrations 1.3”

Reverts neos/flow-development-collection#251

Flow 2.3 still runs on PHP 5.3 but doctrine/migrations 1.3 requires at least 5.5, therefore we need to revert this requirement to make Flow 2.3 work smoothly with PHP 5.3.

  • Packages: Flow

TASK: Exclude classes pulled in by doctrine/migrations 1.3

Pulling in doctrine/migrations 1.3 works fine, but it comes with some new dependencies that need to be excluded from reflection.

  • Packages: Flow

BUGFIX: Adjust index names to match Doctrine DBAL 2.5

The use of Doctrine 2.5 (instead of 2.4) exposes the fact that some (old) index names in the Flow database schema do not match the names that are generated currently.

This adjusts those index names, something that is a one-time adjustment.

FLOW-427 #close Adjusts indexes as needed FLOW-222 #close Adjusts indexes as needed

  • Packages: Flow

BUGFIX: Fix session garbageCollector probability of 0

I would expect a session garbageCollection.probability of zero would never trigger garbage collection.

Previously it actually did with a probability 1 / 101 as a it results in the equation rand(0, 100) <= 0.

  • Packages: Flow

BUGFIX: Fix two small formatting issues in docs

The dot was one to much, and the link didn’t render because of formatting issue.

Beside that, EssentialDesignPatterns.rst was not posix conform as the last line was missing new line character. Some leftover “TYPO Flow” uses have been removed as well.

  • Packages: Flow

BUGFIX: Evaluate property conditions without security checks

The PropertyConditionGenerator for entity privileges allows the use of global objects from the configured global context. If those in turn may be secured, the system runs into an endless loop.

To avoid this, the fetching of the value for the operand is done without security checks after this change.

  • Packages: Flow

BUGFIX: Respect constructor arguments that are no properties during property mapping

The PersistentObjectConverter does not evaluate constructor arguments when determining the type of its children.

This patch adds the check and now constructor arguments that are not also a property are mapped again.

FLOW-371 #close

  • Packages: Flow

TASK: Fix comment on Flow.session.name setting

Leaving the name empty will not work as advertised.

  • Packages: Flow

BUGFIX: ‘Content-Type’ (automatic) header fails in virtual browser

With adding the Content-Type header to the automatic headers of a virtual browser, the request fails every time.

The given value is cast to an array by the Http\Headers::set() method. When setting this header in a Header (!) instance (Http\AbstractMessage::setHeader()) of the request, a string is expected especially for Content-Type, but an array is given.

BrowserTest extended especially for this header field.

FLOW-305 #close

  • Packages: Flow

BUGFIX: Value objects can be property mapped when submitted by identifier only

The identifier is unset from the submitted properties for Value Objects, because they should use constructor arguments to be reconstituted. However, in forms value objects are currently submitted by identifier, which will make property mapping fail with an error.

This change fixes that by only unsetting the identifier if there are other properties submitted.

  • Packages: Flow

TASK: RsaWalletService tweaks

Improves naming and documentation in RsaWalletService and the related command controller.

  • Packages: Flow

TASK: When reconnecting to DB, log preceding exception

When flushing fails with Doctrine, we try to reconnect and flush again, to work around dropped connections.

If the disconnection was caused by a “real” error, the cause was lost. This change logs the exception that caused the reconnection to ease debugging.

  • Packages: Flow

BUGFIX: Initialize Bootstrap::requestHandlers with empty array

The requestHandlers property of the Bootstrap is used as an array but is never initialized. For sake of cleanliness it should be.

  • Packages: Flow

BUGFIX: Allow composite keys over foreign entities

Currently, the implementation of the FlowAnnotationDriver prevents composite primary keys including an foreign entity reference to work, as in the example of doctrine: http://docs.doctrine-project.org/en/latest/tutorials/composite-primary-keys.html#identity-through-foreign-entities

This change adds the required mapping informations, which is only a first step towards full composite key support.

FLOW-259 #close

  • Packages: Flow

BUGFIX: Make withoutAuthorizationChecks example realistic

The example for usage of withoutAuthorizationChecks in the docblock is wrong in as it shows variables used inside the closure as closure arguments but that is impossible. Instead they must be added to the closure context via use.

  • Packages: Flow

BUGFIX: Resolve type in UniqueEntityValidator

Run the given validator value through TypeHandling::getTypeForValue() to make sure doctrine proxies are resolved to the actual domain model type.