Releases: salesforce/rules_spring
2.1.3 June 2021 Patch Release
This patch release contains two fixes for bugs introduced in the 2.1.1 release:
- springboot rules with a non-Spring dependency jar name matching *spring-boot-* or *spring_boot_* fail with an error #130
- full build stamping with git commit and other volatile properties was broken #128
http_archive(
name = "rules_spring",
sha256 = "4afceddd222bfd596f09591fd41f0800e57dd2d49e3fa0bda67f1b43149e8f3e",
urls = [
"https://github.com/salesforce/rules_spring/releases/download/2.1.3/rules-spring-2.1.3.zip",
],
)
The first issue was the result of a missing test case (depends on the name of your rule). We have added a test case. Thanks @fmeum for raising the issue and providing the fix.
The second issue was a regression that was detected while troubleshooting a built app. Thanks @simontoens for raising the issue and @beiwuca for the fix.
You might notice that we have had a set of bugs appear in the 2.1.x release line. We have good test coverage, but there are gaps. We have Issue #23 filed for increasing our coverage. But we are waiting on our reimplementation away from bash (Issue #3) before we will be able to significantly increase the test coverage.
2.1.2 May 2021 Patch Release
This patch contains a single bug fix #124. It fixes the use case where the springboot() rule is in the BUILD file in the root of the Bazel workspace.
http_archive(
name = "rules_spring",
sha256 = "e51279180240fc10eaf6fa97fbb8f77da23f49605248069349aebc0ad4d148a6",
urls = [
"https://github.com/salesforce/rules_spring/releases/download/2.1.2/rules-spring-2.1.2.zip",
],
)
Release Note: if you have already started using the new feature bazelrun_script introduced in 2.1.0, there is a small tweak you will need to make to your custom run script when adopting 2.1.2 or later. See the PR for #124 for details.
2.1.1 May 2021 Patch Release
This patch release fixes a single issue (#119) which affected hosts that do not have a system JDK installed. The rule implementation in two places mistakenly invoked the system JDK instead of the host_javabase JDK provided by the Bazel runtime. It appeared as an error message "jar: command not found" that would fail the build. The rule implementation is fixed in this release to use the Bazel host_javabase instead of the system JDK for all invocations.
http_archive(
name = "rules_spring",
sha256 = "c5b1166949c7291945ddd7b3becbe22cec0c8a91458660842506cb634b36f3f0",
urls = [
"https://github.com/salesforce/rules_spring/releases/download/2.1.1/rules-spring-2.1.1.zip",
],
)
Thank you @mcamenzind for providing the fix.
2.1.0 April 2021 Minor Release
This release contains a set of small enhancements and bug fixes.
- Renamed some springboot rule attributes for clarity and consistency (but old names still work) #79
- Expanded the examples, including a new Kotlin Spring Boot example. #84 (thanks @jeffzoch)
- Implemented a better solution for determining the Spring Boot version for the entry in MANIFEST.MF #111 (thanks @mcamenzind)
- Allow rule user to provide a custom launcher script for bazel run (see the new bazelrun_script attribute) #92
- Update default bazel run script to allow OS signals to reach Spring Boot application #91 (thanks @joeljeske)
- Update internal logic to not fail silently in case of certain errors #100 (thanks @khogeland)
- Implemented Stardoc documentation for the springboot macro #28
Release note: this release has a small bug #119 that affects users that do not have a system JDK in their PATH, which is hopefully uncommon for Spring Boot developers. See the Issue for an easy workaround. This issue is fixed in release 2.1.1.
To use the new release, update your WORKSPACE file with the following:
http_archive(
name = "rules_spring",
sha256 = "2178aa714516fe3ba8e88663aef8e183e6ab28c8bf1f9da96f76533ee86a47b4",
urls = [
"https://github.com/salesforce/rules_spring/releases/download/2.1.0/rules-spring-2.1.0.zip",
],
)
2.0.0 March 2021 Major Repackaging Release
This release contains a major repackaging of the Spring Boot rule. This was to comply with the standardized Bazel rule layout conventions. When the Spring Boot rule was originally written, the conventions did not exist. This repackaging makes the rule more modern.
For rule 1.x users, you will need to do the following:
- All WORKSPACE and BUILD file references to bazel_springboot_rule must be changed to rules_spring
- All BUILD and .bzl file references to //tools/springboot must be changed to //springboot
See the Repackaging work item for more details.
To use the new release, update your WORKSPACE file with the following:
http_archive(
name = "rules_spring",
sha256 = "7d4f12748df340397559decd8348289a6f85ae32dae344545b6d08ad036a9cfe",
urls = [
"https://github.com/salesforce/bazel-springboot-rule/releases/download/2.0.0/rules-spring-2.0.0.zip",
],
)
1.1.2 January 2021 Regression Fix
This is a patch release. There was a regression in the classpath index feature in the 1.1.1 release. Release 1.1.2 fixes that issue. The regression also caused a benign log message "singlejar_local0: No such file or directory" to be written during builds.
http_archive(
name = "bazel_springboot_rule",
sha256 = "98fa7dccf5a68a240f351244b7ed4cd49a0b7bc824ddde3282bc4ad59a038cb1",
urls = [
"https://github.com/salesforce/bazel-springboot-rule/releases/download/1.1.2/bazel-springboot-rule-1.1.2.zip",
],
)
1.1.1 January 2021 Support for Kotlin Services
This is a patch release on top of 1.1.0 to support Spring Boot services written in Kotlin. The fix itself is not Kotlin specific. It allows the Spring Boot rule to handle input java_library targets that produce multiple outputs, which is what rules_kotlin::kt_jvm_library produces. See Issue #81 for more details.
http_archive(
name = "bazel_springboot_rule",
sha256 = "94b0227d73c10fe7566e1faf12e101a8ea18b57322debe90d4ff3494e017592f",
urls = [
"https://github.com/salesforce/bazel-springboot-rule/releases/download/1.1.1/bazel-springboot-rule-1.1.1.zip",
],
)
1.1.0 January Major Release
This is a major release in terms of features, though it is a 'minor' release according to Semantic Versioning. It is a roll up of all of the patch releases since 1.0, which included fixes and early access to many new features. Please consult the release notes of prior patch releases to see all of the new features. Also, the documentation has been heavily revised and is up to date.
http_archive(
name = "bazel_springboot_rule",
sha256 = "5ddee1268e3a59dadc25d61539e43fff7b7991c2dcd7463d1cff363994d365a1",
urls = [
"https://github.com/salesforce/bazel-springboot-rule/releases/download/1.1.0/bazel-springboot-rule-1.1.0.zip",
],
)
Be aware that a major release will soon follow that will rename the rule as rules_spring and change the file layout. This is to comply with Bazel naming standards that weren't around when we first implemented the rule. See Issue #30 for more details.
1.1.0 RC1 January Major Release (release candidate 1)
While no bugs were discovered in this RC release, it has been withdrawn in favor of the official 1.1.0 release.
1.0.9 December 2020 Deterministic Classloading Order
This release fixes a difference that could arise when building the Spring Boot jar on different platforms (Linux, Mac). Spring Boot loader seems to use the order of insertion into the Spring Boot executable jar as the classloading order at runtime. Therefore we need to be more explicit about the order in which entries are inserted into the Spring Boot executable, and not leave it to the platform implementation of jar to determine the order. More details are in Issue #72.