Skip to content

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

Closed
junpakPark wants to merge 3 commits intospring-projects:mainfrom
junpakPark:gh-47505-default-value-changed
Closed

Update the configuration metadata changelog to include properties whose default values have changed#48962
junpakPark wants to merge 3 commits intospring-projects:mainfrom
junpakPark:gh-47505-default-value-changed

Conversation

@junpakPark
Copy link
Contributor

@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
@snicoll snicoll changed the title Add DEFAULT_VALUE_CHANGED to configuration metadata changelog Update the configuration metadata changelog to include properties whose default values have changed Jan 30, 2026
@snicoll snicoll self-requested a review January 30, 2026 15:20
@snicoll snicoll self-assigned this Jan 30, 2026
@snicoll snicoll added type: enhancement A general enhancement and removed status: waiting-for-triage An issue we've not yet triaged labels Jan 30, 2026
@snicoll snicoll added this to the 4.1.0-M2 milestone Jan 30, 2026
snicoll pushed a commit that referenced this pull request Jan 30, 2026
This commit adds a new section in the Configuration Changelog to
indicate properties whose default values have changed.

See gh-48962

Signed-off-by: junpak <junpak.park@gmail.com>
snicoll added a commit that referenced this pull request Jan 30, 2026
This commit adds a new section in the Configuration Changelog to
indicate properties whose default values have changed.

See gh-48962
@snicoll snicoll closed this in a729516 Jan 30, 2026
@snicoll
Copy link
Member

snicoll commented Jan 30, 2026

Good stuff, thanks @junpakPark

@snicoll snicoll added type: task A general task type: documentation A documentation update and removed type: enhancement A general enhancement type: task A general task labels Jan 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: documentation A documentation update

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

3 participants

Comments