All Versions
56
Latest Version
Avg Release Cycle
31 days
Latest Release
861 days ago

Changelog History
Page 4

  • v2.2.0.RC1 Changes

    October 03, 2019

    🍱 ⭐️ 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
    • 0️⃣ 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
    • 🌐 It is unclear that the RSocket websocket transport requires Reactor Netty and is not supported with other web servers #17494
    • 🔧 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
    • Split the appendices into multiple pages and include a table of contents in each #16289

    ⬆️ 🔨 Dependency Upgrades

    • ⬆️ Upgrade to Webjars Locator Core 0.41 #18497
    • ⬆️ Upgrade to Mockito 3.1.0 #18496
    • ⬆️ Upgrade to Hibernate 5.4.6.Final #18495
    • ⬆️ Upgrade to Johnzon Jsonb 1.2.0 #18493
    • ⬆️ Upgrade to Okhttp3 3.14.4 #18492
    • ⬆️ Upgrade to gmavenplus-plugin 1.8.0 #18462
    • ⬆️ Upgrade to Cargo Maven Plugin 1.7.7 #18461
    • ⬆️ Upgrade to Maven Maven Plugin 3.6.0 #18460
    • ⬆️ Upgrade to Download Maven Plugin 1.4.2 #18459
    • ⬆️ Upgrade to Spock 1.3-groovy-2.5 #18458
    • ⬆️ Upgrade to plexus-archiver to 3.7.0 #18457
    • ⬆️ Upgrade to maven-plugin-annotations 3.6.0 #18456
    • ⬆️ Upgrade to maven-common-artifact-filters 3.1.0 #18455
    • ⬆️ Upgrade to maven-archiver 3.4.0 #18453
    • ⬆️ Upgrade to MockK 1.9.3 #18452
    • ⬆️ Upgrade to Commons FileUpload 1.4 #18450
    • ⬆️ Upgrade to Testcontainers 1.12.2 #18446
    • ✂ Remove prohibited version of Maven Invoker Plugin #18442
    • 🚀 Upgrade to Spring REST Docs 2.0.4.RELEASE #18439
    • ⬆️ Upgrade to Netty Tcnative 2.0.26.Final #18433
    • ⬆️ Upgrade to Joda Time 2.10.4 #18432
    • ⬆️ Upgrade to Httpclient 4.5.10 #18431
    • ⬆️ Upgrade to Tomcat 9.0.26 #18430
    • ⬆️ Upgrade to Maven Invoker Plugin 3.2.1 #18429
    • ⬆️ Upgrade to Lombok 1.18.10 #18428
    • ⬆️ Upgrade to Postgresql 42.2.8 #18427
    • ⬆️ Upgrade to Neo4j Ogm 3.2.1 #18426
    • ⬆️ Upgrade to Mariadb 2.4.4 #18425
    • ⬆️ Upgrade to Kotlin Coroutines 1.3.2 #18424
    • ⬆️ Upgrade to Hibernate 5.4.5.Final #18423
    • ⬆️ Upgrade to Flyway 6.0.4 #18422
    • ⬆️ Upgrade to Artemis 2.10.1 #18421
    • ⬆️ Upgrade to Jakarta Jms 2.0.3 #18420
    • ⬆️ Upgrade to Prometheus Pushgateway 0.7.0 #18419
    • 🚀 Upgrade to Lettuce 5.2.0.RELEASE #18418
    • ⬆️ Upgrade to Hikaricp 3.4.1 #18417
    • ⬆️ Upgrade to Okhttp3 3.14.3 #18416
    • 🚀 Upgrade deployment test to TomEE 8.0.0 #18395
    • ⬆️ Upgrade to Micrometer 1.3.0 #18389
    • ⬆️ Upgrade to RSocket 1.0.0-RC5 #18364
    • ⬆️ Upgrade to Commons Compress 1.19 #18311
    • 🚀 Upgrade to Spring Doc Resources 0.1.3.RELEASE #18293
    • 🚀 Upgrade to Reactor Dysprosium-RELEASE #18276
    • 🚀 Upgrade to Spring HATEOAS 1.0.0.RELEASE #18258
    • ⬆️ Upgrade to Spring Session Corn-RC1 #18257
    • 🚀 Upgrade to Spring Security 5.2.0.RELEASE #18256
    • 🚀 Upgrade to Spring Kafka 2.3.0.RELEASE #18255
    • 🚀 Upgrade to Spring Integration 5.2.0.RELEASE #18254
    • 🚀 Update to Spring Data Moore-RELEASE #18253
    • 🚀 Upgrade to Spring Batch 4.2.0.RELEASE #18252
    • 🚀 Upgrade to Spring AMQP 2.2.0.RELEASE #18251
    • 🚀 Upgrade to Spring Framework 5.2.0.RELEASE #18232
    • ⬆️ Upgrade to Jackson 2.10.0 #17999
    • ⬆️ Upgrade to Jersey 2.29.1 #17430

    🍱 ❤️ Contributors

    🚀 We'd like to thank all the contributors who worked on this release!

  • v2.2.0.M6 Changes

    September 10, 2019

    🍱 ⭐️ 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 to non-existent --edit option in CLI docs #18016
    • 🛠 Fix Undertow access log dir property name in doc #17972
    • Document the response structure when retrieving a single logger group #17909
    • 📚 Expand documentation on remote devtools #17880
    • 0️⃣ Document that default property values for certain types are not detected by the annotation processor #17855
    • 🛠 Fix syntax errors in docs #17840
    • ➕ Add reference to Pebble Templates to 3rd party starter list #17822
    • 🔧 Document that auto-configuration classes and properties are considered internal #17818
    • 👍 Document Prometheus Pushgateway support #17815
    • 📚 Include logger group with configuredLevel in LoggersEndpoint documentation #17772

    ⬆️ 🔨 Dependency Upgrades

    • ⬆️ Upgrade to Junit Jupiter 5.5.2 #18182
    • ⬆️ Upgrade to Glassfish El 3.0.3 #18181
    • ⬆️ Upgrade to Micrometer 1.2.1 #18180
    • ⬆️ Upgrade to Neo4j Ogm 3.2.0-RC2 #18162
    • ⬆️ Upgrade to Jooq 3.12.1 #18161
    • ⬆️ Upgrade to Kotlin Coroutines 1.3.1 #18160
    • ⬆️ Upgrade to Elasticsearch 6.8.3 #18159
    • ⬆️ Upgrade to Ehcache3 3.8.1 #18158
    • ⬆️ Upgrade to Jakarta Ws Rs 2.1.6 #18157
    • ⬆️ Upgrade to Jakarta Websocket 1.1.2 #18156
    • ⬆️ Upgrade to Jakarta Servlet Jsp Jstl 1.2.7 #18155
    • ⬆️ Upgrade to Jakarta Servlet 4.0.3 #18154
    • ⬆️ Upgrade to Httpcore 4.4.12 #18147
    • ⬆️ Upgrade to Activemq 5.15.10 #18146
    • ⬆️ Upgrade to Undertow 2.0.26.Final #18145
    • ⬆️ Upgrade to Maven Site Plugin 3.8.2 #18075
    • ⬆️ Upgrade to Snakeyaml 1.25 #18074
    • ⬆️ Upgrade to Webjars Locator Core 0.40 #18073
    • ⬆️ Upgrade to Slf4j 1.7.28 #18072
    • ⬆️ Upgrade to Selenium Htmlunit 2.36.0 #18071
    • ⬆️ Upgrade to Reactive Streams 1.0.3 #18070
    • ⬆️ Upgrade to Mongo Driver Reactivestreams 1.12.0 #18069
    • ⬆️ Upgrade to Mongodb 3.11.0 #18068
    • ⬆️ Upgrade to Liquibase 3.8.0 #18067
    • ⬆️ Upgrade to Jboss Logging 3.4.1.Final #18066
    • ⬆️ Upgrade to Infinispan 9.4.16.Final #18065
    • ⬆️ Upgrade to Freemarker 2.3.29 #18064
    • ⬆️ Upgrade to Jetty 9.4.20.v20190813 #18063
    • ⬆️ Upgrade to Janino 3.1.0 #18062
    • ⬆️ Upgrade to Groovy 2.5.8 #18061
    • ⬆️ Upgrade to Tomcat 9.0.24 #18060
    • ⬆️ Upgrade to Log4j2 2.12.1 #18059
    • ⬆️ Upgrade to Commons Dbcp2 2.7.0 #18058
    • ⬆️ Upgrade to Artemis 2.10.0 #18057
    • ⬆️ Upgrade to Htmlunit 2.36.0 #18056
    • ⬆️ Upgrade to Byte Buddy 1.10.1 #18055
    • ⬆️ Upgrade to Jakarta Transaction 1.3.3 #18054
    • ⬆️ Upgrade to Jakarta Persistence 2.2.3 #18053
    • ⬆️ Upgrade to Jakarta Json Bind 1.0.2 #18052
    • ⬆️ Upgrade to Jakarta Json 1.1.6 #18051
    • ⬆️ Upgrade to Jakarta Annotation 1.3.5 #18050
    • ⬆️ Upgrade to Undertow 2.0.25.Final #18049
    • ⬆️ Upgrade to Rsocket 1.0.0-RC3 #18048
    • ⬆️ Upgrade to Rxjava2 2.2.12 #18047
    • ⬆️ Upgrade to Netty 4.1.39.Final #18046
    • ⬆️ Upgrade to Jakarta Mail 1.6.4 #18045
    • ⬆️ Upgrade to Caffeine 2.8.0 #18044
    • ⬆️ Upgrade to Jooq 3.12.0 #18014
    • ⬆️ Upgrade to Flyway 6.0.1 #17997
    • ⬆️ Upgrade to Kotlin 1.3.50 #17982
    • ⬆️ upgrade git commit id plugin version to 3.0.1 for issue 17879 #17981
    • ⬆️ Upgrade to mssql-jdbc 7.4.1.jre8 #17965
    • ⬆️ Upgrade to Kotlin Coroutines 1.3.0 #17907
    • ⬆️ Upgrade to Spring HATEOAS 1.0.0.RC2 #17904
    • ⬆️ Upgrade to Spring Session Corn-M4 #17903
    • ⬆️ Upgrade to Spring Kafka 2.3.0.RC1 #17902
    • ⬆️ Upgrade to Spring Integration 5.2.0.RC1 #17901
    • ⬆️ Upgrade to Spring Data Moore-RC3 #17900
    • ⬆️ Upgrade to Spring Batch 4.2.0.RC1 #17899
    • ⬆️ Upgrade to Spring AMQP 2.2.0.RC1 #17898
    • 🔒 Upgrade to Spring Security 5.2.0.RC1 #17897
    • ⬆️ Upgrade to Spring Framework 5.2.0.RC2 #17896
    • ⬆️ Upgrade to Reactor Dysprosium-RC1 #17895
    • ⬆️ Upgrade to Jackson 2.9.9.20190807 #17850
    • ⬆️ Upgrade to Mockito 3.0.0 #17803
    • ⬆️ Upgrade to Rsocket 1.0.0-RC2 #17800
    • ⬆️ Upgrade to Couchbase Client 2.7.9 #17795

    🍱 ❤️ Contributors

    🚀 We'd like to thank all the contributors who worked on this release!

  • v2.2.0.M5 Changes

    August 06, 2019

    🍱 ⭐️ New Features

    • 0️⃣ 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
    • 0️⃣ 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
    • ValidationBindHandler fails if setters cannot be accessed #17424
    • Validation does not apply to hander replaced results #17422
    • 🔊 Jetty logs a warning about an empty context path when using WebFlux #17409
    • Shutdown endpoint is called when the application context is closed as its shutdown() method is inferred to be a destroy method #17408
    • Dependency management for Infinispan is incomplete #17401
    • StringToEnumIgnoringCaseConverterFactory getLettersAndDigits returns an integer string #17396
    • 📦 Classes and resources with a single letter component in their package name cannot be loaded from jar files with /./ or /../ in their path #17381
    • 👉 Make rSocketServerBootstrap @ConditionalOnMissingBean #17301
    • 🔧 OAuth2 Resource Server Opaque Token configuration property namespace has a hyphen in its name #17290
    • 🗄 HibernateJpaAutoConfiguration's condition uses deprecated classes #17283
    • 🌐 Web server factory customizer beans that are also registered explicitly are called twice during web server creation #17264
    • The -d option of spring init CLI command is not POSIX compliant #16663
    • Content strategy does not work with Thymeleaf and WelcomePageHandlerMapping #16309

    📔 Documentation

    • 🛠 Fix typo in JsonComponent javadoc #17776
    • Document that RestTemplateBuilder's rootUri only applies when String variants are used for specifying the request URL #17762
    • 📚 Harmonize settings.gradle documentation in Gradle getting started guide #17745
    • ➕ Add a note in the migration guide on Flyway#repair #17738
    • Clarify how to specify main class #17693
    • 📚 Generated metadata documentation does not escape the | character #17663
    • 🌲 Clarify description of "logging.file.max-history" #17621
    • ➕ Add grizzly-spring-boot-starter to the third-party list #17620
    • 👌 Improve "'Create your own starter" to mention how to document properties #17603
    • ➕ Add reference to picocli starter #17591
    • 🔧 Clarify documented behavior of MessageSource auto-configuration when no resource bundles matching the configured basenames exist #17588
    • 📚 Wrong prefix for datasource metrics in the documentation #17554
    • 📚 Broken link to Spring Integration metrics in documentation #17547
    • 📚 Update documentation to use JUnit Jupiter #17507
    • 👍 Java 12 is not documented as a supported version #17478
    • 📚 Caching documentation contains instruction for removed Guava support #17467
    • ✂ Remove references to archived spring-boot-issues repo #17431
    • 🛠 Fix persistent session property name #17383
    • 🔗 Link to Apache Licence from Maven Plugin docs rather than embedding it #17321
    • 👌 Improve javadoc of management server port #17269
    • 📚 Multi-page reference documentation sometimes uses the single-page index #17263
    • 📚 Check all documentation uses JUnit 5 for examples #17096
    • Encourage the use of third-party tracing and observability solutions in addition to / instead of implementing your own HttpTraceRepositroy #17047
    • ✅ Document testing with @EmbeddedKafka #15834

    ⬆️ 🔨 Dependency Upgrades

    • ⬆️ Upgrade to Webjars Locator Core 0.38 #17792
    • ⬆️ Upgrade to Mariadb 2.4.3 #17791
    • ⬆️ Upgrade to Elasticsearch 6.8.2 #17790
    • ⬆️ Upgrade to Johnzon Jsonb 1.1.13 #17789
    • ⬆️ Upgrade to Rxjava2 2.2.11 #17788
    • ⬆️ Upgrade to Hazelcast 3.12.2 #17787
    • ⬆️ Upgrade to Spring HATEOAS 1.0.0.RC1 #17755
    • ⬆️ Upgrade to Maven Javadoc Plugin 3.1.1 #17735
    • ⬆️ Upgrade to Xmlunit2 2.6.3 #17734
    • 🚀 Upgrade to Spring Cloud Connectors 2.0.6.RELEASE #17733
    • ⬆️ Upgrade to Postgresql 42.2.6 #17732
    • ⬆️ Upgrade to Neo4j Ogm 3.2.0-RC1 #17731
    • ⬆️ Upgrade to Mongo Driver Reactivestreams 1.12.0-rc0 #17730
    • ⬆️ Upgrade to Mongodb 3.11.0-rc0 #17729
    • ⬆️ Upgrade to Pooled Jms 1.0.6 #17728
    • ⬆️ Upgrade to Liquibase 3.7.0 #17727
    • ⬆️ Upgrade to Junit Jupiter 5.5.1 #17726
    • ⬆️ Upgrade to Jolokia 1.6.2 #17725
    • ⬆️ Upgrade to Kotlin 1.3.41 #17724
    • ⬆️ Upgrade to Hibernate 5.4.4.Final #17723
    • ⬆️ Upgrade to Elasticsearch 6.8.1 #17722
    • ⬆️ Upgrade to Ehcache3 3.8.0 #17721
    • ⬆️ Upgrade to Janino 3.0.15 #17720
    • ⬆️ Upgrade to Tomcat 9.0.22 #17719
    • ⬆️ Upgrade to Solr 8.2.0 #17718
    • ⬆️ Upgrade to Commons Pool2 2.7.0 #17717
    • ⬆️ Upgrade to Byte Buddy 1.10.0 #17716
    • ⬆️ Upgrade to Mysql 8.0.17 #17715
    • ⬆️ Upgrade to Joda Time 2.10.3 #17714
    • ⬆️ Upgrade to Jakarta Servlet Jsp Jstl 1.2.5 #17713
    • ⬆️ Upgrade to Undertow 2.0.23.Final #17712
    • ⬆️ Upgrade to Rxjava2 2.2.10 #17711
    • ⬆️ Upgrade to Netty 4.1.38.Final #17710
    • ⬆️ Upgrade to Commons Codec 1.13 #17709
    • ⬆️ Upgrade to Jmustache 1.15 #17708
    • ⬆️ Upgrade to Rabbit Amqp Client 5.7.3 #17707
    • ⬆️ Upgrade to Appengine Sdk 1.9.76 #17706
    • ⬆️ Upgrade to Cassandra Driver 3.7.2 #17705
    • 🚀 Upgrade to Lettuce 5.1.8.RELEASE #17702
    • ⬆️ Upgrade to Micrometer 1.2.0 #17699
    • ⬆️ Upgrade to AssertJ 3.13.2 #17690
    • Undertow servers include their own mime mappings in addition to ours #17689
    • ⬆️ Upgrade to Undertow 2.0.23.Final #17688
    • ⬆️ Upgrade to Reactor Dysprosium-M3 #17638
    • ⬆️ Upgrade to Jedis 3.1.0 #17622
    • ⬆️ Upgrade to Spring Integration 5.2.0.M4 #17584
    • ⬆️ Upgrade to Spring AMQP 2.2.0 M4 #17583
    • ⬆️ Upgrade to Sqlite Jdbc 3.28.0 #17406
    • ⬆️ Upgrade to Junit Jupiter 5.5.0 #17405
    • ⬆️ Upgrade to Jersey 2.29 #17404
    • ⬆️ Upgrade to Log4j2 2.12.0 #17403
    • ⬆️ Upgrade to Kafka 2.3.0 #17402
    • ⬆️ Upgrade to spring-javaformat 0.0.15 #17362
    • ⬆️ Upgrade to Spring Data Moore-RC2 #17350
    • 🔒 Upgrade to Spring Security 5.2.0.M4 #17349
    • ⬆️ Upgrade to Spring Session Corn-M3 #17348
    • ⬆️ Upgrade to Spring Batch 4.2.0.M3 #17347
    • ⬆️ Upgrade to Spring Kafka 2.3.0.M4 #17319
    • ⬆️ Upgrade to Spring Framework 5.2.0 RC1 #17280
    • ⬆️ Upgrade to JUnit Jupiter 5.5.0-RC2 #17266

    🍱 ❤️ Contributors

    🚀 We'd like to thank all the contributors who worked on this release!

  • v2.2.0.M4 Changes

    June 19, 2019

    🍱 ⭐️ 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 configure ConfigureRedisAction #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
    • 0️⃣ 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
    • 0️⃣ 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
    • 0️⃣ 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
    • 0️⃣ 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 classpath #16940
    • ReactiveSecurityAutoConfiguration can cause TypeNotPresentExceptionProxy #16939
    • 🔧 Constructor-based configuration property binding fails silently when parameter name information is not available #16928
    • Cannot call HTTP when rsocket server is activated #16826
    • Actuator /configprops shows Duration properties as { "units": ["SECONDS", "NANOS"] } #16539

    📔 Documentation

    • 📄 Correct expansion of jOOQ in the reference docs #17196
    • 🛠 Fix regular expression used in devools documentation #16993
    • 🛠 Fix unresolved includes in Gradle Plugin's reference documentation #16968
    • 📄 Reinstate htmlsingle and PDF reference docs #16854
    • Document that -Dspring.profiles.active should not be used to run an app with Maven #10926

    ⬆️ 🔨 Dependency Upgrades

    • ⬆️ Upgrade to Mariadb 2.4.2 #17237
    • ⬆️ Upgrade to Infinispan 9.4.15.Final #17236
    • ⬆️ Upgrade to Micrometer 1.1.5 #17224
    • ⬆️ Upgrade to Spring AMQP 2.2.0.M3 #17203
    • ⬆️ Upgrade to Spring Kafka 2.3.0.M3 #17202
    • ⬆️ Upgrade to Spring Integration 5.2.0.M3 #17201
    • ⬆️ Upgrade to Maven War Plugin 3.2.3 #17190
    • ⬆️ Upgrade to Mockito 2.28.2 #17189
    • ⬆️ Upgrade to Infinispan 9.4.14.Final #17188
    • ⬆️ Upgrade to Hsqldb 2.5.0 #17187
    • ⬆️ Upgrade to Hibernate Validator 6.0.17.Final #17186
    • ⬆️ Upgrade to Hibernate 5.4.3.Final #17185
    • ⬆️ Upgrade to Jaybird 3.0.6 #17184
    • ⬆️ Upgrade to Jetty 9.4.19.v20190610 #17183
    • ⬆️ Upgrade to Tomcat 9.0.21 #17182
    • ⬆️ Upgrade to Kafka 2.2.1 #17181
    • ⬆️ Upgrade to Johnzon Jsonb 1.1.12 #17180
    • ⬆️ Upgrade to Httpclient 4.5.9 #17179
    • ⬆️ Upgrade to Artemis 2.9.0 #17178
    • ⬆️ Upgrade to Byte Buddy 1.9.13 #17177
    • ⬆️ Upgrade to Undertow 2.0.21.Final #17176
    • ⬆️ Upgrade to Rxjava2 2.2.9 #17175
    • 🚀 Upgrade to Lettuce 5.1.7.RELEASE #17174
    • ⬆️ Upgrade to Unboundid Ldapsdk 4.0.11 #17173
    • ⬆️ Upgrade to Rabbit Amqp Client 5.7.1 #17172
    • ⬆️ Upgrade to Hazelcast 3.12.1 #17171
    • ⬆️ Upgrade to Appengine Sdk 1.9.75 #17170
    • ⬆️ Upgrade to Couchbase Client 2.7.7 #17169
    • 🚀 Upgrade to Dependency Management Plugin 1.0.8.RELEASE #17151
    • ⬆️ Upgrade to Rsocket 0.12.2-RC4 #17131
    • ⬆️ Upgrade to Spring HATEOAS 1.0.0.M3 #17075
    • ⬆️ Upgrade to Spring Data Moore-RC1 #16966
    • 🔒 Upgrade to Spring Security 5.2.0.M3 #16965
    • ⬆️ Upgrade to Reactor Dysprosium-M2 #16964
    • ⬆️ Upgrade to Spring Framework 5.2.0.M3 #16963
    • ⬆️ Upgrade to Couchbase Client 2.7.6 #16950
    • ⬆️ Upgrade to Maven Source Plugin 3.1.0 #16922
    • ⬆️ Upgrade to Pooled Jms 1.0.5 #16921
    • ⬆️ Upgrade to Jboss Logging 3.4.0.Final #16920
    • ⬆️ Upgrade to Tomcat 9.0.20 #16919
    • ⬆️ Upgrade to Javax Cache 1.1.1 #16918
    • ⬆️ Upgrade to Dropwizard Metrics 4.1.0 #16917
    • ⬆️ Upgrade to Okhttp3 3.14.2 #16916
    • ⬆️ Upgrade to Sendgrid 4.4.1 #16915
    • ⬆️ Upgrade to Jackson 2.9.9 #16914
    • ⬆️ Upgrade to Spring Session Corn-M2 #16587
    • ⬆️ Upgrade to Hamcrest 2.1 #15555

    🍱 ❤️ Contributors

    🚀 We'd like to thank all the contributors who worked on this release!

  • v2.2.0.M3 Changes

    May 15, 2019

    🍱 ⭐️ New Features

    • 👌 Support CBOR codec for RSocket #16830
    • ➕ Added Cassandra Cluster factory and Default implementation. #16702
    • 👍 Raise the minimum supported version of Gradle to 4.10 #16681
    • ➕ Add jOOQ to SQL logging group #16678
    • ⚡️ Optimize ConfigurationPropertyName.buildToString() #16658
    • ➕ Add support for Hazelcast YAML configuration #16632
    • ⚡️ Optimize JarEntry construction #16620
    • 🔧 Auto-configure ReactiveStringRedisTemplate if necessary #16604
    • Simplify starter validation dependencies and make validation easier to exclude from WebFlux applications #16593
    • 👌 Improve server factory with apply customizers #16584
    • 👌 Improve diagnostics when configuration property scanning and component scanning both create a bean for the same class #16581
    • 👉 Use BatchErrorHandler when Kafka listener type is batch #16499
    • 🔧 Speedup element equality checks in ConfigurationPropertyName #16474
    • 👍 AutoConfiguration support for Data Mongo ReactiveGridFsTemplate #16467
    • 🏗 Auto-configure RSocketRequester.Builder #16280
    • ➕ Add configuration properties for remaining Undertow server options #16278
    • 👉 Use file: URL rather than jar:file: URL to speed up exploded application launch #16248
    • 0️⃣ JmsMessagingTemplate should reuse JmsTemplate's default destination #16227
    • Determine Spring Boot version on startup correctly when using Jigsaw #16182
    • 0️⃣ Disable auditing by default #16110
    • 🔧 Complete Jetty Access Log configuration properties support #16080
    • 🔧 Properties to set default configuration for auto-timed controller metrics #15988
    • 🔧 connectionTimeout and readTimeout properties for configuring RestClient #15965
    • 0️⃣ Disable management.trace.http by default #15039
    • Provide a way to bind the Flyway Pro license key property #14989
    • ⚠ Log warning on slow host resolution #7087
    • Provide dependency management for OkHttp 3 #6385
    • 🔧 Disable DevTools' environment post-processors and auto-configuration when running tests #5307

    🍱 🐞 Bug Fixes

    • RedisReactiveHealthIndicator makes blocking call on error #16860
    • Binder can fail when multiple overloaded setters exist #16859
    • HTTPS urls cause NPE when using Jetty Reactor #16858
    • Binder can fail with POJOs that have generic types #16857
    • 🔧 ConfigurationPropertyName.equals can fail with dashed names #16855
    • 🔧 Redis pooling minIdle property is ignored as timeBetweenEvictionRun defaults to -1 and cannot be configured #16809
    • JUnit 4 is no longer on the compile classpath with Gradle #16807
    • Dependency management for Kafka is incomplete #16746
    • ✅ JacksonTester handles some characters asymmetrically #16649
    • ⚡️ Metrics may be updated twice when CompositeMeterRegistry exists #16644
    • 🔒 Decoding of key from file specified by spring.security.oauth2.resourceserver.public-key-location fails on Windows #16624
    • Dependency management for Glassfish JAXB is incomplete #16623
    • 🔧 @ConfigurationPropertiesScan not compatible with @Profile @ConfigurationProperties #16612

    📔 Documentation

    • 🛠 Fix typo #16684
    • ✂ Remove redundant info #16668
    • 🔧 Document using @Profile with @ConfigurationProperties #16622
    • Document memory change for IntelliJ IDEA importer VM #16409
    • 📚 2.2.x has no htmlsingle documentation variant anymore. #16295
    • Some events are not documented in the list of application events #7382

    ⬆️ 🔨 Dependency Upgrades

    • ⬆️ Upgrade to Maven Jar Plugin 3.1.2 #16846
    • ⬆️ Upgrade to Groovy 2.5.7 #16845
    • ⬆️ Upgrade to Aspectj 1.9.4 #16844
    • ⬆️ Upgrade to Joda Time 2.10.2 #16843
    • ⬆️ Upgrade to Spring HATEOAS 1.0.0.M2 #16833
    • ⬆️ Upgrade to Maven Help Plugin 3.2.0 #16804
    • ⬆️ Upgrade to Maven Failsafe Plugin 2.22.2 #16803
    • ⬆️ Upgrade to Maven Compiler Plugin 3.8.1 #16802
    • ⬆️ Upgrade to Selenium Htmlunit 2.35.1 #16801
    • ⬆️ Upgrade to Lombok 1.18.8 #16800
    • ⬆️ Upgrade to Jetty El 8.5.40 #16799
    • ⬆️ Upgrade to Mongodb 3.11.0-beta3 #16798
    • ⬆️ Upgrade to Mockito 2.27.0 #16797
    • ⬆️ Upgrade to Jolokia 1.6.1 #16796
    • ⬆️ Upgrade to Kotlin 1.3.31 #16795
    • ⬆️ Upgrade to Infinispan 9.4.13.Final #16794
    • ⬆️ Upgrade to Elasticsearch 6.7.2 #16793
    • ⬆️ Upgrade to Ehcache3 3.7.1 #16792
    • ⬆️ Upgrade to Jetty 9.4.18.v20190429 #16791
    • ⬆️ Upgrade to Commons Pool2 2.6.2 #16790
    • ⬆️ Upgrade to Commons Lang3 3.9 #16789
    • ⬆️ Upgrade to Artemis 2.8.0 #16788
    • ⬆️ Upgrade to Htmlunit 2.35.0 #16787
    • ⬆️ Upgrade to Mysql 8.0.16 #16786
    • ⬆️ Upgrade to Jaxen 1.2.0 #16785
    • ⬆️ Upgrade to Rsocket 0.12.2-RC2 #16784
    • ⬆️ Upgrade to Netty Tcnative 2.0.25.Final #16783
    • ⬆️ Upgrade to Netty 4.1.36.Final #16782
    • ⬆️ Upgrade to Appengine Sdk 1.9.74 #16781
    • ⬆️ Upgrade to Spring AMQP 2.2.0.M2 #16754
    • ⬆️ Upgrade to Spring Kafka 2.3.0.M2 #16752
    • ⬆️ Upgrade to Spring Integration 5.2.0.M2 #16750
    • ⬆️ Upgrade to Maven Surefire Plugin 2.22.2 #16726
    • 🚀 Upgrade to Spring Doc Resources 0.1.2.RELEASE #16690
    • ⬆️ Upgrade to Reactor Dysprosium-M1 #16595
    • ⬆️ Upgrade to Tomcat 9.0.19 #16592
    • ⬆️ Upgrade to Spring Framework 5.2.0.M2 #16589
    • ⬆️ Upgrade to Spring Batch 4.2.0.M2 #16588
    • ⬆️ Upgrade to Spring Data Moore-M4 #16574

    🍱 ❤️ Contributors

    🚀 We'd like to thank all the contributors who worked on this release!

  • v2.2.0.M2 Changes

    April 16, 2019

    🍱 ⭐️ New Features

    • Provide complete dependency management for RSocket #16568
    • ➕ Add property for Mongo auto index creation #16454
    • Rework WebFlux and WebMVC config to avoid the need for bean method proxying #16427
    • Provide a callback for customising Tomcat's ProtocolHandler #16342
    • 🔦 Expose proxyBeanMethods as an alias on SpringBootConfiguration, SpringBootApplication, and ManagementContextConfiguration #16201
    • 🌐 Simplify starter validation dependencies and make validation easier to exclude from web applications #16176
    • 🔧 Replace ${sys:PID} with %pid in log4j2 configuration #16174
    • Let Hibernate detect the dialect to use #16172
    • Trim trailing whitespace from value of spring.server.servlet.context-path #16165
    • Check for multiple processors in OnClassCondition #16115
    • ➕ Add default no-op method implementations to SpringApplicationRunListener #16104
    • 📇 Generate configuration keys metadata for immutable POJOs #16071
    • ➕ Added support for additional Tomcat access log configuration properties #16039
    • 🔧 RSocket server auto-configuration with Spring Messaging #16021
    • Extend ApplicationContextRunner to accept simple bean definitions #16011
    • ➕ Add requestId information to ErrorAttributes and whitelabel error page in WebFlux #15952
    • 🔧 Missing keyValue for Public Key Configuration in OAuth2ResourceServerJwtConfiguration #15814
    • ✅ Make TestRestTemplate withBasicAuth fault tolerant by default #15780
    • Enable git remote linking automatically on CF #13586
    • ➕ Add support for ConfigurationProperties scanning #12602
    • 👉 Use Kotlin's bom to provide dependency management for Kotlin #9486
    • 🔧 Use @configuration(proxyBeanMethods=false) wherever possible #9068
    • 👍 Allow @ConfigurationProperties binding for immutable POJOs #8762
    • Consider using ForwardedHeaderFilter #5677

    🍱 🐞 Bug Fixes

    • Dependency management is provided for solr-uima which does not exist in 7.7 #16572
    • 📇 ConfigurationMetadataProperty name not stripped with same source types #16565
    • When running on a separate port, Actuator health endpoint may report healthy before the main port is listening #16473
    • StackOverflow in meta-data generation with unresolved generic and upper bound #16464
    • 🌲 Liquibase endpoint does not honor custom change log table #16461
    • 🔧 server.tomcat.processor-cache cannot be used to configure an unlimited processor cache #16415
    • Server fails to start when using AJP/1.3 protocol due to ClassCastException #16413
    • Skip lazy initialization of beans that explicitly set the lazy attribute to false #16184
    • AbstractRefreshableApplicationContext should not appear in the type hierarchy of our application context implementations #16096
    • 🔧 Auto-configured PrometheusPushGatewayManager cannot be configured to use HTTPS to connect to the gateway #16084
    • 0️⃣ spring.profiles.active from defaultProperties takes precedence over config files #15445

    📔 Documentation

    • 📚 Unresolved directives in generated documentation #16452
    • ➕ Add Spring-specific styling to Gradle Plugin's documentation #16327
    • ➕ Add Spring-specific styling to Actuator's API documentation #16326
    • 📚 Update Kotlin documentation #16235

    ⬆️ 🔨 Dependency Upgrades

    • ⬆️ Upgrade to Elasticsearch 6.7.1 #16569
    • ⬆️ Upgrade to Kotlin 1.3.30 #16554
    • 🔒 Upgrade to Spring Security 5.2.0.M2 #16534
    • ⬆️ Upgrade to Spring Session Corn-M1 #16532
    • ⬆️ Upgrade to Spring Integration 5.2.0.M1 #16531
    • ⬆️ Upgrade to Spring AMQP 2.2.0.M1 #16530
    • ⬆️ Upgrade to Spring Batch 4.2.0.M1 #16529
    • ⬆️ Upgrade to Spring Data Moore M3 #16528
    • ⬆️ Upgrade to Jooq 3.11.11 #16525
    • ⬆️ Upgrade to Infinispan 9.4.12.Final #16524
    • ⬆️ Upgrade to Aspectj 1.9.3 #16523
    • ⬆️ Upgrade to Undertow 2.0.20.Final #16522
    • ⬆️ Upgrade to Neo4j Ogm 3.2.0-alpha05 #16521
    • ⬆️ Upgrade to Mongodb 3.10.2 #16520
    • ⬆️ Upgrade to Junit Jupiter 5.4.2 #16519
    • ⬆️ Upgrade to Rabbit Amqp Client 5.7.0 #16518
    • ⬆️ Upgrade to Hazelcast 3.12 #16503
    • ⬆️ Upgrade to Sqlite Jdbc 3.27.2 #16440
    • ⬆️ Upgrade to Mockito 2.25.1 #16439
    • ⬆️ Upgrade to Mariadb 2.4.1 #16438
    • ⬆️ Upgrade to Junit Jupiter 5.4.1 #16437
    • ⬆️ Upgrade to Hibernate 5.4.2.Final #16436
    • ⬆️ Upgrade to Elasticsearch 6.6.2 #16435
    • ⬆️ Upgrade to Assertj 3.12.2 #16434
    • ⬆️ Upgrade to Artemis 2.7.0 #16432
    • ⬆️ Upgrade to Thymeleaf Layout Dialect 2.4.1 #16431
    • ⬆️ Upgrade to Classmate 1.5.0 #16430
    • ⬆️ Upgrade to Kafka 2.2.0 #16420
    • ⬆️ Upgrade to Spring Kafka 2.3.0.M1 #16302
    • ⬆️ Upgrade to Solr 8.0.0 #16272
    • Roll back to Maven Invoker 3.1.0 #16205
    • ⬆️ Upgrade to Kotlin 1.3.21 #16195
    • ⬆️ Upgrade to Spring Framework 5.2.0.M1 #16173

    🍱 ❤️ Contributors

    🚀 We'd like to thank all the contributors who worked on this release!

  • v2.2.0.M1 Changes

    March 08, 2019

    🍱 ⭐️ New Features

    • Switch from com.sun.mail:javax.mail to com.sun.mail:jakarta.mail #16113
    • Switch from org.glassfish:javax.el to org.glassfish:jakarta.el #16112
    • Switch to Jakarta EE API dependencies where possible #16111
    • 🔧 Introduce @ConditonalOnExposedEndpoint to avoid auto-configuring endpoints that cannot be accessed #16093
    • 0️⃣ Disable JMX by default #16090
    • ➕ Add loadOnStartup attribute to @EndpointServlet #16053
    • ➕ Add failure analyzer for Flyway's bootstrap failure #16015
    • 🔦 Expose Tomcat AccessLog Max days property #15954
    • ➕ Add support for setting the awaitTeminationSeconds and waitForTasksToCompleteOnShutdown #15951
    • 🖐 Handle BatchMessagingMessageConverter with Kafka batch listeners #15942
    • Switch from FileSize to DataSize for Logback size-based properties #15930
    • 🔧 Provide a configuration option to enable lazy initialisation #15870
    • ✂ Remove redundant dependency management for xml-apis:xml-apis #15854
    • 👉 Make RestTemplateMetricsConfiguration conditional on a RestTemplateBuilder bean #15842
    • ➕ Add support for jdbc:firebird: url prefix #15841
    • ⚡️ Optimize ConfigurationPropertyName #15782
    • ⚡️ Optimize BeanPropertyName.toDashedForm() #15779
    • 🔧 Speed up binding of @ConfigurationProperties with a large object graph #15760
    • Disable background preinitializer when only one processor is available #15722
    • 🌐 RestTemplateAutoConfiguration should be conditional on not being a reactive web application #15718
    • 🌐 HttpMessageConvertersAutoConfiguration should be conditional on not being a reactive web application #15712
    • ➕ Add opt-in support for Neo4j-OGM native types #15637
    • ➕ Add an outcome tag for web client metrics similar to MVC and WebFlux server metrics #15594
    • 👉 Use assertJ to generate AssertionError and filter its stacktrace #15569
    • 0️⃣ Disable Hibernate entity scanning for default JPA setup #15565
    • ➕ Add support to detect Kubernetes platform in CloudPlatform #15537
    • 👍 Allow easy customization of EmbeddedMongo DownloadConfig #15496
    • Apply TomcatConnectorCustomizer and TomcatContextCustomizer beans automatically #15492
    • 🔌 Spring Boot Maven Plugin 'agent' parameter does not explain how to use multiple agents #15455
    • 👍 Allow spring.profiles.active in a config file to take effect when spring.profiles.include is configured via a higher-precedence property source #15344
    • ➕ Add support for capping archived log files with Logback #15325
    • 🔧 Configure MessageSource if no "messageSource" bean defined #15212
    • ✂ Remove redundant dependency management for dom4j:dom4j #15199
    • ➕ Add configurable property for JWK encryption algorithm #15145
    • 0️⃣ Use varargs for DefaultApplicationArguments #15142
    • 🔄 Change DataSourceHealthIndicator details from "hello" to "result" #15136
    • 🌲 Rename logging.file to logging.file.name #15089
    • Fail fast if nested condition uses a phase inappropriate for its members #15086
    • ➕ Add validation query to DataSourceHealthIndicator details #15055
    • 🔧 Provide a configuration property for configuring Tomcat's processor cache #15054
    • 👌 Support expressing application args in @SpringBootTest #14823
    • ➕ Add TestNG support in TestTypeExcludeFilter #7630

    🍱 🐞 Bug Fixes

    • 🔧 @AutoConfigureMockMvc imports auto-configurations manually #13822

    📔 Documentation

    • 🛠 Fix broken Appendix links due to section overhaul #15933
    • ⚡️ Update 'HTTP Client Metrics' section of docs to include "outcome" tag description #15725
    • ➕ Add setup instructions for in IntelliJ IDEA #15634
    • ➕ Add starter entry for Azure Application Insights #15628
    • Auto-generate the "Common application properties" appendix #8237

    ⬆️ 🔨 Dependency Upgrades

    • ⬆️ Upgrade to Cassandra Driver 3.7.1 #16163
    • ⬆️ Upgrade to Mongo Driver Reactivestreams 1.11.0 #16159
    • ⬆️ Upgrade to Maven Javadoc Plugin 3.1.0 #16157
    • ⬆️ Upgrade to Maven Invoker Plugin 3.2.0 #16156
    • ⬆️ Upgrade to Snakeyaml 1.24 #16155
    • ⬆️ Upgrade to Webjars Locator Core 0.37 #16154
    • ⬆️ Upgrade to Selenium Htmlunit 2.34.0 #16153
    • ⬆️ Upgrade to Mongodb 3.10.1 #16152
    • ⬆️ Upgrade to Mockito 2.25.0 #16151
    • ⬆️ Upgrade to Mariadb 2.4.0 #16150
    • ⬆️ Upgrade to Junit Jupiter 5.4.0 #16149
    • ⬆️ Upgrade to Influxdb Java 2.15 #16148
    • ⬆️ Upgrade to Elasticsearch 6.6.1 #16147
    • ⬆️ Upgrade to Ehcache3 3.7.0 #16146
    • ⬆️ Upgrade to Assertj 3.12.1 #16145
    • ⬆️ Upgrade to Kafka 2.1.1 #16144
    • ⬆️ Upgrade to Commons Dbcp2 2.6.0 #16143
    • ⬆️ Upgrade to Htmlunit 2.34.1 #16142
    • ⬆️ Upgrade to Rest Assured 3.3.0 #16141
    • ⬆️ Upgrade to Rxjava2 2.2.7 #16140
    • ⬆️ Upgrade to Commons Codec 1.12 #16139
    • ⬆️ Upgrade to Hikaricp 3.3.1 #16138
    • ⬆️ Upgrade to Rabbit Amqp Client 5.6.0 #16137
    • ⬆️ Upgrade to Hazelcast Hibernate5 1.3.2 #16136
    • ⬆️ Upgrade to Caffeine 2.7.0 #16135
    • ⬆️ Upgrade to Jersey 2.28 #16114
    • ⬆️ Upgrade to Jedis 3.0.1 #15941
    • ⬆️ Upgrade to Spring Plugin 2.0.0.M1 #15940
    • ⬆️ Upgrade to Spring HATEOAS 1.0.0.M1 #15939
    • ⬆️ Upgrade to Elasticsearch 6.5.4 #15938
    • ⬆️ Upgrade Neo4j-OGM to 3.2.0-alpha04 #15937
    • ⬆️ Upgrade to Saaj Impl 1.5.1 and deal with the move to Jakarta API dependencies #15915
    • ⬆️ Upgrade to Glassfish Jaxb 2.3.2 and deal with move to Jakarta API dependencies #15689
    • ⬆️ Upgrade to Flatten Maven Plugin 1.1.0 #15622
    • ⬆️ Upgrade to Hibernate 5.4.0.Final #15621
    • ⬆️ Upgrade to Hikaricp 3.3.0 #15620
    • ⬆️ Upgrade to Rabbit Amqp Client 5.5.2 #15619
    • ⬆️ Upgrade to Hazelcast Hibernate5 1.3.1 #15618
    • ⬆️ Upgrade to Webjars Locator Core 0.36 #15527
    • ⬆️ Upgrade to Selenium 3.141.59 #15526
    • ⬆️ Upgrade to Selenium Htmlunit 2.33.3 #15525
    • ⬆️ Upgrade to Kafka 2.1.0 #15524
    • ⬆️ Upgrade to Rest Assured 3.2.0 #15523
    • ⬆️ Upgrade to Prometheus Pushgateway 0.6.0 #15522
    • ⬆️ Upgrade to Embedded Mongo 2.2.0 #15521
    • ⬆️ Upgrade to Rabbit Amqp Client 5.5.1 #15520
    • ⬆️ Upgrade to Hazelcast Hibernate5 1.3.0 #15519
    • ⬆️ Upgrade to Spring Data Moore M2 #15197

    🍱 ❤️ Contributors

    🚀 We'd like to thank all the contributors who worked on this release!

  • v2.1.18.RELEASE Changes

    October 29, 2020

    🍱 🐞 Bug Fixes

    • 🔧 @ConfigurationPropertiesBinding does not apply Formatter beans #23576

    📔 Documentation

    • ➕ Add upgrading section to reference docs with a link to the wiki #23529

    ⬆️ 🔨 Dependency Upgrades

    • ⬆️ Upgrade to Hibernate Validator 6.0.21.Final #23840
    • ⬆️ Upgrade to Httpclient 4.5.13 #23837
    • ⬆️ Upgrade to Jetty 9.4.33.v20201020 #23839
    • ⬆️ Upgrade to Joda Time 2.10.8 #23835
    • ⬆️ Upgrade to Lombok 1.18.16 #23842
    • ⬆️ Upgrade to Micrometer 1.1.19 #23789
    • ⬆️ Upgrade to Mysql 8.0.22 #23836
    • ⬆️ Upgrade to Netty 4.1.53.Final #23832
    • ⬆️ Upgrade to Postgresql 42.2.18 #23841
    • ⬆️ Upgrade to Reactor Californium-SR22 #23792
    • ⬆️ Upgrade to Rxjava2 2.2.20 #23833
    • ⬆️ Upgrade to Spring Data Lovelace-SR21 #23775
    • ⬆️ Upgrade to Spring Framework 5.1.19 #23772
    • ⬆️ Upgrade to Spring Integration 5.1.13 #23798
    • 🚀 Upgrade to Spring Security 5.1.13.RELEASE #23843
    • ⬆️ Upgrade to Tomcat 9.0.39 #23838
    • ⬆️ Upgrade to Undertow 2.0.32.Final #23834
  • v2.1.17.RELEASE Changes

    September 17, 2020

    🍱 🐞 Bug Fixes

    • 🐎 Signed jar dependency performance problem when repackaged in a single jar #19041

    📔 Documentation

    • 🛠 Fix broken links to Micrometer registry docs #22704

    ⬆️ 🔨 Dependency Upgrades

    • ⬆️ Upgrade to Micrometer 1.1.18 #23384
    • ⬆️ Upgrade to Spring AMQP 2.1.17 #23371
    • 🚀 Upgrade to Spring Ws 3.0.10.RELEASE #23333
    • ⬆️ Upgrade to Neo4j Ogm 3.1.22 #23332
    • ⬆️ Upgrade to Tomcat 9.0.38 #23331
    • 🚀 Upgrade to Spring Security 5.1.12.RELEASE #23278
    • ⬆️ Upgrade to Postgresql 42.2.16 #23277
    • ⬆️ Upgrade to Infinispan 9.4.20.Final #23275
    • ⬆️ Upgrade to Hibernate 5.3.18.Final #23274
    • ⬆️ Upgrade to Jetty 9.4.31.v20200723 #23273
    • ⬆️ Upgrade to Undertow 2.0.31.Final #23272
    • 🚀 Upgrade to Dependency Management Plugin 1.0.10.RELEASE #23271
    • ⬆️ Upgrade to Netty Tcnative 2.0.34.Final #23270
    • ⬆️ Upgrade to Netty 4.1.52.Final #23269
    • ⬆️ Upgrade to Appengine Sdk 1.9.82 #23267
    • ⬆️ Upgrade to Jackson 2.9.10.20200824 #23266
    • ⬆️ Upgrade to Spring Data Lovelace-SR20 #23194
    • ⬆️ Upgrade to Reactor Californium-SR21 #23190
    • ⬆️ Upgrade to Spring Session Bean-SR12 #23185
    • ⬆️ Upgrade to Spring Framework 5.1.18 #23181

    🍱 ❤️ Contributors

    🚀 We'd like to thank all the contributors who worked on this release!

  • v2.1.16.RELEASE Changes

    July 24, 2020

    🍱 🐞 Bug Fixes

    • 0️⃣ NullPointerException in ErrorPageFilter when a MissingServletRequestParameterException is thrown and there's no DefaultHandlerExceptionResolver #22169

    📔 Documentation

    • 📚 Update the documentation to avoid trivialising what the reader's learning about #22408

    ⬆️ 🔨 Dependency Upgrades

    • ⬆️ Upgrade to Aspectj 1.9.6 #22537
    • ⬆️ Upgrade to Micrometer 1.1.16 #22536
    • ⬆️ Upgrade to Spring Integration 5.1.12 #22511
    • ⬆️ Upgrade to Spring AMQP 2.1.16 #22507
    • ⬆️ Upgrade to Groovy 2.5.13 #22505
    • ⬆️ Upgrade to Spring Session Bom Bean-SR11 #22430
    • ⬆️ Upgrade to Neo4j Ogm 3.1.20 #22429
    • ⬆️ Upgrade to Jetty 9.4.30.v20200611 #22428
    • ⬆️ Upgrade to Tomcat 9.0.37 #22427
    • ⬆️ Upgrade to Activemq 5.15.13 #22426
    • ⬆️ Upgrade to Mysql 8.0.21 #22425
    • ⬆️ Upgrade to Netty 4.1.51.Final #22424
    • ⬆️ Upgrade to Micrometer 1.1.15 #22423
    • ⬆️ Upgrade to Appengine Sdk 1.9.81 #22422
    • ⬆️ Upgrade to Jackson 2.9.10.20200621 #22421
    • ⬆️ Upgrade to Couchbase Client 2.7.16 #22420
    • ⬆️ Upgrade to Spring Data Lovelace-SR19 #22382
    • ⬆️ Upgrade to Reactor Californium-SR20 #22371
    • ⬆️ Upgrade to Spring Framework 5.1.17 #22370

    🍱 ❤️ Contributors

    🚀 We'd like to thank all the contributors who worked on this release!