Refactor several aspects of the ImageBanner:
- Extract a few new classes and methods from the previous code
- Directly encode ANSI rather than using `${}` properties
- Rework the scaling algorithm to prefer a fixed width
- Allow ImageBanner and TextBanner to be used together
- Rename several of the `banner.image` properties
- Add support for a left hand margin
- Add property meta-data
See gh-4647
Support CIE94 color distance calculations for improved ImageBanner
rendering. Based on code originally developed by Michael Simons and
added with his permission.
See gh-4647
Upgrade to Hibernate 5.1, whilst still retaining compatibility with
Hibernate 4.3. This commit introduces the following changes:
* Add SpringPhysicalNamingStrategy to provides lowercase/underscore
table names support. This should be equivalent to the previous
SpringNamingStrategy that was used with Hibernate 4. No
ImplicitNamingStrategy is provided since the Hibernate 5 defaults
appear to be roughly equivalent to the conventions used in Spring
Boot 1.3
spring.jpa.hibernate.naming.
* Migrate `spring.jpa.hibernate.naming-strategy` to
`spring.jpa.hibernate.naming.strategy` and provide additional
properties for physical and implicit.
* Add `spring.jpa.hibernate.use-new-id-generator-mappings` property and
default to `false` when on Hibernate 5 to retain back compatibility.
See gh-2763
Previously, `spring.profiles.active` did not trim the individual comma
separate values. As a result, such profile wasn't enabled as expected.
This commit makes sure to trim whitespaces.
Closes gh-5442
This commit adds a `defaultValue` attribute to the `springProperty` tag
of Logback. That attribute can be used to specify a default value.
Closes gh-5447
Restore Spring Boot 1.3.2 behavior of re-applying system properties
when SLF4J based loggers are re-initialized. Reapplying system
properties is required when using the Spring Cloud config server since
PropertySourceBootstrapConfiguration directly calls the system
initialize method.
Fixes gh-5491
This commit polihes the original Neo4j contribution in several areas.
Rather than providing the packages to scan, this commit rearranges the
`EntityScan` and `EntityScanRegistrar` so that the logic can be shared
for other components. If no package is provided, scanning now defaults to
the "auto-configured" package(s) and a `@NodeEntityScan` annotation
allows to override that.
The configuration has also been updated to detect the driver based on the
`uri` property. If the embedded driver is available we use that by
default. If it is not available, we're trying to connect to a Neo4j
server running on localhost. It is possible to disable the embedded mode
or set the `uri` parameter explicitly to deviate from these defaults.
The sample no longer relies on the embedded driver for licensing reason:
rather it expects an instance running on localhost (like other
data-related samples) and gracefully ignore any connection error. A
README has been added in the sample to further explain the available
options;
Closes gh-5458
Update @IntegrationTest to use @BootstrapWith rather than an explicitly
defined set of test execution listeners.
Also introduce a new @SpringApplicationTest annotation that is similar
to @SpringApplicationConfiguration but a bootstrapper.
Fixes gh-5230
Add a new TypeFilter specifically for excluding candidate components.
The filter is applied to `@SpringBootApplication` and allows tests to
dynamically contribute exclude filters so that specific classes of
component can be excluded.
See gh-5295
See gh-4901
Add a new @SpringBootConfiguration annotation that can be used to
indicate the primary application configuration. The new annotation is
primarily indented to allow test automatically code to find the main
configuration class.
See gh-5295