I'm always excited to take on new projects and collaborate with innovative minds.
academy@sogdo.com
https://academy.sogdo.in/
Spring Boot 3.5 – Complete Upgrade & Feature Notes
By Nitesh Synergy
Spring Boot 3.5 is a stability + cloud-native focused release. It removes old deprecated APIs, tightens security defaults, improves observability, and upgrades most ecosystem dependencies.
This article summarizes what changed, what you must update, and what’s new in a practical way.
spring-boot-parent Removedspring-boot-parent is no longer published
<dependencyManagement>
<dependencies>
<!-- define versions explicitly -->
</dependencies>
</dependencyManagement>
heapdump Endpoint SecuredTo enable explicitly:
management:
endpoints:
web:
exposure:
include: heapdump
endpoint:
heapdump:
access: unrestricted
.enabled Properties Are StrictfalseFix configs like:
feature.enabled: true # right
feature.enabled: yes # wrong
Allowed characters:
- underscore _From 3.5.1, also allowed:
. + @ Cannot start or end with - or _
Disable validation if needed:
spring.profiles.validate=false
RestTemplateIf tests fail:
testRestTemplate.withRedirects(...)
Before:
taskExecutorapplicationTaskExecutorNow:
applicationTaskExecutorTemporary alias workaround:
beanFactory.registerAlias("applicationTaskExecutor", "taskExecutor");
Dependency changed:
OLD: io.prometheus:simpleclient_pushgateway
NEW: io.prometheus:prometheus-metrics-exporter-pushgateway
Property rename:
management.prometheus.metrics.export.pushgateway.address=host:port
New options:
scheme → https supporttoken → token authformat → text / protobuf
Control stack trace size and format:
logging.structured.json.stacktrace.*
New environment support:
OTEL_SERVICE_NAMEOTEL_RESOURCE_ATTRIBUTESNew resource attributes:
service.namespace ← from spring.application.groupDeprecated:
service.group
spring.data.redis.url, database index comes from URLspring.data.redis.database is ignored in this caseNew:
spring.data.redis.lettuce.read-from=replica-preferred
spring.data.mongodb.protocol=mongodb+srv
New consumer property:
spring.kafka.consumer.max-poll-interval
New listener retry property:
spring.kafka.listener.auth-exception-retry-interval
spring.liquibase.analytics-enabled=false
spring.liquibase.license-key=XXXX
ClientHttpConnectorBuilder for advanced config
More granular auto-configs:
This improves startup performance and clarity.
bootstrapExecutorapplicationTaskExecutorImproves startup time.
If a TaskDecorator bean exists:
Force Spring Boot to still create AsyncTaskExecutor:
spring.task.execution.mode=force
Default builder changed:
paketobuildpacks/builder-noble-java-tiny
No shell inside container
Use this if needed:
paketobuildpacks/ubuntu-noble-run-base
Now supported for:
Also supported in:
JobParametersConverter now supportedspring.batch.jdbc.validate-transaction-state=true
| Technology | Version |
|---|---|
| Spring Security | 6.5.0 |
| Spring Data | 2025.0 |
| Kafka | 3.9 |
| MongoDB Driver | 5.4 |
| MySQL | 9.2 |
| Hibernate | via JPA updates |
| Micrometer | 1.15 |
| OpenTelemetry | 1.49 |
| Testcontainers | 1.21 |
| Liquibase | 4.31 |
Removed:
Renamed properties:
spring.mvc.converters.preferred-json-mapper
→ spring.http.converters.preferred-json-mapper
YES, if you want:
Be careful if:
taskExecutor by name.enabled configs
Donate Us
https://razorpay.me/@SogdoIndia
Your email address will not be published. Required fields are marked *