|
| 1 | +--- |
| 2 | +title: "MapStruct 1.6.0 is out" |
| 3 | +author: Filip Hrisafov |
| 4 | +date: "2024-08-12" |
| 5 | +tags: [release, news] |
| 6 | +--- |
| 7 | + |
| 8 | +I am very happy to announce the final release of MapStruct 1.6! |
| 9 | +This is our 6th major release since November 2015. |
| 10 | + |
| 11 | +As you can see with this release we decided to remove the `.Final` and only use the version (1.6.0). |
| 12 | +We'll keep doing this for final releases. |
| 13 | + |
| 14 | +Besides bug fixes, the 1.6 release brings some new exciting features: |
| 15 | + |
| 16 | +* Access to target / source property names in conditional and mapping methods |
| 17 | +* Conditional mapping for source parameters |
| 18 | +* Passing annotations to generated code |
| 19 | +* Add javadoc to generated code |
| 20 | +* New built-in conversions |
| 21 | + |
| 22 | +<!--more--> |
| 23 | + |
| 24 | +For more details checkout the individual release announcements for the |
| 25 | +[Beta1](/news/2023-11-04-mapstruct-1_6_0_Beta1-is-out.md), |
| 26 | +[Beta2](/news/2024-05-11-mapstruct-1_6_0_Beta2-is-out.md), |
| 27 | +[RC1](/news/2024-07-20-mapstruct-1_6_0_RC1-is-out.md) |
| 28 | + |
| 29 | +### What's inside |
| 30 | + |
| 31 | +This major release brings few big new features for MapStruct: |
| 32 | +* [Access to target / source property names in conditional and mapping methods](/news/2023-11-04-mapstruct-1_6_0_Beta1-is-out.md/#access-to-target--source-property-names-in-conditional-and-mapping-methods) |
| 33 | +* [Conditional mapping for source parameters](/news/2023-11-04-mapstruct-1_6_0_Beta1-is-out.md/#conditional-mapping-for-source-parameters) |
| 34 | +* [Passing annotations to generated code](/documentation/stable/reference/html/#adding-annotations) |
| 35 | +* [Add javadoc to generated code](/documentation/stable/reference/html/#javadoc) |
| 36 | + |
| 37 | +In total 90 issues have been fixed between the 1.5.0.Final and 1.6.0 release. |
| 38 | + |
| 39 | +### What's next |
| 40 | + |
| 41 | +We currently have few issues that have been requested a lot: |
| 42 | +* [Support Java 8 Optional](https://github.com/mapstruct/mapstruct/issues/674) |
| 43 | +* [Support or NonNull / Nullable annotations](https://github.com/mapstruct/mapstruct/issues/1243) |
| 44 | + |
| 45 | +and we have some issues with requesting support for Kotlin. |
| 46 | +The most requested here are: |
| 47 | + |
| 48 | +* [Support KSP](https://github.com/mapstruct/mapstruct/issues/2522) |
| 49 | +* [Support for Kotlin data classes](https://github.com/mapstruct/mapstruct/issues/2281) |
| 50 | + |
| 51 | +We would like to see if we can tackle some of these issues in the next release. |
| 52 | +The KSP support is something that might require a lot of work and refactoring in the internals of MapStruct, but we will see. |
| 53 | + |
| 54 | +### Stats |
| 55 | + |
| 56 | +Like every final release, we like to release some statistics about the project. |
| 57 | +We are very proud and thankful to our growing community. |
| 58 | +It is really satisfying to see how everyone helps each other in our on [StackOverflow](https://stackoverflow.com/questions/tagged/mapstruct) or in our [GitHub Discussions](https://github.com/mapstruct/mapstruct/discussions). |
| 59 | +We currently have 7000+ stars and 133 contributors on GitHub. |
| 60 | +More than 100 000 people are using our [IntelliJ](https://plugins.jetbrains.com/plugin/10036-mapstruct-support) plugin. |
| 61 | + |
| 62 | +Most impressive though are the download numbers we get from the Maven Central repo. |
| 63 | +As an example here are the numbers for the _org.mapstruct:mapstruct-processor_ artifact: |
| 64 | + |
| 65 | +<div style="text-align:center"> |
| 66 | + <img src="/images/downloads_08-2023_08-2024.png" style="padding-bottom: 3px;"/> |
| 67 | +</div> |
| 68 | + |
| 69 | +The number of Downloads compared to the time we released 1.5.0.Final has more than doubled (increased by 2.3 times). |
| 70 | + |
| 71 | +### Thanks |
| 72 | + |
| 73 | +In this release we also started accepting donations through [Open Collective](https://opencollective.com/mapstruct) or [GitHub](https://github.com/sponsors/mapstruct). |
| 74 | + |
| 75 | +We'd like to thank all the supporters that supported us with donations in this period: |
| 76 | + |
| 77 | +* [addesso SE](https://github.com/adessoSE) |
| 78 | +* [Bileto](https://opencollective.com/bileto) |
| 79 | +* [Cybozu](https://github.com/cybozu) |
| 80 | +* [Frederik Hahne](https://opencollective.com/atomfrede) |
| 81 | +* [Juyoung Kim](https://github.com/kjuyoung) |
| 82 | +* [Lansana](https://opencollective.com/lansana) |
| 83 | +* [Lee Anne](https://github.com/AnneMayor) |
| 84 | +* [Mariselvam](https://github.com/marisnb) |
| 85 | +* [PRISMA European Capacity Platform GmbH](https://github.com/jan-prisma) |
| 86 | +* [St. Galler Kantonalbank AG](https://opencollective.com/st-galler-kantonalbank-ag) |
| 87 | + |
| 88 | + |
| 89 | +Last but not least we would like to congratulate all the enthusiastic MapStruct contributors making this release possible. |
| 90 | +In alphabetic order this are all the contributors that contributed to the 1.6 release of Mapstruct: |
| 91 | + |
| 92 | +* [@anton-erofeev](https://github.com/anton-erofeev) |
| 93 | +* [@Blackbaud-JasonBodnar](https://github.com/Blackbaud-JasonBodnar) |
| 94 | +* [@Bragolgirith](https://github.com/Bragolgirith) |
| 95 | +* [@chenzijia12300](https://github.com/chenzijia12300) |
| 96 | +* [@cmcgowanprovidertrust](https://github.com/cmcgowanprovidertrust) |
| 97 | +* [@dehasi](https://github.com/dehasi) |
| 98 | +* [@eroznik](https://github.com/eroznik) |
| 99 | +* [@EvaristeGalois11](https://github.com/EvaristeGalois11) |
| 100 | +* [@hduelme](https://github.com/hduelme) |
| 101 | +* [@Hypnagokali](https://github.com/Hypnagokali) |
| 102 | +* [@ivlcic](https://github.com/ivlcic) |
| 103 | +* [@jccampanero](https://github.com/jccampanero) |
| 104 | +* [@kooixh](https://github.com/kooixh) |
| 105 | +* [@MengxingYuan](https://github.com/MengxingYuan) |
| 106 | +* [@MLNW](https://github.com/MLNW) |
| 107 | +* [@mosesonline](https://github.com/mosesonline) |
| 108 | +* [@Nikolas-Charalambidis](https://github.com/Nikolas-Charalambidis) |
| 109 | +* [@Obolrom](https://github.com/Obolrom) |
| 110 | +* [@paparadva](https://github.com/paparadva) |
| 111 | +* [@prasanth08](https://github.com/prasanth08) |
| 112 | +* [@ro0sterjam](https://github.com/ro0sterjam) |
| 113 | +* [@rgdoliveira](https://github.com/rgdoliveira) |
| 114 | +* [@the-mgi](https://github.com/the-mgi) |
| 115 | +* [@venkatesh2090](https://github.com/venkatesh2090) |
| 116 | +* [@wandi34](https://github.com/wandi34) |
| 117 | + and of course seasoned MapStruct hackers [Oliver Erhart](https://github.com/thunderhook) (who is a new member of the team), [Ben Zegveld](https://github.com/Zegveld), [Sjaak Derksen](https://github.com/sjaakd) and [Filip Hrisafov](https://github.com/filiphr). |
| 118 | + |
| 119 | +Happy coding with MapStruct 1.6!! |
| 120 | + |
| 121 | +### Download |
| 122 | + |
| 123 | +You can fetch the new release from Maven Central using the following GAV coordinates: |
| 124 | + |
| 125 | +* Annotation JAR: [org.mapstruct:mapstruct:1.6.0](http://search.maven.org/#artifactdetails|org.mapstruct|mapstruct|1.6.0|jar) |
| 126 | +* Annotation processor JAR: [org.mapstruct:mapstruct-processor:1.6.0](http://search.maven.org/#artifactdetails|org.mapstruct|mapstruct-processor|1.6.0|jar) |
| 127 | + |
| 128 | +Alternatively, you can get ZIP and TAR.GZ distribution bundles - containing all the JARs, documentation etc. - [from GitHub](https://github.com/mapstruct/mapstruct/releases/tag/1.6.0). |
| 129 | + |
| 130 | +If you run into any trouble or would like to report a bug, feature request or similar, use the following channels to get in touch: |
| 131 | + |
| 132 | +* Get help in our [GitHub Discussions](https://github.com/mapstruct/mapstruct/discussions) or [StackOverflow](https://stackoverflow.com/questions/tagged/mapstruct) |
| 133 | +* Report bugs and feature requests via the [issue tracker](https://github.com/mapstruct/mapstruct/issues) |
| 134 | +* Follow [@GetMapStruct](https://twitter.com/GetMapStruct) on Twitter |
0 commit comments