5.x release notes


Core dependency upgrades

  • Spring Framework 5.2.9

  • Spring Boot 2.3.4

Across Core

  • converted legacy spring.http.multipart.` to `spring.servlet.multipart. (was deprecated since Spring Boot 2.0)

  • provide beanRegistry.clearMetadataCache(); after registering a beanRegistry.registerAlias( DATASOURCE, INSTALLER_DATASOURCE ); since Spring Framework now caches this metadata

  • Updated the signature of isTypeMatch() after a change in Spring Framework

  • converted legacy spring.http.encoding. to server.servlet. (https://github.com/spring-projects/spring-boot/issues/18827)

  • Removed `hiddenHttpMethodFilter (has been disabled in`Spring Boot 2.2 see https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.2-Release-Notes)

  • Explicitly specify @RequestMapping("**") in some tests, following a change in Spring Framework where @RestController() would match too much request patterns (https://github.com/spring-projects/spring-framework/issues/22543)

  • Improved performance in ConfigurableAcrossContextInfo by backing the configured modules in a Map instead of a List

  • Moved to BeanDefinitionBuilder instead of new GenericBeanDefinition

  • Properly expose factory bean definitions in AbstractClassBasedBeanFilter (required for lazy repositories)

  • Removed outdated cglib dependency

  • Bumped MySQL connector to 8.0.21 to follow Spring Boot Dependencies


Core dependency upgrades

  • Spring Framework 5.1.14

  • Spring Boot 2.1.13


Core dependency upgrades

  • Spring Framework 5.1.13

  • Spring Boot 2.1.12

Across Core

  • an AcrossContextInfrastructureModule is now also added to every AcrossContext as the very first module

    • module will only bootstrap if relevant configuration is present but it can be used as a certain extension point in configurations

  • across.configuration has been dropped in favour of across-configuration.yml which allows more advanced configuration

  • several deprecated classes have been removed: HasSchemaConfiguration

  • the ability to extend existing module configurations has been improved

    • @ModuleConfiguration classes can now be added either before or after the initial module configuration using the deferred attribute, making it easier to override bean definitions

    • @ModuleConfiguration can be made optional using the optional attribute. An optional configuration will not cause the module ApplicationContext to be started.

    • Across modules without non-optional configurations will now get a Skipped bootstrap status instead of Disabled. Only the actual bootstrap of the module is skipped, for all other purposes it is an active part of the Across context. This allows a module to be declared which only adds configuration to other modules without starting an "empty' ApplicationContext.

  • a bootstrap report has been added through the AcrossBootstrapTimer

    • it is displayed in the logs after context start when log level INFO is enabled on com.foreach.across.core.context.bootstrap.AcrossBootstrapTimer

Across Web

  • The standard ViewElement and ViewElementBuilder have been refactored

  • several deprecated classes have been removed: AcrossDynamicServletConfigurer