·
105 commits
to 2024.1.x
since this release
What's Changed
This release is based on Spring Boot 3.4.13 and Spring Framework to 6.2.17, SiteMesh 2.6.2.
- Upgrade to Groovy 4.0.30, Gradle 8.14.4, Tomcat 10.1.53
- Upgrade to Maven 3.9.14, Maven Resolver 1.9.27
For a complete list of changes made in this release see the projects on GitHub.
⚠️ Noteworthy Changes
- 4a64a9e Customize Groovy compiler configuration #1170
- 2ee497b Allow developers to customize the
appdirectory #1157 - 5821a9c Support configuration of project resources and sources directories #1171
- 5b594a8
Applicationtype artifacts are supported in both theapp/bootandsrc/maindirectories #1149 - 8853c8c Restructure GORM Support #1182
- 8d780cc Merge async and events plugins into the framework #1183
- 1d34cd4 Migrate to Spring Framework's Resource API #1195
- 09ab913 Move artefact
Bootstrap.groovyfromapp\inittoapp\boot#1148 - e1b61a4 Rename artefact type
BootStraptoBootstrap#1147
⭐️ New Features
Modularizing the codebase
Spring Boot 4 has refactored its codebase into a more modular structure, I believe this is the right direction for the future.
The Grace framework 2024 & 2025 will also start doing this. Grace's plugins will be independent, more focused, and at the same time, they will integrate better with Spring Boot's modules.
- cb0781b Create grace-boot-async module #1269
- 0fdd6c6 Create grace-boot-cache module #1208
- 993334b Create grace-boot-events module #1270
- b8c8a7f Create grace-boot-hibernate module
- 3da036b Create grace-boot-logging module #1257
- de22bbd Create grace-boot-mongodb module #1231
- 594da2a Create grace-boot-persistence module #1258
- 5fb94a5 Create grace-boot-plugin module #1259
- 7371950 Create grace-boot-rest module #1256
- a41b294 Create grace-boot-test module #1272
- ff8f98c Create grace-boot-validation module #1271
- 6e67167 Create grace-boot-web module #1207
- 5057f8f Create grace-plugin-taglibs #1250
- c3b105a Create grace-web-async module #1347
- 8ee356f Create grace-web-rest module #1255
Core plugins have been consolidated into the framework
- 2aaa2e7 Merge grace-geb into the framework #1239
- ad6383e Merge grace-database-migration into the framework #1238
- de22bbd Merge MongoDB plugin into the framework #1232
- b8c8a7f Merge Hibernate plugin into the framework #1229
- e8ac2f0 Merge grace-views into the framework #1215
- a084193 Merge grace-scaffolding into the framework #1212
- cb424a0 Merge grace-fields into the framework #1211
- 1c80ba8 Merge grace-fields into the framework #1211
- 25ba4b3 Merge grace-cache into the framework #1209
- ce6e889 Merge grace-plugin-events into the framework
- e49b141 Merge grace-plugin-async into the framework
Others
- b86cb42 Allow the
BuildSettings.APP_DIRdirectory to not exist #1417 - 3624a45 Provides binary, sources and docs distributions for Grace framework #1109
- 0753d87 Update Grace Banner #1108
- 30df877 Support combined use of MongoDB and Hibernate #1383
- f760a3a Restore
grace-plugin-dynamic-modules#1372 - 00dc013 Add command group for
ApplicationCommand#1354- Introduce Command
- Use command group as the group of Gradle tasks
- f320b43 Use
AdditionalGormEntityTransformationto make GORM Entity injected same as Domain Class See graceframework/grace-data#83 #1349 - 67eb947 Support
Applicationtype artifacts placed insrc/maindirectory to be transformed #1348 #1149 - a1991df Restore the use of GrailsDomainClass #1351
- 3fcf0d1 Add project's classes dir to the current thread context classloader and allow CLI to discover project's command in
app/commands#1358
🎯 Refactoring
- b0d5f75 Refactor the core API of the framework #1136
- eb884d5 Refactor Gradle plugins #1140 #1157 #1164 #1169 #1168 #1167 #1170 #1171 #1172 #1174 #1176 #1180 #1375
- ac7f0ac Refactor Domain Class plugin #1185 #1187 #1188
- ba72157 Refactor Controllers and Controllers plugins #1189 #1346
- 6a440fc Refactor GSP plugin #1193
- 907ece2 Refactor Services plugin #1190
- f09d429 Refactor Grace API #1194
- 86e998f Refactor Grace Boot #1191
- 0ae405b Refactor Bootstrap Artefact #1192
- 1d34cd4 Migrate to Spring Framework's Resource API #1195
- 1711f51 Refactor IOUtils #1196
- 3976243 Revisit Grace Spring Boot Module #1197
- 598ffab Refactor GrailsApplication #1199
- b3c3975 Refactor Grace Bootstrap #1203
- 29476e5 Refactor GrailsApplicationLifeCycle #1205
- e3af96e Refactor Grace Spring Boot and Grace Spring #1204
- 18c81e8 Refactor Dynamic Modules #1373
- a422f7d Refactor Taglibs Plugin #1370
- eb16ea7 Refactor Grace Shell #1369 #1359
- c9b2450 Refactor Grace Database Migration #1366 #1367
- 2576abc Refactor Grace Console #1365
- 9012e08 Refactor Grace CLI #1354 #1355 #1364
🛠 Improvements
- fac6d04 Update README - Update README in subprojects
- 14767e0 Add release notes for 2024.0.0
- 45747fd Update guides for installation and introduction
- 992b525 Add more
documentationdependencies to refine javadoc links #1419 - e7a5484 Clean up non-existent
grace-datastore-gorm-mongodb-extin Gradle versions catalog #1418 - 89b11f1 Keep the templates consistent between
scriptcommands andgeneratorsin scaffolding plugin #1416 - 9171b37 Code formatting for scripts in the scaffolding plugin #1415
- 0e07adf Keep the templates consistent with profiles
baseandweb#1414 See grace-profiles/base#110 and grace-profiles/web#66 - e71d071 Remove unused
grace-sitemeshmodule #1409 - 98e54e7 Various improvements related to stack trace logging and exception display #1252
🐞 Bug Fixes
🚀 Dependency Upgrades
- 1396766 Upgrade to Grace Asset Pipeline Plugin 7.0.0 #1392
- 4cead70 Upgrade to Grace Async 7.0.0 #1393
- a106e07 Upgrade to Grace Data 2024.0.0 #1395
- 50ed901 Upgrade to Grace Data Hibernate 2024.0.0 #1396
- 628d928 Upgrade to Grace Data MongoDB 2024.0.0 #1397
- d98310e Upgrade to Grace Events 7.0.0 #1394
- 6167539 Upgrade to Grace Profile: Base 2024.0.0 #1398
- 8d338ec Upgrade to Grace Profile: Plugin 2024.0.0 #1399
- 69022f1 Upgrade to Grace Profile: Profile 2024.0.0 #1400
- 34979e1 Upgrade to Grace Profile: Rest API 2024.0.0 #1401
- 407b6ea Upgrade to Grace Profile: Starter 2024.0.0 #1402
- 5f557c6 Upgrade to Grace Profile: Web 2024.0.0 #1403
- b5a5f6d Upgrade to Grace Profile: Web Plugin 2024.0.0 #1404
- 2edbf08 Upgrade to Gradle Plugin Publish Plugin 2.1.1 #1410
- e2dbe28 Upgrade to SiteMesh 2.6.2 #1407
- f009e18 Upgrade to Spring Framework 6.2.17 #1391
- 5cf2eb3 Upgrade to Tomcat 10.1.53 #1411
⚙️ Tasks
- 169a75d Release v2024.0.0
- bdfe57d Upgrade to actions/checkout@v6
- 3076af0 Upgrade to actions/setup-java@v5
- 787a9dc Upgrade to gradle/actions/setup-gradle@v5.0.2
🔌 Plugins
- Grace Asset Pipeline Plugin v7.0.0
- Grace Async v7.0.0
- Grace Data v2024.0.0
- Grace Data MongoDB v2024.0.0
- Grace Data Hibernate v2024.0.0
- Grace Events v7.0.0
📜Profiles
- Base v2024.0.0
- Plugin v2024.0.0
- Profile v2024.0.0
- REST API v2024.0.0
- Starter v2024.0.0
- Web v2024.0.0
- Web Plugin v2024.0.0
Full Changelog: v2024.0.0-RC1...v2024.0.0