1## Changelog 2 3### 1.6.1 4 5This release fixes an issue in which annotations such as `@foo-bar` 6and `@foo-` were incorrectly recognised as valid, and both erroneously 7parsed as `@foo`. 8 9Any annotation with `@name-*` format will now silently be ignored, 10allowing vendor-specific annotations to be prefixed with the tool 11name. 12 13Total issues resolved: **3** 14 15- [165: Update the composer branch alias](https://github.com/doctrine/annotations/pull/165) thanks to @mikeSimonson 16- [209: Change Annotation::value typehint to mixed](https://github.com/doctrine/annotations/pull/209) thanks to @malarzm 17- [257: Skip parsing annotations containing dashes, such as `@Foo-bar`, or `@Foo-`](https://github.com/doctrine/annotations/pull/257) thanks to @Ocramius 18 19### 1.6.0 20 21This 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. 22 23Total issues resolved: **7** 24 25- [145: Memory leak in AnnotationRegistry::registerLoader() when called multiple times](https://github.com/doctrine/annotations/issues/145) thanks to @TriAnMan 26- [146: Import error on @experimental Annotation](https://github.com/doctrine/annotations/issues/146) thanks to @aturki 27- [147: Ignoring @experimental annotation used by Symfony 3.3 CacheAdapter](https://github.com/doctrine/annotations/pull/147) thanks to @aturki 28- [151: Remove duplicate code in `DCOM58Test`](https://github.com/doctrine/annotations/pull/151) thanks to @tuanphpvn 29- [161: Prevent loading class_exists multiple times](https://github.com/doctrine/annotations/pull/161) thanks to @jrjohnson 30- [162: Add registerUniqueLoader to AnnotationRegistry](https://github.com/doctrine/annotations/pull/162) thanks to @jrjohnson 31- [163: Use assertDirectoryExists and assertDirectoryNotExists](https://github.com/doctrine/annotations/pull/163) thanks to @carusogabriel 32 33Thanks to everyone involved in this release. 34 35### 1.5.0 36 37This release increments the minimum supported PHP version to 7.1.0. 38 39Also, HHVM official support has been dropped. 40 41Some noticeable performance improvements to annotation autoloading 42have been applied, making failed annotation autoloading less heavy 43on the filesystem access. 44 45- [133: Add @throws annotation in AnnotationReader#__construct()](https://github.com/doctrine/annotations/issues/133) thanks to @SenseException 46- [134: Require PHP 7.1, drop HHVM support](https://github.com/doctrine/annotations/issues/134) thanks to @lcobucci 47- [135: Prevent the same loader from being registered twice](https://github.com/doctrine/annotations/issues/135) thanks to @jrjohnson 48- [137: #135 optimise multiple class load attempts in AnnotationRegistry](https://github.com/doctrine/annotations/issues/137) thanks to @Ocramius 49 50 51### 1.4.0 52 53This release fix an issue were some annotations could be not loaded if the namespace in the use statement started with a backslash. 54It also update the tests and drop the support for php 5.X 55 56- [115: Missing annotations with the latest composer version](https://github.com/doctrine/annotations/issues/115) thanks to @pascalporedda 57- [120: Missing annotations with the latest composer version](https://github.com/doctrine/annotations/pull/120) thanks to @gnat42 58- [121: Adding a more detailed explanation of the test](https://github.com/doctrine/annotations/pull/121) thanks to @mikeSimonson 59- [101: Test annotation parameters containing space](https://github.com/doctrine/annotations/pull/101) thanks to @mikeSimonson 60- [111: Cleanup: move to correct phpunit assertions](https://github.com/doctrine/annotations/pull/111) thanks to @Ocramius 61- [112: Removes support for PHP 5.x](https://github.com/doctrine/annotations/pull/112) thanks to @railto 62- [113: bumped phpunit version to 5.7](https://github.com/doctrine/annotations/pull/113) thanks to @gabbydgab 63- [114: Enhancement: Use SVG Travis build badge](https://github.com/doctrine/annotations/pull/114) thanks to @localheinz 64- [118: Integrating PHPStan](https://github.com/doctrine/annotations/pull/118) thanks to @ondrejmirtes 65 66### 1.3.1 - 2016-12-30 67 68This release fixes an issue with ignored annotations that were already 69autoloaded, causing the `SimpleAnnotationReader` to pick them up 70anyway. [#110](https://github.com/doctrine/annotations/pull/110) 71 72Additionally, an issue was fixed in the `CachedReader`, which was 73not correctly checking the freshness of cached annotations when 74traits were defined on a class. [#105](https://github.com/doctrine/annotations/pull/105) 75 76Total issues resolved: **2** 77 78- [105: Return single max timestamp](https://github.com/doctrine/annotations/pull/105) 79- [110: setIgnoreNotImportedAnnotations(true) didn’t work for existing classes](https://github.com/doctrine/annotations/pull/110) 80 81### 1.3.0 82 83This release introduces a PHP version bump. `doctrine/annotations` now requires PHP 845.6 or later to be installed. 85 86A series of additional improvements have been introduced: 87 88 * support for PHP 7 "grouped use statements" 89 * support for ignoring entire namespace names 90 via `Doctrine\Common\Annotations\AnnotationReader::addGlobalIgnoredNamespace()` and 91 `Doctrine\Common\Annotations\DocParser::setIgnoredAnnotationNamespaces()`. This will 92 allow you to ignore annotations from namespaces that you cannot autoload 93 * testing all parent classes and interfaces when checking if the annotation cache 94 in the `CachedReader` is fresh 95 * simplifying the cache keys used by the `CachedReader`: keys are no longer artificially 96 namespaced, since `Doctrine\Common\Cache` already supports that 97 * corrected parsing of multibyte strings when `mbstring.func_overload` is enabled 98 * corrected parsing of annotations when `"\t"` is put before the first annotation 99 in a docblock 100 * allow skipping non-imported annotations when a custom `DocParser` is passed to 101 the `AnnotationReader` constructor 102 103Total issues resolved: **15** 104 105- [45: DocParser can now ignore whole namespaces](https://github.com/doctrine/annotations/pull/45) 106- [57: Switch to the docker-based infrastructure on Travis](https://github.com/doctrine/annotations/pull/57) 107- [59: opcache.load_comments has been removed from PHP 7](https://github.com/doctrine/annotations/pull/59) 108- [62: [CachedReader\ Test traits and parent class to see if cache is fresh](https://github.com/doctrine/annotations/pull/62) 109- [65: Remove cache salt making key unnecessarily long](https://github.com/doctrine/annotations/pull/65) 110- [66: Fix of incorrect parsing multibyte strings](https://github.com/doctrine/annotations/pull/66) 111- [68: Annotations that are indented by tab are not processed.](https://github.com/doctrine/annotations/issues/68) 112- [69: Support for Group Use Statements](https://github.com/doctrine/annotations/pull/69) 113- [70: Allow tab character before first annotation in DocBlock](https://github.com/doctrine/annotations/pull/70) 114- [74: Ignore not registered annotations fix](https://github.com/doctrine/annotations/pull/74) 115- [92: Added tests for AnnotationRegistry class.](https://github.com/doctrine/annotations/pull/92) 116- [96: Fix/#62 check trait and parent class ttl in annotations](https://github.com/doctrine/annotations/pull/96) 117- [97: Feature - #45 - allow ignoring entire namespaces](https://github.com/doctrine/annotations/pull/97) 118- [98: Enhancement/#65 remove cache salt from cached reader](https://github.com/doctrine/annotations/pull/98) 119- [99: Fix - #70 - allow tab character before first annotation in docblock](https://github.com/doctrine/annotations/pull/99) 120 121### 1.2.4 122 123Total issues resolved: **1** 124 125- [51: FileCacheReader::saveCacheFile::unlink fix](https://github.com/doctrine/annotations/pull/51) 126 127### 1.2.3 128 129Total issues resolved: [**2**](https://github.com/doctrine/annotations/milestones/v1.2.3) 130 131- [49: #46 - applying correct `chmod()` to generated cache file](https://github.com/doctrine/annotations/pull/49) 132- [50: Hotfix: match escaped quotes (revert #44)](https://github.com/doctrine/annotations/pull/50) 133 134### 1.2.2 135 136Total issues resolved: **4** 137 138- [43: Exclude files from distribution with .gitattributes](https://github.com/doctrine/annotations/pull/43) 139- [44: Update DocLexer.php](https://github.com/doctrine/annotations/pull/44) 140- [46: A plain "file_put_contents" can cause havoc](https://github.com/doctrine/annotations/pull/46) 141- [48: Deprecating the `FileCacheReader` in 1.2.2: will be removed in 2.0.0](https://github.com/doctrine/annotations/pull/48) 142 143### 1.2.1 144 145Total issues resolved: **4** 146 147- [38: fixes doctrine/common#326](https://github.com/doctrine/annotations/pull/38) 148- [39: Remove superfluous NS](https://github.com/doctrine/annotations/pull/39) 149- [41: Warn if load_comments is not enabled.](https://github.com/doctrine/annotations/pull/41) 150- [42: Clean up unused uses](https://github.com/doctrine/annotations/pull/42) 151 152### 1.2.0 153 154 * HHVM support 155 * Allowing dangling comma in annotations 156 * Excluded annotations are no longer autoloaded 157 * Importing namespaces also in traits 158 * Added support for `::class` 5.5-style constant, works also in 5.3 and 5.4 159 160### 1.1.0 161 162 * Add Exception when ZendOptimizer+ or Opcache is configured to drop comments 163