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