3.0.4 (2015-12-17)

Overview of merged pull requests

[BUGFIX] Don’t unlink lock file

Unlinking the lock file again causes race conditions which the locking should prevent in the first place. Until we found out a solid way to do this we need to keep those files even though this is not optimal due to the high amount of inodes those lock files use up.

  • Packages: Flow

TASK: Generate PSR2 based code and some cleanup

This change removes the TYPO3 brand name and updates some invalid links.

  • Packages: Kickstart

BUGFIX: Properly escape sub process variables on windows

Windows SET command does not parse out quotes of the variable value but rather treats them as part of the value, which currently results in an error on windows since the fix for FLOW-381:

Flow could not create the directory “”C:/workspace/Flow/Data/Temporary”/Development/”.

Note the extra quotes around the temporary base path.

This change fixes that by properly escaping the SET command arguments on windows by using escapeshellcmd instead of escapeshellarg.

FLOW-425 #close FLOW-381 #comment Regression fix for compilation on Windows

  • Packages: Flow

BUGFIX: Security context not available in shutdown lifecycle objects

Because the order of shutdown methods being executed by the Object Manager is undetermined, it may happen that shutdownObject() methods relying on an initialized security context will fail because that context is not available anymore. Additionally, Flow’s own shutdown object methods might fail because security checks are still active even though the security framework is not available anymore.

This change makes sure that

  1. shutdown methods of any other than the Flow package are executed first
  2. Flow’s own shutdown methods are called last, and without security checks

Due to the special nature of the CompileTimeObjectManager we need to call the shutdown as before, but security will not be used during compile time.

  • Packages: Flow

BUGFIX: Fix documentation example

The documentation example for translating error messages has to use parameter ‘id’ instead of ‘key’.

  • Packages: Flow

[TASK] Break after 10000 lock attempts

The FlockLockStrategy should at some point always be able to aquire a lock even if it takes a while. But to prevent really long running processes that interlock each other a natural boundary to the amount of lock attempts is introduced. The strategy will throw an exception after 10000 tries to aquire the lock file. Depending on the results of random the maximum time to reach this upper boundary is about 2 seconds.

  • Packages: Flow

[BUGFIX] Ignore warning on failed stat

We check if the stat call in FlockLockStrategy returned false anyway and can safely suppress the generated warning.

  • Packages: Flow