This release fixes an issue in which annotations such as @foo-bar
and @foo-
were incorrectly recognised as valid, and both erroneously
parsed as @foo
.
Any annotation with @name-*
format will now silently be ignored,
allowing vendor-specific annotations to be prefixed with the tool
name.
Total issues resolved: 3
- 165: Update the composer branch alias thanks to @mikeSimonson
- 209: Change Annotation::value typehint to mixed thanks to @malarzm
- 257: Skip parsing annotations containing dashes, such as
@Foo-bar
, or@Foo-
thanks to @Ocramius
This release brings a new endpoint that make sure that you can't shoot yourself in the foot by calling registerLoader
multiple times and a few tests improvements.
Total issues resolved: 7
- 145: Memory leak in AnnotationRegistry::registerLoader() when called multiple times thanks to @TriAnMan
- 146: Import error on @experimental Annotation thanks to @aturki
- 147: Ignoring @experimental annotation used by Symfony 3.3 CacheAdapter thanks to @aturki
- 151: Remove duplicate code in
DCOM58Test
thanks to @tuanphpvn - 161: Prevent loading class_exists multiple times thanks to @jrjohnson
- 162: Add registerUniqueLoader to AnnotationRegistry thanks to @jrjohnson
- 163: Use assertDirectoryExists and assertDirectoryNotExists thanks to @carusogabriel
Thanks to everyone involved in this release.
This release increments the minimum supported PHP version to 7.1.0.
Also, HHVM official support has been dropped.
Some noticeable performance improvements to annotation autoloading have been applied, making failed annotation autoloading less heavy on the filesystem access.
- 133: Add @throws annotation in AnnotationReader#__construct() thanks to @SenseException
- 134: Require PHP 7.1, drop HHVM support thanks to @lcobucci
- 135: Prevent the same loader from being registered twice thanks to @jrjohnson
- 137: #135 optimise multiple class load attempts in AnnotationRegistry thanks to @Ocramius
This release fix an issue were some annotations could be not loaded if the namespace in the use statement started with a backslash. It also update the tests and drop the support for php 5.X
- 115: Missing annotations with the latest composer version thanks to @pascalporedda
- 120: Missing annotations with the latest composer version thanks to @gnat42
- 121: Adding a more detailed explanation of the test thanks to @mikeSimonson
- 101: Test annotation parameters containing space thanks to @mikeSimonson
- 111: Cleanup: move to correct phpunit assertions thanks to @Ocramius
- 112: Removes support for PHP 5.x thanks to @railto
- 113: bumped phpunit version to 5.7 thanks to @gabbydgab
- 114: Enhancement: Use SVG Travis build badge thanks to @localheinz
- 118: Integrating PHPStan thanks to @ondrejmirtes
This release fixes an issue with ignored annotations that were already
autoloaded, causing the SimpleAnnotationReader
to pick them up
anyway. #110
Additionally, an issue was fixed in the CachedReader
, which was
not correctly checking the freshness of cached annotations when
traits were defined on a class. #105
Total issues resolved: 2
- 105: Return single max timestamp
- 110: setIgnoreNotImportedAnnotations(true) didn’t work for existing classes
This release introduces a PHP version bump. doctrine/annotations
now requires PHP
5.6 or later to be installed.
A series of additional improvements have been introduced:
- support for PHP 7 "grouped use statements"
- support for ignoring entire namespace names
via
Doctrine\Common\Annotations\AnnotationReader::addGlobalIgnoredNamespace()
andDoctrine\Common\Annotations\DocParser::setIgnoredAnnotationNamespaces()
. This will allow you to ignore annotations from namespaces that you cannot autoload - testing all parent classes and interfaces when checking if the annotation cache
in the
CachedReader
is fresh - simplifying the cache keys used by the
CachedReader
: keys are no longer artificially namespaced, sinceDoctrine\Common\Cache
already supports that - corrected parsing of multibyte strings when
mbstring.func_overload
is enabled - corrected parsing of annotations when
"\t"
is put before the first annotation in a docblock - allow skipping non-imported annotations when a custom
DocParser
is passed to theAnnotationReader
constructor
Total issues resolved: 15
- 45: DocParser can now ignore whole namespaces
- 57: Switch to the docker-based infrastructure on Travis
- 59: opcache.load_comments has been removed from PHP 7
- 62: [CachedReader\ Test traits and parent class to see if cache is fresh
- 65: Remove cache salt making key unnecessarily long
- 66: Fix of incorrect parsing multibyte strings
- 68: Annotations that are indented by tab are not processed.
- 69: Support for Group Use Statements
- 70: Allow tab character before first annotation in DocBlock
- 74: Ignore not registered annotations fix
- 92: Added tests for AnnotationRegistry class.
- 96: Fix/#62 check trait and parent class ttl in annotations
- 97: Feature - #45 - allow ignoring entire namespaces
- 98: Enhancement/#65 remove cache salt from cached reader
- 99: Fix - #70 - allow tab character before first annotation in docblock
Total issues resolved: 1
Total issues resolved: 2
- 49: #46 - applying correct
chmod()
to generated cache file - 50: Hotfix: match escaped quotes (revert #44)
Total issues resolved: 4
- 43: Exclude files from distribution with .gitattributes
- 44: Update DocLexer.php
- 46: A plain "file_put_contents" can cause havoc
- 48: Deprecating the
FileCacheReader
in 1.2.2: will be removed in 2.0.0
Total issues resolved: 4
- 38: fixes doctrine/common#326
- 39: Remove superfluous NS
- 41: Warn if load_comments is not enabled.
- 42: Clean up unused uses
- HHVM support
- Allowing dangling comma in annotations
- Excluded annotations are no longer autoloaded
- Importing namespaces also in traits
- Added support for
::class
5.5-style constant, works also in 5.3 and 5.4
- Add Exception when ZendOptimizer+ or Opcache is configured to drop comments