Commit Graph
62621 Commits
Author SHA1 Message Date
Stéphane Nicoll 8b8294a1a1 Merge branch '4.1.x'
Closes gh-51659
2026-09-10 16:39:59 +02:00
Stéphane Nicoll e55f120d8a Merge branch '4.0.x' into 4.1.x
Closes gh-51658
2026-09-10 16:39:50 +02:00
Stéphane Nicoll a7d90d3532 Merge pull request #51655 from JunggiKim
Closes gh-51655

* perf/changelog-compute-differences:
  Avoid rebuilding metadata maps when computing the changelog
2026-09-10 16:39:43 +02:00
Andy Wilkinson 52301d3f9f Merge branch '4.1.x'
Closes gh-51657
2026-09-10 15:35:52 +01:00
Andy Wilkinson 2fbc10fbaf Merge pull request #51597 from o-shevchenko
Closes gh-51597

* gh-51597:
  Document baggage propagation over gRPC
2026-09-10 15:35:27 +01:00
Junggi Kim 9a09c2842b Avoid rebuilding metadata maps when computing the changelog
Changelog.computeDifferences() called
ConfigurationMetadataRepository.getAllProperties() from inside its main
loop. The default repository implementation builds a new map each time
that method is called, so the new version's properties were rebuilt once
per property of the old version. The ids that had already been seen were
also tracked in an ArrayList, turning each membership check into a linear
scan.

Read the properties of each repository once and use the old properties
map itself to detect the properties that have been added.

Computing the changelog between Spring Boot 3.4.0 and 3.5.0 (2,498 and
2,555 properties) drops from 203ms to 0.5ms and the generator's peak
memory from 302MB to 91MB. The generated asciidoc is byte for byte
identical.

See gh-51655

Signed-off-by: Junggi Kim <kimjg2477@gmail.com>
2026-09-10 16:35:18 +02:00
Stéphane Nicoll 9600287f8d Merge pull request #51654 from JunggiKim
Closes gh-51654

* perf/layers-index-child-lookup:
  Use a map to look up layer index child nodes
2026-09-10 16:34:14 +02:00
Oleksandr Shevchenko 020584c36a Document baggage propagation over gRPC
Baggage is already propagated over gRPC by the auto-configured
Micrometer observation interceptors: on the server side the
ObservationGrpcServerInterceptor hands the incoming metadata to the
tracing observation handlers, which extract the W3C baggage header as
well as the individual metadata keys listed in
management.tracing.baggage.remote-fields, and on the client side the
ObservationGrpcClientInterceptor writes them to the metadata of
outgoing calls. This was not documented, and it is easy to miss that
it requires micrometer-core on the classpath.

This commit adds an Observability section to the gRPC server
documentation, extends the gRPC client Observability section, and
mentions gRPC in the baggage section of the tracing documentation.

See gh-51597

Signed-off-by: Oleksandr Shevchenko <oleksandr.shevchenko@datarobot.com>
2026-09-10 15:33:57 +01:00
Junggi Kim 823744c0b2 Use a map to look up layer index child nodes
LayersIndex.Node kept its children in a list and scanned that list
linearly to find the child for each path segment. Building the index is
therefore O(entries x siblings), a cost that is dominated by the largest
flat directory in the jar: BOOT-INF/lib/ for the dependencies, and any
bundled resource directory such as a front-end build output.

Keep the children in a LinkedHashMap keyed by the segment name so that
lookups are constant time. Insertion order is preserved, so the order in
which buildIndex() walks the tree is unchanged.

For a jar with 32,529 entries, 426 dependencies and a 12,000 file static
resource directory, this reduces the number of string comparisons from
73.7M to 222K and the time spent building the index from 197ms to 12ms.
For a jar with no large flat directory (20,529 entries, 426
dependencies) the gain is much smaller: 1.58M comparisons to 162K, and
12.5ms to 9.6ms. The generated layers.idx is byte for byte identical in
both cases.

See gh-51654

Signed-off-by: Junggi Kim <kimjg2477@gmail.com>
2026-09-10 16:30:35 +02:00
Stéphane Nicoll c966eca3e7 Merge pull request #51653 from JunggiKim
Closes gh-51653

* speed-up-layer-lookup-when-extracting:
  Avoid scanning the whole layer index for every entry
2026-09-10 16:28:19 +02:00
Junggi KimandClaude Opus 5 a0f0cf00b3 Avoid scanning the whole layer index for every entry
IndexedLayers.getLayer() walked every entry of layers.idx for each jar
entry being extracted, making extraction O(entries x index size). The
dependency entries are listed first while the application classes are
covered by a single directory entry near the end, so the most numerous
entries consistently scanned the longest.

Index the candidates once when the index file is read, keeping the
directory candidates in a separate map that preserves index order. A
file name is then resolved with a single map lookup and only the
handful of directory candidates has to be scanned.

For a jar with 24,823 entries and 700 dependencies this reduces the
number of string comparisons from 17,179,582 to 72,946 (106.9ms to
2.5ms). With 4,173 entries it goes from 1,019,857 to 11,896 (5.4ms to
0.1ms) and with 903 entries from 70,612 to 2,426 (0.8ms to 0.1ms).

