Commit Graph

24286 Commits

Author SHA1 Message Date
Andy Wilkinson 077e29eb8c Start building against Reactor Bom 2023.0.6 snapshots
See gh-40656
2024-05-09 12:15:58 +01:00
Andy Wilkinson 36bf25da9c Start building against Micrometer 1.12.6 snapshots
See gh-40655
2024-05-09 12:15:52 +01:00
Phillip Webb 24bfe5087f Fix checkstyle violation
See gh-40549
2024-05-08 18:28:09 -07:00
Phillip Webb 8457fc333f Adapt Windows path handling fix to deal with Jetty
Update `NestedLocation` to deal with the fact that Jetty attempts
to fix URLs.

See gh-40549
2024-05-08 18:04:17 -07:00
Phillip Webb 7708ec7592 Fix Windows path handling for nested jars
Update `Path` creation for nested locations to allow both UNC and classic
file references to be used. This commit attempts to align our URL
handling with that of standard file URLs. The `NestedLocation` class
no longer attempts to remove leading all `\` characters and instead
only removes the first `\` when the second char is `:`. This duplicates
the logic found in Java's own internal `WindowsUriSupport` class which
is used when calling `Path.of(url)` with a `file:` URL.

Fixes gh-40549
2024-05-08 15:44:03 -07:00
Moritz Halbritter 92f7414fad Favor Duration accepting timeout method over int method
Closes gh-40635
2024-05-08 14:01:09 +02:00
Moritz Halbritter c47cdda824 Merge branch '3.1.x' into 3.2.x
Closes gh-40624
2024-05-06 09:51:39 +02:00
Moritz Halbritter d18fb9ce65 Upgrade to bcprov-jdk18on 1.78.1
Closes gh-40621
2024-05-06 09:49:32 +02:00
Phillip Webb 8a72e55106 Fix UriPathEncoder bug to improve performance
Fix `isAllowed` check and write test to ensure that additional object
instances are not created unnecessarily.

See gh-40615
2024-05-03 12:29:41 -07:00
Phillip Webb d0ce4daec1 Use URI encoded values when creating NestedPath URIs
Update `NestedPath.toUri()` so that the URI is constructed using encoded
strings.

Fixes gh-40615
2024-05-02 15:53:01 -07:00
Moritz Halbritter 75dac1435f Merge branch '3.1.x' into 3.2.x 2024-05-02 14:48:04 +02:00
Moritz Halbritter 68a63a7797 Polish 2024-05-02 14:47:53 +02:00
Moritz Halbritter 516d3b1294 Test ANSI disabled in logging tests instead of integration tests
See gh-40172
2024-05-02 13:59:48 +02:00
Moritz Halbritter 2183b47e62 Merge branch '3.1.x' into 3.2.x
Closes gh-40612
2024-05-02 11:53:21 +02:00
Moritz Halbritter 1534bc8ad2 Polish "Avoid using OkHttp3ClientHttpRequestFactory in test"
See gh-40611
2024-05-02 11:45:23 +02:00
Stéphane Nicoll 20042576e9 Avoid using OkHttp3ClientHttpRequestFactory in test
See gh-40611
2024-05-02 11:45:20 +02:00
Andy Wilkinson c7ec6080ce Publish a runtime variant that supports Java 22
In order to support Java 22, we must use spring-core 6.1.x.
spring-core 6.1.x is a multi-release jar so, in order to support Java
22, a version of Gradle that supports multi-release jars must be
used.

This commit adds a new variant to spring-boot-gradle-plugin for
modern versions of Gradle. When Gradle's plugin API version is 8.7 or
later, we use spring-core 6.1.x. spring-core 6.0.x is used at all
other times.

Closes gh-40074
2024-05-02 10:45:18 +01:00
Moritz Halbritter 713f4f2292 Polish "Fix broken AnsiOutput.detectIfAnsiCapable on JDK22"
See gh-40172
2024-05-02 11:27:55 +02:00
facewise 1f9b62b122 Fix broken AnsiOutput.detectIfAnsiCapable on JDK22
See gh-40172
2024-05-02 11:03:06 +02:00
Moritz Halbritter 46ab60cc43 Merge branch '3.1.x' into 3.2.x
Closes gh-40607
2024-05-02 10:59:43 +02:00
Dave Syer 421b8e23c4 Clarify devtools restart class loader documentation
See gh-40604
2024-05-02 10:58:30 +02:00
Moritz Halbritter 888ae040e4 Merge branch '3.1.x' into 3.2.x
Closes gh-40605
2024-05-02 10:51:10 +02:00
Moritz Halbritter 64b302032c Polish "Change Spring Boot CLI init command docs default build system to gradle"
See gh-40603
2024-05-02 10:49:51 +02:00
coursar 1a786fc788 Change Spring Boot CLI init command docs default build system to gradle
See gh-40603
2024-05-02 10:44:33 +02:00
Phillip Webb 93728cdfb1 Merge branch '3.1.x' into 3.2.x
Closes gh-40600
2024-05-01 22:55:30 -07:00
Johnny Lim f0fcc92b49 Remove reassignments for builders in GraphQL auto-configurations
See gh-40590
2024-05-01 22:51:19 -07:00
yokotaso 5b4bd61720 Fix possible NullPointerException from getPermission()
Fix regression in `JarUrlConnection` where a NullPointerException could
be thrown internally causing performance issues.

When the SecurityManager is present, the following stack trace is
thrown:

java.lang.NullPointerException: Cannot invoke "java.net.URLConnection.getPermission()" because "this.jarFileConnection" is null
        at org.springframework.boot.loader.net.protocol.jar.JarUrlConnection.getPermission(JarUrlConnection.java:175)
        at java.base/jdk.internal.loader.URLClassPath.check(URLClassPath.java:553)
        at java.base/jdk.internal.loader.URLClassPath$Loader.findResource(URLClassPath.java:612)
        at java.base/jdk.internal.loader.URLClassPath.findResource(URLClassPath.java:296)
        at java.base/java.net.URLClassLoader$2.run(URLClassLoader.java:629)
        at java.base/java.net.URLClassLoader$2.run(URLClassLoader.java:627)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
        at java.base/java.net.URLClassLoader.findResource(URLClassLoader.java:626)
        at org.springframework.boot.loader.net.protocol.jar.JarUrlClassLoader.findResource(JarUrlClassLoader.java:70)
        at java.base/java.lang.ClassLoader.getResource(ClassLoader.java:1403)
        at java.base/java.net.URLClassLoader.getResourceAsStream(URLClassLoader.java:290)
        at java.base/java.lang.Class.getResourceAsStream(Class.java:2850)

See gh-39856
2024-05-01 22:42:52 -07:00
Moritz Halbritter a6dd8b71bd Add exception and failure analyzer for missing AOT initializer
The diagnostics text include the name of the AOT initializer class and
the main class name. It also tells the user how to switch of the AOT
mode.

Closes gh-38645
2024-04-30 15:11:32 +02:00
Scott Frederick 21a0bc7fee Merge branch '3.1.x' into 3.2.x
Closes gh-40576
2024-04-29 16:42:53 -05:00
Johnny Lim e2973a90a8 Use ConcurrentHashMap.newKeySet where feasible
See gh-40567
2024-04-29 15:41:37 -05:00
Moritz Halbritter 7ac0d0cde6 Merge branch '3.1.x' into 3.2.x
Closes gh-40564
2024-04-29 11:56:32 +02:00
Moritz Halbritter d716d99d1b Note that Docker Compose is excluded by default from packaged jars
Closes gh-40556
2024-04-29 11:54:17 +02:00
Moritz Halbritter be5039041c Defer creation of maps in MapBinder
Closes gh-39375
2024-04-29 10:07:40 +02:00
Moritz Halbritter 8a3b0cd221 Throw dedicated exception if bundle content is not watchable
This also adds a FailureAnalyzer which prints a helpful message how to
fix that problem.

Closes gh-38903
2024-04-29 09:46:19 +02:00
Andy Wilkinson 960f020a18 Merge branch '3.1.x' into 3.2.x
Closes gh-40534
2024-04-26 14:02:52 +01:00
Andy Wilkinson 95eb9bd7dc Allow s-b-dependencies to be used when ojdbc-bom is banned
Closes gh-39945
2024-04-26 14:02:00 +01:00
Andy Wilkinson eb7e7b6425 Merge branch '3.1.x' into 3.2.x
Closes gh-40532
2024-04-26 13:51:33 +01:00
Andy Wilkinson d2a5bb3b26 Add dependency management alignment infrastructure
Closes gh-40531
2024-04-26 13:51:16 +01:00
Moritz Halbritter 5707ca83e9 Merge branch '3.1.x' into 3.2.x
Closes gh-40529
2024-04-26 11:12:46 +02:00
chaewss d51282aff5 Remove unnecessary null check for expectedDeprecationMessages
See gh-40524
2024-04-26 11:12:20 +02:00
Andy Wilkinson 087e467387 Merge branch '3.1.x' into 3.2.x
Closes gh-40527
2024-04-26 09:33:12 +01:00
Andy Wilkinson 83f692237d Migrate to com.gradle.develocity plugin
Closes gh-40153
2024-04-26 09:30:48 +01:00
Moritz Halbritter f13e487724 Close streams in test before deleting file 2024-04-26 09:20:36 +02:00
Phillip Webb 9e40970280 Support gzip compressed image layers
Update buildpack support to allow gzip compressed image layers to be
used when returned by the Docker engine. This update is restores
buildpack support when using Docker Desktop with the "Use containerd
for pulling and storing images" option enabled.

This commit introduces a new `ExportedImageTar` class to deal with the
intricacies of determining the mimetype of a layer. The class deals with
the parsing of `index.json' and related manifest blobs in order to
obtain layer information. The legacy `manifest.json` format is also
supported should `index.json` be missing.

