3.0.10 (2016-11-01)

Overview of merged pull requests

[TASK] Do not instantiate all available TypeConverters

Previously the PropertyMapper would instantiate all available TypeConverter implementations to build a map of possible sources and targets. This is now done during compiletime so that only instances of TypeConverters are created that have the required source and target types.

TASK: Refactor absolute namespaces to use statements for TYPO3 Eel

Also refactor legacy array syntax

  • Packages: Eel

TASK: Refactor absolute namespaces in Flow / Core classes

Also refactored legacy array syntax.

  • Packages: Flow

TASK: Refactor absolute namespaces in Flow / Object

Also refactored legacy array syntax.

  • Packages: Flow

TASK: Refactor absolute namespaces in Flow / HTTP and Error classes

Also refactored legacy array syntax.

  • Packages: Flow

TASK: Refactor absolute namespaces in Flow / Functional Test Classes

Folders Persistence and Property Also refactored legacy array synt

  • Packages: Flow

TASK: Refactor absolute namespaces in Flow / Unit Tests Log - Package

Also refactored legacy array syntax.

  • Packages: Flow

TASK: Refactor absolute namespaces in Flow / Unit Tests

Configuration - I18n

Also refactored legacy array syntax.

  • Packages: Flow

TASK: Refactor absolute namespaces in Flow / Unitests Aop - Cli

Also refactored legacy array syntax.

  • Packages: Flow

TASK: Refactor absolute namespaces in Flow / Unit Tests

Session - Validator

Also refactored legacy array syntax.

  • Packages: Flow

TASK: Refactor absolute namespaces in Flow / Unit Tests

Resource - Security

Also refactored legacy array syntax.

  • Packages: Flow

TASK: Refactor absolute namespaces in Flow / Unit Tests

Persistence - Reflection

Also refactored legacy array syntax.

  • Packages: Flow

TASK: Refactor absolute namespaces in Flow / Functional Tests

Refactor functional tests: Resource to Validation. Also refactored legacy array syntax.

  • Packages: Flow

TASK: Refactor absolute namespaces in Flow / Functional Test Classes

Refactors AOP to Object classes. Also refactored legacy array syntax

  • Packages: Flow

BUGFIX: Temporary files are correctly moved across volumes

PHP throws a operation not permitted warning when using rename across volumes, which happens e.g. if you have FLOW_PATH_TEMPORARY_BASE pointing to a different (more performant) volume.

From the php documentation:

> More explicitly, rename() may still return (bool) true, despite the warnings that result from the underlying calls to chown() or chmod(). This behavior can be misleading absent a deeper understanding of the underlying mechanics. To rename across filesystems, PHP “fakes it” by calling copy(), unlink(), chown(), and chmod() (not necessarily in that order). See PHP bug #50676 for more information. > > On UNIX-like operating systems, filesystems may be mounted with an explicit uid and/or gid (for example, with mount options “uid=someuser,gid=somegroup”). Attempting to call rename() with such a destination filesystem will cause an “Operation not permitted” warning, even though the file is indeed renamed and rename() returns (bool) true.

  • Packages: Flow

TASK: Refactor absolute namespaces in Flow / SignalSlot and Utility

Also refactored legacy array syntax.

  • Packages: Flow

TASK: Refactor absolute namespaces in Flow / Validation classes

Also refactored legacy array syntax.

  • Packages: Flow

TASK: Refactor absolute namespaces in Flow / Security classes

Also refactored legacy array syntax.

  • Packages: Flow

TASK: Refactor absolute namespaces in Flow / Reflection classes

Also refactored legacy array syntax.

  • Packages: Flow

TASK: Remove references to typo3.org

Replaces references to typo3.org with matching references to neos.io.

  • Packages: Flow

TASK: Refactor namespaces in Flow / I18n classes

Additionally refactor legacy array syntax

  • Packages: Flow

TASK: Refactor absolute namespaces in Flow / Property Classes

Also refactored legacy array syntax.

  • Packages: Flow

TASK: Refactor absolute namespaces in Flow / Persistence

Also refactored legacy array syntax.

  • Packages: Flow

TASK: Refactor absolute namespaces in Flow / Package classes

Also refactored legacy array syntax.

  • Packages: Flow

TASK: Refactor absolute namespaces in Flow / Command classes

Additionally refactor legacy array syntax.

  • Packages: Flow

TASK: Refactor absolute namespaces in Flow / Log and Monitor

Also refactored legacy array syntax.

  • Packages: Flow

TASK: Refactor absolute namespaces in Flow / Mvc

Also refactored legacy array syntax.

  • Packages: Flow

TASK: Refactor absolute namespaces in Flow / Configuration classes

Also refactor legacy array syntax

  • Packages: Flow

TASK: Improve StringHelper documentation

Adds missing PHPDoc to StringHelper functions and add more examples.

  • Packages: Eel

TASK: Refactor absolute namespaces in Flow / Session classes

Also refactored legacy array syntax.

  • Packages: Flow

TASK: Refactor absolute namespaces in Flow / Resource Classes

Also refactored legacy array syntax.

  • Packages: Flow

TASK: Refactor Flow / Cache classes code style

Remove absolute namespaces and legacy array syntax

  • Packages: Flow

BUGFIX: ArrayFromObjectConverter correctly converts object properties with property name

Before the ArrayFromObjectConverter lost the property name of object properties when converting child properties.

  • Packages: Flow

TASK: Adjust unit tests to use “real mocks”

Mocking a “virtual” class is no longer allowed, so we use fixture classes.

  • Packages: Flow

BUGFIX: Require latest version of neos/composer-plugin

Require version 2.x of the composer-plugin package. Previous versions use the excludeClasses setting which has been deprecated with Flow 3.0.

  • Packages: Flow

BUGFIX: Fix Property Mapper determination for the ObjectConverter

When mapping a plain object with the ObjectConverter, root namespace properties like \DateTime do not find a converter. This is because the leading backslash is not removed by the ObjectConverter (i.e. we looked for a \DateTimeConverter instead of the DateTimeConverter

  • Packages: Flow

BUGFIX: Input field name for multiple checkbox is generated correctly

Checkboxes that were bound to collection properties or had the multiple attribute set, were generating invalid input field names like this:

` <input type="checkbox" name="post[tags][__identity][]" ...> `

Since the internal identity is not required for checkboxes, it is stripped from the generated name. Also, any such checkboxes now avoid generating an empty value hidden field, as this will at most lead to empty values being additionally submitted to the collection property.

FLOW-419 #close

  • Packages: Fluid

BUGFIX: Use Unix paths in InstallerScripts

The Files utility used by InstallerScripts will use these constants to transform an absolute path to a relative one. As the compared path will always be a Unix path, the path to replace needs to be completely Unix as well to make replacing working. This prevents “mkdir(): invalid arguments” errors on Windows.

Similar to neos/flow-development-collection#399 , but then for the 3.0 version.

  • Packages: Flow

BUGFIX: Allow SliceOperation to work on \Iterator

The Eel slice operation only works with arrays so far. Since the FlowQuery context can be anything that implements \Iterator, we now convert iterators to arrays if they are passed in as the context.

  • Packages: Eel Flow

BUGFIX: Check if array is ``null`` at the beginning of JSON conversion

Prevent an exception to be thrown if the array passed for conversion is null.

  • Packages: Flow

TASK: Fix documentation about Privilege Parameters

Fixes the Policy.yaml examples in the Privilege Parameters section of the Security chapter.

FLOW-459 #close

  • Packages: Flow

BUGFIX: FlowException is no imported

This change fixes a missing class import introduced with PR #376 into the 2.3 branch.

  • Packages: Flow