Skip to content

v1.9.0

Compare
Choose a tag to compare
@priyadi priyadi released this 30 Sep 06:40
· 55 commits to main since this release
cad8002

What's Changed

  • feat: target properties with Collection & ReadableCollection typehint will now be lazy-loaded by @priyadi in #131
  • chore: rector run by @priyadi in #133
  • refactor: refactor ObjectToObjectMetadataFactory for clarity by @priyadi in #134
  • chore: refactor PropertyMappingResolver by @priyadi in #135
  • chore: cleanup by @priyadi in #136
  • feat: property path support in Map attributes by @priyadi in #137
  • fix: writing using property path by @priyadi in #138
  • fix: data collector output for property path by @priyadi in #139
  • chore: naming, etc by @priyadi in #141
  • test: property path negative test by @priyadi in #142
  • fix: mapping from stdClass to object with mandatory constructor arguments by @priyadi in #143
  • feat: variadic setter & constructor arguments support by @priyadi in #144
  • feat: string to UnitEnum transformation by @priyadi in #145
  • feat: datetime format & timezone conversion by @priyadi in #147
  • refactor: genericize attribute handling by @priyadi in #148
  • feat: attributes now affects the transformation of collection members by @priyadi in #149
  • test: attribute with missing class by @priyadi in #150
  • fix: multiple attributes found in inheritance chain now correctly handled by @priyadi in #151
  • feat: save all attributes in metadata, not just our attributes by @priyadi in #152
  • feat: datetime transformation to int & float by @priyadi in #154
  • feat: class attributes are now stored in the metadata by @priyadi in #153
  • chore: rector by @priyadi in #155
  • feat: collect attributes if using property path mapping by @priyadi in #156
  • fix: mapping to property without setter wasn't working by @priyadi in #157
  • fix: mapping string with timezone to datetime should set the timezone on the target by @priyadi in #158
  • perf: don't call the setter if the value doesn't change by @priyadi in #159
  • feat: Eager attribute to disable proxying on target classes by @priyadi in #160
  • perf: skip property if setting or mutating is impossible by @priyadi in #161
  • chore: rector run by @priyadi in #162
  • test: setting new instance to a target without setter by @priyadi in #163
  • refactor: consolidate property & property path metadata into single interface by @priyadi in #164
  • refactor: consolidate source & target metadata classes by @priyadi in #165
  • refactor: add general class metadata by @priyadi in #166
  • feat: support for immutable setters by @priyadi in #167
  • test: immutable setter without setter on parent object error by @priyadi in #168
  • test: immutable setter now works using 'wither' method by @priyadi in #169
  • fix: readonly objects no longer assumed to be value objects by @priyadi in #170
  • feat: ValueObject attribute to explicitly mark classes as value objects by @priyadi in #171
  • feat: heuristics to detect value objects by @priyadi in #172
  • test: integrate profiler with phpunit by @priyadi in #173
  • feat: timing using Symfony stopwatch by @priyadi in #174
  • test: test different setter return types by @priyadi in #175
  • feat: support for immutable adder and remover by @priyadi in #176
  • feat: optional second argument for getting the existing target value by @priyadi in #177
  • refactor: separate dynamic properties determination to dedicated class by @priyadi in #178
  • refactor: add an abstraction for property read/write info extractor by @priyadi in #179
  • refactor: separate attributes extraction to dedicated class by @priyadi in #180
  • refactor: encapsulate attributes in a class by @priyadi in #181
  • refactor: separate value object determination to a dedicated class by @priyadi in #182
  • fix: improve value object detection heuristics by @priyadi in #183
  • chore: change hashing algorithm from sha256 to xxh128 by @priyadi in #184
  • feat: remove hasExistingTarget tag attribute from object & property mapper service definition. by @priyadi in #185
  • chore: rename term from 'value object' to 'unalterable' to reduce ambiguity by @priyadi in #186
  • build: makefile & workflow schedule by @priyadi in #187
  • fix: if array is list, don't match the targets using their keys by @priyadi in #188
  • test: more unalterable tests by @priyadi in #189

Full Changelog: v1.8.0...v1.9.0