grails {
appSourceDirs += ['models', 'repositories']
appResourceDirs += ['config']
}
2 Release History
Version: 2024.0.0-RC1
2 Release History
To make it easier for users to use and upgrade, Grace Framework adopts a version policy consistent with the Spring Boot.
Grace Version |
Spring Boot Version |
2.1 What's new in 2024.x
2024.0.0-RC1
βοΈ New Features
-
Support combined use of MongoDB and Hibernate #1383
-
Restore
grace-plugin-dynamic-modules#1372 -
Add command group for
ApplicationCommand#1354-
Introduce Command
-
Use command group as the group of Gradle tasks
-
-
Create grace-web-async module #1347
-
Use
AdditionalGormEntityTransformationto make GORM Entity injected same as Domain Class See graceframework/grace-data#83 #1349 -
Support
Applicationtype artifacts placed insrc/maindirectory to be transformed #1348 #1149 -
Restore the use of GrailsDomainClass #1351
-
Add project’s classes dir to the current thread context classloader and allow CLI to discover project’s command in
app/commands#1358
π Improvements
-
Update README
-
Add release notes for 2024.0.0-RC1
-
Call String.toLowerCase() and .toUppercase() with explicit locale See spring-projects/spring-framework#33708 #1385
-
Change the name of tasks
compileGsonViewsandcompileGmlViewstocompileJsonViewsandcompileMarkupViews#1384 -
Remove HibernateDatastoreSpringInitializerSpec #1382
-
Relocate HibernateDatastoreSpringInitializer to grace-data-hibernate See graceframework/grace-data-hibernate#144 #1382
-
Synchronous update HiddenHttpMethodFilter to Spring implementation #1380
-
Only support running script files relative to the base dir #1376 #287
-
Move grails.factories from
grace-gsptograce-plugin-gsp#1371 -
Improve MigrationGenerator
-
Allow migration file name contains '-' and A-Z
-
Fix No such property: migrationAction
-
Use 'toSnakeCase()' method
-
-
Set group name for command
UrlMappingsReport#1357 -
Set group name for the commands of database-migration plugin #1356
-
Remove dependency on grace-plugin-rest for grace-boot-rest #1344
-
Improve Grace Doc for generating PDF document #1324
π Bug Fixes
-
Fix many tests run failed on Windows #1353
-
Fix
@sincejavadoc -
Add missing version property to MongodbGrailsPlugin #1381
-
Prefer to use
GrailsConsole.getInstance().getOut()in ProgressReporter #1350 -
Using javaVersion for Groovydoc in 4.0.29 to support 'JAVA_17' language level #1319
-
Fix deprecation warnings due to reporting.file() in Gradle 9 #1317
-
Update
ViewCompileOptions: remove the use of deprecatedAbstractOptions#1316 -
Fixes #1315 - executing
graceon WSL with error: "bin/grace: 80: [[: not found" #1315 -
Fixes #1314 - executing
compileGroovyon Windows with error "PatternSyntaxException: Unexpected internal error near index 1" #1314 -
EventsAutoConfiguration dose not build
EventBusbeen as expected because missing callfactoryBean.afterPropertiesSet()#1310
π― Refactoring
-
Refactor AbstractGroovyTemplateCompileTask and AbstractGroovyTemplatePlugin #1375
-
Add
configDirproperty forAbstractGroovyTemplateCompileTask, and removeappDirproperty -
Refactor AbstractGroovyTemplatePlugin
-
Set group and description of
JsonViewCompilerTaskandMarkupViewCompilerTask -
Remove unused
SourceSets
-
-
Refactor Dynamic Modules #1373
-
Auto-Configure for Dynamic Modules plugin
-
Update the title and description of
DynamicModulesGrailsPlugin
-
-
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
-
-
Update TagLibArtefactHandler: change the path of tag libraries to
app/taglibs -
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 -
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
-
Refactor Grace Database Migration #1366
-
Enhance
DatabaseMigrationCommand-
Move methods from
ApplicationContextDatabaseMigrationCommandtoDatabaseMigrationCommand -
Update database migration commands to implement
DatabaseMigrationCommand
-
-
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
-
-
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
-
Refactor Grace Console #1365
-
Enhance
GrailsApplicationCommandRunner-
Use
ApplicationRunnerto rewriteGrailsApplicationCommandRunner -
Support executing GORM methods in the commands
-
-
Enhance
GrailsApplicationScriptRunner-
Use
ApplicationRunnerto rewriteGrailsApplicationScriptRunner
-
-
Refactor Grace CLI #1364
-
Rename package name of grace-cli from
grails.cli.commandstograils.cli.command -
Enhance
ApplicationCommand -
Recommend to use
ApplicationCommandinstead ofGrailsApplicationCommand -
Make
GradleTaskCommandAdapterdirectly adapted withApplicationCommand
-
-
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 useProfileCommandFactory -
CommandResourceResolver.findCommandResources()no longer requires parameterprofile, prefer to useProfileCommandResourceResolver
-
-
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 Controllers API #1346
Relocate Controller APIs from grace-plugin-controllers to grace-web-mvc
-
InvalidResponseHandlerValidResponseHandler -
ControllerExceptionHandlerMetaDataDefaultControllerExceptionHandlerMetaDataRenderDynamicMethod -
ControllersDomainBindingApi-
Refactor Grace Web Mime #1343
-
-
Decouple grace-views-core from grace-plugin-domain-class
-
Using
ArtefactTypes.DOMAIN_CLASSinstead ofDomainClassArtefactHandler.TYPE -
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
-
Refactor Grace Web Mime #1342
-
-
Relocate
AcceptHeaderParserMimeUtilityDefaultMimeUtilityDefaultAcceptHeaderParserfrom grace-plugin-mimetypes to grace-web -
Move utility methods from
HttpServletResponseExtensiontoMimeTypeUtils-
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
π Dependency Upgrades
-
Upgrade to AsciidoctorJ 3.0.1 #1320
-
Upgrade to Flying Saucer PDF 9.13.3 #1322
-
Upgrade to Grace Asset Pipeline Plugin 7.0.0-RC1 #1331
-
Upgrade to Grace Async 7.0.0-RC1 #1334
-
Upgrade to Grace Data 2024.0.0-RC1 #1337
-
Upgrade to Grace Data Hibernate 2024.0.0-RC1 #1338
-
Upgrade to Grace Data MongoDB 2024.0.0-RC1 #1339
-
Upgrade to Grace Doc Engine 2.0.0 #1336
-
Upgrade to Grace Events 7.0.0-RC1 #1335
-
Upgrade to Grace Gradle Plugin 2024.0.0-M2 #1318
-
Upgrade to Grace Profile: Base 2024.0.0-RC1 #1326
-
Upgrade to Grace Profile: Plugin 2024.0.0-RC1 #1327
-
Upgrade to Grace Profile: Profile 2024.0.0-RC1 #1328
-
Upgrade to Grace Profile: Rest API 2024.0.0-RC1 #1329
-
Upgrade to Grace Profile: Starter 2024.0.0-RC1 #1330
-
Upgrade to Grace Profile: Web Plugin 2024.0.0-RC1 #1332
-
Upgrade to Grace Profile: Web 2024.0.0-RC1 #1333
-
Upgrade to Gradle 8.14.4 #1362
-
Upgrade to Gradle Git Properties Plugin 2.5.7 #1386
-
Upgrade to Gradle Tooling API 8.14.4 #1363
-
Upgrade to Groovy 4.0.30 #1360
-
Upgrade to Hibernate Validator 8.0.3.Final #1374
-
Upgrade to JSoup 1.21.2 #1321
-
Upgrade to JSON Unit 4.1.1 #1325
-
Upgrade to Maven 3.9.13 #1387
-
Upgrade to Maven 3.9.14 #1389
-
Upgrade to Maven Resolver 1.9.27 #1388
-
Upgrade to Spring Framework 6.2.16 #1377
-
Upgrade to Tomcat 10.1.52 #1368
βοΈ Tasks
-
Release v2024.0.0-RC1
2024.0.0-M2
βοΈ New Features
Modularizing the codebase
link:https://spring.io/blog/2025/10/28/modularizing-spring-boot(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.
-
Create grace-boot-async module #1269
-
Create grace-boot-cache module #1208
-
Create grace-boot-events module #1270
-
Create grace-boot-hibernate module #1230
-
Create grace-boot-logging module #1257
-
Create grace-boot-mongodb module #1231
-
Create grace-boot-persistence module #1258
-
Create grace-boot-plugin module #1259
-
Create grace-boot-rest module #1256
-
Create grace-boot-test module #1272
-
Create grace-boot-validation module #1271
-
Create grace-boot-web module #1207
-
Create grace-web-rest module #1255
Core plugins have been consolidated into the framework
-
Merge grace-geb into the framework #1239
-
Merge grace-database-migration into the framework #1238
-
Merge MongoDB plugin into the framework #1232
-
Merge Hibernate plugin into the framework #1229
-
Merge grace-views into the framework #1215
-
Merge grace-scaffolding into the framework #1212
-
Merge grace-fields into the framework #1211
-
Merge grace-fields into the framework #1211
-
Merge grace-cache into the framework #1209
-
Merge grace-plugin-events into the framework #1183
-
Merge grace-plugin-async into the framework #1183
π Bug Fixes
-
Fix deprecation warnings due to tasks calling getProject() at execution time #1297
-
Fix type cast warnnings in ParameterizedGrailsUnitTest #1292
-
Fixes the resources in the
app/*not found in development mode #1251-
ResourceLocator should use
BuildSettings.GRAILS_APP_PATHinstead ofGrailsResourceUtils.GRAILS_APP_DIR
-
-
Fixes errors for using
project.register(copyAstClasses)#1164
π Improvements
-
Don’t include unused jars in the Shell CLI binary #1296
-
Decouple grace-web from grace-databinding GrailsParameterMap and PropertyEditorRegistryUtils use DataBinder.DEFAULT_DATE_FORMAT
-
Restore grace-web-databinding module
-
Remove explicit dependency on
grace-plugin-restfor grace-boot-web #1294 -
Add explicit dependency on
grace-views-markupfor grace-boot-rest #1293 -
Provide
installandhelpcommands for fields plugin #1291 -
Update StartScriptGenerator templates for Grace Shell #1290
-
Exclude the plugins that have been consolidated into framework #1288
-
Update CreateAppCommand to support creating a minimal Grace 2024.0 app #1287
-
Migrate to Maven Central Portal Snapshots when using SNAPSHOT version to generate new project #1286
-
Provide
org.graceframework.grace-appplugin #1285 -
Make Gradle dependencies sorted and grouped by scope and dependency #1283
-
Update autoconfigure compiler for Grace Application #1282
-
Provide install command for geb plugin to configure selenium drivers #1281
-
Add selenium api and drivers dependencies for geb plugin #1280
-
Plugins contain scripts and templates should include these into resources when packaging #1279
-
grace-plugin-database-migration
-
grace-plugin-fields
-
grace-plugin-geb
-
grace-plugin-scaffolding
-
-
Grace Boot MongoDb: add missing
grails-plugin.xml#1278 -
Grace Boot Hibernate: add missing
grails-plugin.xml#1277 -
Grace Boot Web: Remove unnecessary dependency on grace-plugin-gsp #1276
-
Grace Boot: Remove unnecessary dependency on grace-web #1275
-
Cleanup dependency on grace-plugin-api #1274
-
grace-core do not expose grace-plugin-api any more, so all the plugins should explicit depend on it.
-
grace-web only use grace-plugin-api compileOnly now.
-
-
Use PropertySourcesPropertyResolver provided by Spring Framework #1273
-
Don’t use ConfigurationPropertySources provided by Spring Boot, because some tags do not depend on Spring Boot
-
-
Update dependencies for grace-boot-mongodb #1120
-
Update README - Update the versions of Groovy, Gradle, Spring Boot
-
Remove duplicated
grails.factoriesin grace-web-url-mappings #1245 -
Update
migration.gdslin the database-migration plugin #1240-
Correct the
migrationDirtodb/migrations -
Correct the
columnmethods definded increateTableaddColumncreateIndexinsertloadDataloadUpdateDataupdate
-
-
Add missing 'grails.factories' for 'database-migration' plugin
-
Add missing 'grails-plugin.xml' for 'geb' plugin
-
Add missing 'grails-plugin.xml' for 'database-migration' plugin
-
Remove unused plugins in the gradle/grails.versions.toml
-
Rearrange versions and libraries in the gradle/libs.versions.toml
-
Code formatting with Checkstyle and Codenarc
-
Add dependencies to Gradle Version Catalog
-
Add glassfish-expressly
-
Add hibernate-core
-
Add spring-orm
-
-
Merge hibernate plugin into the framework #1229
-
4cbe4aecf7 Cleanup build scripts
-
48f7fadf01 Code formatting
-
5cece78f27 Code formatting with Checkstyle and Codenarc
-
-
Update the BOM of Grace Dependencies #1220
-
Update Gradle Version Catalog after importing 'cache' 'fields' 'scaffolding' 'views' plugins #1219
-
Rename the package of Grace Views #1218
-
Change the package of grace-views-json from
grails.plugin.json.view⇒org.grails.views.json -
Change the package of grace-views-markup from
grails.plugin.markup.view⇒org.grails.views.markup
-
-
Refactor Grace Json View API: Use native
groovy.json.*API instead #1217-
Remove
grails.plugin.json.builder.StreamingJsonBuilder -
Remove
grails.plugin.json.builder.JsonOutput -
Remove
grails.plugin.json.builder.JsonGenerator -
Remove
grails.plugin.json.builder.DefaultJsonGenerator -
Add
grails.plugin.json.view.api.JsonWritable -
Add
grails.plugin.json.util.JsonToken
-
-
Refactor Grace Views Format Java and Groovy source and test code #1216
-
Merge grace-views into the framework #1215
-
Merge grace-views-gradle into grace-gradle-plugin
-
Merge grace-views-json-testing-support into grace-test-support
-
Update Gradle build script
-
Update ViewsTransform JsonViewsTransform MarkupViewsTransform MarkupViewTemplateEngine
-
Make tests works
-
-
Refactor Grace Fields Plugin #1214
-
Refactor Grace Scaffolding Core and Plugin #1213
-
Make grace-plugin-fields and grace-plugin-scaffolding works #1211 #1212
-
Add grace-scaffolding-core grace-plugin-fields grace-plugin-scaffolding submodules
-
Update Gradle build script
-
Add
grails-plugin.xmlfor grace-plugin-fields and grace-plugin-scaffolding -
Add
@TagLibtoFormFieldsTagLib -
Update
ContextMarkupRendererContextMarkupRendererImplDomainMarkupRendererImplDelegatingBeanPropertyAccessorImpl -
Update
DomainMarkupRendererSpecandFormFieldsTemplateServiceSpec
-
-
Refactor Grace Cache Core and Plugin #1210
-
Make grace-cache-core and grace-plugin-cache works #1209
-
Add grace-cache-core and grace-plugin-cache submodules
-
Update Gradle build script
-
Add grails-plugin.xml
-
Add
@TagLibtograils-plugin.xml -
Migrate some JUnit 4 tests to JUnit 5
-
Remove demo tests
-
-
Enhance
CodeGenConfig#1201-
Add method
loadDefaultConfig()to simplify usage
-
-
Relocate
CodeGenConfigfrom grace-api to grace-bootstrap #1200 -
Rename beans to
propertySourcesPlaceholderConfigurerbeanPropertyOverrideConfigurerto keep naming consistent with theCoreConfiguration#1198 -
Refine GroovyPagesTemplateRenderer
-
Remove unused codes
-
Decouple
grace-web-gspfromgrace-plugin-domain-class
-
-
Move
CamelCaseUrlConverterSpecandHyphenatedUrlConverterSpecfrom grace-core to the grace-web-common #1189 -
BuildSettings.APP_BASE_DIR: rename
base.dirtograils.base.dir#1186 -
Improve
EntityTraitInjectorandGormTransformer#1184-
Refactor
EntityTraitInjectorandGormTransformer -
Add tests
-
-
Remove the configuration of system properties in
GrailsGradlePlugin.configureGrailsBuildSettings()#1173 #1157 -
Update
GspCompileOptions: remove the use of deprecatedAbstractOptions#1166 #1165 -
Enhance
FindMainClassTaskandGrailsGradlePlugin.registerFindMainClassTask()#1163 -
Add
configDirtoGroovyPageForkCompileTaskAnd migrateproject.buildDirtoproject.layout.buildDirectory#1162 -
Task
compileWebappGroovyPagesshould dependsOnclasses#1161 -
Update Gradle Version Catalog #1145
-
Rename
grace-gormtograce-dataproperties in the Grace BOM #1144 -
Improve GroovyCompiler to allow Groovy scripts to be recompiled and reloaded after modification #1142
-
Ensure that Grace Artefact classes are not registered prematurely into the Spring context #1141
-
Update .gitattributes to ensure the web fonts are treated as binary #1138
-
Migrate to Central Portal OSSRH Staging API #1114
π― Refactoring
#1295 Restore grace-web-databinding module
-
Restore grace-web-databinding module
-
Decouple grace-web from grace-databinding
-
GrailsParameterMap and PropertyEditorRegistryUtils use
DataBinder.DEFAULT_DATE_FORMAT
-
#1260 Create grace-web-rest module
-
Introduce RendererRegistryCustomizer #1260
-
RendererRegistryCustomizerallow to customizeRendererRegistry, likeDefaultRendererRegistryCustomizer, to add more user-definedRenderer
-
#1254 Refactor GrailsExceptionResolver
-
Introduce
GrailsUrlMappingsExceptionResolverto make grace-web-mvc decoupled from grace-web-url-mappings -
GrailsExceptionResolvershould not reuse cached controller attribute to find the given error path -
Cleanup
GrailsWrappedRuntimeException
#1253 Refactor grace-web-url-mappings
-
Relocate CORS related to grace-plugin-url-mappings
-
Remove method
setGrailsCorsConfiguration()inUrlMappingsHandlerMapping, useAbstractHandlerMapping.setCorsConfigurations()instead -
Relocate
UrlMappingsErrorPageCustomizerandAnsiConsoleUrlMappingsRendererSpecto grace-plugin-url-mappings
#1252 Various improvements related to stack trace logging and exception display
-
ErrorsViewStackTracePrinter should use
grailsResourceLocatorfirst -
And
grailsResourceLocatorneed to setsearchLocationtoBuildSettings.BASE_DIR -
Display the relative path of the file associated with the errors
-
Auto-configure StackTraceFilterer bean on GrailsExceptionResolver
-
Improve the log messages of exception’s stack trace
-
Fixed StackTracePrinterSpec
-
Add an additional Spring configuration metadata:
grails.full.stacktrace -
Formatting request parameters and log information, the excluded parameters will be marked [FILTERED] in the log
#1250 Create grace-plugin-taglibs
-
Create grace-plugin-taglibs Move
org/grails/plugins/web/taglib/*TagLibfrom grace-plugin-gsp to grace-plugin-taglibs #1249
#1248 Consolidate 'grace-web-sitemesh' into 'grace-web-gsp'
-
Consolidate 'grace-web-sitemesh' into 'grace-web-gsp'
#1247 Make 'grace-web-mvc' decoupled from 'grace-web-sitemesh'
-
Make 'grace-web-mvc' decoupled from 'grace-web-sitemesh'
-
Update copyright year to 2025
-
Remove 'grace-web-common' module #1246
#1246 Consolidate 'grace-web-common' into 'grace-web'
-
Consolidate 'grace-web-common' into 'grace-web'
#1245 Relocate AnsiConsoleUrlMappingsRenderer UrlMappingsReportCommand from grace-web-url-mappings to grace-plugin-url-mappings
-
Relocate
AnsiConsoleUrlMappingsRendererUrlMappingsReportCommandfrom grace-web-url-mappings to grace-plugin-url-mappings
#1244 Consolidate 'grace-web-databinding' into 'grace-web-common'
Consolidate 'grace-web-databinding' into 'grace-web-common'
- Move DataBinder WebDataBinding WebDataBindingTraitInjector from 'grace-web-databinding' to 'grace-plugin-databinding'
- Move org/grails/web/databinding/* from 'grace-web-databinding' to 'grace-web-common'
#1243 Consolidate 'grace-web-jsp' into 'grace-web-gsp'
-
Consolidate 'grace-web-jsp' into 'grace-web-gsp'
#1242 Cleanup dependencies
Relocate ErrorsViewStackTracePrinter GrailsWrappedRuntimeException from grace-web-common to grace-web-mvc
Remove getPagesTemplateEngine() of GrailsApplicationAttributes
Update dependencies
- grace-web-gsp no longer depends on grace-web-taglib
- grace-web-common no longer depends on grace-gsp
- grace-plugin-fields should depends on grace-web-taglib
#1241 'grace-web-gsp-taglib' has been consolidated into 'grace-web-taglib' and 'grace-plugin-gsp'
-
Remove
grace-web-gsp-taglibmodule its functionality has been consolidated intograce-web-taglibandgrace-plugin-gsp -
Relocate
org/grails/plugins/web/taglib/*fromgrace-web-gsp-taglibtograce-plugin-gsp -
Relocate
StandaloneTagLibraryLookupfromgrace-web-gsp-taglibtograce-web-taglib
#1205 Refactor GrailsApplicationLifeCycle
-
8d7161da21
-
Rename GrailsApplicationLifeCycle to GrailsApplicationLifecycle
-
Rewrite GrailsApplicationLifecycle using Java
-
Remove GrailsApplicationLifeCycleAdapter
-
Simplify Plugin
-
Rename
GrailsApplicationPostProcessor.setGrailsApplicationLifeCycle()toGrailsApplicationPostProcessor.setGrailsApplicationLifecycle() -
Update GrailsApplicationBuilder
-
#1204 Refactor Grace Spring Boot and Grace Spring
-
f24e041d52 Move all classes in the grace-spring-boot into grace-spring
The grace-spring-boot module contains some classes related to the Spring framework and Spring Boot, But now, all of theme have been relocated into grace-spring, you should use grace-spring directly.
#1203 Refactor Grace Bootstrap
-
Move
ConfigPropertiesConfigPropertiesSpecfrom grace-plugin-core to grace-bootstrap -
Move
NavigableMapNavigableMapConfigfrom grace-api to grace-bootstrap -
Move
ConfigMapSpecNavigableMapSpecfrom grace-api to grace-bootstrap -
Rename
GroovyConfigPropertySourceLoaderYamlPropertySourceLoaderpackage fromorg.grails.spring.boot.envtoorg.grails.config.loader -
Rename package
GroovyConfigPropertySourceLoaderSpecYamlPropertySourceLoaderSpec -
Update
grace-plugin-core/src/main/resources/META-INF/spring.factories -
Move the classes under the
org.grails.configpackage from grace-core and grace-spring-boot to grace-bootstrap -
Move
CompositeConfigEnvironmentAwarePropertySourceNavigableMapPropertySourcePrefixedConfigPrefixedMapPropertySourcePropertySourcesConfigfrom grace-core to grace-bootstrap -
Move
NavigableMapNestedEqualitySpecNavigableMapPropertySourceSpecNavigableMapSpringProfilesSpecPropertyResolutionSpecPropertySourceConfigSpecPropertySourcesConfigSpecSystemEnvironmentConfigSpecfrom grace-core to grace-bootstrap -
Move
GroovyConfigPropertySourceLoaderYamlPropertySourceLoaderfrom grace-spring-boot to grace-bootstrap -
Move
GroovyConfigPropertySourceLoaderSpecYamlPropertySourceLoaderSpecfrom grace-spring-boot to grace-bootstrap
#1202 Relocate Named and Described from grace-bootstrap to grace-api
#1199 Refactor GrailsApplication
-
Fix doc typos
-
Remove method
getMetadata()in GrailsApplicationGrailsApplicationshould not depend onMetadata, please useMetadata.getCurrent()instead -
Remove deprecated constants in GrailsApplication
-
CONFIG_CLASS
-
DATA_SOURCE_CLASS
-
PROJECT_META_FILE
-
#1197 Revisit Grace Spring Boot Module
Move some classes to more appropriate modules
-
Relocate
GroovyConfigPropertySourceLoaderSpecYamlPropertySourceLoaderSpectograce-spring-boot/src/test/groovy/org/grails/spring/boot/env/ -
Relocate
ClassEditorPropertiesEditortograce-spring-boot/src/main/groovy/org/grails/spring/beans/support/ -
Move
ClassRelativeClassLoaderClassRelativeResourcePatternResolverfrom grace-spring-boot to grace-plugin-i18n -
Move
GrailsPlaceholderConfigurerGrailsBeanPropertyOverrideConfigurerfrom grace-spring-boot to grace-plugin-core -
Move
NavigableMapPropertySourceNavigableMapPropertySourceSpecfrom grace-api to grace-spring-boot
#1196 Refactor IOUtils
-
Refactor IOUtils Remove SpringIOUtils
-
Using IOUtils instead Deprecated IOUtils.toString(Reader)
-
Using IOUtils.copyToString(Reader)
-
Enhance IOUtils.copy() methods
-
Using FileCopyUtils.copy() to implement
-
#1195 Migrate to Spring Framework’s Resource API
-
Use
PathMatchingResourcePatternResolverinstead ofCachingPathMatchingResourcePatternResolver -
Move
ResourceLocatorfrom grace-api to the grace-core-
Move
DefaultResourceLocatorfrom grace-plugin-api to the grace-core -
Remove
org.grails.coreio.PluginPathAwareFileSystemResourceLoader
-
-
Use
StaticResourceLoaderin the grace-bootstrap -
Use built-in classes such as Resource ResourceLoader provided by the Spring framework
The following classes have been removed - AbstractFileResolvingResource - AntPathMatcher - ByteArrayResource - ClassPathResource - DefaultResourceLoader - FileSystemResource - FileSystemResourceLoader - GrailsByteArrayResource - GrailsResource - PathMatchingResourcePatternResolver - Resource - ResourceLoader - SpringResource - UrlResource
#1194 Refactor Grace API
-
Move
MixinMixinTargetAwarefrom grace-api to grace-core-
Move
CacheEntryPairTriplefrom grace-api to grace-util -
Move
AbstractTypeConvertingMapTypeConvertingMapTypeConvertingMapTestsfrom grace-api to grace-util
-
-
Move
CompositeConfigEnvironmentAwarePropertySourcePrefixedConfigPrefixedMapPropertySourcePropertySourcesConfigfrom grace-api to the grace-core-
Move
NavigableMapPropertySourceSpecfrom grace-core to grace-api -
Move
DefaultGrailsPluginTestsfrom grace-plugin-api to grace-test-suite-uber
-
-
Move
DefaultErrorsPrinterfrom grace-api to the grace-core-
Rename
NewInstanceCreationExceptiontoGrailsClassCreationExceptionand relocate to grace-core -
Rename
GrailsDomainExceptiontoGrailsClassExceptionand relocate to grace-core -
Rename
InvalidPropertyExceptiontoGrailsPropertyInvalidExceptionand relocate to grace-core
-
-
Move
AbstractGrailsClassAbstractInjectableGrailsClassfrom grace-api to the grace-core-
Move
InvalidVersionExceptionVersionComparatorGrailsPluginPluginSourcefrom grace-api to the grace-plugin-api
-
-
Move
ConfigPropertiesfrom grace-api to the grace-plugin-core -
Move
GrailsFactoriesLoaderfrom grace-api to the grace-bootstrap -
Move
Settingsfrom grace-api to the grace-bootstrap
#1193 Refactor GSP plugin
-
Remove deprecated
GrailsTagLibClassDefaultGrailsTagLibClassTagLibArtefactHandler -
Make
ControllerTagLibraryTraitInjectorinherit directly fromTraitInjectorAdapter -
Use
ArtefactTypes.TAG_LIBRARYinstead ofTagLibArtefactHandler.TYPE
#1192 Refactor Bootstrap Artefact
-
Relocate
BootstrapArtefactHandlerBootstrapArtefactHandlerSpecto grace-boot-
Move
GrailsBootstrapClassDefaultGrailsBootstrapClassfrom grace-web to grace-boot -
Update
GrailsApplicationBuilder
-
-
Auto-configure
BootstrapClassRunner-
Move
BootstrapClassRunnerfrom grace-plugin-controllers to grace-boot -
Rename
BootstrapClassRunnertoGrailsBootstrapClassRunner -
Auto-configure
GrailsBootstrapClassRunnerin GrailsBootstrapAutoConfiguration -
Add
grails.bootstrap.skipto Spring Configuration Metadata
-
-
Use
ArtefactTypes.BOOTSTRAPinstead ofBootstrapArtefactHandler.TYPE
#1191 Refactor Grace Boot
-
Refactor Grace Boot
-
Move
ApplicationArtefactHandlerApplicationClassInjectorfrom grace-core to grace-boot -
Move
LoggingTransformerSpecfrom grace-logging to grace-boot -
Update
ArtefactTypeAstTransformationSpecGlobalGrailsClassInjectorTransformationSpecGrailsAwareInjectionOperationSpec
-
#1190 Refactor Services plugin
-
Refactor Services plugin
-
Use
ArtefactTypes.SERVICEinstead ofServiceArtefactHandler.TYPE -
Move
GrailsServiceClassDefaultGrailsServiceClassfrom grace-core to grace-plugin-services -
Relocate
ServiceArtefactHandlerServiceArtefactHandlerSpecto grace-plugin-services -
Update
ServiceUnitTest
-
#1189 Refactor Controllers and Controllers plugins
-
Move
DefaultGrailsControllerClassSpecto the grace-plugin-controllers -
Refactor UrlMappings plugin
-
Use
ArtefactTypes.URL_MAPPINGSinstead ofUrlMappingsArtefactHandler.TYPE -
Move
GrailsUrlMappingsClassDefaultGrailsUrlMappingsClassfrom grace-core to grace-web-common -
Relocate
UrlMappingsArtefactHandlerUrlMappingsArtefactHandlerSpecto grace-plugin-url-mappings
-
-
Refactor Controllers plugin
-
Use
ArtefactTypes.CONTROLLERinstead ofControllerArtefactHandler.TYPE -
Move
ActionCamelCaseUrlConverterHyphenatedUrlConverterUrlConverterfrom grace-core to grace-web-common -
Relocate
ControllerArtefactHandlerControllerArtefactHandlerSpecto grace-plugin-controllers -
Update
LoggingTransformerSpecin grace-logging -
Add
ControllerLoggingTransformerSpecto grace-plugin-controllers
-
#1188 Refactor Domain Class plugin
-
Relocate
DomainClassArtefactHandlerto grace-plugin-domain-class -
Decouple
DefaultGrailsApplication.addArtefact()fromDomainClassArtefactHandler -
Introduce ArtefactTypes - Use
ArtefactTypes.DOMAIN_CLASSinstead ofDomainClassArtefactHandler.TYPE -
Use
GrailsASTUtils.isDomainClass()instead ofDomainClassArtefactHandler.isDomainClass()
#1187 Refactor Domain Class plugin
-
Remove
AnnotationDomainClassArtefactHandler -
Relocate
DefaultGrailsDomainClassInjectorto grace-plugin-domain-class
#1185 Refactor Domain Class plugin
-
Decouple
grace-corefromgrace-plugin-domain-class-
Update tests
-
Move tests from
grace-coreintograce-plugin-domain-class
-
#1183 Merge async and events plugins into the framework
-
Code format
-
Build async and events plugins
-
Add grace-plugin-async and grace-plugin-events
-
Use Gradle version catalog to manage dependencies
-
Add version and descriptor to plugins
-
Update TransactionalPromiseDecorator and make tests pass
-
#1182 Restructure GORM Support
-
0d901fa098 Move ProxyHandler and PersistenceContextInterceptor to
grace-datastore-gorm-supportSee graceframework/grace-data#73 -
74555e5923 Add
EntityTraitInjectorandGormTransformerfromgrace-datastore-gorm-supportSee graceframework/grace-data#73
#1180 Refactor Gradle Doc Plugin
-
Refactor DocPublisher
-
Rename
publishPdf()togeneratePdfGuide() -
Remove
PublishPdfTask
-
-
Refactor GrailsDocGradlePlugin
-
Rename
docstopublishGuide -
Add new properties
singlePdfgeneratePdftoPublishGuideTask -
Remove registed task
docsPdf
-
#1176 Refactor Gradle Doc Plugin
-
Remove obsolete MigrateLegacyDocs
-
Refactor PublishGuideTask - Migrate all properties to lazy properties
-
Refactor PublishGuideTask Remove Gradle’s deprecation warning "Invocation of Task.project at execution time has been deprecated."
#1175 Refactor Grace Banner
-
Refactor GrailsResourceBanner
-
Align with Spring Boot’s
ResourceBanner -
Don’t return the default application name in
Metadata.getApplicationName() -
Add GrailsResourceBannerTests
-
-
Refactor GrailsResourceBanner
-
Remove deprecated method
getApplicationVersion(Class<?> sourceClass) -
Get name and version from environment
-
#1174 Refactor Gradle plugins
-
Refactor GrailsGradlePlugin
-
Remove
enableNative2Ascii()in favor of using Gradle’sProcessResources -
Deprecated
native2asciiandnative2asciiAntinGrailsExtension
-
-
Refine GrailsPluginGradlePlugin
-
Add
ProcessPluginResourcesTask -
Improve
configurePluginResources()
-
-
Refine GrailsGradlePlugin and GrailsWebGradlePlugin
-
Add
configureProcessResources()forGrailsWebGradlePlugin -
Extract copying templates from
GrailsGradlePlugin.enableNative2Ascii()toGrailsWebGradlePlugin
-
#1172 Refactor Gradle Profile Plugin
-
Refactor GrailsProfileGradlePlugin
-
Add constants
PROCESS_PROFILE_RESOURCES_TASK_NAMECOMPILE_PROFILE_TASK_NAMEPROFILE_GROUP -
Add
registerOrGetJarTask()andregisterOrGetSourcesJarTask() -
Improve
sourcesJarTask
-
-
Refactor GrailsProfileGradlePlugin
-
Add
ProfileResourcesProcessTask -
Improve
ProfileCompilerTask -
Refactor
GrailsProfileGradlePlugin
-
#1171 Support configuration of project resources and sources directories
-
Configure the main sources and resources directories This PR allow developers to configure the app sources and resources,
#1170 Customize Groovy compiler configuration
-
Support adding user defined node metadata This PR allow develpers to add some user defined node metadata by configuring
configScript.metaDataMap,
configScript {
metaDataMap['APP_THEME'] = 'custom meta data'
}
-
Allow to provide a custom Groovy script file that configures the Groovy compiler The default Groovy script file should be placed in
config/groovy/compiler.groov,
withConfig(configuration) {
inline(phase: 'CONVERSION') { source, context, classNode ->
source.ast.putNodeMetaData('PROJECT_NAME', '${PROJECT_NAME}')
source.ast.putNodeMetaData('PROJECT_TYPE', '${PROJECT_TYPE}')
source.ast.putNodeMetaData('PROJECT_VERSION', '${PROJECT_VERSION}')
source.ast.putNodeMetaData('PROJECT_DIR', '${PROJECT_DIR}')
source.ast.putNodeMetaData('GRAILS_APP_DIR', '${GRAILS_APP_DIR}')
}
}
#1169 Refactor Gradle plugins
-
Refactor GrailsGradlePlugin
-
Introduce
GenerateBuildInfo -
Remove
@CompileDynamiconcreateBuildPropertiesTask()
-
-
Refactor GrailsGradlePlugin
-
Introduce
GenerateConfigScript -
Rename
configureGroovyASTMetadata()toconfigureGroovyCompiler()
-
#1168 Refactor Gradle plugins
-
Configure the classpath of the Spring Boot’s BootArchive
-
Change the generated gsp class name: remove the prefixed 'gsp', and append '_' before the view names
-
Change the compiled gsp classes target directory
-
Correct the Groovy build classes dirs
#1167 Refactor Gradle plugins
-
Improve GroovyPagePlugin and GroovyPageForkCompileTask
-
Remove unnecessary dependency on
jakarta.servlet-api -
Remove Configuration
providedCompile, only usecompileClasspath -
Don’t call
Task.getProject()from a task action -
Use
JavaPlugin.CLASSES_TASK_NAMEinstead ofclasses -
Use
GrailsGradlePlugin.GRAILS_EXTENSION_NAME
-
-
Refactor GrailsProfileGradlePlugin
-
Use
BasePlugin.ASSEMBLE_TASK_NAMEinstead ofassemble -
Rename
CONFIGURATION_NAMEtoGRAILS_CONFIGURATION_NAME -
Rename
RUNTIME_CONFIGURATIONtoPROFILE_CONFIGURATION_NAME -
Use Groovy style
project.configurationsandproject.extensions
-
-
Update ApplicationContextCommandTask and ApplicationContextScriptTask
-
Remove
dependsOnof the tasksApplicationContextCommandTaskandApplicationContextScriptTask -
Configure
dependsOnwhen registering the tasks
-
-
Refactor
GrailsGradlePlugin-
Use
JavaPlugin.CLASSES_TASK_NAMEinstead ofclasses -
Use Groovy style
project.configurationsandproject.extensions -
Add
GRAILS_EXTENSION_NAMEFIND_MAIN_CLASS_TASK_NAMEBUILD_PROPERTIES_TASK_NAME -
Rename
CONSOLE_CONFIGURATIONtoCONSOLE_CONFIGURATION_NAME -
Rename
PROFILE_CONFIGURATIONtoPROFILE_CONFIGURATION_NAME -
Remove
addDefaultProfile()
-
#1164 Refactor Gradle Plugins
-
Improve
GrailsPluginGradlePlugin-
Use constant name of the Task and Configuration
-
Use
tasks.register()instead oftasks.create() -
Cleanup codes
-
-
Configure the main application class name fo
runScripttask -
refactor
configureGrailsBuildSettings()andconfigureSpringBootExtension()-
Change
configureGrailsBuildSettings()return tovoid -
Migrate deprecated
project.buildDir -
Add helper methods to
SourceSets
-
-
refactor
configurePathingJar-
Enhance
buildClasspath() -
Use
project.layout.buildDirectoryinstead ofproject.buildDir -
Make
resolveClassesDirs()private
-
-
refactor
enableNative2Ascii()-
Use inline
ant.native2ascii() -
Remove
createNative2AsciiTask
-
-
refactor
createBuildPropertiesTask()-
Change its return type to
void -
Use
tasks.register()instead oftasks.create() -
Make build properties ordered
-
-
refactor
configureConsoleTask()-
Remove
createConsoleTask()andcreateShellTask -
Use
tasks.register()instead oftasks.create()
-
-
refactor
configureApplicationCommands()-
Use
tasks.register()instead oftasks.create() -
Remove unnecessary
@CompileDynamic
-
-
refactor
configureRunScript()andconfigureRunCommand()-
Use
tasks.register()instead oftasks.create() -
Remove unnecessary
@CompileDynamic
-
-
refactor
configureGroovyASTMetadata()-
Use
tasks.register()instead oftasks.create() -
Use
tasks.named()instead oftasks.getByName() -
Remove unnecessary
@CompileDynamic
-
#1157 Allow developers to customize the app directory
Grails employs a structured directory layout that organizes files and folders based on their functionality, which is essential for maintaining code in a large application.
The app directory is central to a Grails application, containing subdirectories for domains, services, views, controllers, taglibs and assets, which follow the MVC architectural pattern.
In the past, Grails has always adhered to the convention of using grails-app as a fixed directory since its inception. In Grace, we can use grails-app, or the more concise app.
Now, in the upcoming Grace 2024 version, we take it a step further by allowing developers to customize this directory. You are free to choose a more suitable specific directory, such as web, admin, api, or store.
#1149 Application type artifacts are supported in both the app/boot and src/main directories
-
Applicationtype artifacts are supported in both theapp/bootandsrc/maindirectories-
Move from
app/inittoapp/boot -
Update releated tests
-
#1148 Move artefact Bootstrap.groovy from app\init to app\boot
#1147 Rename artefact type BootStrap to Bootstrap
-
Rename
BootStrap.groovytoBootstrap.groovy-
Update
DefaultGrailsBootstrapClass.BOOT_STRAPtoBootstrapas the trailing part of the Bootstrap class type -
Rename
BootStrapClassRunnertoBootstrapClassRunner -
Change the bean name to
bootstrapClassRunnerinControllersGrailsPlugin -
Update the other related tests
-
We should also update the
baseprofile
-
#1140 Refactor GroovyCompiler
-
Improve
GroovyCompilerfor better compilation of Groovy scripts #1139
Only use Groovy Grape’s runtime dependencies to load ArtefactHandler ClassInjector TraitInjector, so the Shell no longer need grace-plugin-controllers grace-plugin-gsp grace-plugin-url-mappings, which greatly reduces the size of the final CLI installation package.
-
Introduce GrailsArtefactClassTransformation
-
Remove some runtime dependencies of grace-shell
-
Add support methods in TraitInjectionUtils
-
Cleanup ExtendedGroovyClassLoader
#1136 Refactor the core API of the framework
This is a very important code refactoring and update for the framework.
Initially, I intended to run a Single-File Application Groovy script in the CLI, but after analyzing a lot of the framework’s underlying code, I found that these core API were very difficult to extend and test, so I began a painful code refactoring journey.
After the refactoring, it has now become possible to successfully run a Single-File Application Groovy script in the CLI.
Refactoring involves several important APIs of Grails. I believe that refactoring these classes is significant for the maintenance and updating of the framework, and it is also very helpful for third-party plugin developers, making plugins and libraries easy to extend and test.
-
ArtefactHandler
-
ClassInjector
-
TraitInjector
-
GlobalGrailsClassInjectorTransformation
-
GlobalGrailsPluginTransformation
-
GrailsASTUtils
-
GrailsGradlePlugin
ArtefactHandler
-
Relocate ArtefactHandlerAdapter to grace-core
-
Support Grails and GORM Entity for DomainClassArtefactHandler.isArtefactClass
-
Refactor
isDomainClass()in DomainClassArtefactHandler -
Refactor ControllerArtefactHandler
-
Refactor TagLibArtefactHandler
-
Support taglib with annotation
@TagLibfor TagLibArtefactHandler -
Remove supports for
@TagLibraryas artefact type, use@TagLibinstead -
Adding Spock tests for ArtefactHandlers
-
Adding
@Artefact()annotation to Grails artefacts in the tests
ClassInjector
-
Refactor ClassInjector
-
Add support for ClassInjector ordering
-
Using GrailsFactoriesLoader to load ClassInjector
-
Update BootInitializerClassInjector
-
Refactor ApplicationClassInjector
-
Refactor DefaultGrailsDomainClassInjector
-
Refactor AbstractGrailsArtefactTransformer
-
Refactor ArtefactTypeAstTransformation
-
Refactor ControllerActionTransformer
-
Refactor ControllerDomainTransformer
-
Refactor LoggingTransformer
-
Refactor ResourceTransform
-
Refactor TagLibraryTransformer
-
Deprecated SupportsClassNode
-
Deprecated
ClassInjector.shouldInject(URL), in favor ofshouldInject(ClassNode)
TraitInjector
-
Introduce TraitInjectorAdapter
-
Using
boolean supports(ClassNode)to check if the classNode need to be injected -
Add support for TraitInjector ordering
-
Refactor TraitInjectionUtils
-
Deprecated TraitInjectionSupport
-
Deprecated GlobalClassInjector and GlobalClassInjectorAdapter
GrailsASTUtils
-
Adding more methods to check whether the specified source is a Grails project source
-
Adding method
getGrailsArtefactType()to GrailsASTUtils -
Refactor
isDomainClass()in GrailsASTUtils
GrailsGradlePlugin: configure Groovy AST Metadata for configurationScript of GroovyCompileOptions
-
GRAILS_APP_DIR
-
PROJECT_DIR
-
PROJECT_NAME
-
PROJECT_TYPE
-
PROJECT_VERSION
GlobalGrailsClassInjectorTransformation and GlobalGrailsPluginTransformation
-
Refactor GlobalGrailsClassInjectorTransformation
-
Refine GlobalGrailsPluginTransformation
-
Update GlobalGrailsPluginTransformationSpec
Grails with Spring Boot DevTools
-
Initial integration of Grails with Spring Boot DevTools
-
Add GrailsSourceCompiler
-
Remove deprecated DirectoryWatcher related
RunCommand
-
Initial support Grails Single File Application running in CLI
-
Allow Grails load the specified primary sources
-
Add GrailsGormCompilerAutoConfiguration
-
Update GroovyCompiler
-
Update GrailsApplicationCompilerAutoConfiguration
π Dependency Upgrades
-
Upgrade to AspectJ 1.9.25.1 #1261
-
Upgrade to AspectJ 1.9.25 #1233
-
Upgrade to Eclipse Expressly 5.0.0 #121
-
Upgrade to Geb 8.0.1 #1268
-
Upgrade to Grace Asset Pipeline Plugin 7.0.0-M2 #1289
-
Upgrade to Grace Asset Pipeline Plugin 7.0.0-M1 #1115
-
Upgrade to Grace Async 7.0.0-M1 #1116
-
Upgrade to Grace Data 2024.0.0-M1 #1118
-
Upgrade to Grace Data Hibernate 2024.0.0-M1 #1119
-
Upgrade to Grace Data MongoDB 2024.0.0-M1 #1120
-
Upgrade to Grace Doc Engine 2.0.0-M1 #1143
-
Upgrade to Grace Events 7.0.0-M1 #1122
-
Upgrade to Gradle 8.14.3 #1127
-
Upgrade to Gradle Codenarc plugin 3.6.0 #1222
-
Upgrade to Gradle Checkstyle plugin 10.26.1 #1221
-
Upgrade to Gradle JaCoCo plugin 0.8.13 #1223
-
Upgrade to Gradle Plugin Publish Plugin 2.0.0 #1284
-
Upgrade to Groovy 4.0.29 #1227
-
Upgrade to Groovy 4.0.28 #1134
-
Upgrade to Jackson Databind 2.18.5 #1234
-
Upgrade to Jakarta Expression Language 5.0.1 #1181
-
Upgrade to Maven 3.9.12 #1262
-
Upgrade to Maven 3.9.11 #1129
-
Upgrade to Maven Resolver 1.9.25 #1263
-
Upgrade to Maven Resolver 1.9.24 #1130
-
Upgrade to RxJava 3.1.12 #1228
-
Upgrade to RxJava 3.1.11 #1146
-
Upgrade to Spring Boot 3.4.13 #1265
-
Upgrade to Spring Boot 3.4.12 #1235
-
Upgrade to Spring Boot 3.4.11 #1224
-
Upgrade to Spring Boot 3.4.10 #1177
-
Upgrade to Spring Boot 3.4.9 #1158
-
Upgrade to Spring Boot 3.4.8 #1131
-
Upgrade to Spring Framework 6.2.15 #1266
-
Upgrade to Spring Framework 6.2.14 #1236
-
Upgrade to Spring Framework 6.2.12 #1225
-
Upgrade to Spring Framework 6.2.11 #1178
-
Upgrade to Spring Framework 6.2.10 #1159
-
Upgrade to Spring Framework 6.2.9 #1132
-
Upgrade to Tomcat 10.1.50 #1267
-
Upgrade to Tomcat 10.1.49 #1237
-
Upgrade to Tomcat 10.1.48 #1226
-
Upgrade to Tomcat 10.1.46 #1179
-
Upgrade to Tomcat 10.1.44 #1160
-
Upgrade to Tomcat 10.1.43 #1133
βοΈ Tasks
-
v2024.0.0-M2
2024.0.0-M1
π Improvements
-
Update README
-
Add release notes for 2024.0.0-M1 #1111
-
Use the new url of Grace binary distribution for sdkMan #1110
-
Provides binary, sources and docs distributions for Grace framework #1109
-
Update Grace Banner #1108
-
Spring Boot 3.3.x is no longer supported #1107
-
Update
grace-docto 2023.3.0 #1106 -
Don’t publish
docsto Maven Central and includes it in the distribution #1104 -
Add support for creating Grace 2024 project #1100
-
Update GrailsTests: bannerMode has been bound to properties #1050
π Dependency Upgrades
-
Upgrade to AssertJ 3.26.3 #1088
-
Upgrade to Byte Buddy 1.15.11 #1089
-
Upgrade to Commons Codec 1.17.2 #1091
-
Upgrade to Commons Lang3 3.17.0 #1090
-
Upgrade to Commons Text 1.13.1 #1099
-
Upgrade to Gson 2.11.0 #1101
-
Upgrade to H2 2.3.232 #1093
-
Upgrade to Jackson Databind 2.18.4 #1092
-
Upgrade to JUnit Jupiter 5.11.4 #1094
-
Upgrade to JUnit Platform 1.11.4 #1095
-
Upgrade to Mockito 5.14.2 #1102
-
Upgrade to SnakeYAML 2.3 #1096
-
Upgrade to Spring Boot 3.4.6 #1050
-
Upgrade to Spring Boot 3.4.7 #1097
-
Upgrade to Spring Framework 6.2.7 #1051
-
Upgrade to Spring Framework 6.2.8 #1098
βοΈ Tasks
-
Release v2024.0.0-M1
-
Update GitHub workflows - Switch to 2024.0.x
-
Next development version: 2024.0.0-SNAPSHOT
2.2 What's new in 2023.x
2023.3.0
βοΈ New Features
π Improvements
-
Change to
graceVersionof the app info #1085 -
Exclude obsolete
gspplugin from the plugin list #1084 -
Enhance IntegrationTestGradlePlugin - Deprecation warning of the
IdeaModule.testSourceDirs- Migrate totasks.register()#1074 -
Only show internal commands and features by using flag
only, removing flagall#1073 #1042 -
Improve GradleUtil - Use
System.inas the standardInput of Gradle’s BuildLauncher - It will makeshellcommand work normally #1072
π Bug Fixes
-
Fixes groovydoc: error parsing Java source file:
org/grails/plugins/datasource/DataSourcePluginConfiguration.java#1082
π Dependency Upgrades
-
Upgrade to Grace Asset Pipeline Plugin 6.3.0 #1022
-
Upgrade to Grace Async and Events 6.3.0 #1023
-
Upgrade to Grace Cache Plugin 6.3.0 #1024
-
Upgrade to Grace Data 2023.3.0 #1025
-
Upgrade to Grace Data Hibernate 2023.3.0 #1026
-
Upgrade to Grace Data MongoDB 2023.3.0 #1027
-
Upgrade to Grace Database Migration Plugin 6.3.0 #1028
-
Upgrade to Grace Fields Plugin 6.3.0 #1029
-
Upgrade to Grace Geb Plugin 6.3.0 #1030
-
Upgrade to Grace Profile: Base 2023.3.0 #1033
-
Upgrade to Grace Profile: Base 2023.3.1 #1086
-
Upgrade to Grace Profile: Plugin 2023.3.0 #1034
-
Upgrade to Grace Profile: Profile 2023.3.0 #1035
-
Upgrade to Grace Profile: Rest API 2023.3.0 #1036
-
Upgrade to Grace Profile: Starter 2023.3.0 #1037
-
Upgrade to Grace Profile: Web 2023.3.0 #1038
-
Upgrade to Grace Profile: Web Plugin 2023.3.0 #1039
-
Upgrade to Grace Scaffolding 6.3.0 #1031
-
Upgrade to Grace Views 6.3.0 #1032
-
Upgrade to Gradle 8.14.2 #1068
-
Upgrade to Gradle Tooling API 8.14.2 #1069
-
Upgrade to Groovy 4.0.27 #1067
-
Upgrade to Maven 3.9.10 #1070
-
Upgrade to Maven Resolver 1.9.23 #1071
-
Upgrade to Spring Boot 3.3.13 #1076
-
Upgrade to Spring Boot 3.3.12 #1052
-
Upgrade to Spring Framework 6.1.21 #1077
-
Upgrade to Spring Framework 6.1.20 #1053
-
Upgrade to Tomcat 10.1.42 #1078
-
Upgrade to Tomcat 10.1.41 #1066
βοΈ Tasks
-
Remove deprecated gradle/actions/wrapper-validation in the release workflow #1075
-
Update github workflows - Upgrade to setup-gradle@v4 - Upgrade to latest ubuntu
-
Release v2023.3.0
π Plugins
πProfiles
2023.3.0-RC2
βοΈ New Features
π Improvements
-
Update README
-
Improve the styles for PDF document #1062
-
Refactor PdfBuilder DocPublisher and PublishPdfTask #1059
-
Introduce ResourceChecker to check resources for YamlTocStrategy #1058
-
Improve the print media styles: hide the nav links and quick reference #1056
-
Improve the section level as HTML headings #1055
-
Improve guide logo and title for doc templates #1054
-
Update docs template’s styles #1047
-
Support docs task’s default
sourceDirmay bedocsorsrc/docs#1045 -
Command
profile-infoshould show whether the feature is Required or Default #1044 -
Command
profile-infoshould show the extended Profiles #1043 -
Command
profile-infosupport show all the Profile’s commands and features included parent Profile’s #1041 -
Command
profile-infoshould only show the Profile’s internal commands and features #1040
π Bug Fixes
π Dependency Upgrades
βοΈ Tasks
-
Release v2023.3.0-RC2
2023.3.0-RC1
This release is based on Spring Boot 3.3.11 and Spring Framework to 6.1.19.
-
Upgrade to Groovy 4.0.26, Gradle 8.13, Tomcat 10.1.40
-
Refactor
grace-docsandGrailsDocGradlePlugin, now you can useorg.graceframework.grace-docgradle plugin to generate guide -
bootstrapfeature in base profile has upgrade to 5.3.5 -
Add
grace-datastore-gorm-tckand some more dependencies to BOM
For a complete list of changes made in this release see [this project on GitHub](https://github.com/orgs/graceframework/projects/8).
βοΈ New Features
-
Update docs styles: make logo on the left and nav links on the right #1019
-
Refactor GrailsDocGradlePlugin: register tasks PublishGuideTask and PublishPdfTask #1018
-
Rename PublishPdf to PublishPdfTask #1017
-
Enhance PublishGuideTask and remove duplicated PublishGuide #1016
-
Add dependency gradleApi() to fix NoSuchMethodError:
ScriptBytecodeAdapter.createRange(java.lang.Object, java.lang.Object, boolean, boolean)#1014 -
Enhance PublishPdf: Make it CompileStatic and remove property 'outputDirectory' #1015
-
Remove grace-docs' dependency on Gradle Api #1012
-
Update DocPublisherTask: migrate to
groovy.ant.AntBuilder#1011 -
Update The radeox macros to clean up Gradle task related annotations #1010
-
Move Gradle related tasks to grace-gradle-plugin * MigrateLegacyDocs * PublishGuide * PublishPdf #1009
-
Remove
CreateReleaseDropDownTask#1008 -
Update doc templates: clean unused scripts #1007
-
Add input properties
asciidocandlanguagetoPublishGuideTask#1006 -
Explicitly set the source and target compatibility of
PublishGuideTask#1005 -
Add dependency
grace-docsdirectly to gradle plugin #1004 -
Add more dependencies to BOM #1000
-
Add grace-datastore-gorm-tck dependency to BOM #996
π Improvements
-
Update README - Add information about Grace vs Spring Boot - Update the badge of Spring Boot
-
Rerun some skipped tests - GrailsWebDataBinderSpec - EntityTransformTests - InheritanceWithValidationTests - DomainConstraintGettersSpec - DefaultXmlRendererSpec #1020
-
Change file and task name from
grails-doc-files.jartograce-doc-resources.jar#1003 -
Don’t provide database driver dependency when using mongodb feature #1001 #939
-
Remove unused mongodb-java-driver in libs.versions.toml #1002
π Bug Fixes
-
Remove SoftwareVersionSpec: cause SoftwareVersion already removed #1013 #1008
-
Correct the artifactId of Asset Pipeline Plugin in BOM #999
-
Remove obsolete grails.factories in Services plugin #998
-
Correct the artifactId of Asset Pipeline Plugin in BOM #997
-
Remove grace-test-suite-* dependencies in the generated BOM #995
π Dependency Upgrades
-
Upgrade to AspectJ 1.9.24 #994
-
Upgrade to Grace Asset Pipeline Plugin 6.3.0-RC1 #969
-
Upgrade to Grace Async and Events 6.3.0-RC1 #970
-
Upgrade to Grace Cache Plugin 6.3.0-RC1 #971
-
Upgrade to Grace Data 2023.3.0-RC1 #972
-
Upgrade to Grace Data Hibernate 2023.3.0-RC1 #973
-
Upgrade to Grace Data MongoDB 2023.3.0-RC1 #974
-
Upgrade to Grace Database Migration Plugin 6.3.0-RC1 #975
-
Upgrade to Grace Fields Plugin 6.3.0-RC1 #976
-
Upgrade to Grace Geb Plugin 6.3.0-RC1 #977
-
Upgrade to Grace Profile: Base 2023.3.0-RC1 #980
-
Upgrade to Grace Profile: Plugin 2023.3.0-RC1 #981
-
Upgrade to Grace Profile: Rest API 2023.3.0-RC1 #982
-
Upgrade to Grace Profile: Starter 2023.3.0-RC1 #983
-
Upgrade to Grace Profile: Web 2023.3.0-RC1 #984
-
Upgrade to Grace Profile: Web Plugin 2023.3.0-RC1 #985
-
Upgrade to Grace Profile: Profile 2023.3.0-RC1 #986
-
Upgrade to Grace Scaffolding 6.3.0-RC1 #978
-
Upgrade to Grace Views 6.3.0-RC1 #979
-
Upgrade to Java Parser 3.26.4 #987
-
Upgrade to Jsoup 1.18.3 #989
-
Upgrade to Mockito 5.11.0 #990
-
Upgrade to Spring Boot 3.3.11 #992
-
Upgrade to Spring Framework 6.1.19 #991
-
Upgrade to SLF4J 2.0.17 #988
-
Upgrade to Tomcat 10.1.40 #993
βοΈ Tasks
-
Release v2023.3.0-RC1
π Plugins
πProfiles
2023.3.0-M2
Include total 127 issues were closed https://github.com/orgs/graceframework/projects/7
βοΈ New Features
-
Introduce
GlobalCommandto indicate some commands alwasy be available #967 -
Add GORM for MongoDB artifacts to BOM #965
-
Rewrite the Script Commands
list-pluginsplugin-infoin Profilebaseto Shell CLI Commands #962 -
Support skipping some features with flag --skip on
create-app#961 -
Add new property examples to
CommandDescription#959 -
Support specific package name using command flag 'package-name' #957
-
Add liquibase-core and liquibase-hibernate5 to BOM #956
-
Support specific Database type using command flag 'database' #938 #939
-
Support Groovy Template in the skeleton of Profile #938
π Improvements
-
Update README - Update badge versions of Grace and Spring Boot - Add more Plugins and Guides
-
Make
list-profilesprofile-infoavailable in the project context, currently only globally #963 -
Refine the help message of
helpcommand #960 -
Refine the help message of
create-appcreate-plugincreate-profile#958 -
Exclude logback-spring.xml when packaging plugins #948
-
Increase the output width of application running status and plugin list information tables #947
-
Update README Update badge versions of Groovy and Spring Boot
-
No need to configure the assetsPath of asset-pipeline plugin #946
-
Support using methods instead of Closures in BootStrap class #943
-
grace-doc only support Gradle 8.0+ because of groovy-ant #937
-
Raise the minimum supported version of Gradle to 7.6.4+ or 8.3+ #936
-
Spring Dependency Management Plugin: Disable the customization of a generated pom
-
Also remove unused methods
resolveSpringBootVersion(),resolveSpringFrameworkVersion(),resolveTomcatVersion()#934 -
Update README Update badge of Spring Boot version
π Bug Fixes
-
The 'applicationClass' of Integration should be a valid main Application class annotated with
@SpringBootApplication#964 -
Fixed CreateAppCommandSpec #961
-
Update DocPublisher: migrate to
groovy.ant.AntBuilder#935 -
Improve GrailsGradlePlugin: Optimize the generated POM of plugin * GrailsGradlePlugin: Remove duplicated
spring-boot-dependencies
π Dependency Upgrades
-
Upgrade to AspectJ 1.9.23 #953
-
Upgrade to Grace Asset Pipeline Plugin 6.3.0-M1 #904
-
Upgrade to Grace Async and Events 6.3.0-M1 #931
-
Upgrade to Grace Cache Plugin 6.3.0-M1 #921
-
Upgrade to Grace Data 2023.3.0-M1 #922
-
Upgrade to Grace Data Migration Plugin 6.3.0-M1 #908
-
Upgrade to Grace Data MongoDB 2023.3.0-M1 #966
-
Upgrade to Grace Data Hibernate 2023.3.0-M1 #923
-
Upgrade to Grace Fields Plugin 6.3.0-M1 #924
-
Upgrade to Grace Geb Plugin 6.3.0-M1 #919
-
Upgrade to Grace Profile: Base 2023.3.0-M2 #925
-
Upgrade to Grace Profile: Plugin 2023.3.0-M2 #926
-
Upgrade to Grace Profile: Profile 2023.3.0-M2 #920
-
Upgrade to Grace Profile: Rest API 2023.3.0-M2 #927
-
Upgrade to Grace Profile: Starter 2023.3.0-M2 #915
-
Upgrade to Grace Profile: Web 2023.3.0-M2 #928
-
Upgrade to Grace Profile: Web Plugin 2023.3.0-M2 #929
-
Upgrade to Grace Scaffolding 6.3.0-M1 #930
-
Upgrade to Grace Views 6.3.0-M1 #905
-
Upgrade to Gradle 8.13 #954
-
Upgrade to Gradle 8.12.1 #944
-
Upgrade to Gradle Tooling API 8.13 #955
-
Upgrade to Gradle Tooling API 8.12.1 #945
-
Upgrade to Groovy 4.0.26 #952
-
Upgrade to Groovy 4.0.25 #933
-
Upgrade to Spring Boot 3.3.10 #949
-
Upgrade to Spring Boot 3.3.9 #940
-
Upgrade to Spring Boot 3.3.8 #932
-
Upgrade to Spring Framework 6.1.18 #950
-
Upgrade to Spring Framework 6.1.17 #941
-
Upgrade to Tomcat 10.1.39 #951
-
Upgrade to Tomcat 10.1.36 #942
βοΈ Tasks
-
Release v2023.3.0-M2
π Plugins
πProfiles
2023.3.0-M1
π Improvements
π Dependency Upgrades
-
Upgrade to AssertJ 3.25.3 #891
-
Upgrade to Commons Lang3 3.14.0 #892
-
Upgrade to Grace Profile: Base 2023.3.0-M1 #896
-
Upgrade to Grace Profile: Plugin 2023.3.0-M1 #897
-
Upgrade to Grace Profile: Profile 2023.3.0-M1 #898
-
Upgrade to Grace Profile: Rest API 2023.3.0-M1 #899
-
Upgrade to Grace Profile: Starter 2023.3.0-M1 #900
-
Upgrade to Grace Profile: Web 2023.3.0-M1 #901
-
Upgrade to Grace Profile: Web Plugin 2023.3.0-M1 #902
-
Upgrade to Jackson Databind 2.17.3 #893
-
Upgrade to Spring Boot 3.3.7 #520
βοΈ Tasks
-
Release v2023.3.0-M1
-
Disables Groovy Joint Validation Build
-
Switch to '2023.3.x' Update github workflows
-
Next development version: 2023.3.0-SNAPSHOT
πProfiles
2023.2.0
π Improvements
-
Update dependencies of
grace-web-jsp#889 -
Bean
jspTagLibraryResolveris created only if JSTL exists #888 -
Improve
assembletask and remove deprecation warnings #887 -
Code format
-
Add dependencies
jspjstleltograce-web-jsp#886 -
Make
jakarta-servletas a compileOnlyApi Dependency #885 -
Update build scripts to avoid deprecation warnings with Gradle 8 #884
π Dependency Upgrades
-
Upgrade to Grace Asset Pipeline Plugin 6.2.0 #867
-
Upgrade to Grace Async and Events 6.2.0 #868
-
Upgrade to Grace Cache Plugin 6.2.0 #869
-
Upgrade to Grace Data 2023.2.0 #870
-
Upgrade to Grace Data Hibernate 2023.2.0 #871
-
Upgrade to Grace Database Migration Plugin 6.2.0 #872
-
Upgrade to Grace Fields Plugin 6.2.0 #873
-
Upgrade to Grace Geb Plugin 6.2.0 #874
-
Upgrade to Grace Profile: Base 2023.2.0 #875
-
Upgrade to Grace Profile: Plugin 2023.2.0 #876
-
Upgrade to Grace Profile: Profile 2023.2.0 #877
-
Upgrade to Grace Profile: Rest API 2023.2.0 #878
-
Upgrade to Grace Profile: Starter 2023.2.0 #879
-
Upgrade to Grace Profile: Web 2023.2.0 #880
-
Upgrade to Grace Profile: Web Plugin 2023.2.0 #881
-
Upgrade to Grace Scaffolding 6.2.0 #882
-
Upgrade to Grace Views 6.2.0 #883
βοΈ Tasks
-
Release v2023.2.0
π Plugins
πProfiles
2023.2.0-RC1
βοΈ New Features
π Improvements
π Bug Fixes
π Dependency Upgrades
-
Upgrade to CodeNarc Gradle Plugin 3.5.0 #854
-
Upgrade to Checkstyle Gradle Plugin 10.12.4 #852
-
Upgrade to Grace Asset Pipeline Plugin 6.2.0-RC1 #822
-
Upgrade to Grace Async and Events 6.2.0-RC1 #823
-
Upgrade to Grace Cache Plugin 6.2.0-RC1 #824
-
Upgrade to Grace Data 2023.2.0-RC1 #825
-
Upgrade to Grace Data Hibernate 2023.2.0-RC1 #826
-
Upgrade to Grace Database Migration Plugin 6.2.0-RC1 #827
-
Upgrade to Grace Fields Plugin 6.2.0-RC1 #828
-
Upgrade to Grace Geb Plugin 6.2.0-RC1 #829
-
Upgrade to Grace Profile: Base 2023.2.0-RC1 #830
-
Upgrade to Grace Profile: Plugin 2023.2.0-RC1 #831
-
Upgrade to Grace Profile: Profile 2023.2.0-RC1 #832
-
Upgrade to Grace Profile: Rest API 2023.2.0-RC1 #833
-
Upgrade to Grace Profile: Starter 2023.2.0-RC1 #834
-
Upgrade to Grace Profile: Web 2023.2.0-RC1 #835
-
Upgrade to Grace Profile: Web Plugin 2023.2.0-RC1 #836
-
Upgrade to Grace Scaffolding 6.2.0-RC1 #837
-
Upgrade to Grace Views 6.2.0-RC1 #838
-
Upgrade to Gradle 8.12 #848
-
Upgrade to Gradle Tooling API 8.12 #849
-
Upgrade to JaCoCo Gradle Plugin 0.8.12 #853
-
Upgrade to Spring Dependency Management Plugin 1.1.7 #856
-
Upgrade to Spring Framework 6.1.16 #855
-
Upgrade to Test Retry Gradle Plugin 1.6.0 #851
βοΈ Tasks
-
Release v2023.2.0-RC1
2023.2.0-M3
βοΈ New Features
π Improvements
-
Define common properties for all Gradle plugins #846
π Bug Fixes
-
Remove all the unnecessary Gradle plugins properties files #843
-
Task
publishMavenPublicationshould be declared an explicit dependency onSign#842 -
Failed to publish publication 'graceXxxPluginMarkerMaven' to repository 'Sonatype' #841
-
Enable
pluginMavenpublication for Gradle plugins by removingautomatedPublishing = false#840 -
Update DocPublisher: migrate to
groovy.ant.AntBuilder#839
βοΈ Tasks
-
Release v2023.2.0-M3
2023.2.0-M2
βοΈ New Features
π Improvements
-
Improve Gradle build scripts #820
-
Update DataSourcePluginConfigurationTests #819
-
Remove bean
transactionManagerfromDataSourceplugin #817 -
Add
pluginGenerator #815 -
Enhance
I18nGenerator#814 -
Use Apache Commons Text #810
-
Add
@ConditionalOnMissingBeanon beans inUrlMappingsPluginConfiguration#809 -
Add
i18nGenerator #807 -
Refactor AbstractGenerator #806
-
Refactor Generator API #805
-
Update Interceptor generator template #804
-
Generator: generate operation can be revoked #802
-
Refactor Generator API #801
-
Update Gradle Build Scripts #799
-
Improvements for
GrailsProfileGradlePlugin#796 -
Exclude
micrometerin the distribution of Grace #795 -
Change PluginDefiner
org.grails.pluginstoorg.graceframework.plugins#777 -
Improve
GrailsPluginGradlePluginwith no functional changes #776 -
Plugin projects should not have
bootRuntasks enabled by default #775 -
Plugin projects should not create tasks such as
consoleshellApplicationCommandrunCommandrunScriptpathingJar#774 -
Allows to set a name for the Script Command #773
-
Allows to create a project that don’t include any features #770
-
Fix
CommandLineParserthrowArrayIndexOutOfBoundsExceptionwhen the option value is empty #769 -
Disables Gradle console output coloring in interactive mode #768
-
Register
GrailsExtensioninGroovyPagePlugin#767 -
Support
TemplateRenderer.template()to find specific the root directory of the templates #766 -
Support
GrailsConsoleto customize category and color of status message #765 -
Add new properties to
CommandArgument:typealiasesbanner#764 -
Allow commands to display help information on their own #763
π Dependency Upgrades
-
Upgrade to Grace Asset Pipeline Plugin 6.2.0-M2 #813
-
Upgrade to Grace Async and Events 6.2.0-M1 #779
-
Upgrade to Grace Cache Plugin 6.2.0-M1 #780
-
Upgrade to Grace Data 2023.2.0-M1 #781
-
Upgrade to Grace Data Hibernate 2023.2.0-M1 #782
-
Upgrade to Grace Database Migration Plugin 6.2.0-M1 #783
-
Upgrade to Grace Fields Plugin 6.2.0-M1 #784
-
Upgrade to Grace Geb Plugin 6.2.0-M1 #785
-
Upgrade to Grace Profile: Base 2023.2.0-M2 #786
-
Upgrade to Grace Profile: Plugin 2023.2.0-M2 #787
-
Upgrade to Grace Profile: Profile 2023.2.0-M2 #788
-
Upgrade to Grace Profile: Rest API 2023.2.0-M2 #789
-
Upgrade to Grace Profile: Starter 2023.2.0-M2 #790
-
Upgrade to Grace Profile: Web 2023.2.0-M2 #791
-
Upgrade to Grace Profile: Web Plugin 2023.2.0-M2 #792
-
Upgrade to Grace Scaffolding 6.2.0-M1 #793
-
Upgrade to Grace Views 6.2.0-M1 #794
-
Upgrade to Gradle 8.11.1 #797
-
Upgrade to Gradle Tooling API 8.11.1 #798
-
Upgrade to Maven 3.9.9 #800
-
Upgrade to Tomcat 10.1.34 #812
βοΈ Tasks
-
Release v2023.2.0-M2
2023.2.0-M1
π Improvements
π Dependency Upgrades
-
Upgrade to Byte Buddy 1.14.19 #741
-
Upgrade to Commons Codec 1.16.1 #742
-
Upgrade to Commons Lang3 3.13.0 #743
-
Upgrade to Grace Profile: Base 2023.2.0-M1 #754
-
Upgrade to Grace Profile: Plugin 2023.2.0-M1 #755
-
Upgrade to Grace Profile: Profile 2023.2.0-M1 #756
-
Upgrade to Grace Profile: Rest API 2023.2.0-M1 #757
-
Upgrade to Grace Profile: Starter 2023.2.0-M1 #758
-
Upgrade to Grace Profile: Web 2023.2.0-M1 #759
-
Upgrade to Grace Profile: Web Plugin 2023.2.0-M1 #760
-
Upgrade to H2 2.2.224 #744
-
Upgrade to HSQLDB 2.7.3 #745
-
Upgrade to JUnit Jupiter 5.10.5 #751
-
Upgrade to JUnit Platform 1.10.5 #752
-
Upgrade to Mockito 5.7.0 #746
-
Upgrade to SLF4J 2.0.16 #747
-
Upgrade to SnakeYAML 2.2 #748
-
Upgrade to Spring Boot 3.2.12 #749
-
Upgrade to Spring Framework 6.1.15 #750
βοΈ Tasks
-
Release v2023.2.0-M1
-
Next development version: 2023.2.0-SNAPSHOT
2023.1.1
π Improvements
π Bug Fixes
-
Remove bean
transactionManagerfromDataSourceplugin #816
π Dependency Upgrades
βοΈ Tasks
-
Release v2023.1.1
-
Next development version: 2023.1.1-SNAPSHOT
2023.1.0
π Improvements
-
Plugin
gspdependency on plugini18nshould be optional #737
π Bug Fixes
-
Fixed bean
grailsResourceLocatorname conflict inCoreConfigurationandGroovyPagesAutoConfiguration#736
π Dependency Upgrades
-
Upgrade to Grace Asset Pipeline Plugin 6.1.0 #719
-
Upgrade to Grace Async and Events 6.1.0 #720
-
Upgrade to Grace Cache Plugin 6.1.0 #721
-
Upgrade to Grace Data 2023.1.0 #722
-
Upgrade to Grace Data Hibernate 2023.1.0 #723
-
Upgrade to Grace Database Migration Plugin 6.1.0 #724
-
Upgrade to Grace Fields Plugin 6.1.0 #725
-
Upgrade to Grace Geb Plugin 6.1.0 #726
-
Upgrade to Grace Profile: Base 2023.1.0 #727
-
Upgrade to Grace Profile: Plugin 2023.1.0 #728
-
Upgrade to Grace Profile: Profile 2023.1.0 #729
-
Upgrade to Grace Profile: Rest API 2023.1.0 #730
-
Upgrade to Grace Profile: Starter 2023.1.0 #731
-
Upgrade to Grace Profile: Web 2023.1.0 #732
-
Upgrade to Grace Profile: Web Plugin 2023.1.0 #733
-
Upgrade to Grace Scaffolding 6.1.0 #734
-
Upgrade to Grace Views 6.1.0 #735
βοΈ Tasks
-
Release v2023.1.0
π Plugins
πProfiles
2023.1.0-RC1
βοΈ New Features
-
Binding variable
configto Console and Shell #709
π Improvements
-
Improve
CreateAppCommandRemove some unnecessary directories and extra configurations when creating a minimal application #712 -
Grace Plugin Controllers: Update additional Spring Boot configuration metadata files #711
-
Move from GroovyPageForkCompileTask’s deprecated
Project.javaexec(Action)method toExecOperations.javaexec(Action)#708
π Bug Fixes
-
Fixed a bug due to use Configuration Properties:
GroovyPagesProperties#713
π Dependency Upgrades
-
Upgrade to Grace Asset Pipeline Plugin 6.1.0-RC1 #688
-
Upgrade to Grace Async and Events 6.1.0-RC1 #689
-
Upgrade to Grace Cache Plugin 6.1.0-RC1 #690
-
Upgrade to Grace Data 2023.1.0-RC1 #691
-
Upgrade to Grace Data Hibernate 2023.1.0-RC1 #692
-
Upgrade to Grace Database Migration Plugin 6.1.0-RC1 #693
-
Upgrade to Grace Fields Plugin 6.1.0-RC1 #694
-
Upgrade to Grace Geb Plugin 6.1.0-RC1 #695
-
Upgrade to Grace Profile: Base 2023.1.0-RC1 #696
-
Upgrade to Grace Profile: Plugin 2023.1.0-RC1 #697
-
Upgrade to Grace Profile: Profile 2023.1.0-RC1 #698
-
Upgrade to Grace Profile: Rest API 2023.1.0-RC1 #699
-
Upgrade to Grace Profile: Starter 2023.1.0-RC1 #700
-
Upgrade to Grace Profile: Web 2023.1.0-RC1 #701
-
Upgrade to Grace Profile: Web Plugin 2023.1.0-RC1 #702
-
Upgrade to Grace Scaffolding 6.1.0-RC1 #703
-
Upgrade to Grace Views 6.1.0-RC1 #704
-
Upgrade to Gradle Nexus Publish Plugin 2.0.0 #707
-
Upgrade to Groovy 4.0.24 #705
-
Upgrade to Tomcat 10.1.33 #706
βοΈ Tasks
-
Release v2023.1.0-RC1
2023.1.0-M3
βοΈ New Features
-
Support creating a minimal application by using a minimal flag #679
-
Grace Plugin Url Mappings: Generating Spring Boot configuration metadata files #677
-
Grace Plugin Rest: Generating Spring Boot configuration metadata files #676
-
Grace Plugin Mimetypes: Generating Spring Boot configuration metadata files #675
-
Grace Plugin Interceptors: Generating Spring Boot configuration metadata files #674
-
Grace Plugin Domain Class: Generating Spring Boot configuration metadata files #673
-
Grace Plugin Codecs: Generating Spring Boot configuration metadata files #672
-
Grace Plugin i18n: Generating Spring Boot configuration metadata files #671
-
Grace Plugin Datasource: Generating Spring Boot configuration metadata files #670
-
Grace Plugin Databinding: Generating Spring Boot configuration metadata files #669
-
Grace Plugin Core: Generating Spring Boot configuration metadata files #668
-
Grace Plugin Converters: Generating Spring Boot configuration metadata files #667
-
Grace Plugin Controllers: Generating Spring Boot configuration metadata files #666
-
Grace Plugin API: Generating Spring Boot configuration metadata files #665
-
Grace Boot: Generating Spring Boot configuration metadata files #664
-
Enabling Configuration Properties for GSP Plugin #663
π Improvements
-
Add more Mime Types to the default configuration #686
-
Cleanup Dependencies #685
-
Enhances Groovy awared AutoProxy for AOP #684
-
Remove Jakarta Servlet from Grace distribution #683
-
Excluding all the transitive dependencies of
grace-datastore-core#682 -
Make
jakarta-servletas a Compile-only Dependency #681 -
Improvements for updating to new Spring Boot versions #680
π Bug Fixes
-
Fix
jspTagLibraryResolverbean definition error inWebSetupSpecInterceptor#678
π Dependency Upgrades
-
Upgrade to Grace Asset Pipeline Plugin 6.1.0-M3 #643
-
Upgrade to Grace Async and Events 6.1.0-M3 #644
-
Upgrade to Grace Cache Plugin 6.1.0-M3 #645
-
Upgrade to Grace Data 2023.1.0-M3 #646
-
Upgrade to Grace Data Hibernate 2023.1.0-M3 #647
-
Upgrade to Grace Database Migration Plugin 6.1.0-M3 #648
-
Upgrade to Grace Fields Plugin 6.1.0-M3 #649
-
Upgrade to Grace Geb Plugin 6.1.0-M3 #650
-
Upgrade to Grace Profile: Base 2023.1.0-M3 #651
-
Upgrade to Grace Profile: Plugin 2023.1.0-M3 #652
-
Upgrade to Grace Profile: Profile 2023.1.0-M3 #653
-
Upgrade to Grace Profile: Rest API 2023.1.0-M3 #654
-
Upgrade to Grace Profile: Starter 2023.1.0-M3 #655
-
Upgrade to Grace Profile: Web 2023.1.0-M3 #656
-
Upgrade to Grace Profile: Web Plugin 2023.1.0-M3 #657
-
Upgrade to Grace Scaffolding Plugin 6.1.0-M3 #658
-
Upgrade to Grace Views 6.1.0-M3 #659
-
Upgrade to Tomcat 10.1.31 #661
βοΈ Tasks
-
Release v2023.1.0-M3
2023.1.0-M2
βοΈ New Features
π Improvements
-
Make
validateableConstraintsEvaluatoras Primary bean #641 -
Support specific Spring Boot version using command flag
boot-version#640 -
Make
gradle-tooling-apiscope only for shell #639 -
Remove submodule
grace-web-boot#638 -
Add
eventsplugin tograce-dependencies#636 -
ApplicationClassInjector: No need to exclude auto configure classes forApplication#635 -
Enhance
GrailsLayoutViewResolverPostProcessor#634 -
Make bean
grailsLayoutViewResolverPostProcessorauto configure #633 -
Remove unused bean
abstractViewResolver#632 -
Remove unused bean
abstractGrailsResourceLocator#631
π Bug Fixes
-
Fixes wrong
@ConditionalOnPropertywithgrails.web.hiddenmethod.filter.enabled#637
π Dependency Upgrades
-
Upgrade to Grace Asset Pipeline Plugin 6.1.0-M2 #609
-
Upgrade to Grace Async and Events 6.1.0-M2 #610
-
Upgrade to Grace Cache Plugin 6.1.0-M2 #611
-
Upgrade to Grace Data 2023.1.0-M2 #612
-
Upgrade to Grace Data Hibernate 2023.1.0-M2 #613
-
Upgrade to Grace Database Migration Plugin 6.1.0-M2 #614
-
Upgrade to Grace Fields Plugin 6.1.0-M2 #615
-
Upgrade to Grace Geb Plugin 6.1.0-M2 #616
-
Upgrade to Grace Profile: Base 2023.1.0-M2 #617
-
Upgrade to Grace Profile: Plugin 2023.1.0-M2 #618
-
Upgrade to Grace Profile: Profile 2023.1.0-M2 #619
-
Upgrade to Grace Profile: Rest API 2023.1.0-M2 #620
-
Upgrade to Grace Profile: Starter 2023.1.0-M2 #621
-
Upgrade to Grace Profile: Web 2023.1.0-M2 #622
-
Upgrade to Grace Profile: Web Plugin 2023.1.0-M2 #623
-
Upgrade to Grace Scaffolding 6.1.0-M2 #624
-
Upgrade to Grace Views 6.1.0-M2 #625
βοΈ Tasks
-
Release v2023.1.0-M2
2023.1.0-M1
π Improvements
π Bug Fixes
π Dependency Upgrades
-
Upgrade to Apache Ant 1.10.15 #593
-
Upgrade to AsciidoctorJ 2.5.13 #571
-
Upgrade to AspectJ 1.9.22.1 #551
-
Upgrade to AssertJ 3.24.2 #552
-
Upgrade to Byte Buddy 1.14.16 #553
-
Upgrade to Grace Asset Pipeline Plugin 6.1.0-M1 #572
-
Upgrade to Grace Async and Events 6.1.0-M1 #573
-
Upgrade to Grace Cache Plugin 6.1.0-M1 #574
-
Upgrade to Grace Data 2023.1.0-M1 #575
-
Upgrade to Grace Data Hibernate 2023.1.0-M1 #576
-
Upgrade to Grace Database Migration Plugin 6.1.0-M1 #577
-
Upgrade to Grace Fields Plugin 6.1.0-M1 #578
-
Upgrade to Grace Geb Plugin 6.1.0-M1 #579
-
Upgrade to Grace Profile: Base 2023.1.0-M1 #580
-
Upgrade to Grace Profile: Plugin 2023.1.0-M1 #581
-
Upgrade to Grace Profile: Profile 2023.1.0-M1 #582
-
Upgrade to Grace Profile: Rest API 2023.1.0-M1 #583
-
Upgrade to Grace Profile: Starter 2023.1.0-M1 #584
-
Upgrade to Grace Profile: Web 2023.1.0-M1 #585
-
Upgrade to Grace Profile: Web Plugin 2023.1.0-M1 #586
-
Upgrade to Grace Scaffolding 6.1.0-M1 #587
-
Upgrade to Grace Views 6.1.0-M1 #588
-
Upgrade to Gradle Git Properties 2.4.2 #554
-
Upgrade to Groovy 4.0.23 #594
-
Upgrade to Gson 2.10.1 #555
-
Upgrade to HSQLDB 2.7.2 #556
-
Upgrade to Jackson Databind 2.15.4 #557
-
Upgrade to Jakarta Inject 2.0.1 #558
-
Upgrade to Jakarta Servlet JSP 3.1.1 #559
-
Upgrade to Jakarta Servlet JSP JSTL 3.0.2 #560
-
Upgrade to Jakarta XML Bind 4.0.2 #561
-
Upgrade to Java Parser 3.26.2 #562
-
Upgrade to Javassist 3.30.2-GA #563
-
Upgrade to Json Unit 2.40.1 #564
-
Upgrade to Jsoup 1.18.1 #565
-
Upgrade to JUnit Jupiter 5.9.3 #566
-
Upgrade to JUnit Platform 1.9.3 #567
-
Upgrade to Mockito 5.3.1 #568
-
Upgrade to Objenesis 3.4 #569
-
Upgrade to SLF4J 2.0.13 #570
-
Upgrade to Spring Boot 3.1.12 #550
-
Upgrade to Tomcat 10.1.29 #596
-
Upgrade to Tomcat 10.1.30 #598
βοΈ Tasks
-
Release v2023.1.0-M1
-
Update github workflows
-
Next development version: 2023.1.0-SNAPSHOT
2023.0.2
π Bug Fixes
βοΈ Tasks
-
Release v2023.0.2
-
Next development version: 2023.0.2-SNAPSHOT
π Dependency Upgrades
2023.0.1
π Improvements
-
Change group and description of Gradle task
consoleandshell#525 -
Change group of Gradle task
urlMappingsReport#524 -
Change group of Gradle task
runCommandandrunScript#523 -
Set group of Gradle task
configScript#522 -
Improve
ApplicationTemplateCommandSupport using command line options inapp:template#516
π Bug Fixes
-
Task
mergeTestReportsshoud explicit depend ontest#548 -
Grace BOM: Add missing
grace-datastore-web#547 -
Fixes compiling error when a Domain Class with
@Resourceannotation #545 -
Remove exclude dependency
org.codehaus.groovyofgrace-datatore-*#544 -
Use
ResourceUtils.getURLto resolve theviewsDirlocation to ajava.net.URL#526 -
Fixes link 404 in
grace-plugin-dynamic-modules/README.md#515
βοΈ Tasks
-
Release v2023.0.1
-
Next development version: 2023.0.1-SNAPSHOT
π Dependency Upgrades
-
Upgrade to Caffeine 3.1.8 #546
-
Upgrade to Grace Asset Pipeline Plugin 6.0.1 #527
-
Upgrade to Grace Async and Events 6.0.1 #528
-
Upgrade to Grace Cache Plugin 6.0.1 #529
-
Upgrade to Grace Data 2023.0.1 #530
-
Upgrade to Grace Data Hibernate 2023.0.1 #531
-
Upgrade to Grace Database Migration Plugin 6.0.1 #532
-
Upgrade to Grace Fields Plugin 6.0.1 #533
-
Upgrade to Grace Geb Plugin 6.0.1 #534
-
Upgrade to Grace Profile: Base 2023.0.1 #535
-
Upgrade to Grace Profile: Plugin 2023.0.1 #536
-
Upgrade to Grace Profile: Profile 2023.0.1 #537
-
Upgrade to Grace Profile: Rest API 2023.0.1 #538
-
Upgrade to Grace Profile: Starter 2023.0.1 #539
-
Upgrade to Grace Profile: Web 2023.0.1 #540
-
Upgrade to Grace Profile: Web Plugin 2023.0.1 #541
-
Upgrade to Grace Scaffolding 6.0.1 #542
-
Upgrade to Grace Views 6.0.1 #543
2023.0.0
π Improvements
-
Update
README.md -
Set group and description of Gradle task
pathingJarandpathingJarCommand#513 -
Set group and description of Gradle task
runCommandandrunScript#512 -
Set group and description of Gradle task
findMainClass#511 -
Set description of Gradle task
configScript#510 -
Set group and description of Gradle task
compileGroovyPagesandcompileWebappGroovyPages#509 -
Set group and description of Gradle task
urlMappingsReport#508 -
Set group and description of Gradle task
buildProperties#507 -
Improvements for
GrailsPluginManagerandDefaultModuleDescriptorFactory#505 -
Adds new method
doDynamicModules()toGrailsPluginManager -
Refactor
DefaultModuleDescriptorFactory -
Enhance
DefaultModuleDescriptorFactoryDon’t throw exception when ModuleDescriptor class of module type not found -
Deprecate
grace-plugin-dynamic-modules#504 -
Update
DefaultGrailsPluginTests -
Deprecate
grace-plugin-dynamic-modules -
Update
DynamicPlugin, changevoid doWithDynamicModules()toClosure doWithDynamicModules() -
Make tests passed Because dependency
spring-bootchanged tocompileOnly#501 -
Cleanup runtime dependencies of
gracce-shell#501 -
Ensure that features are applied in a fixed order when creating a project #498
-
Refine
ProfileInfoCommand: Check wheather commands deprecated of profile, and append[deprecated]to its description #444 -
Change URL of
grails-bomtomavenCentral()repository #443
π Bug Fixes
-
Disable banner and logging off when executing
./gradlew urlMappingsReport#506 -
Fixed NPE error with
DynamicPlugin.doWithDynamicModules()#504 -
Fixes
StaticResourceLoaderTests#500 -
Fixes
create-apperror with App Template #499 -
Don’t exclude
**/.gitkeepwhen creating a new project #497 -
Remove exclusions of dependency
groovy#496 -
Optimize SLF4J dependencies for all modules #495
-
Exclude
grace-shell.tarin the distribution of Grace #494 -
Singleton as the defualt scope of Controllers #493
-
Use
HttpMethod.valueOfinstead of resolve method
βοΈ Tasks
π Dependency Upgrades
-
Upgrade to Apache Ant 1.10.14 #503
-
Upgrade to Grace Asset Pipeline Plugin 6.0.0 #475
-
Upgrade to Grace Async and Events 6.0.0 #476
-
Upgrade to Grace Cache Plugin 6.0.0 #477
-
Upgrade to Grace Data 2023.0.0 #478
-
Upgrade to Grace Data Hibernate 2023.0.0 #479
-
Upgrade to Grace Database Migration Plugin 6.0.0 #480
-
Upgrade to Grace Fields Plugin 6.0.0 #481
-
Upgrade to Grace Geb Plugin 6.0.0 #482
-
Upgrade to Grace Profile: Base 2023.0.0 #483
-
Upgrade to Grace Profile: Plugin 2023.0.0 #484
-
Upgrade to Grace Profile: Profile 2023.0.0 #485
-
Upgrade to Grace Profile: Rest API 2023.0.0 #486
-
Upgrade to Grace Profile: Starter 2023.0.0 #487
-
Upgrade to Grace Profile: Web 2023.0.0 #488
-
Upgrade to Grace Profile: Web Plugin 2023.0.0 #489
-
Upgrade to Grace Scaffolding 6.0.0 #490
-
Upgrade to Grace Views 6.0.0 #491
-
Upgrade to Maven Settings Builder 3.9.4 #502
-
Upgrade to Spring Dependency Management Plugin 1.1.6 #445
-
Upgrade to Spring Framework 6.0.23 #492
2023.0.0-RC2
π Bug Fixes
-
Fixes
GrailsVersionthrow NPE when executegrace -v#440
βοΈ Tasks
-
Release v2023.0.0-RC2
π Dependency Upgrades
-
Upgrade to Grace Profile: Base 2023.0.0-RC2 #432
-
Upgrade to Grace Profile: Plugin 2023.0.0-RC2 #433
-
Upgrade to Grace Profile: Profile 2023.0.0-RC2 #434
-
Upgrade to Grace Profile: Rest API 2023.0.0-RC2 #435
-
Upgrade to Grace Profile: Starter 2023.0.0-RC2 #436
-
Upgrade to Grace Profile: Web Plugin 2023.0.0-RC2 #437
-
Upgrade to Grace Profile: Web 2023.0.0-RC2 #438
-
Upgrade to Tomcat 10.1.28 #439
2023.0.0-RC1
βοΈ New Features
-
Add a new Profile
starterstarter is a new Profile provides only one file, it gives you to write your own Application Templates, apply it when you create a new project including app, plugin, profile. #427 -
Force overwrite of existing files When creating an new app When creating a new app, force overwrite are allowed even if the directory already exists #426
-
Support for creating Grails apps that using Profiles Using a specific Grails version when you create a new app with
create-appcommand, but not support SNAPSHOT versions. #425 -
Support using latest Grace Snapshot version to test Snapshot is the latest, un-released version of Grace. #424
-
Support specific Grace version using command flag
grace-version#423 -
Add supports
quietflag inCreateAppCommand#421 -
Refine
GroovyScriptCommandThis allow script command to apply Application Templates to exist project, perform some complex tasks such as install, uninstall, upgrade. #413 -
Namespaced Command Add new attribute
namespacetoorg.grails.cli.profile.Command, allow commands groupd by namespace. #410 -
Support
Commandcan be hidden Commands can be hidden, in some cases, some infrequently used commands do not need to be shown to the user. #409 -
Application templates are simple Groovy files containing DSL, Ant scripts, etc. you can use templates to generate/customize Grace applications. #406
-
Support start scripts including
lib\extjars in classpath #382
β‘οΈ Breaking Changes
π Bug Fixes
-
Throw
StackOverflowErrorwhen GSP view not exists Don’t return cachedUrlMappingInfoin theUrlMappingsHandlerMapping#378
π Improvements
-
Make
tomcat-jdbcasimplementationdependency tograce-plugin-datasource#429 -
Don’t show
app:templatein non project directoryApplicationTemplateCommandshould implementsProjectCommandinstead ofProfileCommand#428 -
Don’t add
logfield for Domain Class #422 -
Refactor
GrailsVersion -
Fixes
getGrailsGradlePluginVersion()error for using Grails version -
Fixes value of option
grace-versionmaybe null when usingtoString -
Support specific Grails version using command flag
grace-versionSupports Grails 3, 4 -
Make Gradle compatible old versions used in Grails 3/4
-
Fixes issues when initializing dependencies of Profile and Features
-
Support specific Grails version using command flag
grace-versionSupports Grails 5, 6 -
Add methods to check Grails versions
-
Support specific Grace version using command flag
grace-version -
Add methods to check Grace versions
-
Update
CreateAppCommandto allow only log errors -
Add
quietflag toCommandLine -
Provide Command Options for Application Templates When creating a new project, we need to know the command options to create files or apply templates. #420
-
Add command options to script property and template binding
-
Add more options:
cssdatabasejavascriptenable-previewUseenable-previewto ignore flags or options valiate -
Add
getDeclaredOptions()forCommandLine -
Set
archiveClassifierof plugin jar toplugin#419 -
Enhance
UrlMappingsHolderFactoryBeanRemove unneed code, it will cause type cast exception #418 -
Use a temporary directory to generate template files #406
-
Refine
ApplicationTemplateCommandFixes a minor bug inCreateAppCommand#406 -
Add
apply()method toGroovyScriptCommandThis will supports script commands to apply Application Templates -
Add
deprecatedproperty toGroovyScriptCommand -
Add
visibleproperty toGroovyScriptCommand -
Provides namespace for Script Command
-
Deprecate
opencommand #412 -
Allow
Commandto be deprecated #411 -
Display a warning message when executing a deprecated command
-
Marked
[deprecated]on commands inhelpcommand -
Add
deprecatedproperty toMultiStepCommand -
Add
boolean isDeprecated()toCommand -
Support namespaced commands
-
Add
getNamespace()andgetFullName()toCommand -
Refactor
HelpCommandAdd flagallto show all commands, only show visible commands default -
Add
visibleproperty toMultiStepCommand -
Convert
org.grails.cli.profile.Commandto Java Add default methodboolean isVisible() -
Fixes fail tests related Groovy STC #404
-
Remove deprecated
LazyBeanMapUseLazyMetaPropertyMapinstead #408 -
Extract method
evaluateFeatures -
Support template hooks
postGenerateProject -
Extract method
generateProjectSkeleton -
Support template hooks
preApplyTemplateandpostApplyTemplate -
Use
Groovytask to execute Application Template scripts -
Fixes error in
hasFeature -
Fixes template could be
null -
Improve generated project information
-
Use
GrailsConsoleAntProjectand Grace’s Ant tasks -
Add more Ant tasks: * File * Git * Grace * Gradle * Groovy * Npm * Run * Say
-
Move
GrailsConsoleLoggerto its own class -
Refactor
CreateAppCommand* Fixes wrong project type * MakegetDestinationDirectoryprotected -
Refactor
CreateAppCommandCleanup -
Refactor
CreateAppCommandDon’t use global variables -
remove unneed method
resolveArtifactString -
Define constant UNZIP_TEMPLATE_TEMP_DIR
-
Refactor
CreateAppCommand -
Refactor
CreateAppCommand -
Refactor
CreateAppCommand -
Binding variables and versions to GStringTemplate
-
Don’t call replacestring on binary files
-
Improve
copySkeletonCheck file exists before copying Copy.gitattributes -
Refactor
CreateAppCommand -
Add more variables to Ant project properties
-
Support zip and git template and template directory
-
Support url resource for templates
-
Introduce Grace Application Templates
-
Improve
create-appcommand: display project informations after project created #385 -
ImproveΒ
create-appcommand error message when the app directory exists #384 -
Update Gradle default Start Script Templates #383
-
Add flags
stacktraceandverbosetocreate-appcommand #381 -
Add
mavenLocal()repository when using Grace snapshots version #380 -
Gradle: Use
JavaPluginExtensioninstead of deprecatedJavaPluginConvention -
Improve
DirectoryWatcher: Change logging level todebugwhen jna not available on MacOS -
Update docs templates
-
Update github workflows Upgrade Gradle Actions
-
Add Jakarta Servlet and JSP taglib schema definitions
-
Update
Metadata.DEFAULT_SERVLET_VERSIONto6.0
βοΈ Tasks
-
Release v2023.0.0-RC1
π Dependency Upgrades
-
Upgrade to Grace Asset Pipeline Plugin 6.0.0-RC1 #386
-
Upgrade to Grace Async and Events 6.0.0-RC1 #387
-
Upgrade to Grace Cache Plugin 6.0.0-RC1 #388
-
Upgrade to Grace Data 2023.0.0-RC1 #389
-
Upgrade to Grace Data Hibernate 2023.0.0-RC1 #390
-
Upgrade to Grace Database Migration Plugin 6.0.0-RC1 #391
-
Upgrade to Grace Fields Plugin 6.0.0-RC1 #392
-
Upgrade to Grace Geb Plugin 6.0.0-RC1 #393
-
Upgrade to Grace Profile: Base 2023.0.0-RC1 #396
-
Upgrade to Grace Profile: Plugin 2023.0.0-RC1 #397
-
Upgrade to Grace Profile: Profile 2023.0.0-RC1 #398
-
Upgrade to Grace Profile: Rest API 2023.0.0-RC1 #399
-
Upgrade to Grace Profile: Starter 2023.0.0-RC1 #430
-
Upgrade to Grace Profile: Web Plugin 2023.0.0-RC1 #400
-
Upgrade to Grace Profile: Web 2023.0.0-RC1 #401
-
Upgrade to Grace Scaffolding 6.0.0-RC1 #394
-
Upgrade to Grace Views 6.0.0-RC1 #395
-
Upgrade to Groovy 4.0.22 #404
-
Upgrade to Maven Resolver 1.9.14 #403
-
Upgrade to Maven 3.9.4 #402
-
Upgrade to
org.xhtmlrenderer:core-rendererR8 #407 -
Upgrade to SiteMesh 2.6.0 #350
-
Upgrade to Spring Framework 6.0.22 #351
-
Upgrade to Tomcat 10.1.25 #352
2023.0.0-M7
β‘οΈ Breaking Changes
-
Temporarily remove the
runcommand -
Migrate the new hibernate plugin
π Bug Fixes
-
Fixes task
compileGroovyexecute failed on Windows -
test: Use NullObject.getNullObject()
-
Gradle build: Using ByteBuddy instead of Cglib with Spock
-
Make tests passed Some tests ignored, should resolved later
-
The
SourceDirectorySet.outputDirproperty has been deprecated, use theclassesDirectoryproperty instead -
Fixes test because NullObject’s constructor is private now
-
Grails Web: Fixes
StackOverflowErrorwhen view not found -
Grails GSP: Fixes failed test in
GrailsConventionGroovyPageLocatorSpec -
Grails Bootstrap: Fixes failed test in
GrailsPluginMetadataTests -
Grails Plugin GSP: Fixes
StackOverflowError, because DefaultGroovyPageLocatorβs precompiledGspMap was not properly initialized -
Grails Plugin GSP: Fixes circle reference error in
GroovyPagesAutoConfiguration -
Grails Plugin GSP: Fixes NPE in
GroovyPagesAutoConfiguration -
Grails Boot: fixes NOT generate
ApplicationLoaderinBootInitializerClassInjector
π Improvements
-
Start building against SiteMesh 2.6.0 snapshots #299
-
Start building against Grace Data Hibernate 2023.0.0 snapshots #296
-
Start building against Grace Data 2023.0.0 snapshots #295
-
Grails GSP: Make logger protected in
DefaultGroovyPageLocator -
Grails GSP: Improvements for
DefaultGroovyPageLocator -
Grails Shell: Make Commands and Features displaying by order
-
Grails Shell: Rearrange repositories and buildRepositories before using Grails profile
-
Grails Core: Make
shouldInject(URL)default method inClassInjector -
Grails Plugin Interceptors: Adds missing
grails.factories -
Grails Plugin GSP: Adding version property to groovyPages plugin
-
Grails Core:
GrailsASTUtils: adding more methods to check whether the specified source is a Grails project source -
Grails Core: Deprecated
ClassInjector.shouldInject(URL), in favor ofshouldInject(ClassNode) -
Grails Gradle Plugin: configure Groovy AST Metadata for
configurationScriptofGroovyCompileOptions -
Improve Gradle build
-
Gradle Build: cleanup
-
Gradle Build: Configure Java toolchain
βοΈ Tasks
-
Release v2023.0.0-M7
-
Grace: update github workflows
-
ci: turn on unit tests
π Dependency Upgrades
-
Upgrade to Grace Asset Pipeline Plugin 6.0.0-M4 #297
-
Upgrade to Grace Async and Events 6.0.0-M4 #327
-
Upgrade to Grace Cache Plugin 6.0.0-M3 #329
-
Upgrade to Grace Data 2023.0.0-M5 #295
-
Upgrade to Grace Data Hibernate 2023.0.0-M5 #296
-
Upgrade to Grace Database Migration Plugin 6.0.0-M3 #333
-
Upgrade to Grace Fields Plugin 6.0.0-M3 #330
-
Upgrade to Grace Geb Plugin 6.0.0-M3 #331
-
Upgrade to Grace Profile: Base 2023.0.0-M5 #334
-
Upgrade to Grace Profile: Plugin 2023.0.0-M4 #335
-
Upgrade to Grace Profile: Profile 2023.0.0-M4 #336
-
Upgrade to Grace Profile: Rest API 2023.0.0-M4 #337
-
Upgrade to Grace Profile: Web Plugin 2023.0.0-M4 #338
-
Upgrade to Grace Profile: Web 2023.0.0-M4 #339
-
Upgrade to Grace Scaffolding 6.0.0-M3 #332
-
Upgrade to Grace Views 6.0.0-M4 #328
-
Upgrade to Gradle Wrapper 7.6.4 #326
-
Upgrade to Gradle Tooling Api 7.6.4 #325
-
Upgrade to Groovy 4.0.21 #320
-
Upgrade to SiteMesh 2.6.0-M1 #299
-
Upgrade to SLF4J 2.0.9 #324
-
Upgrade to Spring Boot 3.0.13 #321
-
Upgrade to Spring Framework 6.0.14 #322
-
Upgrade to Tomcat 10.1.16 #323
2023.0.0-M6
βοΈ New Features
-
Grails Plugin GSP: Migrate to Jakarta Standard Tag Library 3.0
-
Grails Web JSP: adding
web-app_5_0.xsdweb-app_6_0.xsdweb-jsptaglibrary_3_0.xsd
π Improvements
-
Use default
compileDirconfigured inasset-pipeline#292 -
Remove Micronaut related libraries in Gradle versions catalog #291
-
Rewrite
Metadata#290 -
Add tests to check resolve strategy of
BeanBuilder invokeBeanDefiningClosure()#269 -
Improvements for
run-command#288 -
Supports
run-scriptloading in/app/scriptsandscripts#287 -
Grails Boot: Support configure watch files in
application.ymlin dev mode -
Grails Boot: Support reloading spring beans from
resources.xmlwhen changed -
Grails Plugin Core: Support reloading spring
resources.groovywhen changed -
Grails Bootstrap: Update
BuildSettings -
Grails Bootstrap: Minor improvements for
GrailsResourceUtils -
Grails Bootstrap: Improve documentation and comments for
GrailsResourceUtils -
Grails i18n Plugin: Revert 0adeb492
-
Grails Boot: Refine
GrailsDevelopmentModeWatchApplicationContextInitializer -
Grails Boot: Simplify
GrailsDevelopmentModeWatchApplicationContextInitializer -
Grails Bootstrap: adding new
BuildSettings.GRAILS_APP_PATH property, it may beapporgrails-appas default. -
Grails i18n Plugin: Support watching i18n properties, use Ant to convert files to ASCII
-
Grails Boot: Refine
GrailsDevelopmentModeWatchApplicationContextInitializer, useBuildSettings.GRAILS_APP_DIR -
Grails Console: set IO verbosity to
VERBOSE -
Grails Gradle Plugin: Always configure system properties of
BuildSettingswhen executing command likebootRun,runCommand,runScript -
Grails Shell: using
BuildSettings.GRAILS_APP_DIRto load the project Classes in Completer -
Grails Shell: using
BuildSettings.GRAILS_APP_DIRto load config files -
Grails i18n Plugin: using
BuildSettings.GRAILS_APP_DIRto get i18n properties -
Grails Bootstrap: adding new
BuildSettings.APP_DIRsystem property, also configure it by Gradle plugin -
Grails Console: use
GrailsConsoleLoggerwhen running application commands or scripts -
Grails Console: Running scripts from
GRAILS_APP_DIR/scriptsdirectory -
Grails Bootstrap: Adding
GRAILS_APP_DIRtoBuildSettings -
Grails Console: Rename
GrailsApplicationContextCommandRunnertoGrailsApplicationCommandRunner -
Grails Console: set IO verbosity to
VERBOSE
π Bug Fixes
-
Remove WARN: Using deprecated '-debug' fallback for parameter name resolution #294
-
Migrate to
grace-docsdependency inGrailsDocGradlePlugin#293 -
Remove duplicated line
-
Remove unused grails-plugin-gsp
-
Fixes
event.source.file.canonicalFileerror #289 -
Remove unused Gradle plugin descriptors
-
Explicitly set resolve strategy to
OWNER_FIRSTinBeanBuilder.invokeBeanDefiningClosure#269 -
GrailsDevelopmentModeWatchApplicationContextInitializercompilerConfig.targetDirectoryis not correct #261 -
Ignore
SystemEnvironmentConfigSpec -
Grails Core: fix tests in
StackTracePrinterSpec -
Grails Plugin REST: fix tests
-
Fixes tests related aop scoped-proxy, set
proxy-target-class: false -
Revert "Grails Boot: Support configure watch files in application.yml in dev mode"
-
Grails Gradle Plugin: Don’t use deprecated Gradle
ConfigureUtil -
Grails Bootstrap: Fixes
GrailsResourceUtils.getPathFromBaseDir(), the path relative to the project base directory -
Grails Bootstrap: Update GrailsVersion in
GrailsUtilTests -
Grails Gradle Plugin: Import
grails-bomafterspring-boot-dependencies -
Grails Console: remove unnecessary
configureApplicationContextClass()inDevelopmentGrails -
Grails Gradle Plugin: set systemProperty
base.dirwhen running command or script -
Grails Console: Fixes BUG: The
run-scriptcommand does not work ifgrails.codegen.defaultPackageis set -
Grails Console: Don’t hook interceptors when execute commands
-
Grails Console: remove unnecessary
configureApplicationContextClass()inGrailsConsoleandGrailsShell
βοΈ Tasks
-
Release v2023.0.0-M6
-
Update github workflows
-
Add Badges
-
Update README
-
Update readme
-
Update GitHub ISSUE_TEMPLATE.md
-
Update github workflows
-
Update github issue templates
-
Update github issue templates
-
Grace: update github workflows
-
Grace: migrate to grace
π Dependency Upgrades
-
Upgrade to Grace Asset Pipeline Plugin 6.0.0-M3 #271
-
Upgrade to Grace Async and Events 6.0.0-M3 #272
-
Upgrade to Grace Cache Plugin 6.0.0-M2 #273
-
Upgrade to Grace Data 2023.0.0-M4 #274
-
Upgrade to Grace Data Hibernate 2023.0.0-M4 #275
-
Upgrade to Grace Database Migration Plugin 6.0.0-M2 #276
-
Upgrade to Grace Fields Plugin 6.0.0-M2 #277
-
Upgrade to Grace Geb Plugin 6.0.0-M2 #278
-
Upgrade to Grace Profile: Base 2023.0.0-M4 #281
-
Upgrade to Grace Profile: Plugin 2023.0.0-M3 #282
-
Upgrade to Grace Profile: Profile 2023.0.0-M3 #283
-
Upgrade to Grace Profile: Rest API 2023.0.0-M3 #284
-
Upgrade to Grace Profile: Web Plugin 2023.0.0-M3 #285
-
Upgrade to Grace Profile: Web 2023.0.0-M3 #286
-
Upgrade to Grace Scaffolding 6.0.0-M2 #279
-
Upgrade to Grace Views 6.0.0-M3 #280
-
Upgrade to Groovy 4.0.12
-
Upgrade to Jackson Databind 2.14.3
-
Upgrade to Micronaut 3.9.2
-
Upgrade to Spring Boot 3.0.7
-
Upgrade to Spring Framework 6.0.9
2023.0.0-M5
π Bug Fixes
-
Set default compatibility of
ProfileCompilerTaskto 17 -
Cleanup build scripts: make
spring-testtest only -
Fixed NPE in
GroovyPagesAutoConfiguration -
Adds missing spring resources
-
Revert
GroovyPageLayoutFinder -
Groovy 3: Migrate to
groovy.test.NotYetImplemented -
Code format: make imports ordered
-
Update
AbstractGrailsTagTests -
Grails Console: Remove dependency of
jna -
Grails Gradle Plugin: Fixes
run-commandfails -
Fixes
findMainClasserrors in Groovy 4
π Improvements
-
Gradle Plugin: Database Migration plugin no longer uses
app\migrationsby default #227 -
Gradle Plugin:
app\viewsshould not be treated as Resource dir #226 -
Remove deprecated Gradle plugins:
gracePluginPublishandgraceProfilePublish#217 -
Gradle Plugin: console and shell should be listed by group in Gradle tasks #216
-
Make application running status logging only when debug enabled
-
Grace: change console title
-
Update project skeleton: migrating from old apply plugin to plugins block #219
-
Use properties of
grace-bomas variables forCreateAppCommand#218 -
Remove the direct dependency of GSP on url-mappings plugin #228
-
Format codes in
GroovyPagesGrailsPlugin -
Auto-Configure
GroovyPagesGrailsPlugin -
Auto-Configure
GroovyPagesGrailsPlugin -
Auto-Configure
GroovyPagesGrailsPlugin -
Auto-Configure
GroovyPagesGrailsPlugin -
Grails Boot: use
configureProfilesin Grails -
Grails Console: custom title for
GrailsConsolefileNewWindow -
Grails Console: Rename
GrailsSwingConsoletoGrailsConsole -
Grails Console: Adding JVM and OS version for showAbout dialog
-
Grails Console: Migrate to Groovy 4, because Groovy 4 enable indy default
-
Grails Boot: Refactoring Grails
-
Grails Boot: Improve print information of the running app status
-
Grails Console: Improve
GrailsSwingConsole -
Grails Console: Improve the Grails shell with two call hooks:
beforeExecutionandafterExecution
βοΈ Tasks
-
Grace: update github workflows
-
Grace: update github workflows
-
Grace: migrate to grace
π Dependency Upgrades
-
Upgrade to Ant 1.10.13
-
Upgrade to Grace Profile: Base 2023.0.0-M3 #220
-
Upgrade to Grace Profile: Plugin 2023.0.0-M2 #221
-
Upgrade to Grace Profile: Profile 2023.0.0-M2 #222
-
Upgrade to Grace Profile: Rest API 2023.0.0-M2 #223
-
Upgrade to Grace Profile: Web 2023.0.0-M2 #225
-
Upgrade to Grace Profile: Web Plugin 2023.0.0-M2 #224
-
Upgrade to Jackson Databind 2.14.2
-
Upgrade to Methvin Directory Watcher 0.18.0
2023.0.0-M4
π Bug Fixes
βοΈ Tasks
-
Grace: update github workflows
π Dependency Upgrades
-
Upgrade to Ant 1.10.13
-
Upgrade to AsciidoctorJ 2.5.8
-
Upgrade to JSoup 1.16.1
-
Upgrade to Objenesis 3.3
-
Upgrade to SLF4J 2.0.7
2023.0.0-M3
βοΈ New Features
-
ApplicationCommand can be registered as a Gradle task #175
-
Migrate to Jakarta: using Jakarta XML Binding 4.0.0
-
Migrate to Jakarta: remove javax libs in Gradle version catalog
-
Migrate to Jakarta: Using
jakarta.persistence-api -
Migrate auto-configurations to
@AutoConfiguration -
Grails Shell: Adding variable
projectSnakeCaseNametoCreateAppCommand -
Grails Service and Spring Service coexist harmoniously
-
Grails Controller and Spring Controller coexist harmoniously
-
Changed viewName to better support integration with other view templates, like Groovy Templates
-
Improve log statements to help with debugging
-
Adding
toStringmethod, this is helpful for logs
β‘οΈ Breaking Changes
-
Remove supports for micronaut spring
-
Break Changes: Scaffold templates moved to resources root
-
Break changes: JPA Entity is no longer considered Grails Domain
π Bug Fixes
-
Update Grails version pattern
-
Grails Plugin REST: fixes
AbstractJsonViewContainerRenderercompiling errors ingrails-viewsproject -
Use jakarta servlet
-
Grails GSP: fixes layout view not found
-
Fixes violations for Checkstyle check
-
Fixes violations for Codenarc check
-
Fixes violations for Codenarc check
-
Grails Plugin GSP: remove loadAfter 'filters'
π Improvements
-
Gradle Plugin: remove unused constants
-
Gradle Plugin: remove configureGroovy
-
Gradle Plugin: remove micronaut dependency and configureFileWatch
-
Update runtime dependencies of shell
-
Refine GrailsResourceBanner Support Spring Boot 3
-
Grails REST render context support viewName including namespace and controller name
-
Grails REST render context support viewName including namespace and controller name
-
Improve
ApplicationClassInjector: make Grails to take advantage of DataSource and JPA configurations in Spring Boot -
Improvements made to JPA Entity compatibility
-
Update Dependencies
-
Refine
GroovyPageViewResolver -
Make GroovyGrailsPlugin ordered
-
Grails Shell: format Gradle build.gradle
-
Grails Shell: remove extra spaces
βοΈ Tasks
-
Gradle build: remove dependencySubstitution force using Groovy 4
-
Gradle Build: remove dependencySubstitution for using Groovy 4
-
Grace: add dependencySubstitution to use Groovy 4
-
Grace: update github workflows
-
Grace: optimize shell dependencies
-
Grace: update gradle build scripts
-
Don’t publish milestones to sdkman
π Dependency Upgrades
-
Upgrade to Caffeine 3.1.6
-
Upgrade to Grace Async and Events 6.0.0-M2 #170
-
Upgrade to Grace Cache Plugin 6.0.0-M1 #151
-
Upgrade to Grace Data 2023.0.0-M2 #166
-
Upgrade to Grace Data 2023.0.0-M3 #168
-
Upgrade to Grace Data Hibernate 2023.0.0-M2 #167
-
Upgrade to Grace Data Hibernate 2023.0.0-M3 #169
-
Upgrade to Grace Database Migration Plugin 6.0.0-M1 #154
-
Upgrade to Grace Fields Plugin 6.0.0-M1 #155
-
Upgrade to Grace Geb Plugin 6.0.0-M1 #156
-
Upgrade to Grace Profile: Base 2023.0.0-M2 #173
-
Upgrade to Grace Profile: Plugin 2023.0.0-M1 #158
-
Upgrade to Grace Profile: Profile 2023.0.0-M1 #159
-
Upgrade to Grace Profile: Rest API 2023.0.0-M1 #160
-
Upgrade to Grace Profile: Web Plugin 2023.0.0-M1 #161
-
Upgrade to Grace Profile: Web 2023.0.0-M1 #162
-
Upgrade to Grace Scaffolding 6.0.0-M1 #163
-
Upgrade to Grace Views 6.0.0-M2 #172
-
Upgrade to Groovy 4.0.11
-
Upgrade to groovy-toml 4.0.11
-
Upgrade to Micronaut Core 4.0.7 #171
-
Upgrade to SLF4J 2.0.7 #174
-
Upgrade to Spring Boot 3.0.6
-
Upgrade to Spring Framework 6.0.8
-
Upgrade to Tomcat 10.1.8
2023.0.0-M2
π Bug Fixes
-
Use jakarta servlet
-
Update Dependencies
-
Don’t publish milestones to sdkman
-
Fixes pluginExcludes type error
-
Grails Shell: fixes failing in 'create-app' Command
-
Gradle: migrate to Gradle 8 Gradle 8: 'classifier' was removed from type org.gradle.api.tasks.bundling.Jar
-
Grails Gradle Plugin: fixes some errors like AbstractMethodError in GrailsExtension and Environment
-
Gradle: Support Gradle 8.0 fixed: Could not create task of type 'GroovyPageForkCompileTask' in Gradle 8
-
Migrate to jakarta.* namespace
-
Grails Core: make GrailsASTUtils isDomainClass decoupled with 'javax.persistence-api' and GORM
-
Gradle Plugin: remove SDK Plugin
π Improvements
-
Grace: update install.txt
-
Grace: update runtime dependencies for shell
-
Grace: optimize shell dependencies
-
Grace: rename install and license
-
Grace: update readmes and license
βοΈ Tasks
-
Grace: update gradle build scripts
-
Grace: update github workflows skip tests
-
Grace: update github workflows
-
Grace: update github workflows
-
Grace: fix Conflicting module versions
-
Grace: rename grails-sitemesh to grace-sitemesh
-
Grace: update run command
-
Grace: optimize shell dependencies
-
Grace: fixed some known issues
-
Grace: update profile and commands
-
Grace: update banner
-
Grace: fixed failed tests
-
Grace: update media assets
-
Grace: update testsuite build scripts
-
Grace: update github workflows
-
Grace: update gradle build scripts
-
Grace: rename all sub-projects
π Dependency Upgrades
-
Gradle Plugin: Upgrade to JaCoCo 0.8.9
-
Gradle Plugin: Test Retry Plugin 1.5.2
-
Gradle Plugin: Upgrade to Nexus Publish Plugin 1.3.0
-
Gradle Plugin: Upgrade to Nebula Extra Configuration Plugin 9.0.0
-
Upgrade to Grace Asset Pipeline Plugin 6.0.0-M1 #149
-
Upgrade to Grace Asset Pipeline Plugin 6.0.0-M2 #165
-
Upgrade to Grace Async and Events 6.0.0-M1 #150
-
Upgrade to Grace Data Hibernate 2023.0.0-M1 #153
-
Upgrade to Grace Data 2023.0.0-M1 #152
-
Upgrade to Grace Profile: Base 2023.0.0-M1 #157
-
Upgrade to Grace View 6.0.0-M1 #164
2023.0.0-M1
Grace 2023.0 will be the first release to support Spring Boot 3.0 and Spring Framework 6.0. This release will be migrated to Jakarta namespace, upgraded to Jakarta Servlet 6 and Jakarta JSP 3.1, Jakarta Transaction API 2.0. To accomplish this, we merged both the SiteMesh 2.4.2 and GSP projects into this repository, and did a lot of migration and upgrade work. The next step will be to gradually upgrade other major projects, such as Grace GORM, as well as other core plugins.
βοΈ New Features
-
Jakarta: Migrate to 'jakarta.*' namespaces
-
Jakarta: Migrate to 'jakarta.persistence' namespaces
-
Jakarta: Migrate to 'jakarta.*' namespaces
-
Jakarta: Using jakarta.persistence-api
-
Support Jakarta EE 9
-
Support Jakarta EE 9
-
SiteMesh: Support Jakarta EE 9
-
Grails GSP Import GSP related projects into Grails Framework
-
Adding Grails Dynamic Modules Plugin
-
Import Spring Boot CLI
β‘οΈ Breaking Changes
-
Micronaut: Remove supports for Micronaut Spring
π Bug Fixes
-
Grace: fixed some known issues
-
Fixes deprecated warnings from SafeConstructor and Representer
-
CodeNarc: Fixes violations for CodeNarc check
-
Fixes errors for Checkstyle check: [RequireThis]
-
Grails Shell: fixes wrong location of 'grails-bom-effective.xml'
-
Grails Shell: fixed error import of GrailsDependenciesDependencyManagement
-
Grails GSP: fixes tests NPE with JSP 2.2 and JSTL 1.2
-
Grails GSP: fixes JSP tags not found
-
Grails GSP: added missing grails-plugin.xml
-
Grails GSP: fixed STC errors
-
Fixes some errors related to classLoader
-
Fixes type cast error in GradleCommand
π Improvements
-
Groovy: explicitly import 'groovy.xml.XmlSlurper' *: revert 'Adding not related modules'
-
SiteMesh: make tests pass
-
SiteMesh: adding module: 'grails-sitemesh'
-
SiteMesh: relocate to 'grails-sitemesh'
-
SiteMesh: Remove some files unused and not related
-
SiteMesh: relocate tlds to src/main/resources
-
Using Gradle to build
-
Update Grails version to 2023.0.0
-
Reorganizing the project codebase
-
fix: remove unused 'grails-gsp' in libs.version
-
Grails GSP: remove support for loading NamespacedTagDispatcher from Spring Beans
-
Grails GSP: minor improvements
-
Improvements for customizing Tag Namespace
-
Grails Gradle Plugin: remove dependency of 'spring-boot-cli'
-
Grails Gradle Plugin: adding dependency 'spring-boot-cli'
-
Grails Shell: remove depracted 'AetherGrapeEngine' and 'AetherGrapeEngineFactory'
-
Grails Shell: rename 'GrailsAetherGrapeEngineFactory' to 'GrailsMavenGrapeEngineFactory'
-
Grails Shell: use 'MavenResolverGrapeEngine' inplace of depracted 'AetherGrapeEngine'
-
Grails Shell: remove dependency of 'spring-boot-cli'
-
Grails Shell: remove SpringInvoker
-
Grails Shell: refactoring code
-
Grails Shell: refactoring GrailsApplicationCompilerAutoConfiguration and GrailsTestCompilerAutoConfiguration
-
Grails Shell: Apply IDEA Groovy and Java Code Style
-
Grails Shell: remove unused GrailsDependencyVersions
-
Grails Shell: relocate GrailsDependenciesDependencyManagement
-
Minor improvement: Correct words
-
Grails Web: Improvements for HttpServletReuest.isXhr
-
Grails Shell: Update RunCommand
-
Grails Shell: Update dependencies for GrailsCompilerAutoConfiguration
-
Grails Shell: Use GrailsDependenciesDependencyManagement replace of GrailsDependencyVersions
-
Grails GSP: adding web-app_3_0.x and web-app_4_0.xsd
-
Grails GSP: remove '@Depreacted' in JspInvokeGrailsTagLibTag
-
build: fixes Java Compile warnings of deprecated, unchecked, rawtypes
-
Grails GSP: isolated tests
-
Grails GSP: relocate test resources
-
Grails GSP: replace deprecated GrailsTagLibClass, DefaultGrailsTagLibClass, TagLibArtefactHandler
-
Grails GSP: cleanup build.gradle
-
Grails GSP: relocate ControllerTagLibraryTraitInjector to src/main/groovy
-
Grails GSP: define versions in Gradle version catalog
-
Grails GSP: update dependencies
-
Grails GSP: Update build.gradle
-
Prepare to merge
-
Grails Plugin Dynamic Modules: Change url to Object type
-
Update default Servlet version to 4.0
-
Refine UrlMappingsPluginConfiguration
-
Grails Plugin API: change closure ResolveStrategy to DELEGATE_FIRST
-
Grails Plugin API: relocate AbstractModuleDescriptor to 'grails.plugins.descriptors'
βοΈ Tasks
-
Release v2023.0.0-M1
-
Grace: update github workflows
-
Grace: update github workflows
-
Grace: fixed failed tests
-
Grace: optimize shell dependencies
-
Grace: remove excluding slf4j-simple in all dependencies
-
Grace: update custom banner file
-
Grace: update profile repository
-
Grace: update commands
-
Grace: update banner
-
Grace: update media assets
-
Grace: update gradle build scripts
-
Grace: rename all sub-projects
-
Update to Jakarta dependencies in all the subprojects
-
Added Jakarta EE dependencies to Gradle version catalog
-
Update build to JDK 17
-
Upgrade io.github.gradle-nexus:publish-plugin to 1.3.0
-
Upgrade com.netflix.nebula:gradle-extra-configurations-plugin to 8.0.0
-
build: Upgrade to Checkstyle 10.9.3
-
build: Upgrade to CodeNarc 3.2.0
-
Next development version: 2023.0.0-SNAPSHOT
π Dependency Upgrades
-
Upgrade to Apache Groovy 3.0.16
-
Upgrade to AspectJ 1.9.19
-
Upgrade to Caffeine 3.1.5
-
Upgrade to groovy-toml 4.0.10
-
Upgrade to HSQLDB 2.7.1
-
Upgrade to JUnit Jupiter 5.9.2 and JUnit Platform 1.9.2
-
Upgrade to Spring Boot 3.0.5
-
Upgrade to Spring Boot 3.0.0