Lookups resolve to the same layer as before. LayersIndex only writes a
name once its whole subtree belongs to a single layer, so no indexed
name is a prefix of another and at most one candidate can match, which
makes the order the two kinds of candidate are consulted in immaterial.

See gh-51653

Signed-off-by: Junggi Kim <kimjg2477@gmail.com>

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-10 16:23:11 +02:00
Andy Wilkinson 59379ae449 Merge branch '4.1.x'
Closes gh-51652
2026-09-09 15:32:53 +01:00
Andy Wilkinson 5b3631bfe9 Merge branch '4.0.x' into 4.1.x
Closes gh-51651
2026-09-09 15:31:57 +01:00
Andy Wilkinson 69ad59c413 Merge pull request #51551 from COBI-98
Closes gh-51551

* gh-51551:
  Polish "Add SBOM manifest attributes to repackaged Maven wars"
  Add SBOM manifest attributes to repackaged Maven wars
2026-09-09 15:31:48 +01:00
Andy Wilkinson 007ca201e1 Polish "Add SBOM manifest attributes to repackaged Maven wars"
See gh-51551

Signed-off-by: Andy Wilkinson <andy.wilkinson@broadcom.com>
2026-09-09 14:44:51 +01:00
COBI-98 bfd05e38b5 Add SBOM manifest attributes to repackaged Maven wars
Packager#isCycloneDxBom only recognized CycloneDX SBOMs beneath
META-INF/sbom/. In a war, the CycloneDX Maven plugin's output is
packaged beneath WEB-INF/classes/META-INF/sbom/, so repackaging did
not add the SBOM manifest attributes.

Also check beneath Layout#getClassesLocation(), which findMainMethod
already uses to locate application classes. Continue to support the
root location used by jars.

Signed-off-by: COBI-98 <tkdgus968@naver.com>

See gh-51551
2026-09-09 14:44:33 +01:00
Andy Wilkinson 95994a5386 Merge pull request #50256 from htjworld
Closes gh-50256

* gh-50256:
  Include security error body in WebFlux Cloud Foundry endpoint responses
2026-09-09 13:52:50 +01:00
htjworld 0959b436de Include security error body in WebFlux Cloud Foundry endpoint responses
See gh-50256

Signed-off-by: htjworld <itjhan01@gmail.com>
2026-09-09 13:52:28 +01:00
Andy Wilkinson 4307353d6a Merge branch '4.1.x'
Closes gh-51648
2026-09-09 11:00:51 +01:00
Andy Wilkinson 6c0d47e3da Merge branch '4.0.x' into 4.1.x
Closes gh-51647
2026-09-09 11:00:01 +01:00
Andy Wilkinson d34a479879 Merge pull request #51635 from noojung
Closes gh-51635

* gh-51635:
  Avoid using the deprecated Project.getProperties method
2026-09-09 10:57:41 +01:00
Hyunwoo Jung 6823d37408 Avoid using the deprecated Project.getProperties method
Gradle 9.6 deprecates Project.getProperties, which will be removed
in Gradle 10.

Use ProviderFactory.gradleProperty to read the required properties
in AntoraAsciidocAttributes and the image system tests build script.
Preserve null handling for missing Antora properties and fall back
to the project version when springBootVersion is not configured.

Update the provider mocks and add tests for the GraalVM
plugin version attribute.

Signed-off-by: Hyunwoo Jung <hyunwoojung@kakao.com>

See gh-51635
2026-09-09 10:42:17 +01:00
Andy Wilkinson 677efea937 Merge branch '4.1.x'
Closes gh-51646
2026-09-09 10:37:59 +01:00
Andy Wilkinson d601081bd5 Merge branch '4.0.x' into 4.1.x
Closes gh-51645
2026-09-09 10:37:08 +01:00
Andy Wilkinson abbb298039 Merge pull request #51644 from ngocnhan-tran1996
Closes gh-51644

* gh-51644:
  Polish "Remove redundant whitespace"
  Remove redundant whitespace
2026-09-09 10:36:59 +01:00
Andy Wilkinson a9fbd4a24c Polish "Remove redundant whitespace"
See gh-51644

Signed-off-by: Andy Wilkinson <andy.wilkinson@broadcom.com>
2026-09-09 10:00:36 +01:00
Tran Ngoc Nhan fd7a52b954 Remove redundant whitespace
Signed-off-by: Tran Ngoc Nhan <ngocnhan.tran1996@gmail.com>

See gh-51644
2026-09-09 10:00:23 +01:00
Andy Wilkinson b91e126655 Merge pull request #51386 from Wanbinyu
Closes gh-51386

* gh-51386:
  Filter additional configuration metadata from archives
2026-09-09 09:55:30 +01:00
Wan bin yu 0d223cbc77 Filter additional configuration metadata from archives
Signed-off-by: Wan bin yu <3431359639@qq.com>

