1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703
|
# Changelog
All notable changes to this project will be documented in this file, in reverse chronological order by release.
## 4.0.0 - 2020-12-30
### Added
- [laminas/laminas-code#57](https://github.com/laminas/laminas-code/pull/57) support for following PHP 8
types have been added:
* union types
* `false`
* `mixed`
* `null`
* `static`
### Changed
- [laminas/laminas-code#57](https://github.com/laminas/laminas-code/pull/57) due to internal refactoring
requiring better internal types, the minimum supported PHP version is now `7.4`
- BC BREAK [laminas/laminas-code#38](https://github.com/laminas/laminas-code/pull/38) changed generated class
output to no longer contain excessive whitespace around contents. The structure of the generated output
will still be the same, but spacing changed, which will likely lead o breakages if you
are asserting/depending upon the strings produced by `Laminas\Code\Generator\ClassGenerator#generate()`
- BC BREAK [laminas/laminas-code#42](https://github.com/laminas/laminas-code/pull/42) `declare()` statements
will now be generated above `namespace` declarations: this is to be better compliant with PSR-2, but it
may break downstream applications if these rely on the stability of code produced
by `Laminas\Code\Generator\FileGenerator#generate()`
### Removed
- BC BREAK [zendframwork/zend-code#153](https://github.com/zendframework/zend-code/pull/153) Removed
the annotation API from the library
- BC BREAK [laminas/laminas-code#39](https://github.com/laminas/laminas-code/pull/39) the
`laminas/laminas-zendframework-bridge` has been removed, and is instead to be installed optionally
by consumers of the library. If you are still migrating from `zendframework/zend-code`, you will
need to add it to your `composer.json` yourself, or directly use to `Laminas\Code` symbols.
- BC BREAK [laminas/laminas-code#58](https://github.com/laminas/laminas-code/pull/58) the `Scanner`
and `Annotation` components have been removed, and with it all API that interacted with it:
* `Laminas\Code\Generator\FileGeneratorRegistry` has been deleted
* `Laminas\Code\Generator\FileGenerator::fromReflectedFileName()` was removed
* `Laminas\Code\Generator\FileGenerator::fromReflection()` was removed
* `Laminas\Code\NameInformation` has been deleted
* `Laminas\Code\Reflection\ReflectionInterface` was marked `@internal`
* `Laminas\Code\Reflection\FileReflection` has been deleted
* `Laminas\Code\Generic\Prototype\PrototypeInterface` was marked `@internal`
* `Laminas\Code\Generic\Prototype\PrototypeClassFactory` was marked `@internal`
* `Laminas\Code\Generic\Prototype\PrototypeGenericInterface` was marked `@internal`
* `Laminas\Code\Annotation\AnnotationInterface` has been deleted
* `Laminas\Code\Annotation\Parser\GenericAnnotationParser` has been deleted
* `Laminas\Code\Annotation\Parser\ParserInterface` has been deleted
* `Laminas\Code\Annotation\Parser\DoctrineAnnotationParser` has been deleted
* `Laminas\Code\Annotation\AnnotationManager` has been deleted
* `Laminas\Code\Annotation\AnnotationCollection` has been deleted
* `Laminas\Code\Scanner\ValueScanner` has been deleted
* `Laminas\Code\Scanner\DirectoryScanner` has been deleted
* `Laminas\Code\Scanner\DocBlockScanner#$nameInformation` was removed
* `Laminas\Code\Scanner\DocBlockScanner#$annotationManager` was removed
* `Laminas\Code\Scanner\DocBlockScanner#$annotations` was removed
* `Laminas\Code\Scanner\DocBlockScanner#getAnnotations()` was removed
* `Laminas\Code\Scanner\DocBlockScanner` was marked `@internal`
* `Laminas\Code\Scanner\ConstantScanner` has been deleted
* `Laminas\Code\Scanner\FunctionScanner` has been deleted
* `Laminas\Code\Scanner\AnnotationScanner` has been deleted
* `Laminas\Code\Scanner\DerivedClassScanner` has been deleted
* `Laminas\Code\Scanner\ClassScanner` has been deleted
* `Laminas\Code\Scanner\AggregateDirectoryScanner` has been deleted
* `Laminas\Code\Scanner\TokenArrayScanner` has been deleted
* `Laminas\Code\Scanner\ParameterScanner` has been deleted
* `Laminas\Code\Scanner\FileScanner` has been deleted
* `Laminas\Code\Scanner\PropertyScanner` has been deleted
* `Laminas\Code\Scanner\CachingFileScanner` has been deleted
* `Laminas\Code\Scanner\ScannerInterface` has been deleted
* `Laminas\Code\Scanner\MethodScanner` has been deleted
* `Laminas\Code\Scanner\Util` has been deleted
-----
### Release Notes for [4.0.0](https://github.com/laminas/laminas-code/milestone/1)
next backward compatibility break release (major)
### 4.0.0
- Total issues resolved: **21**
- Total pull requests resolved: **13**
- Total contributors: **9**
#### Enhancement
- [64: Verify `4.0.x` branch against real-world applications before releasing](https://github.com/laminas/laminas-code/issues/64) thanks to @Ocramius
- [63: Feature - #62 upgrade coding standard and lock dependencies](https://github.com/laminas/laminas-code/pull/63) thanks to @Ocramius
- [61: fix #45 : Psalm integration](https://github.com/laminas/laminas-code/pull/61) thanks to @fezfez and @boesing
- [60: Remove travi-ci and move to github action](https://github.com/laminas/laminas-code/pull/60) thanks to @fezfez and @weierophinney
- [59: Merge release 3.5.1 into 4.0.x](https://github.com/laminas/laminas-code/pull/59) thanks to @github-actions[bot]
- [57: #53 support php-8.0 type system additions](https://github.com/laminas/laminas-code/pull/57) thanks to @Ocramius and @weierophinney
- [56: #48 merge release `3.5.0` into development branch for `4.0.x`](https://github.com/laminas/laminas-code/pull/56) thanks to @Ocramius
- [10: Additional blank lines make generated class not PSR2 compliant](https://github.com/laminas/laminas-code/issues/10) thanks to @weierophinney
#### BC Break,Enhancement
- [58: BC BREAK: removed `Scanner` component, removed `FileReflection`, removed `NameInformation` and made `DocBlockScanner` `@internal`](https://github.com/laminas/laminas-code/pull/58) thanks to @Ocramius
- [39: Suggest "laminas/laminas-zendframework-bridge"](https://github.com/laminas/laminas-code/pull/39) thanks to @olvlvl
- [12: Remove code scanners to improve library maintainability](https://github.com/laminas/laminas-code/issues/12) thanks to @weierophinney
#### Duplicate,Enhancement
- [54: #53 added support for generating parameters with union types in their definitions](https://github.com/laminas/laminas-code/pull/54) thanks to @fezfez and @weierophinney
- [48: Merge release 3.5.0 into 4.0.x](https://github.com/laminas/laminas-code/pull/48) thanks to @github-actions[bot]
#### Bug
- [50: Some constants are not rendered properly depending on environment values](https://github.com/laminas/laminas-code/pull/50) thanks to @drupol
#### Bug,Unit Test Needed
- [42: Moved declare statements above namespace](https://github.com/laminas/laminas-code/pull/42) thanks to @jguittard
#### Awaiting Author Updates,BC Break
- [38: Generating class in a better format.](https://github.com/laminas/laminas-code/pull/38) thanks to @tiagosampaio
#### Bug,Duplicate,Won't Fix
- [28: DirectoryScanner->getClasses() returns no classes](https://github.com/laminas/laminas-code/issues/28) thanks to @weierophinney
#### Bug,Won't Fix
- [27: Zend\Code\Scanner\MethodScanner does not account for scalar type declarations](https://github.com/laminas/laminas-code/issues/27) thanks to @weierophinney
- [26: v3 only: Unknown Notices from ClassScanner](https://github.com/laminas/laminas-code/issues/26) thanks to @weierophinney
- [22: Update AnnotationScanner.php](https://github.com/laminas/laminas-code/issues/22) thanks to @weierophinney
- [18: Notice when using array as default value for parameter](https://github.com/laminas/laminas-code/issues/18) thanks to @weierophinney
- [15: E_NOTICE with trait method aliases](https://github.com/laminas/laminas-code/issues/15) thanks to @weierophinney
- [9: Zend\Code\Reflection\FileReflection getBody()](https://github.com/laminas/laminas-code/issues/9) thanks to @weierophinney
- [8: Zend\Code\Reflection\FileReflection crashes on Zend's module.config.php](https://github.com/laminas/laminas-code/issues/8) thanks to @weierophinney
- [3: Not using return value of array_map in ClassGenerator->setImplementedInterfaces](https://github.com/laminas/laminas-code/issues/3) thanks to @weierophinney
#### Question,Won't Fix
- [25: Use Reflection\FileReflection without including file? ](https://github.com/laminas/laminas-code/issues/25) thanks to @weierophinney
#### Enhancement,Won't Fix
- [19: Support nullable types](https://github.com/laminas/laminas-code/issues/19) thanks to @weierophinney
- [1: perfect FunctionScanner class ](https://github.com/laminas/laminas-code/issues/1) thanks to @weierophinney
#### BC Break,Enhancement,Question
- [17: Deprecate scanner functionality (4.0), drop it (5.0) in favor of ](https://github.com/laminas/laminas-code/issues/17) thanks to @weierophinney
## 3.5.1 - 2020-11-30
### Added
### Release Notes for [3.5.1](https://github.com/laminas/laminas-code/milestone/4)
3.5.x bugfix release (patch)
### 3.5.1
- Total issues resolved: **0**
- Total pull requests resolved: **1**
- Total contributors: **1**
#### Enhancement
- [55: Use `8.0` instead of `nightly` in travis-ci builds](https://github.com/laminas/laminas-code/pull/55) thanks to @fezfez
## 3.5.0 - 2020-11-11
### Added
- [#47](https://github.com/laminas/laminas-code/pull/47) adds support for PHP 8. NOTE: this simply means the code runs on PHP 8, not that it can generate code specific to PHP 8.
-----
### Release Notes for [3.5.0](https://github.com/laminas/laminas-code/milestone/3)
next feature release (minor)
### 3.5.0
- Total issues resolved: **0**
- Total pull requests resolved: **3**
- Total contributors: **3**
#### Enhancement,hacktoberfest-accepted
- [47: Start PHP 8.0 support](https://github.com/laminas/laminas-code/pull/47) thanks to @Slamdunk
- [43: QA fix for phpstan](https://github.com/laminas/laminas-code/pull/43) thanks to @janvernieuwe
#### Documentation
- [31: Modify the examples to make them compatible with PSR-12](https://github.com/laminas/laminas-code/pull/31) thanks to @simivar
## 3.4.1 - 2019-12-10
### Added
- [zendframwork/zend-code#180](https://github.com/zendframework/zend-code/pull/180) adds support for PHP 7.4.
### Changed
- Nothing.
### Deprecated
- Nothing.
### Removed
- Nothing.
### Fixed
- [zendframwork/zend-code#179](https://github.com/zendframework/zend-code/pull/179) fixes exception message when invalid value provided in `Laminas\Code\Generator\ValueGenerator`.
- [zendframwork/zend-code#180](https://github.com/zendframework/zend-code/pull/180) fixes PHP 7.4 compatibility.
## 3.4.0 - 2019-10-06
### Added
- [zendframwork/zend-code#170](https://github.com/zendframework/zend-code/pull/170) adds class constant visibility modifiers support.
- [zendframwork/zend-code#169](https://github.com/zendframework/zend-code/pull/169) adds the ability to define declare statements.
- [zendframwork/zend-code#167](https://github.com/zendframework/zend-code/pull/167) adds the ability to remove doc block of a member.
### Changed
- [zendframwork/zend-code#166](https://github.com/zendframework/zend-code/pull/166) changes omitting default property value if it is null.
### Deprecated
- Nothing.
### Removed
- Nothing.
### Fixed
- [zendframwork/zend-code#172](https://github.com/zendframework/zend-code/pull/172) fixes PHP 7.4 compatibility.
## 3.3.2 - 2019-08-31
### Added
- [zendframwork/zend-code#162](https://github.com/zendframework/zend-code/pull/162) adds support for PHP 7.3.
### Changed
- Nothing.
### Deprecated
- Nothing.
### Removed
- Nothing.
### Fixed
- [zendframwork/zend-code#171](https://github.com/zendframework/zend-code/pull/171) changes
curly braces in array and string offset access to square brackets
in order to prevent issues under the upcoming PHP 7.4 release.
- [zendframwork/zend-code#164](https://github.com/zendframework/zend-code/pull/164) fixes indentation in multi-level arrays generated by `ValueGenerator`.
## 3.3.1 - 2018-08-13
### Added
- Nothing.
### Changed
- Nothing.
### Deprecated
- Nothing.
### Removed
- Nothing.
### Fixed
- [zendframwork/zend-code#158](https://github.com/zendframework/zend-code/pull/158) updates several `switch` cases to use `break` instead of `continue`
in order to prevent issues under the upcoming PHP 7.3 release.
- [zendframwork/zend-code#147](https://github.com/zendframework/zend-code/pull/147) fixes the regular expression used for `@var` annotations to
allow omission of the variable name.
- [zendframwork/zend-code#146](https://github.com/zendframework/zend-code/pull/146) updates all `@return` annotations to reflect the correct types returned by each method.
- [zendframwork/zend-code#144](https://github.com/zendframework/zend-code/pull/144) fixes the class generator such that it now resolves
`setExtendedClass()` arguments to aliases provided to the generator.
- [zendframwork/zend-code#140](https://github.com/zendframework/zend-code/pull/140) fixes `MethodScanner::setVisibility()` such that it no longer
casts the provided visibility token to lower case; this fix is necessary, as
the method is supposed to expect only the appropriate
`T_(PUBLIC|PROTECTED|PRIVATE)` token values, which are integers.
- [zendframwork/zend-code#140](https://github.com/zendframework/zend-code/pull/140) updates the `MethodScanner::setVisibility()` method to raise
a package-specific `InvalidArgumentException` instead of the non-existent
package `Exception` class when an invalid visibility is provided.
## 3.3.0 - 2017-10-20
### Added
- [zendframwork/zend-code#131](https://github.com/zendframework/zend-code/pull/131) added the
ability to omit a parameter type declaration
- [zendframwork/zend-code#132](https://github.com/zendframework/zend-code/pull/132) added a
lightweight `MethodGenerator::copyMethodSignature()` constructor that
only copies the method declaration with no body nor docblock.
- [zendframwork/zend-code#134](https://github.com/zendframework/zend-code/pull/134) short array
notation is now used by default for generated array values
- [zendframwork/zend-code#136](https://github.com/zendframework/zend-code/pull/136) added the
ability to specify an `omitdefaultvalue` key when using
`ParameterGenerator::fromArray()`
### Deprecated
- Nothing.
### Removed
- Nothing.
### Fixed
- [zendframwork/zend-code#130](https://github.com/zendframework/zend-code/pull/130) Updated
links to the documentation
- [zendframwork/zend-code#133](https://github.com/zendframework/zend-code/pull/133) The default
value of a `ParameterGenerator` is always a `ValueGenerator`
## 3.2.0 - 2017-07-23
### Added
- [zendframework/zend-code#112](https://github.com/zendframework/zend-code/pull/112)
[zendframework/zend-code#110](https://github.com/zendframework/zend-code/pull/110) Introduced
support for the PHP `7.2` `object` type-hint
- [zendframwork/zend-code#41](https://github.com/zendframework/zend-code/pull/41) Added `VarTag`
support to the docblock generators and reflectors: allows generating
and parsing `@var` tags.
- [zendframwork/zend-code#113](https://github.com/zendframework/zend-code/pull/113) Added
PHP `7.2` to the build matrix
- [zendframwork/zend-code#114](https://github.com/zendframework/zend-code/pull/114) Increased
minimum supported PHP version to `^7.1.0`
- [zendframwork/zend-code#114](https://github.com/zendframework/zend-code/pull/114) Upgraded
PHPUnit dependency to `^6.2.2`
- [zendframwork/zend-code#121](https://github.com/zendframework/zend-code/pull/121) Imported
global functions via `use` statements (experimenting with OpCache
OPCODE inlining optimisations)
### Deprecated
- Nothing.
### Removed
- [zendframwork/zend-code#113](https://github.com/zendframework/zend-code/pull/113)
[zendframwork/zend-code#118](https://github.com/zendframework/zend-code/pull/118) Removed
HHVM support
- [zendframwork/zend-code#122](https://github.com/zendframework/zend-code/pull/122) Removed
IRC notifications for pushes/build statuses
### Fixed
- [zendframwork/zend-code#101](https://github.com/zendframework/zend-code/pull/101) avoid
calling `isInternalPhpType` twice in the `TypeGenerator`
- [zendframwork/zend-code#115](https://github.com/zendframework/zend-code/pull/115) Replaced
assertions in the test suite with their static counterparts where
applicable
- [zendframwork/zend-code#120](https://github.com/zendframework/zend-code/pull/120)
[zendframwork/zend-code#109](https://github.com/zendframework/zend-code/pull/109)
[zendframwork/zend-code#100](https://github.com/zendframework/zend-code/pull/100) Applied
Laminas coding standard to the library code
- [zendframwork/zend-code#119](https://github.com/zendframework/zend-code/pull/119) Corrected
test suite errors caused by mismatching parameter order
- [zendframwork/zend-code#106](https://github.com/zendframework/zend-code/pull/106)
- [zendframwork/zend-code#107](https://github.com/zendframework/zend-code/pull/107) Minor
typing error corrections in documentation and error messages
## 3.1.0 - 2016-10-24
### Added
- [zendframwork/zend-code#87](https://github.com/zendframework/zend-code/pull/87) support for
PHP 7.1's `void` return type declaration.
- [zendframwork/zend-code#87](https://github.com/zendframework/zend-code/pull/87) support for
PHP 7.1's nullable type declarations.
- [zendframwork/zend-code#87](https://github.com/zendframework/zend-code/pull/87) support for
PHP 7.1's `iterable` type declaration.
- [zendframwork/zend-code#62](https://github.com/zendframework/zend-code/pull/62) added
`Laminas\Code\Generator\MethodGenerator#getReturnType()` accessor.
- [zendframwork/zend-code#68](https://github.com/zendframework/zend-code/pull/68)
[zendframwork/zend-code#26](https://github.com/zendframework/zend-code/pull/26) added mutators
to allow removing/checking for existence of methods, properties, constants,
parameters and type declarations across all the code generator API.
- [zendframwork/zend-code#65](https://github.com/zendframework/zend-code/pull/65) continuous
integration testing now checks locked, newest and oldest dependency
sets.
### Deprecated
- Nothing.
### Removed
- Nothing.
### Fixed
- Nothing.
## 3.0.5 - 2016-10-24
### Added
- Nothing.
### Deprecated
- Nothing.
### Removed
- Nothing.
### Fixed
- [zendframwork/zend-code#92](https://github.com/zendframework/zend-code/pull/92) corrected
`Laminas\Code\Scanner\ClassScanner` to detect multiple interface inheritance.
- [zendframwork/zend-code#95](https://github.com/zendframework/zend-code/pull/95) corrected
`Laminas\Code\Generator\ParameterGenerator` to allow copying parameter signatures
for non-optional parameters that are still nullable via a default `= null`
value.
- [zendframwork/zend-code#94](https://github.com/zendframework/zend-code/pull/94) corrected
`Laminas\Code\Generator\ValueGenerator` so that class constants can now
be generated with arrays as default value (supported since PHP 5.6).
## 3.0.4 - 2016-06-30
### Added
- Nothing.
### Deprecated
- Nothing.
### Removed
- Nothing.
### Fixed
- [zendframwork/zend-code#59](https://github.com/zendframework/zend-code/pull/59) fixes an issue with
detection of multiple trait `use` statements.
- [zendframwork/zend-code#75](https://github.com/zendframework/zend-code/pull/75) provides a patch to
ensure that `extends` statements qualify the parent class based on the current
namespace and/or import statements.
## 3.0.3 - 2016-06-27
### Added
- [zendframwork/zend-code#66](https://github.com/zendframework/zend-code/pull/66) publishes the
documentation to https://docs.laminas.dev/laminas-code/.
### Deprecated
- Nothing.
### Removed
- Nothing.
### Fixed
- [zendframwork/zend-code#61](https://github.com/zendframework/zend-code/pull/61) fixes an issue with
how parameter typehints were generated; previously, fully-qualified class
names were not being generated with the leading backslash, causing them to
attempt to resolve as if they were relative to the current namespace.
- [zendframwork/zend-code#69](https://github.com/zendframework/zend-code/pull/69) fixes an issue with
how class names under the same namespace are generated when generating
typehints, extends, and implements values; they now strip the
common namespace from the class name.
- [zendframwork/zend-code#72](https://github.com/zendframework/zend-code/pull/72) fixes an issue
within the `TokenArrayScanner` when scanning closures.
## 3.0.2 - 2016-04-20
### Added
- Nothing.
### Deprecated
- Nothing.
### Removed
- Nothing.
### Fixed
- [zendframwork/zend-code#52](https://github.com/zendframework/zend-code/pull/52) updates several
dependency constraints:
- laminas-stdlib now allows either the 2.7 or 3.0 series, as the APIs consumed by
laminas-code are compatible across versions.
- PHP now excludes the 7.0.5 release, as it has known issues in its tokenizer
implementation that make the laminas-code token scanner unusable.
- [zendframwork/zend-code#46](https://github.com/zendframework/zend-code/pull/46) updates all
generators to use `\n` for line endings in generated code, vs `PHP_EOL`,
ensuring cross-platform consistency.
## 3.0.1 - 2016-01-26
### Added
- Nothing.
### Deprecated
- Nothing.
### Removed
- Nothing.
### Fixed
- [zendframwork/zend-code#34](https://github.com/zendframework/zend-code/pull/34) method name cannot be optional when adding a method
to a class generator.
- [zendframwork/zend-code#38](https://github.com/zendframework/zend-code/pull/38) PHP_CodeSniffer was moved to dev dependencies
## 3.0.0 - 2016-01-13
### Changed
- [zendframwork/zend-code#140](https://github.com/zendframework/zend-code/pull/140) updates the `MethodScanner::setVisibility()` method to raise a package-specific `InvalidArgumentException` instead of
the non-existent package `Exception` class when an invalid visibility is provided.
This section refers to breaking changes: please refer to
[docs/book/migration.md](docs/book/migration.md) for migration instructions.
- Types `string`, `int`, `float`, `bool` passed to `Laminas\Code\Generator\ParameterGenerator#setType()`
are no longer ignored in generated code [zendframwork/zend-code#30](https://github.com/zendframework/zend-code/pull/30)
- Types declared in DocBlocks are now ignored when creating a `Laminas\Code\Generator\ParameterGenerator` via
`Laminas\Code\Generator\ParameterGenerator::fromReflection()`. [zendframwork/zend-code#30](https://github.com/zendframework/zend-code/pull/30)
- Type strings are now validated: passing an invalid type to any method in the generator API
may lead to a `Laminas\Code\Generator\InvalidArgumentException` being thrown.
[zendframwork/zend-code#30](https://github.com/zendframework/zend-code/pull/30)
- `Laminas\Code\Generator\ParameterGenerator::$simple` was removed. [zendframwork/zend-code#30](https://github.com/zendframework/zend-code/pull/30)
- `Laminas\Code\Generator\ParameterGenerator#$type` is now a `null|Laminas\Code\Generator\TypeGenerator`: was a
`string` before. [zendframwork/zend-code#30](https://github.com/zendframework/zend-code/pull/30)
- `Laminas\Code\Generator` type-hints are now always prefixed with the namespace separator `\`.
[zendframwork/zend-code#30](https://github.com/zendframework/zend-code/pull/30)
- `Laminas\Code\Reflection\ParameterReflection#getType()` was renamed
to `Laminas\Code\Reflection\ParameterReflection#detectType()` in order to not override the inherited
`ReflectionParameter#getType()`, introduced in PHP 7. [zendframwork/zend-code#30](https://github.com/zendframework/zend-code/pull/30)
### Added
- PHP 7 return type hints generation support via `Laminas\Code\Generator\MethodGenerator#setReturnType()`.
[zendframwork/zend-code#30](https://github.com/zendframework/zend-code/pull/30)
- PHP 7 scalar type hints generation support via `Laminas\Code\Generator\ParameterGenerator#setType()` and
`Laminas\Code\Generator\ParameterGenerator#getType()`. [zendframwork/zend-code#30](https://github.com/zendframework/zend-code/pull/30)
- PHP 5.6 variadic arguments support via `Laminas\Code\Generator\ParameterGenerator#setVariadic()` and
`Laminas\Code\Generator\ParameterGenerator#getVariadic()`. [zendframwork/zend-code#30](https://github.com/zendframework/zend-code/pull/30)
- Generation of methods returning by reference is supported via `Laminas\Code\Generator\ParameterGenerator#setReturnsReference()`.
[zendframwork/zend-code#30](https://github.com/zendframework/zend-code/pull/30)
### Deprecated
- Nothing.
### Removed
- `Laminas\Code\ParameterGenerator::$simple` was removed. [zendframwork/zend-code#30](https://github.com/zendframework/zend-code/pull/30)
### Fixed
- Nothing.
## 2.6.2 - 2015-01-05
### Added
- Nothing.
### Deprecated
- Nothing.
### Removed
- Nothing.
### Fixed
- [zendframwork/zend-code#31](https://github.com/zendframework/zend-code/pull/31) updated license year.
## 2.6.2 - 2015-01-05
### Added
- Nothing.
### Deprecated
- Nothing.
### Removed
- Nothing.
### Fixed
- [zendframwork/zend-code#31](https://github.com/zendframework/zend-code/pull/31) updated license year.
## 2.6.1 - 2015-11-24
### Added
- Nothing.
### Deprecated
- Nothing.
### Removed
- Nothing.
### Fixed
- [zendframwork/zend-code#25](https://github.com/zendframework/zend-code/pull/25) changes the
`doctrine/common` suggestion/dev-dependency to the more specific
`doctrine/annotations` package (which is what is actually consumed).
## 2.6.0 - 2015-11-18
### Added
- [zendframwork/zend-code#12](https://github.com/zendframework/zend-code/pull/12) adds the ability to
generate arrays using either long/standard syntax (`array(...)`) or short
syntax (`[...]`). This can be accomplished by setting the value type to
`ValueGenerator::TYPE_ARRAY_SHORT` instead of using `TYPE_ARRAY`.
Additionally, you can use `TYPE_ARRAY_LONG` instead of `TYPE_ARRAY`; the two
constants are synonyms.
- [zendframwork/zend-code#11](https://github.com/zendframework/zend-code/pull/11) adds the ability to
generate interfaces via the new class `Laminas\Code\Generator\InterfaceGenerator`.
### Deprecated
- Nothing.
### Removed
- Nothing.
### Fixed
- [zendframwork/zend-code#20](https://github.com/zendframework/zend-code/pull/20) updates
the laminas-eventmanager dependency to `^2.6|^3.0`, and changes its
internal usage to use the `triggerEventUntil()` signature.
## 2.5.3 - 2015-11-18
### Added
- Nothing.
### Deprecated
- Nothing.
### Removed
- [zendframwork/zend-code#10](https://github.com/zendframework/zend-code/pull/10) removes a
development dependency on zendframework/zend-version.
- [zendframwork/zend-code#23](https://github.com/zendframework/zend-code/pull/23) removes a
requirement on laminas/laminas-stdlib. This results in a slight change in
`Laminas\Code\Generator\ValueGenerator`: `setConstants()` and `getConstants()`
can now receive/emit *either* an SPL `ArrayObject` or
`Laminas\Stdlib\ArrayObject`. Since these are functionally equivalent, however,
you will experience no change in behavior.
### Fixed
- Nothing.
|