Skip to content

Conversation

@junpakPark
Copy link

@junpakPark junpakPark commented Jan 25, 2026

Summary

  • Added feature to detect default value changes in configuration properties between versions
  • Added DEFAULT_VALUE_CHANGED type to DifferenceType enum
  • Added "Default Value Changed" section at the top of changelog output
  • Supports both simple values and array default values

Related Issue

Closes gh-47505

Changed Files

File Changes
DifferenceType.java Added DEFAULT_VALUE_CHANGED enum
Difference.java Added defaultValue comparison logic in compute()
ChangelogWriter.java Added new section output logic
ChangelogTests.java Added test cases
sample-*.json, sample.adoc Added test data

Tests

  • ChangelogTests - Verified DEFAULT_VALUE_CHANGED detection
  • ChangelogWriterTests - Verified new section rendering
  • Array default value change test
  • ./gradlew :configuration-metadata:spring-boot-configuration-metadata-changelog-generator:check passed

Discussion

I have asked the maintainers about how to handle cases where both deprecation and defaultValue changes occur simultaneously.
Currently implemented to display in both sections (Option 1).

Detect when configuration property default values have changed between
versions. This allows users to be notified of changes that might affect
their application's behavior without any code changes on their part.

Closes spring-projectsgh-47505

Signed-off-by: junpak <junpak.park@gmail.com>
Add a new section at the top of the configuration properties changelog
to display properties whose default values have changed. This helps
users identify changes that might affect their application's behavior.

The section displays the property key, old default value, and new
default value in a table format.

Signed-off-by: junpak <junpak.park@gmail.com>
Verify that default value changes are detected correctly for array
properties. The JSON parser produces ArrayList instances which
support equality comparison via Objects.equals().

Signed-off-by: junpak <junpak.park@gmail.com>
@spring-projects-issues spring-projects-issues added the status: waiting-for-triage An issue we've not yet triaged label Jan 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

status: waiting-for-triage An issue we've not yet triaged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update the configuration metadata changelog to include properties whose default values have changed

2 participants