Adapt influxdb-spring to Spring Boot 4 actuator package refactoring#850
Adapt influxdb-spring to Spring Boot 4 actuator package refactoring#850ChildrenGreens wants to merge 3 commits intoinfluxdata:masterfrom
Conversation
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #850 +/- ##
=========================================
Coverage 88.81% 88.81%
Complexity 791 791
=========================================
Files 174 174
Lines 7250 7250
Branches 413 413
=========================================
Hits 6439 6439
Misses 680 680
Partials 131 131 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
up |
bednar
left a comment
There was a problem hiding this comment.
I prefer to consider this as a breaking change.
Please upgrade major version of the client.
Also update README.md.
@bednar Thanks for the feedback! Since versioning is usually managed by the maintainers during the release process, |
|
@ChildrenGreens yes, please update current version to |
There was a problem hiding this comment.
Pull request overview
This PR aims to make the influxdb-spring module compatible with Spring Boot 4’s actuator/health package refactoring by moving health indicator imports to the new org.springframework.boot.health.* packages and adjusting Spring Boot dependencies accordingly. It also bumps the overall project version to 8.0.0-SNAPSHOT and updates multiple README “latest version” snippets to 8.0.0.
Changes:
- Update Spring Boot health/actuator-related imports in
influxdb-springto Spring Boot 4 package locations. - Update
influxdb-springMaven dependencies to align with the new Spring Boot 4 module split (spring-boot-health, etc.). - Bump project/module versions to
8.0.0-SNAPSHOTand update various README dependency examples to8.0.0.
Reviewed changes
Copilot reviewed 29 out of 29 changed files in this pull request and generated 14 comments.
Show a summary per file
| File | Description |
|---|---|
| spring/src/main/java/com/influxdb/spring/health/InfluxDB2HealthIndicator.java | Switch health indicator imports to Spring Boot 4 boot.health packages. |
| spring/src/main/java/com/influxdb/spring/health/InfluxDB2HealthIndicatorAutoConfiguration.java | Switch autoconfiguration imports to Spring Boot 4 boot.health packages. |
| spring/src/test/java/com/influxdb/spring/health/InfluxDB2HealthIndicatorAutoConfigurationTest.java | Update test import for the new health autoconfiguration class location. |
| spring/pom.xml | Pin Spring Boot to 4.0.1 and adjust dependencies to the new Boot 4 health/autoconfigure modules. |
| pom.xml | Bump root project version to 8.0.0-SNAPSHOT. |
| */pom.xml (multiple modules) | Propagate parent version bump to 8.0.0-SNAPSHOT across modules. |
| README.md + module READMEs | Update dependency snippets to 8.0.0. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| <dependency> | ||
| <groupId>com.influxdb</groupId> | ||
| <artifactId>influxdb-client-java</artifactId> | ||
| <version>7.4.0</version> | ||
| <version>8.0.0</version> | ||
| </dependency> |
There was a problem hiding this comment.
This section states that 8.0.0 is the “latest version”. In this repo the current build version is 8.0.0-SNAPSHOT, and the changelog currently doesn’t list an 8.0.0 release, so this may mislead users into trying a non-released version from Maven Central. Consider keeping the latest released version here (or explicitly labeling 8.0.0 as upcoming and pointing users to the snapshot coordinates/repository).
| <dependency> | ||
| <groupId>com.influxdb</groupId> | ||
| <artifactId>influxdb-client-scala_2.13</artifactId> | ||
| <version>7.4.0</version> | ||
| <version>8.0.0</version> | ||
| </dependency> |
There was a problem hiding this comment.
This section states that 8.0.0 is the “latest version”. In this repo the current build version is 8.0.0-SNAPSHOT, and the changelog currently doesn’t list an 8.0.0 release, so this may mislead users into trying a non-released version from Maven Central. Consider keeping the latest released version here (or explicitly labeling 8.0.0 as upcoming and pointing users to the snapshot coordinates/repository).
| <dependency> | ||
| <groupId>com.influxdb</groupId> | ||
| <artifactId>influxdb-client-kotlin</artifactId> | ||
| <version>7.4.0</version> | ||
| <version>8.0.0</version> | ||
| </dependency> |
There was a problem hiding this comment.
This section states that 8.0.0 is the “latest version”. In this repo the current build version is 8.0.0-SNAPSHOT, and the changelog currently doesn’t list an 8.0.0 release, so this may mislead users into trying a non-released version from Maven Central. Consider keeping the latest released version here (or explicitly labeling 8.0.0 as upcoming and pointing users to the snapshot coordinates/repository).
| <groupId>com.influxdb</groupId> | ||
| <artifactId>influxdb-client</artifactId> | ||
| <version>7.5.0-SNAPSHOT</version> | ||
| <version>8.0.0-SNAPSHOT</version> | ||
| <packaging>pom</packaging> |
There was a problem hiding this comment.
This PR’s stated goal is adapting influxdb-spring for Spring Boot 4 actuator package changes, but the root project version is also bumped to 8.0.0-SNAPSHOT (and propagated across modules). If the version bump is intentional (major release), it should be called out explicitly in the PR description to avoid surprising reviewers and downstream consumers.
| <dependency> | ||
| <groupId>org.springframework.boot</groupId> | ||
| <artifactId>spring-boot-actuator-autoconfigure</artifactId> | ||
| <artifactId>spring-boot-autoconfigure</artifactId> | ||
| <version>${spring-boot.version}</version> | ||
| <optional>true</optional> | ||
| </dependency> |
There was a problem hiding this comment.
The dependency swap here (from actuator autoconfigure to core autoconfigure) is a behavior/packaging change beyond just import updates. Please document this in the PR description (and/or migration notes) so consumers know which Spring Boot modules they must have on the classpath for the health indicator autoconfiguration to activate.
| <dependency> | ||
| <groupId>com.influxdb</groupId> | ||
| <artifactId>influxdb-client-reactive</artifactId> | ||
| <version>7.4.0</version> | ||
| <version>8.0.0</version> | ||
| </dependency> |
There was a problem hiding this comment.
This section states that 8.0.0 is the “latest version”. In this repo the current build version is 8.0.0-SNAPSHOT, and the changelog currently doesn’t list an 8.0.0 release, so this may mislead users into trying a non-released version from Maven Central. Consider keeping the latest released version here (or explicitly labeling 8.0.0 as upcoming and pointing users to the snapshot coordinates/repository).
| <dependency> | ||
| <groupId>com.influxdb</groupId> | ||
| <artifactId>influxdb-client-flux</artifactId> | ||
| <version>7.4.0</version> | ||
| <version>8.0.0</version> | ||
| </dependency> |
There was a problem hiding this comment.
This section states that 8.0.0 is the “latest version”. In this repo the current build version is 8.0.0-SNAPSHOT, and the changelog currently doesn’t list an 8.0.0 release, so this may mislead users into trying a non-released version from Maven Central. Consider keeping the latest released version here (or explicitly labeling 8.0.0 as upcoming and pointing users to the snapshot coordinates/repository).
| import org.springframework.boot.health.contributor.AbstractHealthIndicator; | ||
| import org.springframework.boot.health.contributor.Health; | ||
| import org.springframework.boot.health.contributor.HealthIndicator; |
There was a problem hiding this comment.
These imports hard-switch the health indicator to Spring Boot 4’s new org.springframework.boot.health.* packages, which means the module will no longer compile against Spring Boot 3.x (or earlier). This conflicts with the PR description claiming earlier Spring Boot versions are unaffected; either adjust the compatibility strategy (e.g., separate artifacts/profiles for SB3 vs SB4) or update the PR description/release notes to reflect the breaking change.
| <properties> | ||
| <micrometer.version>1.15.2</micrometer.version> | ||
| <spring-boot.version>3.5.5</spring-boot.version> | ||
| <spring-boot.version>4.0.1</spring-boot.version> | ||
| <spring.version>6.1.3</spring.version> |
There was a problem hiding this comment.
spring-boot.version is bumped to 4.0.1, so this module is now pinned to Spring Boot 4.x and will not build against Spring Boot 3.x without additional compatibility work. This contradicts the PR description’s claim that earlier Spring Boot versions are unaffected; please either implement a dual-compat strategy (profiles/separate artifact) or update the PR description/release notes to reflect the breaking change.
| <dependency> | ||
| <groupId>com.influxdb</groupId> | ||
| <artifactId>flux-dsl</artifactId> | ||
| <version>7.4.0</version> | ||
| <version>8.0.0</version> | ||
| </dependency> |
There was a problem hiding this comment.
This section states that 8.0.0 is the “latest version”. In this repo the current build version is 8.0.0-SNAPSHOT, and the changelog currently doesn’t list an 8.0.0 release, so this may mislead users into trying a non-released version from Maven Central. Consider keeping the latest released version here (or explicitly labeling 8.0.0 as upcoming and pointing users to the snapshot coordinates/repository).
bednar
left a comment
There was a problem hiding this comment.
Please do not change the version in READMEs, only in pom.xml. READMEs will be update after release new version.
|
@bednar Thanks for the clarification. README changes have been reverted, and the version is updated only in pom.xml. |
Description
Spring Boot 4 introduced breaking changes in actuator-related package names
(e.g.
org.springframework.boot.actuate.health→org.springframework.boot.health).This PR updates
influxdb-springto adapt to the new package structure so it can be used with Spring Boot 4.Changes
Compatibility
Please let me know if you prefer a different compatibility strategy.