Releases: ZenWave360/zenwave-sdk
v2.2.1
What's Changed
What's New
- Upgrades Palantir and Google Java formatters to the latest versions for compatibility with Java 21+
- feat: adds support for cli maven dependencies
- Several bug fixes and improvements
Breaking Changes
- Palantir and Google Java formatters now require Java 21+.
This release also includes several bugfixes and features:
- 2025-12-15 7f68923 chore: update bug-report.yml {{Ivan Garcia Sainz-Aja}}
- 2025-12-15 871e5d5 fix: several fixes and improvements {{Ivan Garcia Sainz-Aja}}
- 2025-12-15 54fa3c9 fix: upgrades palantir and google formatters for jdk21+ {{Ivan Garcia Sainz-Aja}}
Full Changelog: v2.2.0...v2.2.1
v2.2.0
What's Changed
What's New
- plugins/asyncapi-generator
- plugins/avro-schema-compiler
- Authentication support for fetching remote resources.
This release also includes several bugfixes and features:
- 52ccbd4 plugin: asyncapi-generator {{Ivan Garcia Sainz-Aja}}
- 40376ee fix: adapt to json-schema-ref-parser new dereference strategy {{Ivan Garcia Sainz-Aja}}
- 29c6949 asyncapi-generator: authentication and README.md {{Ivan Garcia Sainz-Aja}}
- 2825c29 Update json-schema-ref-parser-jvm version to 0.9.4 {{Iván García Sainz-Aja}}
- 6cf946b asyncapi-generator: authentication and README.md (#77) {{Iván García Sainz-Aja}}
- 2ceaa63 feat: new plugin
asyncapi-generatorthat wraps spring-cloud-stream or kafka + json + avro (#75) {{Iván García Sainz-Aja}}
Full Changelog: v2.1.0...v2.2.0
v2.1.0
What's Changed
What's New
- Spring-Boot + Kotlin: this introduces the first mayor customization of
BackendApplicationDefaultPlugin,OpenAPIControllersPluginandSpringWebTestClientPlugin. useSpringModulithoption in BackendApplicationDefaultPlugin: adds Spring Modulith@NamedInterfaceannotations to public service interfaces and events.- feat: @mapsid option in relationship for clearer option name
Users that need to rely on previous v1.7.1, with jbang you can use the following command to install:
jbang alias add --fresh --force --name=zw v1_7_1@zenwave360/zenwave-sdkThis release also includes several bugfixes and features:
- 2025-08-10 75bc742 fix: fix dependencies in test pom.xml {{Ivan Garcia Sainz-Aja}}
- 2025-08-05 79260f4 fix: replace DockerComposeContainer with ComposeContainer {{Ivan Garcia Sainz-Aja}}
- 2025-08-04 242c6f6 feat: @mapsid option in relationship for clearer option name (supports legacy) {{Ivan Garcia Sainz-Aja}}
- 2025-07-22 bb4a977 fix(InMemoryRepositories): populates relationship ids on save {{Ivan Garcia Sainz-Aja}}
- 2025-07-22 66dcccf fix(InMemoryRepositories): populates relationship ids on save {{Ivan Garcia Sainz-Aja}}
- 2025-07-08 c464403 fix (openapi controllers): array param type {{Ivan Garcia Sainz-Aja}}
- 2025-07-08 d271697 fix: avro id type {{Ivan Garcia Sainz-Aja}}
- 2025-07-08 77ed963 fix: Help in json format {{Ivan Garcia Sainz-Aja}}
- 2025-07-08 d3a979c fix: skipEntityId for "embedded" and "abstract" entities (bug) {{Ivan Garcia Sainz-Aja}} (HEAD -> features/kotlin)
- 2025-07-08 17861f4 fix: autoheader support with json pointer (bug) {{Ivan Garcia Sainz-Aja}}
- 2025-06-14 7c78506 feat: add support for Kotlin+SpringBoot ProjectTemplates {{Ivan Garcia Sainz-Aja}}
- 2025-06-30 32d1257 feat: useSpringModulith {{Ivan Garcia Sainz-Aja}} (origin/features/useSpringModulith, features/useSpringModulith)
- 2024-06-20 5b15c8f refactors ProjectTemplates.java / Generator.java {{Ivan Garcia Sainz-Aja}} (origin/develop)
- 2025-06-18 9911f5b fix(ServiceTest.hbs): escape input parameter type for generics {{Ivan Garcia Sainz-Aja}}
- 2025-06-01 95feb37 feat: add validation for empty ZDL models and update markdown generation logic {{Ivan Garcia Sainz-Aja}}
- 2025-05-07 d31cda5 fix: use formatted POJO name in converted json for javaType value {{Dmitrii Mikheev}}
Full Changelog: v2.0.2...v2.1.0
v2.0.2
What's Changed
- Release 2.0.1 by @github-actions in #55
- fix: use formatted POJO name in converted json for javaType value by @dvmikheev in #57
New Contributors
- @dvmikheev made their first contribution in #57
Full Changelog: v2.0.1...v2.0.2
v2.0.1
v2.0.0-RC1
What's Changed
This release includes a major refactoring of code generation for advanced customization, introducing three new concepts:
ProjectLayout: All plugins now support alayoutproperty that points to a class extendingProjectLayout. The SDK provides several options:CleanHexagonalProjectLayout,LayeredProjectLayout,SimpleDomainProjectLayout,HexagonalProjectLayout,CleanArchitectureProjectLayout(default isCleanHexagonalProjectLayout). Additional custom layouts can be added to the classpath via jbang.ProjectTemplates: For advanced use cases, some plugins support atemplatesproperty that points to a class extendingProjectTemplates. The default isBackendApplicationProjectTemplates, which can be extended or customized.GeneratedProjectFiles: Provides structured output for generated files
These changes are transparent for users but will help build tools around ZenWaveSDK and customize the experience for advanced usage.
This release also includes several bugfixes and new features:
- Support for
@naturalIdin entities and service commands - Support for
PATCHoperations with partial updates - First-class support for modular monoliths
Breaking Changes
Updated Maven groupId to io.zenwave360.sdk
Full Changelog: v1.7.1...v2.0.0-RC1
v2.0.0
What's Changed
Code Genearion Overhaul
This release includes a major refactoring of code generation for advanced customization, introducing three new concepts:
ProjectLayout: All plugins now support alayoutproperty that points to a class extendingProjectLayout. The SDK provides several options:CleanHexagonalProjectLayout,LayeredProjectLayout,SimpleDomainProjectLayout,HexagonalProjectLayout,CleanArchitectureProjectLayout(default isCleanHexagonalProjectLayout). Additional custom layouts can be added to the classpath via jbang.ProjectTemplates: For advanced use cases, some plugins support atemplatesproperty that points to a class extendingProjectTemplates. The default isBackendApplicationProjectTemplates, which can be extended or customized.GeneratedProjectFiles: Provides structured output for generated files
These changes are transparent for users and it will help build tools around ZenWaveSDK and customize the experience for advanced usage.
Users that need to rely on previous version with jbang can use the following command:
jbang alias add --fresh --force --name=zw v1_7_1@zenwave360/zenwave-sdkFixes and Features
This release also includes several bugfixes and new features:
- Support for
@naturalIdin entities and service commands - Support for
PATCHoperations with partial updates - First-class support for modular monoliths
- Enhanced support for
Blobsas entity field types - Added file upload and download capabilities
- Added Spring Expression Language support for AsyncAPI
autoheaders - Added
CloudEventssupport in AsyncAPI generation from ZDL - Enhanced support for
@deleteoperations - Added YAML merge and overlay support when generating OpenAPI/AsyncAPI from ZDL
- Fixed Palantir and Google Java formatters
- Added support for complex JSON objects as ZDL options
- Added automated E2E tests for all features
Breaking Changes
Updated Maven groupId to io.zenwave360.sdk
Full Changelog: v1.7.1...v2.0.0
v1.7.1
v1.7.0
This new release comes with 3 major features 🚀🚀 along with multiple minor improvements.
What's new:
- epic: adds fullstack support for
@naturalIdfor entities and service id parameter - epic: adds fullstack support for
patchmethod allowing for partial updates - [plugins/asyncapi-spring-cloud-streams3] adds support for Spring Modulith Events: outbox and listener. 🚀🚀
Breaking Changes:
- [zdl-jvm] Zdl grammar has been flexibilized in order to allow concatenating and parsing multiple ZDL files. Now "Global Javadoc" can be only attached to a
configsection. This may break some ZDL files with Global Javadoc and no config section. - [plugins/openapi-controllers] breaking
useOptionalfor method parameters defaults to false. It may break code generation for controllers where OpenAPI generator is configured withuseOptional=true.plugins/openapi-controllersandopenapi-generatorshould be configured using the same value foruseOptional.
All changes:
- 2024-12-30 1b84fae zdl-jvm.version > 1.2.3
- 2024-12-19 a2e2f47 adds .editorconfig and .gitattributes
- 2024-12-19 e862bb5 fix with corner cases in templates
- 2024-12-16 35271c4 fix problem with assigning to the current context in handlebars partials
- 2024-12-13 b74a7b8 fixes for new ZDL rules (global javadoc goes on top of config section)
- 2024-12-13 743032f epic: refactors
@naturalIdto favor new native format in zdl. - 2024-12-13 a62bc55 refactors HandlebarsEngine
context.model()andassignhelper. - 2024-12-13 7413cf8 epic: refactors
@naturalIdto favor new native format in zdl. - 2024-12-12 5a7c6e6 [plugins/zdl-to-openapi] adds support for
operationIdsToIncludeandoperationIdsToExcludesupporting ant-style wildcard matching. - 2024-12-11 141becc epic: adds
@naturalIdsupport for entities and service id parameter. - 2024-12-10 5f237e3 [plugins/asyncapi-spring-cloud-streams3] adds support for Spring Modulith Events: outbox and listener. 🚀🚀
- 2024-12-04 6a0729d [plugins/openapi-controllers] fix for inline parameters
- 2024-12-03 11ef2e5 [plugins/zdl-to-openapi] adds support for patch method
- 2024-12-03 d88cdd4 [plugins/zdl-to-openapi] adds support for patch method
- 2024-12-03 618abf1 Revert "[plugins/zdl-to-openapi] adds support for patch method"
- 2024-12-02 2390f67 [plugins/openapi-controllers] support for search GET parameters
- 2024-12-02 6601749 [e2e] adds project test for features
patchandnaturalId - 2024-12-01 bfaf37c [plugins/openapi-controllers] breaking
useOptionalfor method parameters defaults to false - 2024-12-01 3051132 [plugins/zdl-to-openapi] in GET endpoints include service.method parameter as query params
- 2024-12-01 2be3c81 [plugins/openapi-controllers] breaking
useOptionalfor method parameters defaults to false - 2024-11-29 9774ecb [plugins/zdl-to-openapi] adds support for patch method
- 2024-11-26 7fe23b2 chore: fix plugins/pom.xml
- 2024-11-25 cbefd56 [plugins/backend-application-default] adds
addRelationshipsByIdto control whether to add a read/write relationship by id when mapping relationships between aggregate (not recommended) keeping the relationship by object readonly.
Full Changelog: v1.6.5...v1.7.0
v1.6.5
What's Changed
- 2024-11-25 cbefd56 [plugins/backend-application-default] adds
addRelationshipsByIdto control whether to add a read/write relationship by id when mapping relationships between aggregate (not recommended) keeping the relationship by object readonly. - 2024-11-22 91f101c [zenwave-sdk-cli] adds ConfigurationProvider to support configuration from zdl files
- 2024-11-22 5a4d231 [plugins/zdl-to-markdown] fix: reverse associations and compositions direction
- 2024-11-22 aa90651 [zenwave-sdk-cli] adds ConfigurationProvider to support configuration from zdl files
- 2024-11-20 063d11a refactor: renames
specFiletozdlFileandapiFilekeeping backwards compatibility.
Full Changelog: v1.6.4...v1.6.5