Releases: spring-projects/spring-boot
Releases · spring-projects/spring-boot
v2.1.10.RELEASE
⭐ New Features
- Support amqps:// URIs in spring.rabbitmq.addresses #18808
🪲 Bug Fixes
- Failure analysis description for BeanDefinitionOverrideExceptions includes useless information when a bean definition has no resource description #18721
- Rename
max-http-post-size
server property #18566 - Deprecate server.connection-timeout and create server-specific configuration keys #18473
- DevTools does not correctly handle encoded URLs found in the Class-Path manifest attribute #18410
- Recursive property in
@ConfigurationProperties
causes java.lang.StackOverflowError when generating metadata #18365 - Dependency relationships created by AbstractDependsOnBeanFactoryPostProcessors cannot be overridden #18362
- Endpoint filter configured on an endpoint's super-class has no effect #17866
📔 Documentation
- Document Settings as jooq supported auto-configuration type #18870
- Improve security-related recommendations for DevTools' remote application support #18825
- OAuth2 Client documentation still refers to redirect-uri-template #18752
- Mention keys with dots for yaml in "Spring Boot Configuration Binding" wiki #18690
- Clarify Javadoc for ServletContextInitializer #18660
- Document that auto-configuration of Jersey server metrics requires a dependency on micrometer-jersey2 #18622
- Document spring.main.register-shutdown-hook #18581
- Document formatting recommendations for configuration property javadoc #18578
- Fix incorrect backslash escape for curly braces inside of Java code blocks #18546
- Unexpected settings in effective pom when inheriting from spring-boot-starter-parent #18532
- Document that
@Order
cannot be used on a Filter's@Bean
method to set the Filter's order #18266 - Clarify scope of "
@SpringBootTest
#classes" #18229 - Emphasize the need of
@Valid
in nested configuration properties #18198 - Improve documentation of how actuator integrates with both Jersey and Spring MVC #17523
- Logs of java.util.logging.Logger are not output when war is deployed to tomcat. #16062
🔨 Dependency Upgrades
- Upgrade to Hazelcast 3.11.5 #18897
- Upgrade to Spring Security 5.1.7.RELEASE #18874
- Upgrade to Spring Ws 3.0.8.RELEASE #18865
- Upgrade to Slf4j 1.7.29 #18860
- Upgrade to Rxjava2 2.2.14 #18859
- Upgrade to Micrometer 1.1.8 #18858
- Upgrade to Neo4j Ogm 3.1.15 #18791
- Upgrade to Mimepull 1.9.12 #18790
- Upgrade to Hibernate Validator 6.0.18.Final #18789
- Upgrade to Hibernate 5.3.13.Final #18788
- Upgrade to Jetty 9.4.22.v20191022 #18787
- Upgrade to Tomcat 9.0.27 #18786
- Upgrade to Mysql 8.0.18 #18785
- Upgrade to Joda Time 2.10.5 #18784
- Upgrade to Undertow 2.0.27.Final #18783
- Upgrade to Rxjava2 2.2.13 #18782
- Upgrade to Dropwizard Metrics 4.0.7 #18781
- Upgrade to Unboundid Ldapsdk 4.0.12 #18780
- Upgrade to Gson 2.8.6 #18779
- Upgrade to Jackson 2.9.10.20191020 #18778
- Upgrade to Spring Kafka 2.2.11 #18765
- Upgrade to Spring Integration 5.1.9 #18763
- Upgrade to Spring AMQP 2.1.12 #18761
- Upgrade to Spring Data Lovelace-SR12 #18743
- Upgrade to Netty 4.1.43.Final #18740
- Upgrade to Reactor Californium-SR13 #18739
- Upgrade to Spring Framework 5.1.11 #18737
- Upgrade to Quartz 2.3.2 #18723
- Upgrade to H2 1.4.200 #18593
- Upgrade to Jetty 9.4.21.v20190926 #18536
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.2.0.RELEASE
⭐ New Features
- Rename NettyRSocketServerFactory's server processor methods to reflect that they now deal with server factory processors #18617
- Rename server.jetty.idle-timeout #18615
- Remove @ImmutableConfigurationProperties #18563
- Improve failure analysis of NoSuchBeanDefinitionException to consider @ConfigurationProperties and if the intention was to use constructor binding #18545
- Allow Saml2LoginConfiguration to be "unconfigured" #18530
- Publish Gradle marker artifact for the Spring Boot plugin #18514
- Remove dependency management for Woodstox as it was working around FasterXML/jackson-dataformat-xml#340 and is no longer needed #18500
🪲 Bug Fixes
- Deprecate server.connection-timeout and create server-specific configuration keys #18618
- LegacyReactiveHealthEndpointCompatibilityConfiguration activates in non-reactive application #18571
- DevTools does not correctly handle encoded URLs found in the Class-Path manifest attribute #18502
- @ConfigurationProperties does not work on @bean methods in auto-configuration classes when metadata caching is disabled on the bean factory #18440
📔 Documentation
- Clarify scope of "@SpringBootTest#classes" #18603
- Document spring.main.register-shutdown-hook #18588
- Document formatting recommendations for configuration property javadoc #18587
- Update Kotlin reference documentation #18573
- Fix incorrect backslash escape for curly braces inside of Java code blocks #18567
- Fix package in AOP pointcut #18558
- Document the need to provide a SecurityWebFilterChain or WebSecurityConfigurerAdapter when using multiple OAuth 2 security components #18507
- Add some more notes on running exploded jar files #18477
- Clarify that httptrace and auditevents endpoints are enabled by default but that each requires an additional component for them to be auto-configured #18352
🔨 Dependency Upgrades
- Upgrade to Undertow 2.0.27.Final #18626
- Upgrade to Netty 4.1.42.Final #18609
- Upgrade to Mongodb 3.11.1 #18602
- Upgrade to Mimepull 1.9.12 #18601
- Upgrade to Flyway 6.0.6 #18600
- Upgrade to Tomcat 9.0.27 #18599
- Upgrade to Johnzon Jsonb 1.2.1 #18598
- Upgrade to Mysql 8.0.18 #18597
- Upgrade to Rxjava2 2.2.13 #18596
- Upgrade to Unboundid Ldapsdk 4.0.12 #18595
- Upgrade to Hazelcast 3.12.3 #18594
- Upgrade to Gson 2.8.6 #18592
- Upgrade to Spring Kafka 2.3.1 #18526
- Upgrade to Spring Session Corn-RELEASE #18525
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.2.0.RC1
⭐ New Features
- Support new Micrometer NewRelicConfig eventType properties #18472
- Add annotation required to switch on constructor binding #18469
- Configure oauth2client in Reactive OAuth2 client auto-configuration #18385
- Add Auto-configuration for RSocket Security #18356
- Remove dependency management for Spring Plugin #18318
- Support block based image banner pixels #18301
- Add support @LocalRSocketServerPort for RSocket Port #18287
- Use Reactor's new Schedulers.boundedElastic() #18269
- Improve handling of non-standard status codes in WebFluxTags #18267
- Add auto-configuration support for TransactionalOperator #18265
- Add Ansi 256 Colors support for ResourceBanner #18264
- Improve embedded Tomcat's Graal compatibility #18262
- Add AutoConfiguration support for spring-security-saml2-service-provider #18260
- Add dependency management for Oracle JDBC driver #18242
- Add support for X-Forwarded-Host using Tomcat's new RemoteIpValve hostHeader attribute #18233
- Apply ServerRSocketFactoryCustomizer to reactor netty web server #18208
- Use Duration for ServerProperties.Jetty.idleTimeout #18206
- Provide dependency management for Awaitility #18205
- Tolerate Flyway 5.x while retaining support for Flyway 6 #18193
- Add property ROLLING_FILE_LOG_PATTERN for File Appender #18151
- Add property to transparently migrate deprecated endoint IDs #18148
- Drop . prefix from config files in new .config directory #18006
- Rename 'details' to 'components' in health actuator JSON #17929
- Deprecate spring-boot-starter-cloud-connectors in favour of Java CFEnv #17877
- Disable H2C by default when using Reactor Netty, aligning it with Jetty, Tomcat, and Undertow #17867
- Configure PathPatternRouteMatcher at the RSocketStrategies level #17571
- Support # in addition to -- as a default comment prefix for Quartz DataSource initialization #17435
- Don't apply -Xverify:none on Java 13 as it has been deprecated #17008
- Provide an env var that controls the user with which the launch script runs the app #16973
- Support programmatic lazy-int exclusion #16615
- Support zip64 jars #16091
- Streamline WebTestClient creation and customization in integration tests #15132
- Provide an option for showing individual health indicators' status but not their details #15076
🪲 Bug Fixes
- Bean binding might not be used when more than one constructor exists #18485
- Main server ResourceConfigCustomizers should not apply to management context #18468
- Actuator endpoint time-to-live caching is not respected on WebFlux #18411
- Enforce ordering when ObjectProvider is used #18409
- Typo in assertion error message produced by ApplicationContextAssert doesNotHaveBean #18379
- DataSourceInitializedEvent picks wrong datasource #18369
- Micrometer dependency management does not include its micrometer-registry-cloudwatch2 module #18367
- Legacy HealthAggregator and HealthStatusHttpMapper are incorrectly reset #18354
- ReactiveManagementWebSecurityAutoConfiguration does not back off when oauth2 client configuration present #18345
- BasicErrorController returns body even if NO_CONTENT status causing 406 later #18343
- Dependency management for REST Assured is missing the spring-web-test-client module #18330
- Concurrent EndpointRequest calls can cause NPE #18299
- Logged application startup time has become overly precise #18278
- Custom protocols are not honoured when Devtools is active #18239
- TestTypeExcludeFilter does not detect JUnit 5's @testable annotation #18234
- Dependency management for Janino is incomplete #18226
- Bindable.withExistingValue drops annotations #18219
- Use custom port for RSocket server over websocket #18200
- HealthIndicatorRegistry bean is no longer available #18194
- RestTemplateBuilder headers no longer get applied when using MockRestServiceServer #17885
- Wrong semantic for immutable @ConfigurationProperties contributed via @import #17831
- Configuration Processor should use the constructor as a source only with @ConstructorBinding #17035
- FileEditor not applied for String to File property conversion #16931
📔 Documentation
- Add Mustache to 'Customize ViewResolvers' docs section #18437
- Fix default values in metadata for HiddenHttpMethodFilter #18435
- Polish some external documentation links #18384
- Mention Java 13 in system requirements docs #18383
- Add missing appendices to PDF reference documentation #18371
- Invalid property name in "Task Execution and Scheduling" example #18336
- Broken links in documentation #18332
- Reference Spring Framework RSocket section + polish #18321
- Fix small typo in configuration metadata documentation #18297
- fix logback example typo #18296
- Fix pre-defined logging group documentation #18283
- Fix typo in HealthContributors definition #18249
- Remove duplicated row from HealthIndicators table #18248
- Fix minor typo in documentation #18222
- Revisit test slices Javadoc with JUnit Jupiter upgrade #18178
- Correct capitalization of GemFire in the reference documentation #18001
- Remove reference to Spring IO Platform from documentation #17986
- It is unclear that the RSocket websocket transport requires Reactor Netty and is not supported with other web servers #17494
- Split the appendices into multiple p...
v2.1.9.RELEASE
🪲 Bug Fixes
- Typo in assertion error message produced by ApplicationContextAssert doesNotHaveBean #18372
- Actuator endpoint time-to-live caching is not respected on WebFlux #18339
- Enforce ordering when ObjectProvider is used #18333
- Dependency management for Janino is incomplete #18225
- Bindable.withExistingValue drops annotations #18218
- TestTypeExcludeFilter does not detect JUnit 5's @testable annotation #18214
- Concurrent EndpointRequest calls can cause NPE #18211
- Quartz is failing with JDBC but without Liquibase #18153
- BasicErrorController returns body even if NO_CONTENT status causing 406 later #18136
- Get Comment From Nested JarFile Incorrect #18128
- Some usage of @ConditionalOnMissingBean does not allow a bean defined as an interface to cause a concrete implementation to back off #18101
- ReactiveManagementWebSecurityAutoConfiguration does not back off when oauth2 client configuration present #17949
- Main server ResourceConfigCustomizers should not apply to management context #17801
- Custom protocols are not honoured when Devtools is active #17214
- DataSourceInitializedEvent picks wrong datasource #17061
📔 Documentation
- Add Mustache to 'Customize ViewResolvers' docs section #18378
- Invalid property name in "Task Execution and Scheduling" example #18331
- Backport "Fix a broken Asciidoctor syntax" #18325
- fix logback example typo #18295
- Fix small typo in configuration metadata documentation #18289
- Fix pre-defined logging group documentation #18270
- Fix minor typo in documentation #18216
- Broken links in the starter and auto-configuration class tables in the reference documentation #18163
🔨 Dependency Upgrades
- Upgrade to Spring Session Bom Bean-SR8 #18466
- Upgrade to Micrometer 1.1.7 #18465
- Upgrade to Spring Data Lovelace-SR11 #18414
- Upgrade to Lombok 1.18.10 #18407
- Upgrade to Postgresql 42.2.8 #18406
- Upgrade to Neo4j Ogm 3.1.14 #18405
- Upgrade to Hibernate 5.3.12.Final #18404
- Upgrade to Tomcat 9.0.26 #18403
- Upgrade to Httpclient 4.5.10 #18402
- Upgrade to Joda Time 2.10.4 #18401
- Upgrade to Netty Tcnative 2.0.26.Final #18400
- Upgrade to Reactor Californium-SR12 #18348
- Upgrade to Spring Kafka 2.2.9.RELEASE #18314
- Upgrade to Spring Integration 5.1.8.RELEASE #18313
- Upgrade to Spring AMQP 2.1.11.RELEASE #18312
- Upgrade to Spring REST Docs 2.0.4.RELEASE #18271
- Upgrade to Spring Framework 5.1.10.RELEASE #18238
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.2.0.M6
⭐ New Features
- Provide a public API for determining the outcome of a request from its response's status code #18150
- Improve handling of non-standard status codes in WebMvcTags #17998
- Auto-configure Flyway with any JavaMigration beans #17993
- Added Additional Resource Server Configuration of Issuer Validation #17953
- Additional sanitization for URI being exposed over Endpoints #17939
- Configure ping (formerly application) health indicator by default #17926
- Remove default favicon #17925
- Added support for dev-tools yaml configuration #17915
- Bypass Spring Security authentication for remote devtools endpoint #17878
- Support multiple drives when using the CLI on Windows with cygwin #17872
- Allow Jetty's threadpool to be configured via properties #17871
- Make logError() in AbstractErrorWebExceptionHandler overrideable #17863
- Expose dependency management plugin version in dependency management #17854
- Add confirm-type property to RabbitProperties #17848
- Add support for configuring Spring Session JDBC flush mode #17797
- Add dependency management for IBM DB2 JDBC driver #17782
- Provide a configuration property for JMS listener container's receive timeout #17332
- Support parallel test execution with
@AutoConfigureMockMvc
#16179 - Add support for health indicator groups #14022
🪲 Bug Fixes
- Annotation processor does not detect properties with custom constructor #18184
- Get Comment From Nested JarFile Incorrect #18168
- Quartz is failing with JDBC but without Liquibase #18165
@Component
cannot not longer be used on@ConfigurationProperties
beans #18138- Binder can throw NPE if BindHandler.onStart return null #18129
- HikariCP and Tomcat specific datasource properties missing in spring-configuration-metadata.json #18124
- SolrHealthIndicator reports down when baseUrl references a core instead of the root context #18110
- NoSuchBeanDefinitionException with a custom FlywayMigrationInitializer bean that is not named flywayInitializer #18106
- NoSuchBeanDefinitionException with a custom Flyway bean that is not named flyway #18103
- TypeUtils.process(TypeDescriptor, TypeMirror) swallows exception message and stack trace #18094
- Duplicate metadata entry for property that is
@Deprecated
when Lombok runs before spring-boot-configuration-processor #18093 - Quartz may attempt to use the DataSource before migrations have been run #18085
- "spring" shell script error on AIX Bash 4.3.0 #18084
- SSL handshake fails when client authentication is enabled and starter-jetty is used #18083
- When using Netty, an invalid content-type header value causes request to get stuck when compression is enabled #18027
- ApplicationContextRequestMatcher can use the wrong ApplicationContext #18021
- Spring Boot CLI is unable to always capture ctrl-c #17996
- throws IllegalArgumentException when downloading file when filename includes '%' for undertow server #17994
- RestTemplateExchangeTags does not handle non-standard status codes #17991
- Non MVC web applications always return 404 for errors #17959
- WebClientExchangeTags does not handle non-standard status codes #17950
- Mocking session scoped spy bean calls real method #17948
- Cannot override jackson.version using Gradle Dependency Management Plugin #17943
- DataSourceSchemaCreatedPublisher.getPersistenceProviderRootPackage fails with a NullPointerException when using a custom LocalContainerEntityManagerFactoryBean that has no JpaVendorAdapter #17942
- OutOfMemoryError on TomcatEmbeddedContext when trying to precompile JSP files #17928
- Custom favicon placed in static resources doesn't work since 2.2.0.M5 #17922
- Use alwaysApplyingWhenNonNull PropertyMapper to set the values in the LdapContextSource #17889
- Liquibase bean with name other than 'liquibase' breaks context #17887
- spring.config.additional-location as environment variable does not work correctly #17857
- websocket transport not applied on RSocket servers without WebFlux #17845
- UndertowServletWebServerFactory does not configure a temporary directory #17813
- Wrong annotation lookup with proxied endpoints #17812
- NPE in BuildInfoMojo when running under eclipse #17810
- Unable to use off for enum values in yaml file #17798
- Confusing and incomplete failure analysis when ConfigurationProperties uses constructor for beans #17750
- AbstractErrorWebExceptionHandler fails when the response has a non-standard status code #16691
📔 Documentation
- Remove management.health.status.order from docs #18170
- Improve devtools trigger-file documentation #18132
- Provide a How-To for customizing WebClient's TcpClient #18125
- Doc the pros and cons of Out-of-Container and Integration Tests #18120
- Clarify Logback XML #18118
- Document
@SpringBootApplication
scanBasePackages restrictions #18117 - Fix typo in deprecation reason for liquibase.check-change-log-location property #18108
- Document that Filter beans are eagerly initialized #18081
- Clarify "YAML Shortcomings" documentation #18080
- Document logger environment variable restrictions #18079
- Document need to exactly match Hibernate's property format when configuring spring.jpa.properties.hibernate.* properties #18026
- Remove warning about MBean shutdown since it's disabled by default in 2.0 #18025
- Project API links should used versioned links #18024
- Remove spring-boot-starter-data-gemfire from documentation #18023
- Update "Web Application Conditions" documentation to mention reactive #18022
- Remove reference...
v2.1.8.RELEASE
⭐ New Features
- Added Additional Resource Server Configuration of Issuer Validation #17952
- Expose dependency management plugin version in dependency management #17842
🪲 Bug Fixes
- NoSuchBeanDefinitionException with a custom FlywayMigrationInitializer bean that is not named flywayInitializer #18105
- NoSuchBeanDefinitionException with a custom Flyway bean that is not named flyway #18102
- When using Netty, an invalid content-type header value causes request to get stuck when compression is enabled #18018
- ApplicationContextRequestMatcher can use the wrong ApplicationContext #18012
- Spring Boot CLI is unable to always capture ctrl-c #17976
- TypeUtils.process(TypeDescriptor, TypeMirror) swallows exception message and stack trace #17974
- Non MVC web applications always return 404 for errors #17938
- DataSourceSchemaCreatedPublisher.getPersistenceProviderRootPackage fails with a NullPointerException when using a custom LocalContainerEntityManagerFactoryBean that has no JpaVendorAdapter #17935
- OutOfMemoryError on TomcatEmbeddedContext when trying to precompile JSP files #17927
- Use alwaysApplyingWhenNonNull PropertyMapper to set the values in the LdapContextSource #17861
- throws IllegalArgumentException when downloading file when filename includes '%' for undertow server #17853
- spring.config.additional-location as environment variable does not work correctly #17843
- Mocking session scoped spy bean calls real method #17817
- Cannot override jackson.version using Gradle Dependency Management Plugin #17808
- Wrong annotation lookup with proxied endpoints #17807
- Liquibase bean with name other than 'liquibase' breaks context #17805
- UndertowServletWebServerFactory does not configure a temporary directory #17778
- WebClientExchangeTags does not handle non-standard status codes #17695
- "spring" shell script error on AIX Bash 4.3.0 #17579
- Duplicate metadata entry for property that is @deprecated when Lombok runs before spring-boot-configuration-processor #17550
- SSL handshake fails when client authentication is enabled and starter-jetty is used #17541
- Quartz may attempt to use the DataSource before migrations have been run #17539
- SolrHealthIndicator reports down when baseUrl references a core instead of the root context #16477
📔 Documentation
- Document @SpringBootApplication scanBasePackages restrictions #18109
- Fix typo in deprecation reason for liquibase.check-change-log-location property #18100
- Remove reference to non-existent --edit option in CLI docs #18015
- Update "Web Application Conditions" documentation to mention reactive #18005
- Remove spring-boot-starter-data-gemfire from documentation #18002
- Project API links should used versioned links #18000
- Remove warning about MBean shutdown since it's disabled by default in 2.0 #17988
- Document need to exactly match Hibernate's property format when configuring spring.jpa.properties.hibernate.* properties #17975
- Fix Undertow access log dir property name in doc #17968
- Document logger environment variable restrictions #17958
- Clarify "YAML Shortcomings" documentation #17933
- Provide a How-To for customizing WebClient's TcpClient #17856
- Fix syntax errors in docs #17835
- Document that Filter beans are eagerly initialized #17814
- Expand documentation on remote devtools #17780
- Improve devtools trigger-file documentation #17775
- Clarify Logback XML #16901
- Document Prometheus Pushgateway support #16853
- Doc the pros and cons of Out-of-Container and Integration Tests #16718
- Document that auto-configuration classes and properties are considered internal #16704
- Document that default property values for certain types are not detected by the annotation processor #12874
🔨 Dependency Upgrades
- Upgrade to Httpcore 4.4.12 #18144
- Upgrade to Activemq 5.15.10 #18143
- Upgrade to Undertow 2.0.26.Final #18142
- Upgrade to Reactor Bom Californium-SR11 #18141
- Upgrade to Micrometer 1.1.6 #18133
- Upgrade to Slf4j 1.7.28 #18043
- Upgrade to Reactive Streams 1.0.3 #18042
- Upgrade to Neo4j Ogm 3.1.13 #18041
- Upgrade to Jooq 3.11.12 #18040
- Upgrade to Jboss Logging 3.3.3.Final #18039
- Upgrade to Infinispan 9.4.16.Final #18038
- Upgrade to Hibernate 5.3.11.Final #18037
- Upgrade to Freemarker 2.3.29 #18036
- Upgrade to Groovy 2.5.8 #18034
- Upgrade to Tomcat 9.0.24 #18033
- Upgrade to Undertow 2.0.25.Final #18032
- Upgrade to Rxjava2 2.2.12 #18031
- Upgrade to Netty 4.1.39.Final #18030
- Upgrade to Dropwizard Metrics 4.0.6 #18029
- Upgrade to Couchbase Client 2.7.9 #18028
- Upgrade to nohttp 0.0.3.RELEASE #17905
- Upgrade to Jackson 2.9.9.20190807 #17698
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.2.0.M5
⭐ New Features
- Default BindHandler in programmatically created Binder #17773
- Updated OAuth 2.0 Issuer-Based Auto Configuration #17761
- Content strategy does not work with Thymeleaf and WelcomePageHandlerMapping #17759
- Allow actuator endpoint selectors to capture all paths #17743
- Add dependency management for Kotlin Coroutines BOM #17701
- Allow for custom ElasticSearch's EntityMapper bean #17661
- Default password should not be generated when using resource server #17646
- Add assertion to differ between a null value JSON property and absence of the property #17608
- Include WebFilter beans in WebFluxTest slice #17601
- Include HandlerInterceptor beans in WebMvcTest slice #17600
- Remove unused java-statsd-client dependency management and dependencies #17576
- Remove support for DeploymentInfo customization from UndertowReactiveWebServerFactory as no DeploymentInfo is used in the reactive case #17562
- Add NettyServerCustomizer beans to the auto-configured NettyReactiveWebServerFactory automatically #17556
- NoSuchMethodFailureAnalyzer does not work with Java 13 #17544
- Make it easier to determine the order of each of an application's servlet filters #17520
- Add support for configuring logger groups via loggers endpoint #17515
- Add support for configuring Spring Session SaveMode #17514
- Allow OutputCaptureRule to be used directly with AssertJ #17512
- Provide configuration properties for configuring Tomcat's relaxed path and query chars #17510
- Add metrics support for idle jdbc connections #17504
- Provide configuration property for DispatcherServlet.publishEvents #17500
- Add HealthIndicator for Hazelcast #17499
- Allow AbstractDependsOnBeanFactoryPostProcessor to identify depended on beans by type #17479
- Deprecate Joda-Time auto-configuration in favour of using java.time (JSR-310) #17419
- Provide discovery page for actuators at / when using a separate management port #17418
- Switch Jersey starter to use Spring 5 module #17412
- Allow binding to package private methods #17394
- Allow build info goal's build.time to be disabled so that its output is repeatable #17390
- add isolation level to KafkaProperties #17389
- Consistently coerce false to off and true to on where applicable #17385
- Provide a
@BatchDataSource
qualifier to allow a Batch-specific DataSource to be identified #17375 - Allow Undertow's server and socket options to be configured via the environment #17356
- Update caching auto-configuration to use Infinispan's Spring 5 support #17333
- Add
client-name
property to specify a Redis client name #17330 - Allow additional connectors to be added to a reactive Tomcat web server #17323
- Auto-configure Kafka listener container with user-provided RecordInterceptor #17322
- Allow custom resource handlers to provide favicon #17318
- Introduce a customizer callback for RedisCacheManagerBuilder #17287
- Update RestTemplateBuilder.defaultHeader to use an array for a default header value instead of a single value #17286
- Make layout parameter available as a user property #17277
- Fail fast if SPRING_CONFIG_LOCATION specifies a file with an extension that no PropertySourceLoader can read #17241
- Add support for reactor-tools #17128
- Disable auto-configuration of HiddenHttpMethodFilter by default #16953
- Disable @ConfigurationProperties scan in slice tests #16659
- Automatically register @EndpointConverter-annotated Converter and GenericConverter beans with the ConversionService used by Actuator endpoints #16449
- Optimize JavaBeanBinder #16447
- Add support for plain text output to the threaddump endpoint #2339
🪲 Bug Fixes
- Fix log info #17793
- Inconsistent behavior turning off the check for the change log location: Liquibase fails anyway #17769
- Missing TransactionManager when user provides a custom Neo4j SessionFactory. #17767
- Wrong bean name on Reactive Cassandra Health Indicator condition #17764
- Create RestClient bean from a RestHighLevelClient if such a bean has been contributed by the application. #17753
- Fix ordering of SPRING_APPLICATION_JSON property source relative to servlet property sources #17748
- Reactive health indicators do not log health check failure #17664
- Trimming the whitespace for the OAuth2 provider property #17624
- ActiveMQConnectionFactory is not configured when CachingConnectionFactory is missing and enabled properties are false #17602
- JavaVersion does not cover all available versions of Java #17599
- @DataJdbcTest is documented as being transactional but isn't #17580
- getResourcePaths(String) allows navigation through the loader's directory structure when using Tomcat #17575
- MockMvc logging requests from all previous tests with Spring Boot Test #17552
- Quartz auto-configuration will initialise the DataSource with Quartz's DDL when not using a JDBC job store #17546
- /actuator/logfile endpoint returning 404 when logging.file property contains a random value #17486
- EmbeddedMongoAutoConfiguration should depend on bean by type #17481
- Mutation of Jackson2ObjectMapperBuilder in one injection point may affect subsequent usages #17477
- JUL logger configuration may be lost before usage due to GC #17470
- Batch app fails to start if there's an entityManagerFactory bean but no DataSource bean #17466
- Batch auto-configuration backs off too aggressively without a dependency on spring-jdbc #17454
- Batch app fails to start if spring-jdbc is on the classpath but there's no DataSource bean #17453
- MongoDataAutoConfiguration not applied when a MongoDbFactory is provided by Spring Cloud #17432
- ClassCastException in RSocket auto-configuration when Jackson XML is present [#17425](https://github.com/spring-project...
v2.1.7.RELEASE
⭐ New Features
- Allow AbstractDependsOnBeanFactoryPostProcessor to identify depended on beans by type #17020
🪲 Bug Fixes
- Fix log info #17774
- Wrong bean name on Reactive Cassandra Health Indicator condition #17763
- Undertow servers include their own mime mappings in addition to ours #17687
- Missing TransactionManager when user provides a custom Neo4j SessionFactory. #17662
- Fix ordering of SPRING_APPLICATION_JSON property source relative to servlet property sources #17652
- Reactive health indicators do not log health check failure #17635
- JavaVersion does not cover all available versions of Java #17590
- UndertowReactiveWebServerFactory has DeploymentInfoCustomizers even though it does not create a DeploymentInfo #17555
- MockMvc logging requests from all previous tests with Spring Boot Test #17551
- Quartz auto-configuration will initialise the DataSource with Quartz's DDL when not using a JDBC job store #17545
- getResourcePaths(String) allows navigation through the loader's directory structure when using Tomcat #17538
- ActiveMQConnectionFactory is not configured when CachingConnectionFactory is missing and enabled properties are false #17531
- @DataJdbcTest is documented as being transactional but isn't #17513
- Trimming the whitespace for the OAuth2 provider property #17497
- Create RestClient bean from a RestHighLevelClient if such a bean has been contributed by the application. #17488
- Batch app fails to start if there's an entityManagerFactory bean but no DataSource bean #17465
- Batch auto-configuration backs off too aggressively without a dependency on spring-jdbc #17451
- Batch app fails to start if spring-jdbc is on the classpath but there's no DataSource bean #17449
- /actuator/logfile endpoint returning 404 when logging.file property contains a random value #17434
- Validation does not apply to hander replaced results #17421
- MongoDataAutoConfiguration not applied when a MongoDbFactory is provided by Spring Cloud #17416
- Shutdown endpoint is called when the application context is closed as its shutdown() method is inferred to be a destroy method #17407
- Jetty logs a warning about an empty context path when using WebFlux #17399
- Dependency management for Infinispan is incomplete #17346
- Classes and resources with a single letter component in their package name cannot be loaded from jar files with /./ or /../ in their path #17341
- StringToEnumIgnoringCaseConverterFactory getLettersAndDigits returns an integer string #17327
- HibernateJpaAutoConfiguration's condition uses deprecated classes #17288
- JUL logger configuration may be lost before usage due to GC #17217
- EmbeddedMongoAutoConfiguration should depend on bean by type #16627
- Inconsistent behavior turning off the check for the change log location: Liquibase fails anyway #16232
📔 Documentation
- Harmonize settings.gradle documentation in Gradle getting started guide #17736
- Improve "'Create your own starter" to mention how to document properties #17573
- Clarify description of "logging.file.max-history" #17567
- Wrong prefix for datasource metrics in the documentation #17553
- Broken link to Spring Integration metrics in documentation #17543
- Clarify documented behavior of MessageSource auto-configuration when no resource bundles matching the configured basenames exist #17485
- Java 12 is not documented as a supported version #17476
- Caching documentation contains instruction for removed Guava support #17446
- Fix persistent session property name #17382
- Link to Apache Licence from Maven Plugin docs rather than embedding it #17320
- Fix broken link to integration graph reference docs in actuator api documentation #17279
- Improve javadoc of management server port #17268
- Clarify how to specify main class #17003
- Document that RestTemplateBuilder's rootUri only applies when String variants are used for specifying the request URL #15343
🔨 Dependency Upgrades
- Upgrade to Spring Security 5.1.6 #17794
- Upgrade to Johnzon Jsonb 1.1.13 #17786
- Upgrade to Spring HATEOAS 0.25.2 #17777
- Upgrade to Lettuce 5.1.8.RELEASE #17700
- Upgrade to Xmlunit2 2.6.3 #17686
- Upgrade to Spring Cloud Connectors 2.0.6.RELEASE #17685
- Upgrade to Postgresql 42.2.6 #17684
- Upgrade to Pooled Jms 1.0.6 #17683
- Upgrade to Jolokia 1.6.2 #17682
- Upgrade to Janino 3.0.15 #17681
- Upgrade to Tomcat 9.0.22 #17680
- Upgrade to Byte Buddy 1.9.16 #17679
- Upgrade to Mysql 8.0.17 #17678
- Upgrade to Joda Time 2.10.3 #17677
- Upgrade to Undertow 2.0.23.Final #17676
- Upgrade to Rxjava2 2.2.11 #17675
- Upgrade to Netty 4.1.38.Final #17674
- Upgrade to Appengine Sdk 1.9.76 #17673
- Upgrade to Spring Kafka 2.2.8 #17645
- Upgrade to Spring Integration 5.1.7 #17643
- Upgrade to Spring AMQP 2.1.8 #17641
- Upgrade to Reactor Californium-SR10 #17639
- Upgrade to Spring Session Bean-SR7 #17581
- Upgrade to spring-javaformat 0.0.15 #17361
- Upgrade to Spring Data Lovelace-SR10 #17353
- Upgrade to Spring Framework 5.1.9 #17351
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v1.5.22.RELEASE
🪲 Bug Fixes
- Embedded MongoDB uses HTTP rather than HTTPS by default to download Mongo binaries #17191
- spring-boot-dependencies manages jetty-infinispan which no longer exists #16925
📔 Documentation
- Link to Apache Licence from Maven Plugin docs rather than embedding it #17317
- Improve javadoc of management server port #17068
- Fix persistent session property name #16894
- Correct expansion of jOOQ in the reference docs #16879
🔨 Dependency Upgrades
- Upgrade to Mysql 5.1.48 #17783
- Upgrade to Spring Security Oauth 2.0.18.RELEASE #17671
- Upgrade to Spring Security 4.2.13.RELEASE #17670
- Upgrade to Spring Cloud Connectors 1.2.9.RELEASE #17669
- Upgrade to Jetty 9.4.19.v20190610 #17668
- Upgrade to Tomcat 8.5.43 #17667
- Upgrade to Httpclient 4.5.9 #17666
- Upgrade to Appengine Sdk 1.9.76 #17665
- Upgrade to Spring Integration 4.3.21 #17642
- Upgrade to Spring AMQP 1.7.14 #17640
- Upgrade to spring-javaformat 0.0.15 #17359
- Upgrade to Spring Data Ingalls-SR23 #17352
- Upgrade to Spring Framework 4.3.25 #17221
- Upgrade to Dependency Management Plugin 1.0.8.RELEASE #17149
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.2.0.M4
⭐ New Features
- Support annotations on constructor parameters for binding #17109
- Add general purpose header support to RestTemplateBuilder #17091
- Register Printer and Parser beans as converters #17064
- Log JDBC connection URL for embedded database when using H2 console #17063
- Drop deprecated spring.version pom property in favor of spring-framework.version #17043
- Add
configuration-strategy
property to RedisSessionProperties to configureConfigureRedisAction
#17022 - Exclude groovy.lang.MetaClass type from configuration annotation processor #16996
- Make it easier to set bufferRequestBody on ClientHttpRequestFactory #16972
- Define the classloader for FluentConfiguration #16947
- Fork process with spring-boot:run by default #16945
- Update Maven spring-boot:run to launch JVM with flags to enable development-time optimisations #16941
- Configure String codecs in RSocket strategies #16924
- Use deferred logging rather than System.out to report jars on the classpath with Class-Path manifest attributes that point to non-existent files when using DevTools #16883
- Improve diagnostics when JVM launched by spring-boot:run exits with a non-zero status #16869
- Configure PathPattern for RSocket routing #16865
- Allow Flyway or Liquibase to be auto-configured without a DataSource bean #16850
- Add support for AWS Redshift JDBC driver #16831
- Auto-configure Kafka listener container factory with user-provided rebalance listener #16755
- Provide a configuration property for Spring Kafka's missingTopicsFatal #16740
- Optimize CacheKey handling in SpringIterableConfigurationPropertySource #16717
- Make excludeDevtools available as a user property #16701
- Set UTF-8 charset for whitelabel HTML error pages #16611
- Add annotation to support registering Jackson key serializer/deserializers #16544
- Auto-configure Elasticsearch REST client in Spring Data #16542
- Rename spring.reactor.stacktrace-mode configuration property #16537
- Disable Tomcat's MBean Registry by default and provide a property to enable it #16498
- Improve configuration property binding performance with extremely large input files #16401
- Add support for Couchbase's role based access #16389
- Update Gradle bootRun to launch JVM with flags to enable development-time optimisations #16222
- Auto-configure reactive Elasticsearch components introduced in Spring Data Moore #16214
- Include spring.profiles in additional-spring-configuration-metadata.json #16107
- Change Logback's maxHistory property default to 7 days #15875
- Add configuration support for Opaque Token authentication #15872
- Avoid codec auto-configuration when they are not going to be used #15690
- Change default Freemarker template file extension to .ftlh to enable HTML escaping #15131
- Make it possible for the output from the BuildInfo task to be repeatable #14494
- Improve analysis of Tomcat connector start failures by using new throwOnFailure attribute #7130
🪲 Bug Fixes
- Gradle plugin creates fat jars that do not align with unspecified assumption that META-INF/MANIFEST.MF should be the first or second entry #17232
- Netty connection timeouts of 0 or -1 are not applied correctly #17228
- PropertyMapper does not chain when and whenNot calls #17227
- Dependency management for JavaBeans Activation Framework is incomplete #17223
- @WebMvcTest ignores base path configured via @WebAppConfiguration #17220
- Missing outcome tag for WebClient metrics on errors #17219
- Flyway and Liquibase auto-configuration does not consider DataSource properties configured via @AutoConfigureTestDatabase #17218
- @JooqTest does not auto-configure caching #17213
- Fat jar launcher mishandles root jar files with + characters in their path, making nested entries unloadable #17211
- Logback debugging property is ignored unless a logback file is present #17192
- Getting an InputStream from a JarURLConnection for a nested jar or an entry in a nested jar creates a JarFile that's never closed #17127
- JarFileArchive creates a JarFile that is never closed #17126
- JarFile leaks a file handle if central directory parsing fails #17124
- JarResourceManager leaks an InputStream when asked for a Resource for the root of a jar #17122
- Embedded Undertow containers may lose access log entries when shut down #17120
- Repackaging with Maven may not close a library's input stream when adding it to the jar #17118
- DevTools' ChangeableUrls creates JarFiles that are not closed when looking for Class-Path manifest entries #17114
- DevTools uses the wrong command to shut down an in-memory Derby database #17104
- Constructor binding can fail with non iterable property sources #17098
- SpringIterableConfigurationPropertySource cache is not thread safe #17018
- Handle all getters first in JavaBeanBinder.addProperties() #17016
- ConfigFileApplicationListener filtering fails when the defaultPropertySource is a composite #17011
- RestTemplateBuilder.basicAuth causes the entire body to be read into memory #17010
- JVM can't exit due to threads left if Tomcat throws exceptions during shutdown #16995
- Spring Session without Spring Security leads to NoClassDefFoundError: org/springframework/security/web/authentication/RememberMeServices #16992
- Spring Data Cassandra auto-configuration should be conditional on Cluster bean #16990
- JavaBeanBinder.Bean.get() does not use updated resolved type when checking for type differences #16988
- spring-boot:run uses the wrong default working directory for a forked JVM #16960
- SpringBootVersion fails with a NullPointerException if Package has no implementation version and the ProtectionDomain returns a null CodeSource #16956
- WebSphere Liberty's WSJdbcDataSource logs an exception during startup when using a JNDI DataSource with Hikari still on the class...