Valinor/CHANGELOG.md
2022-05-09 21:32:32 +02:00

12 KiB

Changelog

All notable changes to this project will be documented in this file.

0.8.0 (2022-05-09)

Features

  • Allow psalm and phpstan prefix in docblocks (64e0a2)
  • Handle class string of union of object (b7923b)
  • Handle filename in function definition (0b042b)
  • Handle float value type (790df8)
  • Handle literal boolean true / false types (afcedf)
  • Introduce composite types (892f38)

Bug Fixes

  • Call value altering function only if value is accepted (2f08e1)
  • Handle function definition cache invalidation when file is modified (511a0d)

Other

  • Add configuration for Composer allowed plugins (2f310c)
  • Add Psalm configuration file to .gitattributes (979272)
  • Bump dev-dependencies (844384)
  • Declare code type in docblocks (03c84a)
  • Ignore Polyfill coverage (c08fe5)
  • Remove symfony/polyfill-php80 dependency (368737)

0.7.0 (2022-03-24)

⚠ BREAKING CHANGES

  • Change Attributes::ofType return type to array (1a599b)
  • Introduce method to register constructors used during mapping (ecafba)

Features

  • Introduce a path-mapping source modifier (b7a7d2)
  • Introduce a source builder (ad5103)

Bug Fixes

  • Handle numeric key with camel case source key modifier (b8a18f)
  • Handle parameter default object value compilation (fdef93)
  • Handle variadic arguments in callable constructors (b646cc)
  • Properly handle alias types for function reflection (e5b515)

Other

  • Add Striker HTML report when running infection (79c7a4)
  • Handle class name in function definition (e2451d)
  • Introduce functions container to wrap definition handling (fd1117)

0.6.0 (2022-02-24)

⚠ BREAKING CHANGES

  • Improve interface inferring API (1eb6e6)
  • Improve object binding API (6d4270)

Features

  • Handle variadic parameters in constructors (b6b329)
  • Improve value altering API (422e6a)
  • Introduce a camel case source key modifier (d94652)
  • Introduce function definition repository (b49ebf)
  • Introduce method to get parameter by index (380961)

Bug Fixes

  • Change license in composer.json (6fdd62)
  • Ensure native mixed types remain valid (18ccbe)
  • Remove string keys when unpacking variadic parameter values (cbf4e1)
  • Transform exception thrown during object binding into a message (359e32)
  • Write temporary cache file inside cache subdirectory (1b80a1)

Other

  • Check value acceptance in separate node builder (30d447)
  • Narrow union types during node build (06e9de)

0.5.0 (2022-01-27)

Features

  • Introduce automatic named constructor resolution (718d3c)
  • Set up dependabot for automated weekly dependency upgrades (23b611)
  • Simplify type signature of TreeMapper#map() (e28003)

Bug Fixes

  • Correct regex that detects @internal or @api annotations (39f0b7)
  • Improve type definitions to allow Psalm automatic inferring (f9b04c)
  • Return indexed list of attributes when filtering on type (66aa4d)

0.4.0 (2022-01-07)

⚠ BREAKING CHANGES

  • Add access to root node when error occurs during mapping (54f608)
  • Allow mapping to any type (b2e810)
  • Allow object builder to yield arguments without source (8a7414)
  • Wrap node messages in proper class (a805ba)

Features

  • Introduce automatic union of objects inferring during mapping (79d7c2)
  • Introduce helper class MessageMapFormatter (ddf69e)
  • Introduce helper class MessagesFlattener (a97b40)
  • Introduce helper NodeTraverser for recursive operations on nodes (cc1bc6)

Bug Fixes

  • Handle nested attributes compilation (d2795b)
  • Treat forbidden mixed type as invalid type (36bd36)
  • Treat union type resolving error as message (e834cd)
  • Use locked package versions for quality assurance workflow (626f13)

Other

  • Ignore changelog configuration file in git export (85a6a4)
  • Raise PHPStan version (0144bf)

0.3.0 (2021-12-18)

Features

  • Handle common database datetime formats (#40) (179ba3)

Other

  • Change Composer scripts calls (0b507c)
  • Raise version of friendsofphp/php-cs-fixer (e5ccbe)

0.2.0 (2021-12-07)

Features

  • Handle integer range type (9f99a2)
  • Handle local type aliasing in class definition (56142d)
  • Handle type alias import in class definition (fa3ce5)

Bug Fixes

  • Do not accept shaped array with excessive key(s) (5a578e)
  • Handle integer value match properly (9ee2cc)

Other

  • Delete commented code (4f5612)
  • Move exceptions to more specific folder (185edf)
  • Rename GenericAssignerLexer to TypeAliasLexer (680941)
  • Use marcocesarato/php-conventional-changelog for changelog (178aa9)

0.1.1 (2021-12-01)

⚠ BREAKING CHANGES

  • Change license from GPL 3 to MIT (a77b28)

Features

  • Handle multiline type declaration (d99c59)

Bug Fixes

  • Filter type symbols with strict string comparison (6cdea3)
  • Handle correctly iterable source during mapping (dd4624)
  • Handle shaped array integer key (5561d0)
  • Resolve single/double quotes when parsing doc-block type (1c628b)

Other

  • Change PHPStan stub file extension (8fc6af)
  • Delete unwanted code (e3e169)
  • Syntax highlight stub files (#9) (9ea95f)
  • Use composer runtime API (1f754a)