


| Directory | Changes | Lines of Code | Lines per Change |
|---|---|---|---|
| Totals | 220 (100.0%) | 8980 (100.0%) | 40.8 |
| Tests/MVC/Web/Routing/ | 33 (15.0%) | 2935 (32.7%) | 88.9 |
| Classes/MVC/Web/Routing/ | 59 (26.8%) | 2407 (26.8%) | 40.7 |
| Tests/MVC/View/ | 8 (3.6%) | 492 (5.5%) | 61.5 |
| Documentation/Manual/DocBook/en/ | 5 (2.3%) | 381 (4.2%) | 76.2 |
| Tests/Unit/MVC/View/ | 4 (1.8%) | 378 (4.2%) | 94.5 |
| Tests/Utility/ | 4 (1.8%) | 305 (3.4%) | 76.2 |
| Classes/Utility/ | 5 (2.3%) | 281 (3.1%) | 56.2 |
| Classes/MVC/Exception/ | 5 (2.3%) | 193 (2.1%) | 38.6 |
| Classes/Log/ | 2 (0.9%) | 192 (2.1%) | 96.0 |
| Classes/MVC/View/Helper/ | 4 (1.8%) | 188 (2.1%) | 47.0 |
| Classes/MVC/View/ | 16 (7.3%) | 154 (1.7%) | 9.6 |
| Classes/Configuration/ | 3 (1.4%) | 114 (1.3%) | 38.0 |
| Tests/MVC/Controller/ | 6 (2.7%) | 110 (1.2%) | 18.3 |
| Classes/MVC/Controller/ | 10 (4.5%) | 105 (1.2%) | 10.5 |
| Tests/Configuration/ | 2 (0.9%) | 95 (1.1%) | 47.5 |
| Tests/Log/ | 1 (0.5%) | 76 (0.8%) | 76.0 |
| Tests/Cache/Backend/ | 3 (1.4%) | 69 (0.8%) | 23.0 |
| Tests/MVC/View/Helper/ | 2 (0.9%) | 49 (0.5%) | 24.5 |
| Classes/Cache/Backend/ | 2 (0.9%) | 48 (0.5%) | 24.0 |
| Tests/MVC/Fixture/Web/Routing/ | 4 (1.8%) | 47 (0.5%) | 11.7 |
| Configuration/ | 6 (2.7%) | 47 (0.5%) | 7.8 |
| Tests/Validation/ | 2 (0.9%) | 46 (0.5%) | 23.0 |
| Classes/MVC/Web/ | 3 (1.4%) | 46 (0.5%) | 15.3 |
| Tests/MVC/Web/ | 3 (1.4%) | 36 (0.4%) | 12.0 |
| Tests/Unit/Utility/ | 2 (0.9%) | 32 (0.4%) | 16.0 |
| Classes/MVC/ | 1 (0.5%) | 31 (0.3%) | 31.0 |
| Classes/MVC/Web/Routing/Aspect/ | 1 (0.5%) | 19 (0.2%) | 19.0 |
| Tests/Event/ | 2 (0.9%) | 18 (0.2%) | 9.0 |
| Classes/Resource/ | 2 (0.9%) | 17 (0.2%) | 8.5 |
| Classes/Validation/ | 1 (0.5%) | 16 (0.2%) | 16.0 |
| Tests/Security/Cryptography/ | 1 (0.5%) | 13 (0.1%) | 13.0 |
| Classes/Event/ | 3 (1.4%) | 12 (0.1%) | 4.0 |
| Classes/Error/ | 2 (0.9%) | 9 (0.1%) | 4.5 |
| Tests/Configuration/Source/ | 2 (0.9%) | 4 (0.0%) | 2.0 |
| Classes/Package/Controller/ | 1 (0.5%) | 3 (0.0%) | 3.0 |
| Classes/Package/ | 2 (0.9%) | 3 (0.0%) | 1.5 |
| Classes/Security/Channel/ | 1 (0.5%) | 2 (0.0%) | 2.0 |
| Classes/ | 1 (0.5%) | 2 (0.0%) | 2.0 |
| Tests/Unit/Resource/Publishing/ | 1 (0.5%) | 1 (0.0%) | 1.0 |
| Tests/Unit/Resource/ | 1 (0.5%) | 1 (0.0%) | 1.0 |
| Tests/Monitor/ | 1 (0.5%) | 1 (0.0%) | 1.0 |
| Tests/Log/Backend/ | 1 (0.5%) | 1 (0.0%) | 1.0 |
| Classes/Resource/Publishing/ | 1 (0.5%) | 1 (0.0%) | 1.0 |
| Classes/Security/Authorization/Interceptor/ | 1 (0.5%) | 0 (0.0%) | 0.0 |

