3.0.0-beta3

Base Distribution

[TASK] Do not require dev-master of doctrine/migrations

With doctrine/migrations not having had a stable branch for years, Flow always required dev-master. Now that 1.0 is being worked on, require @dev instead and delegate the version to the Flow package.

Related: FLOW-300

TYPO3.Eel

[TASK] Correct indentation in EelExpressionRecognizer

[TASK] Relax dependencies to allow any branch version

TYPO3.Flow

[TASK] Update references in documentation

See https://ci.neos.typo3.org/job/typo3-flow-release/51/

[BUGFIX] Do not register lifecycles for unproxied entities

When entities are annotated @Flow\Proxy(false), lifecycle methods for fix* are still registered in the AnnotationDriver, leading to an exception being thrown by doctrine that the lifecycle callback method does not exist.

Since unproxied classes are not supposed to work with AOP/DI and those fix* methods only deal with that, the registration of those fixes is unneeded in that case.

This changeset fixes that, by only registering lifecycle callbacks on entities that are proxied.

Fixes: FLOW-258

[FEATURE] Request patterns for host name and IP addresses

This change adds RequestPatterns for host name and IP addresses. Host names are configurable with a simple wildcard (‘*’) pattern, IP addresses use CIDR style pattern with support for both IPv4 and IPv6 following RFC4632 and RFC4291.

Examples:

Only grant access to clients with IPs from 192.168.178.0 to 192.168.178.255:

TYPO3:
  Flow:
    security:
      firewall:
        rejectAll: TRUE
        filters:
          'ip':
            patternType:  'Ip'
            patternValue: '192.168.178.0/24'
            interceptor:  'AccessGrant'

Protect an area of your application file based authentication and IP check (only trigger authentication and entry points for clients with an IP of 127.0.0.1):

TYPO3:
  Flow:
    security:
      authentication:
        providers:
          'LocalNetworkProvider':
            provider: 'FileBasedSimpleKeyProvider'
            providerOptions:
              keyName: 'AdminKey'
              authenticateRoles: ['Acme.SomePackage:Administrator']
            requestPatterns:
              controllerObjectName: 'Acme\\SomePackage\\Controller\\Administration\\.*'
              ip: '::7F00:1'

[BUGFIX] First Functional test run should not be marked risky

Changing globals inside of the test code (which includes the setUp method) will set the test to risky and immediately skip the execution of the test. Globals are now changed in setupBeforeClass to avoid this problem.

[BUGFIX] Check if migrations exist before trying to register them

Currently the check for the existence of migration files is delegated to the doctrine/migration third party library.

The behavior has changed and an exception is thrown if the folder doesn’t exist. To not let the third party library handle that and to prevent this, the check is done upstream in Flow.

Fixes: FLOW-301

[TASK] Require doctrine/migrations 1.0.*

With doctrine/migrations not having had a stable branch for years, Flow always required dev-master. Now that 1.0 is being worked on, require that instead.

Related: FLOW-300

[BUGFIX] Save unicode characters unescaped in JsonArrayType

As there might be the need of a string search in the JSON data all unicode characters should be stored unescaped to allow them to be properly searched and compared.

[TASK] Relax dependencies to allow any branch version

TYPO3.Fluid

[TASK] Relax dependencies to allow any branch version

TYPO3.Kickstart

[TASK] Relax dependencies to allow any branch version

TYPO3.Welcome

[TASK] Relax dependencies to allow any branch version