Skip to content

Releases: rekalogika/mapper

v1.9.3

03 Oct 01:44
87f5ee4
Compare
Choose a tag to compare

What's Changed

  • fix: null values were skipped if the target allows dynamic properties by @priyadi in #199
  • build: reorganize build variables by @priyadi in #200

Full Changelog: v1.9.2...v1.9.3

v1.9.2

01 Oct 15:57
6020855
Compare
Choose a tag to compare

What's Changed

  • style: remove unused immutability check by @priyadi in #195
  • refactor: separate caching by @priyadi in #196
  • fix: no longer throws exception if the target has no setter by @priyadi in #197

Full Changelog: v1.9.1...v1.9.2

v1.9.1

01 Oct 10:40
44136ac
Compare
Choose a tag to compare

What's Changed

  • test: property/object mapper second argument with unalterable object by @priyadi in #190
  • refactor: saner metadata factory organization by @priyadi in #191
  • fix: target property that is unalterable & not mutable by the host should be skipped by @priyadi in #192
  • perf: use xxh64 instead of xxh128 for random string generation by @priyadi in #193
  • build: use dotenv for test environment by @priyadi in #194

Full Changelog: v1.9.0...v1.9.1

v1.9.0

30 Sep 06:40
cad8002
Compare
Choose a tag to compare

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

v1.8.0

22 Sep 12:39
a31910f
Compare
Choose a tag to compare

What's Changed

  • feat: use error handler when reading source classes with dynamic properties by @priyadi in #117
  • feat: handle magic __get() on the source side by @priyadi in #118
  • feat: handle magic __set() on the target side by @priyadi in #119
  • feat: allow attaching attribute to getters instead of the property by @priyadi in #120
  • perf: avoid guessing source type for the second time by @priyadi in #121
  • feat: add Map attribute to map from different source property by @priyadi in #122
  • feat: Map now supports class inheritance by @priyadi in #123
  • feat: Map now supports reversed mapping by @priyadi in #124
  • refactor: refactor to PropertyMappingResolver for clarity by @priyadi in #125
  • refactor: refactor for clarity by @priyadi in #126
  • refactor: remove unneeded initializableTargetPropertiesNotInSource by @priyadi in #127
  • fix: Map class property is now inheritance aware by @priyadi in #128
  • feat: AllowDelete now can be attached to remover methods to take effect by @priyadi in #129
  • style: naming, etc by @priyadi in #130

Full Changelog: v1.7.0...v1.8.0

v1.7.0

21 Sep 11:59
ce8108e
Compare
Choose a tag to compare

What's Changed

  • fix: spaceless twig filter is deprecated by @priyadi in #111
  • tests: modernize tests by @priyadi in #113
  • feat: union types support in object mappers by @priyadi in #114
  • feat: union types support in property mappers by @priyadi in #115
  • fix: mapping unset property to not null target property by @priyadi in #116

Full Changelog: v1.6.1...v1.7.0

v1.6.1

17 Sep 02:42
7a0d971
Compare
Choose a tag to compare

What's Changed

  • chore: remove phpstan config remnant by @priyadi in #108
  • fix: Doctrine MongoDB ODM proxy class resolving by @priyadi in #109

Full Changelog: v1.6.0...v1.6.1

v1.6.0

16 Sep 04:00
a2b3585
Compare
Choose a tag to compare

What's Changed

  • fix: skip phpstan 1.12.3 by @priyadi in #104
  • feat: add AllowTargetDelete, similar to AllowDelete but defined on the source side by @priyadi in #103
  • fix: PHP 8.4 compatibility by @priyadi in #105

Full Changelog: v1.5.7...v1.6.0

v1.5.7

06 Sep 06:21
185e242
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.5.6...v1.5.7

v1.5.6

01 Sep 09:29
79d4d31
Compare
Choose a tag to compare

What's Changed

  • fix: compatibility with symfony/dependency-injection 7.1.4 by @priyadi in #95

Full Changelog: v1.5.5...v1.5.6