Commit Graph

24285 Commits

Author SHA1 Message Date
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
Moritz Halbritter
503d8c1273 Merge branch '3.1.x' into 3.2.x
Closes gh-40514
2024-04-25 09:44:51 +02:00