See gh-51386
2026-09-09 08:30:08 +01:00
Andy Wilkinson 3a869d0645 Merge branch '4.1.x'
Closes gh-51642
2026-09-09 08:27:01 +01:00
Andy Wilkinson f310611d20 Merge branch '4.0.x' into 4.1.x
Closes gh-51641
2026-09-09 08:26:48 +01:00
Andy Wilkinson 3b5706b397 Merge pull request #51634 from dependabot[bot]
Closes gh-51634

* gh-51634:
  Bump Homebrew/actions/setup-homebrew from 2026.08.31.1 to 2026.09.07.1
2026-09-09 08:26:41 +01:00
dependabot[bot] 07ad2a4e17 Bump Homebrew/actions/setup-homebrew from 2026.08.31.1 to 2026.09.07.1
Bumps [Homebrew/actions/setup-homebrew](https://github.com/homebrew/actions) from 2026.08.31.1 to 2026.09.07.1.
- [Release notes](https://github.com/homebrew/actions/releases)
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts)
- [Commits](https://github.com/homebrew/actions/compare/3cdb78d0f62ad29dd32de765782654f4eedea607...f8d4222eb633e65c2a0157383cf80861fc7fae7f)

---
updated-dependencies:
- dependency-name: Homebrew/actions/setup-homebrew
  dependency-version: 2026.09.07.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

See gh-51634
2026-09-09 08:24:23 +01:00
Andy Wilkinson 0f2500898c Merge branch '4.1.x'
Closes gh-51640
2026-09-09 08:21:24 +01:00
Andy Wilkinson e383449a5d Merge branch '4.0.x' into 4.1.x
Closes gh-51639
2026-09-09 08:21:12 +01:00
Andy Wilkinson 06c0fa8d5c Retain WebFlux's default SameSite when property not set
Fixes gh-51636
2026-09-09 08:18:47 +01:00
Andy Wilkinson 11510e621a Merge branch '4.1.x'
Closes gh-51638
2026-09-09 08:08:09 +01:00
Andy Wilkinson fd1dec5794 Merge branch '4.0.x' into 4.1.x
Closes gh-51637
2026-09-09 08:07:53 +01:00
Andy Wilkinson 304b57c839 Merge pull request #51625 from noojung
Closes gh-51625

* gh-51625:
  Avoid implicit property lookup in parent projects
2026-09-09 08:07:42 +01:00
Hyunwoo Jung fd1fd6d285 Avoid implicit property lookup in parent projects
Gradle 9.6 deprecated the implicit lookup of properties in parent
projects, which currently causes the build to emit deprecation
warnings and will become an error in Gradle 10.

The settings script for the gradle/plugins build sets properties
from the root gradle.properties file only on its root project. The
cycle-detection-plugin subproject then resolves javaFormatVersion
and checkstyleToolVersion by walking up to its parent, which
triggers the deprecation.

This commit uses GradleLifecycle#beforeProject rather than
Gradle#rootProject so that the properties are defined directly on
every project in the build. As an isolated action, it also avoids
carrying the settings script into each project's configuration,
which keeps the build friendlier to the configuration cache.

It also enables the NO_IMPLICIT_LOOKUP_IN_PARENT_PROJECTS feature
preview so that any reintroduction of the deprecated behavior fails
the build rather than only emitting a warning.

Signed-off-by: Hyunwoo Jung <hyunwoojung@kakao.com>

See gh-51625
2026-09-09 08:00:59 +01:00
Stéphane Nicoll a6d43b9ac6 Merge branch '4.1.x' 2026-09-08 19:00:07 +02:00
Stéphane Nicoll 163fac2cb1 Merge branch '4.0.x' into 4.1.x 2026-09-08 18:30:45 +02:00
Stéphane Nicoll 4fc987180d Polish "Add support for creating a container from a TestImage value"
See gh-51082
2026-09-08 18:30:35 +02:00
Andy Wilkinson b6aadce4a0 Merge branch '4.1.x'
Closes gh-51633
2026-09-08 16:56:36 +01:00
Andy Wilkinson 7c11fcf97f Merge branch '4.0.x' into 4.1.x
Closes gh-51632
2026-09-08 16:55:15 +01:00
Andy Wilkinson fac21d7379 Merge pull request #51627 from ohchanKyu
Closes gh-51627

* gh-51627:
  Fix typo in deprecated Pushgateway base-url property metadata
2026-09-08 16:55:06 +01:00
ohchanKyu afc3178f33 Fix typo in deprecated Pushgateway base-url property metadata
The deprecation entry for
management.prometheus.metrics.export.pushgateway.base-url was declared
as "management.promethus", so the deprecation was never reported.

Signed-off-by: ohchanKyu <okc0202@naver.com>

See gh-51627
2026-09-08 16:54:18 +01:00
Andy Wilkinson 7ba781c705 Merge branch '4.1.x'
Closes gh-51631
2026-09-08 16:52:12 +01:00
Andy Wilkinson e158494508 Merge branch '4.0.x' into 4.1.x
Closes gh-51630
2026-09-08 16:51:49 +01:00
Andy Wilkinson bfc2935ad4 Merge pull request #51619 from yyuneu
Closes gh-51619

* gh-51619:
  Honor authorities-claim-delimiter when set on its own
2026-09-08 16:43:39 +01:00