Search
  1. Home
  2. Changelog

Changelog

TBD

v2.4.10-2.4.4

  • #408 Fixed incremental compilation state being inconsistent with the Gradle build cache, and compilations of the same project overwriting each others state.

  • Mappers defined in the main source set are no longer resolved implicitly in the test source set, which was an undocumented side effect of the state of all compilations being stored in a single file.

v2.4.10-2.4.3

  • Fixed several duplicate error messages.

  • #395 Fixed exception when transforming using a property reference.

v2.4.0-2.4.2

  • #393 Improved error message when a NoSuchElementException occurs.

v2.4.0-2.4.1

  • Bumped Kotlin to version 2.4.0.

v2.3.21-2.4.1

  • Bumped Kotlin to version 2.3.21.

v2.3.20-2.4.1

  • Bumped Kotlin to version 2.3.20.

v2.3.10-2.4.1

  • Fixed issue with incremental compilation.

  • Fixes issue where a non-existing Java setter used in to call is not reported on.

  • Improved NullPointerException to explicit error message.

v2.3.10-2.4.0

  • #240 Fixed issue with incremental compilation where mappers cannot be found.

  • #355 Improved source selection priority. When a source is an exact subtype, this is now prioritized over a source which can be transformed.

  • #280 Moved builtin mappers between Java- and Kotlin Instant from module kotlinx-datetime to the generic API.

v2.3.10-2.3.1

  • Bumped Kotlin to version 2.3.10.

v2.3.0-2.3.1

  • #345 Fixed issue with generated Java class mappers.

v2.3.0-2.3.0

  • Improved error message when the target class has no visible constructor.

  • Added support for lenient property matching. See Naming Convention for more information

  • #323 Added support for kotlinx-collections-immutable mappers, which can be imported via a separate dependency.

  • #331 Fixed issue with star projections and generic super enum mappers.

  • #334 Fixed compilation error when deeply nested generated mappers get re-used.

v2.3.0-2.2.0

  • Added support for local conversion methods. See Local Conversion Methods for more information.

  • Improved error message when an internal mappie exception occurs.

v2.2.21-2.1.1

  • #324 Fixed multiplatform code generation bug.

v2.2.21-2.1.0

  • #320 Fixed a compilation error when referencing a mapper defined as a variable in an explicit via call.

  • Added support for re-using functionality of a base EnumMappie in other child mappers.

  • Prioritize exact inner mapper over nullable alternative.

  • Added support for forcing to select a specific target constructor to be called.

v2.2.21-2.0.0

  • Breaking change: removed forList and forSet in favour of IterableToListMapper and IterableToSetMapper.

  • Internal refactoring simplifying the Mappie type system and mapper generation.

  • Added config option to allow unsafe mapping of platform types to non-nullable target.

  • JVM implementation for mapArray (similar to mapList and mapSet).

v2.2.21-1.6.1

  • #290 Fix IndexOutOfBoundsException with generic target type.

v2.2.20-1.6.0

  • Allow mapping to be used anywhere (at most once) in the body of the map function.

  • Added support for kotlinx-datetime to JVM mappers, which can be imported via a separate dependency.

  • Fixed check of runtime usage of mapping DSL for multiple object mappie.

  • #264 Fix compilation error with ObjectMappie5.

  • #262 Fixed compilation error when mapper inherits from more than a Mappie subclass.

  • Minor performance enhancements.

  • Fix for missing reporting when both a mapper and its generated mapper have issues.

  • Improved reporting of type parameters.

  • AbstractList and AbstractMutableList are now supported as source type for mapping to List.

v2.2.20-1.5.0

  • Bumped Kotlin to version 2.2.20.

v2.2.10-1.5.0

  • Improved selection of implicit mapper when multiple of different subtypes are available.

  • #246 Fixed type checking of platform types.

  • Fixed null pointer exception that sometimes occurs when generating a mapper.

v2.2.10-1.4.2

  • #239 Fixed Java getter resolution when validating if the mapping is complete.

  • #237 Added compile time error when defining anonymous mappie objects.

v2.2.0-1.4-1

  • #235 Fixed compatibility with pre Java 14.