Tests have been added to ensure that export archives from Docker Engine,
Docker Desktop (with and without containerd), and Podman can be used.

Fixes gh-40100

Co-authored-by: Moritz Halbritter <moritz.halbritter@broadcom.com>
Co-authored-by: Scott Frederick <scott.frederick@broadcom.com>
2024-04-25 11:51:59 -07:00
Andy Wilkinson 79c3f0335b Merge branch '3.1.x' into 3.2.x
Closes gh-40522
2024-04-25 13:43:03 +01:00
Andy Wilkinson 27418edeb0 Remove references to s.j.generate-ddl in favor of s.j.hibernate.ddl-auto
Closes gh-40503
2024-04-25 13:39:28 +01:00
Andy Wilkinson f1d0bcda2f Revert "Remove references to s.j.generate-ddl in favor of s.j.hibernate.ddl-auto"
This reverts commit 273f8e20c2.
2024-04-25 12:44:51 +01:00
Andy Wilkinson 273f8e20c2 Remove references to s.j.generate-ddl in favor of s.j.hibernate.ddl-auto 2024-04-25 12:24:47 +01:00
Moritz Halbritter 26f1bbb634 Merge branch '3.1.x' into 3.2.x
Closes gh-40516
2024-04-25 11:07:25 +02:00
Moritz Halbritter 2e906c4720 Catch exceptions thrown during String format when collecting diagnostics
Registers the LoggingLinesWriter only if debug logging is actually
enabled.

Closes gh-40500
2024-04-25 11:06:31 +02:00