This is a placeholder issue to group the various tasks required to replace the existing ConfigFileApplicationListener class:

  • [x] Add @Name support for value object binding (#22492)
  • [x] Filter empty YAML documents (#22493)
  • [x] Add ConfigurationPropertySource.from factory method (#22494)
  • [x] Add multi-document properties file support (#22495)
    • [x] Open issue with STS (https://github.com/spring-projects/sts4/issues/533)
    • [x] Open issue with IntelliJ (https://youtrack.jetbrains.com/issue/IDEA-250542)
  • [x] Add DeferredLogFactory support (#22496)
  • [x] Extract DefaultPropertiesPropertySource class (#22520)
  • [x] Add CloudPlatform.isEnfoced that uses a Binder (#22498)
  • [x] Replace ConfigFileApplicationListener and rework application properties support (#22497)
    • [x] Extract EnvironmentPostProcessor
    • [x] Extract RandomValuePropertySourceEnvironmentPostProcessor
    • [x] Add new ConfigData APIs
    • [x] Fail if spring.config.activate.on-profile is specified in a profile specific property file
    • [X] Add additional-meta-data JSON
  • [x] Update "external configuration" documentation (#22521)
  • [x] Support profile groups (#22522)
  • [x] Add volume mount property source support (#19990)
  • [x] Check theme: config-data and theme: profiles issues to see if they can be closed
  • [x] Raise issue to consider trimming volume mounted values (#23826)

Comment From: dreis2211

Isn't Filter empty YAML documents already done in YamlPropertySourceLoader.java#L51 ?

Comment From: philwebb

Isn't Filter empty YAML documents already done

Mostly, but there's a bug if you have a multi-document file since the OriginTrackedYamlLoader wraps types and an empty string isn't treated as empty. I've got a fix prepared to push.