v2.2.0-1.4-0

  • #228 improved error message when null value is received in fromPropertyNotNull.

  • #204 improved support for Java records.

  • Improved error and warning messages.

  • Improved validation of incorrect application of configuration annotations.

v2.2.0-1.3.0

  • Bumped Kotlin to version 2.2.0.

v2.1.21-1.3.0

  • Added support for mapping for MutableList, and mapping between MutableList and List.

  • #193 added support for generating reports. See Reporting for more information.

v2.1.20-1.2.3

  • #173 fixed compilation error on multiplatform where the this receiver parameter was generated incorrectly.

  • #195 fixed issues with both generic sources and target.

v2.1.20-1.2.2

  • #173 fixed compilation error when calling generated functions other than map on multiplatform.

v2.1.20-1.2.1

  • #187 fixed bug with generic typed input parameter with upper bound.

  • #187 fixed bug where code is being generated for mappers which are a transitive subtype of a mappie class.

v2.1.20-1.2.0

  • Changed versioning methodology. See Compatibility for more information.

  • #179 made all mapping functions open.

v1.1.1

  • #173 fixed multiplatform class code-generation bug.

v1.1.0

  • #18 added maven plugin.

  • #161 fixed compilation on non-jvm platforms.

  • #138 added a clear error message when using ObjectMappie for enum types.

v1.0.0

  • Migrated multiple checks from the compiler back-end to the FIR compiler front-end.

  • #148 the mappie-api dependency is now applied automatically.

  • Fixed a bug where the constructor of a generated target class is not selected properly.

v0.10.0

  • Added an explicit error message when the compile-time mapping dsl is used during runtime.

  • #133 Added support for method references in fromExpression and transform.

  • #55 the input parameters themselves are now included in automatic resolving.

  • Added api functions to map nullable Lists and Sets.

v0.9.2

  • Fixed null pointer in some cases.

v0.9.1

  • #129 fixed bug where mappie will not run when the mappie-api comes in as a transitive dependency.

v0.9.0

  • #101 removed deprecated method 'parameter(String)'

  • #62 added support for local mapper configuration via annotations.

  • #125 added fromPropertyNotNull which automatically applies requireNotNull.

  • Fixed a bug where the strictness.enums option set to true possibly resulted in a compilation error.

  • Fixed a bug where generating a mapper which has no accessible constructor resulted in an internal error instead of a nice error message.

v0.8.0

  • #96 object mappers can now be generated automatically.

  • #88 added more multiplatform targets.

v0.7.0

  • Added more built-in mappers.

  • Fixed a bug where mappers nested inside classes which are not a mapper are not generated.

  • Fixed warnings for newest Kotlin versions.

v0.6.0

  • #69 enum mappers can now be generated automatically if source and target contain the same entries.

  • #68 other mappers are automatically resolved in mappings and applied using the via operator.

  • #73 added multiple built-in mappers.

v0.5.0

  • #57 object mappers can now use property setters.

  • #52 the EnumMappie target type does not have to be an enum, but can be any.

  • Several other bug fixes.

v0.4.0

  • #45 mapper can now have multiple from parameters.

  • #50 added compatibility with Kotlin 1.9.24 and 2.0.20-Beta1.

  • Improved code generation, resulting in less intermediate code being generated.

  • Removed deprecated fromConstant.

  • Several other bug fixes.

v0.3.0

  • #17 mappers can now be declared as inner declarations, instead of requiring them to be top-level.

  • #31 added the explicit mapping method thrownByEnumEntry to throw an exception as a result when mapping an enum entry.

  • #28 added implicit mapping inference of mappers with the same name but a different type, but a mapper for those types are defined.

  • #42 added a configuration option to disable resolving via default arguments.

  • #40 added to alias to refer to for target properties as an alternative to the fully written out TO type.

  • #46 added support for Java get methods.

  • Several other bug fixes.

v0.2.0

  • #13 added support for declaring a mapper without an implementation of map.

  • #16 improved resolution of explicit parameter names.

  • #21 added global configuration option to report all warnings as errors.

  • #24 added explicit mapping fromValue as a replacement of the much more restricting fromConstant.

  • #26 support for selecting nested properties.

  • Several other bug fixes.

v0.1.0

  • Initial release