Releases: rekalogika/mapper
Releases · rekalogika/mapper
v1.9.3
v1.9.2
v1.9.1
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
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
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
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