This repository has been archived by the owner on Feb 23, 2023. It is now read-only.
Releases: spring-attic/spring-native
Releases · spring-attic/spring-native
0.12.2
⭐ Compatibility
- Add PerConnectionLRUFactory for MySQL JDBC driver #1684
🐞 Bug Fixes
@Order
doesnt work with native build #1694
📔 Documentation
- Add note to docs that mentions that the project is superseded #1742
🔨 Dependency Upgrades
- Fix Spring Boot 2.7.6+ compatiblity #1740
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
0.12.1
⭐ New Features
- Add hint for Sleuth R2dbcTransactionManager instrumentation #1663
⭐ Compatibility
- Add R2DBC PostgreSQL support #1626
- Add support for EntityGraph #1619
- Missing reflection entries for com.zaxxer.hikari.HikariDataSource #1599
🐞 Bug Fixes
- InitializationHint for build time initialization of class not recognized #1660
- Regression in (Simple)ClientHttpRequestFactory concerning Nativehints #1636
- Do not set native image system property in NativeListener #1625
- jdbc-tx tests don't work with GraalVM 22.1 #1584
- AOP do not support '*' on class field with execution pointcut designator #1580
📔 Documentation
- Document how to use an alternative native image toolkit #1623
🔨 Dependency Upgrades
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
0.12.0
⭐ Compatibility
- Fix session-redis-webflux and session-without-security samples with GraalVM 22.1 #1588
- Update Batch schemas #1573
🐞 Bug Fixes
- Devtools developmentOnly dependency breaks AOT generation with Gradle #1579
- The filename or extension is too long #1567
📔 Documentation
- Fixes the broken link and outdated plugin name #1583
🔨 Dependency Upgrades
- Update GraalVM to 22.1.0 #1621
- Upgrade to Spring Boot 2.7.0 #1541
- Upgrade to Spring Cloud 2021.0.3 #1606
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
0.11.5
0.11.4
⭐ Compatibility
- Support native hints on application class for native tests #1572
- Native-tests are broken with GraalVM 22.1 #1561
- webmvc-kotlin fails with GraalVM 22.1 #1556
- webflux-kotlin fails with GraalVM 22.1 #1555
- session-redis-webflux fails with GraalVM 22.1 #1554
- events fails with GraalVM 22.1 #1551
- data-r2dbc-kotlin fails with GraalVM 22.1 #1549
- commandlinerunner-log4j2 fails with GraalVM 22.1 #1547
- cloud-function-netty fails with GraalVM 22.1 #1546
- grpc sample fails with GraalVM 22.1 #1543
- GraalVM for Apple Silicon:
management.metrics.distribution
error #1538 - Add Jackson PropertyNamingStrategies hint #1537
- Spring Native 0.11.3 + Latest Spring Data JPA and Sleuth Zipkin breaks during Bootstrap #1524
- Spring Security - AuthenticationFailureBadCredentialsEvent has no suitable constructor #1521
- Spring security method missing hint #1518
🐞 Bug Fixes
- Spring Aot Maven Plugin does not work with Maven Compiler Plugin > 3.8.1 #1559
- Reloading a Gradle project in IntelliJ causes the generated AOT sources to be deleted #1552
- Ambiguous check only applied to constructors #1530
- Excutable with factory method is not detected if argument value has unresolved generics #1527
@ConfigurationProperties
with@Validated
on a record - native build still fails even in 0.11.3 #1522- ASM visitors should use SpringAsmInfo.ASM_VERSION rather than hard-coded ASM version #1515
- Class com.ecwid.consul.v1.kv.model.GetValue is instantiated reflectively but was never registered #1430
📔 Documentation
- Remove programmatic Logback configuration documentation #1533
🔨 Dependency Upgrades
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
0.11.3
⭐ New Features
- Refine Spring Data repositories triggers #1504
- Add suport for ManagedList and ManagedSet #1483
- Support "args" param in "
@SpringBootTest
" #1447
⭐ Compatibility
- Update FunctionHints with additional hints required by s-c-function #1497
- Add missing hints for HdrHistogram #1484
- spring-aot-test: Include test with multiple Extend or Nested #1474
- JPA : antlr error with
@ElementCollection
@OrderBy
#1473 - Refine support for kotlinx.serialization when reflection is involved #1410
- ErrorAttributes serialization exception #1084
🐞 Bug Fixes
- Allow using custom text banner #1501
- Cannot find DefaultPersistenceUnitManager #1500
- Regression on Spring Data Elasticsearch #1492
- Refine implicit
@ConfigurationProperties
handling with records #1491 - Support
@SpringBootConfiguration
#1490 - SimpleMongoRepository - No suitable constructor found #1487
- Inner bean definition's beanClass may not be resolved and generated with Object rather than the target type #1481
- Circular depends-on relationship with Flyway and Liquibase #1480
- gradle generateAot task failed Cannot subclass primitive, array or final types class java.lang.String #969
📔 Documentation
- Document Spring Boot substitutions #1475
🔨 Dependency Upgrades
- Upgrade to GraalVM 22.0 #1448
- Upgrade to native build tools 0.9.10 #1495
- Upgrade to Spring Boot 2.6.4 #1489
- Upgrade to Spring Cloud 2021.0.1 #1512
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
0.10.6
⭐ Compatibility
- Backport #1388 to fix Netty native build failure #1444
- New sample for Spring Cloud Stream RabbitMQ Binder #1207
- Native reflection configuration for brave.kafka.clients.TracingProducer is missing #1138
🐞 Bug Fixes
- Fix DatabaseInitializationDependencyConfigurer$DependsOnDatabaseInitializationPostProcessor error #1468
- Invalid root directory #1209
📔 Documentation
- Corrected incorrect docker image name that is generated under asciidoc #1225
🔨 Dependency Upgrades
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
0.11.2
⭐ New Features
- Skip Maven AOT test sources generation when tests are skipped #1461
- Sort the factories in "spring.factories" #1424
- Fix factory name with spaces in "spring.factories" #1421
- Properly disable devtools in AOT mode #1419
- Provide meaningful error message when logback.xml is detected #1415
- Provide a way to execute tests with regular code path (not AOT one) #1356
- Allow to not invoke the test aot task with Gradle #1338
⭐ Compatibility
data-jpa
sample native image won't start with@EnableJpaRepositories
#1405- Throw AnnotationException show that has no persistent id property #1397
- Add Coroutines reflection inference #769
⭐ Optimizations
- Review Spring Security hints for servlet #1392
🐞 Bug Fixes
- Prepend AOT jar to classpath for bootJar Gradle task #1466
- dependsOn attribute lost in AOT generated bean registration #1458
- StackOverflowError when scanning hints for ConfigurationProperties with cross references #1420
- RefreshScope beans are created albeit the feature being disabled explicitly #1413
- ConstructorArgumentValues should only be assigned when indexed argument values are present #1403
- ResolvableType - java.lang.IllegalArgumentException: Mismatched number of generics specified #1401
- NPE during AOT generation when
@ConfigurationProperties
contains generic property #1396 - Refine TypeModelProcessor class filtering and error handling #1376
- Regression in ClientHttpRequestFactoryHints #1370
- Runtime dependencies imported in ContextBootstrapInitializer code cause IDE compilation issues #1093
📔 Documentation
- Improve AOT and build setup documentation structure #1467
- Document that running application is broken in IDEA when delegated to Gradle #1465
- java.lang.IllegalStateException: Multiple privileged packages #1414
- Document that -parameters javac flag is mandatory with native #1412
- Document that beans defined in a profile aren't picked at runtime unless the profile is enabled when AOT runs #1411
- Improve Windows support documentation #1319
🔨 Dependency Upgrades
- Upgrade GRPC to 1.43.2 and protobuf to 3.19.2 #1433
- Upgrade to Kotlin 1.6.10 #1437
- Upgrade to Spring Boot 2.6.3 #1441
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
0.11.1
⭐ New Features
- "AOT mode enabled" logs printed in Spring-native 0.11.0.jar cannot be masked #1390
- Provide more context when a bean definition could not be processed #1385
⭐ Compatibility
- Netty native build failure #1388
- Please add a
@TypeHint
forJwtDecoder.class
for Spring Security's hints #1377 - Refine
@EnableJpaRepositories
support #1368
⭐ Optimizations
- Remove method reflection config from WebMvcHints #1393
- Avoid java.lang.Object declared method reflection entries #1391
🐞 Bug Fixes
@EventListener
annotations on@Configuration
classes seems to fail compilation #1373- FunctionTypeProcessor is not registered properly in META-INF/spring.factories #1363
- MockitoPostProcessor should be disabled in AOT since not supported yet #1343
📔 Documentation
- Fix gradle bootRun AOT documentation #1394
- Gradle nativeBuild does not with Bellsoft Liberica NIK SDK #1381
🔨 Dependency Upgrades
- Upgrade to Spring Boot 2.6.2 #1387
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
0.11.0
Upgrading from Spring Native 0.10
- GraalVM 21.3, Spring Boot 2.6 and Spring Cloud 2021.0 should be used as baselines.
- Java 8 is not supported anymore on GraalVM side, so it is not supported anymore on Spring Native side as well. But you will likely be able to compile most Java 8 applications with the Java 11 flavor of GraalVM.
- Please read the updated AOT engine documentation to understand how it behaves.
- Less hints are now required, for example those with import selector or condition trigger should be updated to use other ones.
- Hints with a trigger are now taken in account if the specified class is reachable by GraalVM static analysis, not just with a classpath check, except for annotations where the classpath check is still used.
- Native Build Tools configuration has evolved since the version used in now 0.9.8.
- Maven plugin now requires
<extensions>true</extensions>
and a dependency onorg.junit.platform:unit-platform-launcher
, see this documentation for more details. - Gradle plugin is now automatically imported and configured when using the AOT plugin, so by default no need for additional configuration anymore.
AccessBits
is now deprecated andTypeAccess[]
is used instead to specify@TypeHint
access.@TypeHint
access default is nowAUTO_DETECT
so field and methods reflection are not configured for classes by default anymore.NativeConfiguration
SPI has been reworked to not use anymore the now deprecatedTypeSystem
.- Extension points are now using
META-INF/spring.factories
instead of service loader to be discovered. ComponentProcessor
extension point has been removed and should be replaced byBeanFactoryNativeConfigurationProcessor
orBeanNativeConfigurationProcessor
.- Spring libraries using child application context (like Spring Cloud LoadBalancer) are not supported yet with the new AOT engine.
- Spring Cloud Bootstrap is no longer supported.
FunctionalSpringApplication
is no longer supported.- While building a project that contains Spring Cloud Config Client, it is necessary to make sure that the configuration data source that it connects to (such as, Spring Cloud Config Server, Consul, Zookeeper, Vault, etc.) is available. For example, if you retrieve configuration data from Spring Cloud Config Server, make sure you have its instance running and available at the port indicated in the Config Client setup. This is necessary because the application context is being optimized at build time and requires the target environment to be resolved.
- Spring Cloud Function reflection configuration is now inferred so related hints can be removed.
- Spring AOT is now a forked process, in order to debug it, follow related documentation.
Changelog
In addition to the 0.11.0 changelog below, make sure to check 0.11.0-M1, 0.11.0-M2 and 0.11.0-RC1 ones to get a complete overview of the changes since Spring Native 0.10.
⭐ New Features
- Provide implementation of BeanFactoryNativeConfigurationProcessor for function types #1351
- Provide an SPI to exclude a bean definition to be written #1349
- Avoid creating reflection entries for java and primitive types. #1346
- Do not apply AOT plugin on POM projects #1344
- Use Flag renamed to TypeAccess instead of AccessBits in
@TypeHint
#1317 - Add logging to BeanDefinitionRegistrar #1306
- Use NativeConfigurationRegistry in NativeConfiguration #1279
- Add support for non Spring Boot tests #1170
- Restore Spring Integration support #1134
- Add support for Spring Data MongoDB (lazy loading) DocumentReference annotation. #875
⭐ Compatibility
- Register reflection configuration for JPA AttributeConverter implementations #1347
- Method signature types for methods of javax.persistence.AttributeConverter no longer included in configuration. #1329
- Regression on OAuth2 client and resource server with WebFlux #1291
- RestController with Annotations at the Service Interface is not working in native Mode #955
- Infer
@AotProxyHint
for@Scope
beans #928 - Add preliminary Spring Batch support #203
⭐ Optimizations
- Optimize hints #1330
🐞 Bug Fixes
- Wrong test context can be inferred in a native mage leading to a ClassCastException #1353
- Bean post processors should not be registered at build-time #1345
- Fix MergedContextConfiguration cache key for runtime contexts #1341
- Refine HateoasHints to generate a more focused reflection configuration #1340
- Prevent printing "AOT mode disabled" during test code generation #1332
- Missing hint for org.hibernate.cfg.beanvalidation.TypeSafeActivator #1331
- Spring Data Repository with unresolved generics cannot be injected anymore #1324
- StackOverflow in ProtectedAccessAnalyzer.analyze(...) #1323
- Populate properly AotOptions in GenerateTestBootstrapCommand #1321
- Only
@Component
are considered for method security processing #1314 - AOT test code gen fails when same name test classes exist in different package #1313
- Generate Avro types for all
@KafkaListener-annotated
beans #1310 - Only
@Component
are considered for JPA configuration processing #1297 - Fail to inject to a parameterized type with FactoryBean #1292
- Adding two methods with the same name lead to duplicated method names in generated code #1266
- Regex characters are not escaped properly for pattern resources #1193