[+BUGFIX] FLOW3 (MVC): F3\FLOW3\MVC\View\JsonView no longer throws an exception if more than one variable is assigned. This relates to #9136
[+FEATURE] FLOW3 (MVC): F3\FLOW3\MVC\View\JsonView is now able to render multiple variables. By default only variables with the name "value" are rendered. You can change that behavior through the setVariablesToRender() setter. This relates to #9136
97 lines of code changed in 2 files:
[+TASK] FLOW3 (MVC): Cleaned up View implementations. They no correctly implement F3\FLOW3\MVC\View\ViewInterface. This resolves #9136
[+BUGFIX] Fluid (View): AbstractTemplateView now correctly implements F3\FLOW3\MVC\View\ViewInterface and assign() and assignMultiple() will return an instance of $this to allow chaining again like $this->view->assign()->assign()... This fixes #9090
330 lines of code changed in 8 files:
[~TASK] FLOW3 (Error): Slightly tweaked Debugger: set title attribute of the "proxy" span to the Proxy class name. Fixed a typo
[~TASK] FLOW3 (Configuration): Renamed "Locale" to "I18n" in a comment in Objects.yaml
[+TASK] FLOW3 (Testing): If no settings.xml could be found, Selenium tests are skipped with a notice instead of triggering an error
3 lines of code changed in 2 files:
[+BUGFIX] FLOW3: Added helper function \F3\FLOW3\Utility\Files::is_link() that works on Windows too. This resolves #8432.
56 lines of code changed in 6 files:
[+TASK] FLOW3 (Error): \F3\var_dump() now accepts an optional second parameter to set a custom title for your debug output. Relates to #8468
7 lines of code changed in 1 file:
[+BUGFIX] FLOW3 (MVC): RouterCachingAspect now converts objects to hashes recursively, fixes #5153
19 lines of code changed in 1 file:
[+FEATURE] FLOW3 (MVC): Made package settings available in view. Now you can access settings directly in your Fluid template like {settings.someOption}. This resolves #5152
4 lines of code changed in 1 file:
[+BUGFIX] FLOW3 (Resource): Fixed Resource Publisher unit test that was broken since r3354
1 lines of code changed in 1 file:
[~TASK] FLOW3 (MVC): replaced objectFactory & objectManager by mock objects in RouteTest, added some tests. This resolves #2556
268 lines of code changed in 1 file:
[~TASK] FLOW3 (Cache): FileBackend now stores the result of $this->environment->getMaximumPathLength() to increase performance. Relates to #3560
25 lines of code changed in 2 files:
[+TASK] FLOW3 (MVC): Added the previously committed method assignMultiple() to the ViewInterface
11 lines of code changed in 2 files:
[+FEATURE] FLOW3 (MVC): Enable bulk assignment of template variables in AbstractView. Just call $this->view->assignMultiple(array('key1' => 'value1', 'key2' => 'value2')) to set multiple keys at once. Resolves #3997
[+BUGFIX] FLOW3 (MVC): AbstractView::assign() now returns itself as stated in the comment. This enables method chaining like: $this->view->assign('key1', 'value1')->assign('key2', 'value2');
[+TASK]: FLOW3 (MVC): Tweaked NotFoundView and StandardView and added test cases for all views of the FLOW3 MVC Subpackage.
[-TASK]: Fluid (View): Removed obsolete Method assign() from TemplateView as this method already exists in the parent class. The check for the key "view" is not needed anymore since the view is stored in the VariableContainer
583 lines of code changed in 10 files:
[+FEATURE] FLOW3 (Cache): Throw exception if FileBackend tries to create a file with a path that exceeds the maximum allowed path length. Fixes #3560
[+FEATURE] FLOW3 (Environment): Create warning log entry if temporary base path is longer than (PHP_MAXPATHLEN - 230). Relates to #3560
[BUGFIX] FLOW3 (Monitor): Fixed one more file monitor test that failed on Windows. Relates to #3823
170 lines of code changed in 6 files:
* [FIX] FLOW3 (Tests): Replaced PHP_EOL by chr(10) in YAMLSourceTests to avoid failures on Windows
* [TASK] FLOW3 (Tests): Renamed class names PHPTest -> PHPSourceTest, YAMLTest -> YAMLSourceTest
4 lines of code changed in 2 files:
FLOW3:
* tweaked PackageManager: create action now returns path of the generated package. Help action shows correct CLI syntax now.
3 lines of code changed in 1 file:
FLOW3:
* added F3\FLOW3\MVC\Cli\Request to the supported request types for NotFoundController
* Fixed typos and CGL violations in documentation
* Added initial routing documentation - feel free to modify ;)
386 lines of code changed in 6 files:
FLOW3:
* !!! BREAKING CHANGE !!! F3\FLOW3\Configuration\Manager is now able to load sub routes from packages and merge them with main routes. Resolves #2126 (This needs further testing and some cleanup!)
* !!! BREAKING CHANGE !!! Routes are not processed in reverse order anymore. Resolves #3441.
* Query string won't be lowercased anymore by the routing framework. Relates to #2237.
* Added some missing type hints to F3\FLOW3\Configuration\Manager
* Improved exception messages in F3\FLOW3\MVC\Web\Routing\Route
FLOW3 Distribution:
* !!! BREAKING CHANGE !!! adapted global routes to the changes mentioned above and added subroutes to FLOW3/TYPO3CR packages.
138 lines of code changed in 6 files:
FLOW3: re-added @internal annotations to setters in ControllerContext. They were unintentionally removed in previous commit.
5 lines of code changed in 1 file:
FLOW3:
* Removed FLOW3\Utility\GenericCollection from repository, it's currently not needed. Resolves #3400
* Moved method setArgumentsFromRawRequestData() from Router to RequestBuilder. Resolves #3368
* Renamed URIHelper to URIBuilder. Removed Classes HelperInterface, AbstractHelper and InvalidViewHelper Exception. Adapted AbstractView & ViewInterface. Resolves #3303
* Added section parameter to URIFor() method of the URIBuilder
* Refactored Base controllers - controllerContext is no instance variable anymore and will be created when passed to view in initializeView(). Resolves #3404
* ControllerContext is of scope prototype now. Added setter/getter for URIBuilder. Some cosmetic changes.
* Added getRequestPath() to Request.
* ControllerKeys (@controller, @action, @package, @subpackage and @format) can now be set by request arguments. Resolves #2853
625 lines of code changed in 21 files:
Routing:
* Added Rout Part Options to be able to add arbitrary configurations to rout parts. This resolves #2825.
* Spare matchValues are added to the resolved URI as query parameters
* Moved common properties & methods to RoutePartInterface
* some Cosmetic changes
185 lines of code changed in 4 files:
(26 more)