Skip to content

v0.16.0

Compare
Choose a tag to compare
@sam0r040 sam0r040 released this 27 Oct 17:35
· 601 commits to master since this release

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

Full Changelog: v0.15.1...v0.16.0