
| Author | Changes | Lines of Code | Lines per Change |
|---|---|---|---|
| Totals | 90 (100.0%) | 3557 (100.0%) | 39.5 |
| k-fish | 61 (67.8%) | 2824 (79.4%) | 46.2 |
| robert | 26 (28.9%) | 664 (18.7%) | 25.5 |
| bwaidelich | 3 (3.3%) | 69 (1.9%) | 23.0 |
Removed everything in trunk after move to git.
0 lines of code changed in 13 files:
[~TASK] FLOW3 (Cache): Some optical cleanup in APC cache backend test.
15 lines of code changed in 1 file:
[~TASK] FLOW3 (Cache): fixed APCBackendTest
0 lines of code changed in 1 file:
[+FEATURE] FLOW3 (Cache): The FileBackend now uses a shorter hash for the directory names which relaxes the situation for Windows users with a limited path length. The hash is now rendered from the Web path, SAPI type, process user name and application context. Please manually delete everything the Data/Temporary/ directory to get rid of old caches files.
[+FEATURE] FLOW3 (Configuration): The configuration manager now sets the FLOW3 setting "core.context" to the current application context. Resolves #4084
[+BUGFIX] FLOW3 (Core): Reimplemented the detection of various paths which are later available as FLOW3_PATH_ constants. Now supports any setup with symlinks which makes sense. It's important though that the flow3 script is a real file in the installation and no symlink. FLOW3's root path is now determined by an environment variable. This is optional in web mode but mandatory in CLI mode. The environment variable is set automatically by the flow3 script. Resolves #4082 and relates to #3990.
[+BUGFIX] FLOW3 (Package): Files in the directory Packages/ are now ignored by the package manager and the package directory scan was optimized for better performance. Resolves #4085
[~TASK] FLOW3 (Utility): The Arrays::trimExplode() function now removes empty values from the result by default.
11 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
10 lines of code changed in 1 file:
[+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
55 lines of code changed in 1 file:
[+TASK] FLOW3: Removed file level docblocks and @package/@subpackage annotations.
[+TASK] Fluid: Removed file level docblocks and @package/@subpackage annotations.
[+TASK] Kickstart: Removed file level docblocks and @package/@subpackage annotations.
[+TASK] PHP6: Removed file level docblocks and @package/@subpackage annotations.
[+TASK] PHPUnit: Removed file level docblocks and @package/@subpackage annotations.
[+TASK] Testing: Removed file level docblocks and @package/@subpackage annotations.
[+TASK] Welcome: Removed file level docblocks and @package/@subpackage annotations.
[+TASK] YAML: Removed file level docblocks and @package/@subpackage annotations.
0 lines of code changed in 6 files:
[TASK] FLOW3 (Tests): Fixed some issues found while trying PHPUnit 3.4
[TASK] Fluid (Tests): Fixed some issues found while trying PHPUnit 3.4
[TASK] TYPO3CR (Tests): Fixed some issues found while trying PHPUnit 3.4
1 lines of code changed in 1 file:
* FLOW3: (Cache) The dash sign "-" is now allowed as part of a cache entry identifier and a tag. Resolves #2982
* FLOW3: (Cache) Refactored the File Backend so that the expiration time is stored in the cache file instead being a part of the cache file name. This is necessary to allow more special characters in the entry identifier.
* FLOW3: (Cache) File Backend: The @-sign is now used as a separator in tag file names
* FLOW3: (Cache) Implemented a new cache backend "Transient Memory" which stores all entries in memory for the duration of the current script run.
231 lines of code changed in 3 files:
FLOW3:
* Package\Meta\XMLWriter now uses startDocument() instead of writeRaw()
* replaced chr(10) with PHP_EOL (where applicable!)
* replaced curly braces with square brackets for character access on strings (this is no longer the better choice...)
* replaced == with typesafe comparator === where it was used
TYPO3CR:
* replaced chr(10) with PHP_EOL (where applicable!)
* replaced curly braces with square brackets for character access on strings (this is no longer the better choice...)
5 lines of code changed in 1 file:
!!! Globally renamed all class files to the new shorter version. Resolves #2524
FLOW3: (Resource) Adapted the class loader and other related parts of FLOW3 to the new class filename convention
FLOW3: Moved the FLOW3 bootstrap into the F3\FLOW3 namepace
78 lines of code changed in 5 files:
FLOW3:
* moved and renamed cache frontend classes and interfaces, refs #2515
23 lines of code changed in 3 files:
FLOW3 (Cache):
* removed wildcard support (from documentation) in getByTag() and findIdentifierByTag()
* moved some methods, constants and checks to better-fitting places
fixes #1844, refs #1843
865 lines of code changed in 4 files:
FLOW3:
* added cache backend for using the "Alternative PHP Cache" (APC)
319 lines of code changed in 1 file:
FLOW3:
* moved and renamed some cache backend classes and interfaces, refs #2515
Widget:
* adjusted one reference to Cache\Backend\File to the new name
210 lines of code changed in 4 files:
FLOW3 (Memcached cache backend, refs #1844):
* now handles values larger than 1 MB and flush()es only the current cache's entries
* uses SystemLogger for some operations
* accepts "tcp://" prefix for hostnames and uses default port from php.ini if none given
* fixed handling of flags given to set(), enables compression
* memcache keys longer then 250 character raise an exception now instead of being silently trunacted
FLOW3:
* Documentation nitpicking cleanup to Cache\BackendInterface
117 lines of code changed in 2 files:
FLOW3:
* fixed license name in @license annotation, fixes #2454
2 lines of code changed in 2 files:
This is a big commit (sorry - not exactly Continuous Integration ...)
While all seems to be fine and stable, many features introduced in this commit are not complete. Especially AOP Proxy Caching, Logging (API), the System Logger and the Signal Slots mechanism need some further work.
* TYPO3 Distribution: Added a Log directory
* TYPO3 Distribution: Disabled security (for now) because some thing need to be refactored and tested again after this commit
* FLOW3: Further cleanup of the bootstrap. Addresses #2117
* FLOW3: Removed manual registration of objects from all classes and created an Objects.yaml configuration instead which declares the objects and configures their dependencies. This manual registration is necessary for objects such as the AOP Framework because at the time it is created, the Object Manager is not yet fully initialized.
* FLOW3: (AOP) Refactored and cleaned up the AOP initialization process. Resolves #441.
* FLOW3: (AOP) Completely rewrote all unit tests and added many new ones. Now no AOP test relies on the TestPackage anymore. Addresses #1868
* FLOW3: (AOP) Improved the automatic documentation rendering of the Proxy Class Builder. Resolves #35.
* FLOW3: (AOP) Externalized the creation of the AOP proxy and instead use the Caches.yaml configuration.
* FLOW3: (AOP) Removed all use of PHP's Reflection classes and replaced them with calls to the Reflection Service
* FLOW3: (AOP) Converted all classes involved in the proxy building process from static into dynamic calls
* FLOW3: (Cache) Introduced an (semi) automatic cache registration feature which assures that all necessary caches are registered when file changes are detected. In order to register a cache, just define it in the new "Caches.yaml" configuration file. See the FLOW3 package for examples. Resolves #1787
* FLOW3: (Cache) Wrote more tests for the File Backend. Resolves #1843
* FLOW3: (Configuration) Improved the performance of the special configuration management
* FLOW3: (Configuration) Added support for Caches.* configuration
* FLOW3: (Error) The exception handlers now log uncaught exceptions to the System Logger
* FLOW3: (Monitor) Introduced a new sub package "Monitor" which provides a mechanism for automatic detection of changes on monitored files. If monitored files or directories (the latter not yet implemented) change, a signal is emitted which can be catched by a slot taking further action. Currently all cache entries tagged with a class tag are flushed automatically if a class file changes.
* FLOW3: (Log) Introduced a special System Logger which is created automatically and can be injected if needed. Although it works quite well already, the general concept of injecting the logger and the LoggerInterface itself is not final! Watch for log files in the Data/Log/ directory when running TYPO3 / FLOW3 in development context.
* FLOW3: (Log) Introduced a Logger Factory for use in Objects configuration. Warning: the API might still change
* FLOW3: (Log) Made the SEVERITY constants conform to RFC3164 and PHP's LOG_* constants
* FLOW3: (Object) Refactored and detached more unit tests from the TestPackage. Addresses #2123
* FLOW3: (Object) Implemented an early configuration parse step which allows for configuring objects in the Objects.yaml file of the FLOW3 package even before the Package Manager is initialized.
* FLOW3: (Object) Introduced a lifecycle shutdown method (default is "shutdownObject") which can be used as a clean alternative to __destruct().
* FLOW3: (Reflection) Added new API methods: isClassReflected, getInterfaceNamesImplementedByClass, isMethodFinal, isMethodStatic, isMethodPublic, isMethodProtected, isMethodPrivate
* FLOW3: (Reflection) getMethods() now returns information about the method visibility
* FLOW3: (Security) Refactored the ACL Policy Service - might still need some final work
* FLOW3: (SignalSlot) Fixed some small issues in the Dispatcher and implemented support for System Logger
* FLOW3: (Utility) Fixed a bug in Arrays::getValueByPath
* Testing: Implemented a method buildAccessibleProxy() in the BaseTestCase which allows for conveniently calling protected methods of a class. See FLOW3 unit tests for examples.
* TestPackage: Removed many classes which became obsolete due to the AOP tests refactoring. refs #1868
2 lines of code changed in 1 file:
FLOW3, Lucene, PHP6, PHPCR, Smarty, Testing, TYPO3, TYPO3CR, TypoScript:
* fixed broken @version $Id$ annotations that got hosed during new namespace refactoring. Sorry!
3 lines of code changed in 2 files:
FLOW3:
* changed license to LGPL v3 or later
28 lines of code changed in 2 files:
* FLOW3: Fixed a few tests I broke in the last revision (sorry)
* Testing: Adjusted the TestRunner's internal bootstrap to reflect the new initialization order in the FLOW3 bootstrap
7 lines of code changed in 1 file:
FLOW3:
* refactored a bunch of unit tests so they no longer need a real FLOW3 to run, refs #2123
118 lines of code changed in 2 files:
!!! 5.3.0alpha3 namespaces refactoring:
* changed namespace delimiter from :: to \
* all class references in namespaced code prepended by \
PHPUnit:
* adapted mock object handling to the new namespaces syntax
FLOW3:
* PropertyReflection now uses setAccessible() instead of array cast to access protected properties
PHPCR:
* added a missing interface already used for type hints
87 lines of code changed in 2 files:
Note: Although this commit contains the new File/Class Alteration Monitoring which is supposed to speed up FLOW3, a lot of speed optimizations are still missing and will follow during the next days.
* FLOW3: Started cleaning up the bootstrap. Addresses #2117
* FLOW3: Implemented a first version of a Class Alteration Monitoring which automatically flushes cache entries based on class reflection. Addresses #2284
* FLOW3: (Reflection) Refactored the Reflection Service so that information for one class can be flushed / rebuild individually instead of having to rebuild the whole reflection information. Resolves #2284
* FLOW3: (Cache) Fixed the *byTag() methods in the File Backend: If cache entry identifiers contained an underscore "_", the findByTag etc. didn't work any more. Now using "-" as an internal separator.
* FLOW3: (Utility) The temporary directory base is now set via a setter method instead of passing the whole FLOW3 settings to the constructor
* Testing: Adjusted the test runner to reflect the new bootstrap initialization methods
8 lines of code changed in 1 file:
* FLOW3: (Cache) Fixed a bug in the cache backends which accepted invalid tags in the flushByTag() method. Resolves #2158
21 lines of code changed in 2 files:
* FLOW3: Refactored the bootstrap a bit
* FLOW3: (Object) Fixed the Object Builder tests
4 lines of code changed in 1 file:
* FLOW3: (Component) Renamed "component" to "object" - everywhere. That means we now have an Object Manager instead of a Component Manager, an Object Factory etc. Resolves #2119
Globally adjusted all code for the above change.
44 lines of code changed in 2 files:
FLOW3:
* refactored cache frontend and backend API: save() is now set(), load() is now get(), findByTag() is now loadByTag()
Related to http://bugs.typo3.org/view.php?id=9747
90 lines of code changed in 2 files:
* FLOW3: (Component) Renamed the method Component::Factory->getComponent() to Component::Factory->create(). Resolves #1846
* FLOW3: (Component) Component::Factory->create() will now throw an exception on trying to create a component of scope != prototype
* FLOW3: (Component) The Component::Manager->getComponent() method can still be used as a last resort to retrieve components of any scope. However dependency injection for singletons and the component factory for prototype should always be the first choice!
Refactored all packages of the TYPO3 distribution to match the above changes.
Note: The test "F3::TYPO3CR::NodeTest::setPropertySetsValue" currently fails on my machine with the following message:
Error in setPropertySetsValue with data set #34 Detail
TYPO3CR/Classes/F3_TYPO3CR_Node.php:577
Unable to convert value of type string to Name: Namespace prefix is invalid
27 lines of code changed in 2 files:
FLOW3:
* some cleanup in Cache component, refs #1843, refs #1844
* added findByTag() to cache frontends, fixes #1199
26 lines of code changed in 2 files:
FLOW3:
* the file cache backend now checks the lifetime of entries, fixes #1200
* added collectGarbage() to cache front- and backends, needs to be implemented (touches #1785)
172 lines of code changed in 1 file:
FLOW3: Renamed some classes in the Reflection subpackage, fixes #1523.
1 lines of code changed in 1 file:
!!! Major change, will break existing code.
Part 3 - Packages
FLOW3, most other packages:
* added namespaces to the code of FLOW3 and all packages in the current TYPO3v5 distribution.
PHPUnit:
* some changes to make PHPUnit (more) namespace-compatible.
Some notes:
* Documentation updates will follow
* you might need to change your class names when adapting namespaces to avoid using "Class", "Empty", "Default", ...
* expect FLOW3CGL and/or PHPCodeSniffer to be broken (I'll have a look)
* some parts might still be broken, especially in edge-cases where the global namespace needs to explicitly used
59 lines of code changed in 2 files:
FLOW3:
* fixed a bunch of CGL violations
* some TODO comments converted into @todo annotations
1 lines of code changed in 1 file:
FLOW3: memcached backend now returns only identifiers in findEntriesByTag(), fixes #1198.
2 lines of code changed in 1 file:
* FLOW3: (Cache) It's not always possible to check whether a file or directory is writable or not on Windows. Solution for now: Skip setCacheDirectoryThrowsExceptionOnNonWritableDirectory() in Windows environments. Fixes #918.
* FLOW3: (Utility) getPathToTemporaryDirectoryReturnsPathWithTrailingSlash() checked whether temp-directory ends with a trailing slash as in DIRECTORY_SEPARATOR. Replaced this constant by a forward slash in the test now, as we're only working with forward slashes in FLOW3. Fixes #1134.
4 lines of code changed in 1 file:
!!! Important global change !!!
Extracted the getComponent() method from the Component Manager into its own class, the Component Factory. From now on, use the factory if you only need the getComponent() functionality and use the manager if you need the more advanced functions.
21 lines of code changed in 2 files:
* FLOW3: (Cache) Changed the way temporary directory names are created. Now the process username is taken into consideration which should solve possible access problems when running FLOW3 through CLI / Web with different users (and probably concurrently).
* FLOW3: (Utility) The Environment->getPathToTemporaryDirectory() now returns a path which already contains the "FLOW3" directory and the process username subdir.
5 lines of code changed in 1 file:
* FLOW3: (Cache) Fixed the tests and port of the implementation of the Memcached backend. The setServer() method is protected and therefore couldn't be called in the tests anymore. And tests were not properly skipped if the mecache daemon wasn't running.
16 lines of code changed in 1 file:
FLOW3 (Cache):
* The memcache backend now supports flush()
* The memcache backend tests now skip (instead of fail) if no memcached is running
112 lines of code changed in 1 file:
(4 more)