Skip to content

Releases: ZenWave360/zenwave-sdk

v2.2.1

15 Dec 18:39

Choose a tag to compare

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

22 Nov 18:00

Choose a tag to compare

What's Changed

What's New

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-generator that 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

23 Aug 08:54

Choose a tag to compare

What's Changed

What's New

  • Spring-Boot + Kotlin: this introduces the first mayor customization of BackendApplicationDefaultPlugin, OpenAPIControllersPlugin and SpringWebTestClientPlugin.
  • useSpringModulith option in BackendApplicationDefaultPlugin: adds Spring Modulith @NamedInterface annotations 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-sdk

This 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

11 May 11:44

Choose a tag to compare

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

Full Changelog: v2.0.1...v2.0.2

v2.0.1

06 May 15:15

Choose a tag to compare

What's Changed

  • prepares jbang-catalog.json for v2.0.0 by @ivangsa in #50
  • updates jbang-catalog.json for v2.0.0 by @ivangsa in #53
  • fixes runtime-headers.hbs code generation by @ivangsa in #54

Full Changelog: v2.0.0...v2.0.1

v2.0.0-RC1

24 Apr 08:28

Choose a tag to compare

What's Changed

This release includes a major refactoring of code generation for advanced customization, introducing three new concepts:

  • ProjectLayout: All plugins now support a layout property that points to a class extending ProjectLayout. The SDK provides several options: CleanHexagonalProjectLayout, LayeredProjectLayout, SimpleDomainProjectLayout, HexagonalProjectLayout, CleanArchitectureProjectLayout (default is CleanHexagonalProjectLayout). Additional custom layouts can be added to the classpath via jbang.
  • ProjectTemplates: For advanced use cases, some plugins support a templates property that points to a class extending ProjectTemplates. The default is BackendApplicationProjectTemplates, 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 @naturalId in entities and service commands
  • Support for PATCH operations 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

24 Apr 16:02

Choose a tag to compare

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 a layout property that points to a class extending ProjectLayout. The SDK provides several options: CleanHexagonalProjectLayout, LayeredProjectLayout, SimpleDomainProjectLayout, HexagonalProjectLayout, CleanArchitectureProjectLayout (default is CleanHexagonalProjectLayout). Additional custom layouts can be added to the classpath via jbang.
  • ProjectTemplates: For advanced use cases, some plugins support a templates property that points to a class extending ProjectTemplates. The default is BackendApplicationProjectTemplates, 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-sdk

Fixes and Features

This release also includes several bugfixes and new features:

  • Support for @naturalId in entities and service commands
  • Support for PATCH operations with partial updates
  • First-class support for modular monoliths
  • Enhanced support for Blobs as entity field types
  • Added file upload and download capabilities
  • Added Spring Expression Language support for AsyncAPI autoheaders
  • Added CloudEvents support in AsyncAPI generation from ZDL
  • Enhanced support for @delete operations
  • 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

19 Jan 09:35

Choose a tag to compare

What's Changed

  • refactors domain Events for moduliths by @ivangsa in #43

Full Changelog: v1.7.0...v1.7.1

v1.7.0

30 Dec 09:02

Choose a tag to compare

This new release comes with 3 major features 🚀🚀 along with multiple minor improvements.

What's new:

  • epic: adds fullstack support for @naturalId for entities and service id parameter
  • epic: adds fullstack support for patch method 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 config section. This may break some ZDL files with Global Javadoc and no config section.
  • [plugins/openapi-controllers] breaking useOptional for method parameters defaults to false. It may break code generation for controllers where OpenAPI generator is configured with useOptional=true. plugins/openapi-controllers and openapi-generator should be configured using the same value for useOptional.

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 @naturalId to favor new native format in zdl.
  • 2024-12-13 a62bc55 refactors HandlebarsEngine context.model() and assign helper.
  • 2024-12-13 7413cf8 epic: refactors @naturalId to favor new native format in zdl.
  • 2024-12-12 5a7c6e6 [plugins/zdl-to-openapi] adds support for operationIdsToInclude and operationIdsToExclude supporting ant-style wildcard matching.
  • 2024-12-11 141becc epic: adds @naturalId support 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 patch and naturalId
  • 2024-12-01 bfaf37c [plugins/openapi-controllers] breaking useOptional for 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 useOptional for 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 addRelationshipsById to 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

26 Nov 10:35

Choose a tag to compare

What's Changed

  • 2024-11-25 cbefd56 [plugins/backend-application-default] adds addRelationshipsById to 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 specFile to zdlFile and apiFile keeping backwards compatibility.

Full Changelog: v1.6.4...v1.6.5