v0.16.0
We are happy to announce another release thanks to many changes made by our contributors.
This release marks a milestone for Springwolf, as we just achieved 200 stargazers on GitHub.
Deprecated AsyncApiDocket
A while ago we introduced configuration via Spring properties. We view this as a more powerful and natural way of configuring applications in the SpringBoot ecosystem. In last couple of releases we focused on this new way of configuring Springwolf and maintaining the old way of configuring the AsyncApiDocket has become cumbersome.
Check the Quickstart to see how you can migrate.
Fully qualified schema names
Using springwolf.use-fqn=true
, schema names will be generated using the fully qualified class name. This is deactivated due to backward compatibility by default, but is required to continue to use the publishing functionality.
SNS Plugin
We added a new Plugin to support documentation for producers that are using the SNS protocol.
AsyncGenericBinding Annotation
Because Springwolf does not support all binding properties, the generic-binding
add-on was created. It allows to add all properties without validation according to the AsyncApi specification.
Behind the scenes
Special thanks to @tvahrst for transforming Springwolf into a more modern Spring Boot library:
- Instead of relying on classpath scanning, Springwolf is now using Spring Boot Auto-configuration
- AsyncApi info-extensions are now supported by using Spring properties
- Springwolf beans are now only created if no custom implementations are present in the spring context (
@ConditonalOnMissingBean
) - Springwolf is now caching the Spring properties AsyncApiDocket instead of re-creating it
What's Changed
- Revert "chore(deps): Bump snakeyaml and kafka" by @timonback in #384
- Replaced the StringBuilder for generating JSON by @Sakshi-75 in #385
- chore(deps): Bump testcontainersVersion from 1.19.0 to 1.19.1 by @dependabot in #388
- chore(deps): Bump com.diffplug.spotless from 6.21.0 to 6.22.0 by @dependabot in #389
- chore(deps): Bump com.bmuschko.docker-spring-boot-application from 9.3.3 to 9.3.4 by @dependabot in #390
- Chore/gh matrix builds by @timonback in #383
- Feature/replace componentscan by @tvahrst in #386
- Add AWS SNS Plugin by @ctasada in #392
- feat(core): add AsyncGenericBinding by @timonback in #370
- test(core): use autoconfiguration instead of manually defined context… by @sam0r040 in #404
- chore(deps): Bump swaggerVersion from 2.2.16 to 2.2.17 by @dependabot in #396
- chore(deps): Bump jacksonVersion from 2.15.2 to 2.15.3 by @dependabot in #397
- chore(deps): Bump org.mockito:mockito-core from 5.5.0 to 5.6.0 by @dependabot in #398
- chore(deps): Bump org.apache.kafka:kafka-streams from 3.5.1 to 3.6.0 by @dependabot in #399
- chore(core): Add gradle unitTest target to fast test execution by @timonback in #402
- chore: add havingValue to auto configurations by @timonback in #403
- fix(generic-binding): fix autoconfiguration by @sam0r040 in #405
- chore(deps): Bump org.apache.kafka:kafka-clients from 3.5.1 to 3.6.0 by @dependabot in #400
- chore(deps): Bump org.mockito:mockito-junit-jupiter from 5.5.0 to 5.6.0 by @dependabot in #408
- chore(deps): Bump org.springdoc.openapi-gradle-plugin from 1.7.0 to 1.8.0 by @dependabot in #407
- chore(deps): Bump com.github.node-gradle.node from 7.0.0 to 7.0.1 by @dependabot in #406
- chore(deps-dev): Bump @babel/traverse from 7.22.10 to 7.23.2 in /springwolf-ui by @dependabot in #414
- Feature/rewrite example json generator by @dipeshsingh253 in #394
- chore(deps): Bump org.owasp.dependencycheck from 8.4.0 to 8.4.2 by @dependabot in #417
- chore(deps): Bump swaggerVersion from 2.2.17 to 2.2.18 by @dependabot in #419
- chore(deps): Bump org.springframework.boot from 3.1.4 to 3.1.5 by @dependabot in #418
- fix: updated CloudStreamFunctionChannelsScanner scan to merge channel by @SheheryarAamir in #416
- add @ConditionalOnMissingBean by @tvahrst in #413
- Feature/cache environment based docket by @timonback in #421
- chore(core): deprecated AsyncApiDocket bean by @timonback in #422
- Support info extensions via environment by @sam0r040 in #423
- feat(core): add configuration option to use fully qualified names in schemas by @sam0r040 in #393
- Refactor/avoid user controlled input by @timonback in #381
New Contributors
- @Sakshi-75 made their first contribution in #385
- @dipeshsingh253 made their first contribution in #394
- @SheheryarAamir made their first contribution in #416
Full Changelog: v0.15.1...v0.16.0