v2024.1.0-M2
Pre-releaseWhat's Changed
This release is based on Spring Boot 3.5.12 and Spring Framework to 6.2.17.
- Upgrade to Groovy 4.0.30, Gradle 8.14.4, Tomcat 10.1.52
- Upgrade to Maven 3.9.14, Maven Resolver 1.9.27
For a complete list of changes made in this release see this project on GitHub.
⭐️ New Features
- f760a3a Restore
grace-plugin-dynamic-modules#1372 - a1991df Restore the use of GrailsDomainClass #1351
- 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 - c3b105a Create grace-web-async module #1347
🐞 Bug Fixes
- d8d24c6 Fix many tests run failed on Windows #1353
- f1d89ad Fix
@sincejavadoc - 5527682 Prefer to use
GrailsConsole.getInstance().getOut()in ProgressReporter #1350 - 993542c Fix deprecation warnings due to reporting.file() in Gradle 9 #1317
- ce7382a Fixes #1315 - executing
graceon WSL with error: "bin/grace: 80: [[: not found" #1315 - af9ad27 Fixes #1314 - executing
compileGroovyon Windows with error "PatternSyntaxException: Unexpected internal error near index 1" #1314 - 0be07e8 EventsAutoConfiguration dose not build
EventBusbeen as expected because missing callfactoryBean.afterPropertiesSet()#1310
🛠 Improvements
- e3eb2e1 Update README - Update badge versions of Spring Boot
- 6ee03e0 Update links for Grace 2024.0.x and 2024.1.x
- 0a37f0d Add release notes for 2024.1.0-M2
- 377ee05 Update README - Update badge versions of Gradle and Groovy badges
- ba48600 Add release notes for 2024.0.0-RC1
- 4012b35 Call String.toLowerCase() and .toUppercase() with explicit locale See spring-projects/spring-framework#33708 #1385
- 9391d28 Change the name of tasks
compileGsonViewsandcompileGmlViewstocompileJsonViewsandcompileMarkupViews#1384 - 30df877 Support combined use of MongoDB and Hibernate #1383
- 423d939 Remove HibernateDatastoreSpringInitializerSpec #1382
- b93a33f Relocate HibernateDatastoreSpringInitializer to grace-data-hibernate See graceframework/grace-data-hibernate#144 #1382
- 6b83784 Add missing version property to MongodbGrailsPlugin #1381
- ba069a5 Synchronous update HiddenHttpMethodFilter to Spring implementation #1380
- aa9abbb Only support running script files relative to the base dir #1376 #287
- 36bdea5 Move grails.factories from
grace-gsptograce-plugin-gsp#1371 - fae1782 Improve MigrationGenerator - Allow migration file name contains '-' and A-Z
- Fix No such property: migrationAction
- Use 'toSnakeCase()' method
- 3fcf0d1 Add project's classes dir to the current thread context classloader and allow CLI to discover project's command in
app/commands#1358 - 9eda156 Set group name for command
UrlMappingsReport#1357 - afced62 Set group name for the commands of database-migration plugin #1356
- 7fa819a Remove dependency on grace-plugin-rest for grace-boot-rest #1344
- 8c76b16 Improve Grace Doc for generating PDF document #1324
- 49e758f Using javaVersion for Groovydoc in 4.0.29 to support 'JAVA_17' language level #1319
- ed19a87 Update
ViewCompileOptions: remove the use of deprecatedAbstractOptions#1316
🎯 Refactoring
-
d64b7e8 Refactor AbstractGroovyTemplateCompileTask and AbstractGroovyTemplatePlugin #1375
- Add
configDirproperty forAbstractGroovyTemplateCompileTask, and removeappDirproperty - Refactor AbstractGroovyTemplatePlugin
- Set group and description of
JsonViewCompilerTaskandMarkupViewCompilerTask - Remove unused
SourceSets
- Add
-
18c81e8 Refactor Dynamic Modules #1373
- Auto-Configure for Dynamic Modules plugin
- Update the title and description of
DynamicModulesGrailsPlugin
-
a422f7d Refactor Taglibs Plugin #1370
- Relocate TagLibArtefactHandler from
grace-taglibtograce-plugin-taglibs - Update grails.factories: define TraitInjector and ClassInjector in grace-plugin-taglibs
- Relocate TagLibArtefactTypeAstTransformationSpec from
grace-web-taglibtograce-plugin-taglibs- Add
src/main/resourcesto Groovy compile classpath
- Add
- Update TagLibArtefactHandler: change the path of tag libraries to
app/taglibs
- Relocate TagLibArtefactHandler from
-
eb16ea7 Refactor Grace Shell #1369
- Relocate Groovy classes from
org.grails.cli.groovytoorg.grails.cli.compiler.groovy - Relocate Command interactive completers from
org.grails.cli.interactive.completerstoorg.grails.cli.command.completers
- Relocate Groovy classes from
-
8ce539a Enhance Database Migration Generator #1367
- Enhance
MigrationGenerator- Provide various ways to create migrations based on conventions and additional arguments
- Support snake_case migration name
- Use the current datasource's username as the author of generated changeset
- Fix missing return false
- Enhance
-
c9b2450 Refactor Grace Database Migration #1366
- Enhance
DatabaseMigrationCommand- Move methods from
ApplicationContextDatabaseMigrationCommandtoDatabaseMigrationCommand - Update database migration commands to implement
DatabaseMigrationCommand
- Move methods from
- Remove unused
ApplicationContextDatabaseMigrationCommand - Remove unused commands and scripts
- Remove src/main/scripts/
dbm-changelog-to-groovy.groovydbm-create-changelog.groovy - Remove unused
DbmChangelogToGroovyDbmCreateChangelogScriptDatabaseMigrationCommand - Update build.gradle to remove tasks
syncScriptssyncTemplates
- Remove src/main/scripts/
- Update GroovyChangeLogParser: use IOUtils instead of SpringIOUtils
- Update
DatabaseMigrationCommand- Use DirectoryResourceAccessor instead of deprecated FileSystemResourceAccessor
- Use DbUrlConnectionArgumentsCommandStep instead of deprecated DbUrlConnectionCommandStep
- Remove unused
ScriptDatabaseMigrationCommandSpec - Fix DatabaseMigrationCommandConfigSpec
- Enhance
-
2576abc Refactor Grace Console #1365
- Enhance
GrailsApplicationCommandRunner- Use
ApplicationRunnerto rewriteGrailsApplicationCommandRunner - Support executing GORM methods in the commands
- Use
- Enhance
GrailsApplicationScriptRunner- Use
ApplicationRunnerto rewriteGrailsApplicationScriptRunner
- Use
- Enhance
-
9e2d9ee Refactor Grace CLI #1364
- Rename package name of grace-cli from
grails.cli.commandstograils.cli.command - Enhance
ApplicationCommand- Recommend to use
ApplicationCommandinstead ofGrailsApplicationCommand
- Recommend to use
- Make
GradleTaskCommandAdapterdirectly adapted withApplicationCommand
- Rename package name of grace-cli from
-
bd5a2e5 Refactor Grace Shell #1359
- Relocate Shell commands from
org.grails.cli.profile.commandstoorg.grails.cli.commands - Relocate Ant Tasks from
org.grails.cli.profile.taskstoorg.grails.cli.ant.tasks - Relocate Gradle Commands from
org.grails.cli.gradle.commandstoorg.grails.cli.command.gradle - Relocate Command IO from
org.grails.cli.commands.iotoorg.grails.cli.core.io - Relocate Command Templates from
org.grails.cli.commands.templatestoorg.grails.cli.core.template - Relocate
ApplicationTemplateCommandCreateAppCommandfromorg.grails.cli.commandstoorg.grails.cli.command.app - Relocate
CreatePluginCommandListPluginsCommandPluginInfoCommandfromorg.grails.cli.commandstoorg.grails.cli.command.plugin - Relocate
CreateProfileCommandListProfilesCommandProfileInfoCommandfromorg.grails.cli.commandstoorg.grails.cli.command.profile - Relocate
HelpCommandfromorg.grails.cli.commandstoorg.grails.cli.command.help - Relocate
OpenCommandfromorg.grails.cli.commandstoorg.grails.cli.command.open - Relocate Command APIs from
org.grails.cli.commandstoorg.grails.cli.command - GradleTaskCommandAdapter should be
ProjectCommand - Introduce
ProfileCommandFactoryandProfileCommandResourceResolverfor profile related commands and resource resolvers CommandFactory.findCommands()no longer requires parameterprofile, prefer to useProfileCommandFactoryCommandResourceResolver.findCommandResources()no longer requires parameterprofile, prefer to useProfileCommandResourceResolver
- Relocate Shell commands from
-
9012e08 Refactor Grace CLI #1354 #1355
- Relocate CLI commands from
grails.dev.commandstograils.cli.commands - Relocate CLI IO and Template from
grails.cli.commandstograils.cli.core - Remove unused
CommandLineResourceLoader - Add command group for
ApplicationCommand- Introduce Command
- Use command group as the group of Gradle tasks
- Relocate CLI commands from
-
4b9be8f Relocate Controllers API #1346
- Relocate Controller APIs from grace-plugin-controllers to grace-web-mvc
InvalidResponseHandlerValidResponseHandlerControllerExceptionHandlerMetaDataDefaultControllerExceptionHandlerMetaDataRenderDynamicMethodControllersDomainBindingApi
- Relocate Controller APIs from grace-plugin-controllers to grace-web-mvc
-
b016868 Refactor Grace Web Mime #1343
- Decouple grace-views-core from grace--plugin-domain-class
- Using
ArtefactTypes.DOMAIN_CLASSinstead ofDomainClassArtefactHandler.TYPE
- Using
- Decouple grace-views-core from grace-plugin-rest
DefaultViewRenderershould extends fromAbstractRendererinstead ofDefaultHtmlRenderer
- Decouple grace-views-core from grace-plugin-mimetypes
- Decouple grace-views-json from grace-plugin-rest
- Decouple grace-views-markup from grace-plugin-rest
- Decouple grace-views-core from grace--plugin-domain-class
-
96d2582 Refactor Grace Web Mime #1342
- Relocate
AcceptHeaderParserMimeUtilityDefaultMimeUtilityDefaultAcceptHeaderParserfrom grace-plugin-mimetypes to grace-web - Move utility methods from
HttpServletResponseExtensiontoMimeTypeUtils
- Relocate
-
83f82bc Refactor Grace Web Rest #1340
- Relocate
LinkLinkablefrom grace-plugin-rest to grace-web-rest - Rename package from
org.grails.plugins.web.rest.rendertoorg.grails.web.rest.render
- Relocate
🚀 Dependency Upgrades
- b7b3d74 Upgrade to AsciidoctorJ 3.0.1 #1320
- 773ad1a Upgrade to AssertJ 3.27.7 #1378
- 2ac9a4f Upgrade to Caffeine 3.2.3 #1311
- 53c6cf1 Upgrade to JSON Unit 4.1.1 #1325
- 38e12ce Upgrade to Grace Asset Pipeline Plugin 7.0.0-RC1 #1331
- c119361 Upgrade to Grace Async 7.0.0-RC1 #1334
- b737d16 Upgrade to Grace Data 2024.0.0-RC1 #1337
- 2c8e234 Upgrade to Grace Data Hibernate 2024.0.0-RC1 #1338
- 31547c7 Upgrade to Grace Data MongoDB 2024.0.0-RC1 #1339
- ab48698 Upgrade to Grace Doc Engine 2.0.0 #1336
- d4c2801 Upgrade to Grace Events 7.0.0-RC1 #1335
- 4b6abf5 Upgrade to Grace Gradle Plugin 2024.0.0-M2 #1318
- 5f49173 Upgrade to Grace Profile: Base 2024.0.0-RC1 #1326
- 8dd4453 Upgrade to Grace Profile: Plugin 2024.0.0-RC1 #1327
- e189c9f Upgrade to Grace Profile: Profile 2024.0.0-RC1 #1328
- 8277681 Upgrade to Grace Profile: Rest API 2024.0.0-RC1 #1329
- 0e8e981 Upgrade to Grace Profile: Starter 2024.0.0-RC1 #1330
- ad659ca Upgrade to Grace Profile: Web Plugin 2024.0.0-RC1 #1332
- dd02ec4 Upgrade to Grace Profile: Web 2024.0.0-RC1 #1333
- 908a8de Upgrade to Gradle 8.14.4 #1362
- dcad7e2 Upgrade to Gradle Git Properties Plugin 2.5.7 #1386
- b26f52b Upgrade to Gradle Tooling API 8.14.4 #1363
- 9dc7274 Upgrade to Groovy 4.0.30 #1360
- 4aa6c18 Upgrade to Gson 2.13.2 #1312
- 20ce919 Upgrade to Hibernate Validator 8.0.3.Final #1374
- 8efa014 Upgrade to JSoup 1.21.2 #1321
- 9e5ecb0 Upgrade to Maven 3.9.13 #1387
- 4c997ef Upgrade to Maven 3.9.14 #1389
- 316fb90 Upgrade to Maven Resolver 1.9.27 #1388
- e004315 Upgrade to Mockito 5.17.0 #1313
- 1e90449 Upgrade to Spring Boot 3.5.10 #1361
- 65cb94c Upgrade to Spring Boot 3.5.11 #1379
- 8e5b2ba Upgrade to Spring Boot 3.5.12 #1405
- 661fe43 Upgrade to Spring Framework 6.2.16 #1377
- f009e18 Upgrade to Spring Framework 6.2.17 #1391
- abbb1dc Upgrade to Tomcat 10.1.52 #1368
⚙️ Tasks
- 2121c1a Release v2024.1.0-M2
- 3076af0 Upgrade to actions/setup-java@v5
- bdfe57d Upgrade to actions/checkout@v6
- 787a9dc Upgrade to gradle/actions/setup-gradle@v5.0.2
Full Changelog: v2024.1.0-M1...v2024.1.0-M2