Ported non-trivial app - builds and runs on Grails 4 (master, no release yet) JDK 11.0.1. Startup is about 15 seconds. (2x faster than Grails 3.3.9)
IDE Support all works in Grails 4 (same as 3.3.9)
- Grails 4 - https://grails.github.io/grails-upgrade/latest/guide/index.html#upgradingTo4x
- Spring Boot 2.1 - https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.1-Release-Notes
- Spring 5.1 - https://github.com/spring-projects/spring-framework/wiki/Upgrading-to-Spring-Framework-5.x
- Groovy 2.5 - http://groovy-lang.org/releasenotes/groovy-2.5.html
- Hibernate 5.3/5.4 support - http://hibernate.org/orm/releases/5.4/
- JDK 11 - https://www.oracle.com/technetwork/java/javase/11all-relnotes-5013287.html
-
Spring-Security-Core
4.0.0-BUILD_SNAPSHOT
- New delegation password strategy:
- If you already used bcrypt can do it all at once too:
UPDATE my_users SET password = CONCAT('{bcrypt}', password);
-
Spring-session-redis (boot starter)
- Updated dependancies
compile "org.springframework.boot:spring-boot-starter-data-redis"
compile "org.springframework.session:spring-session-data-redis"
- Spring-Websocket
- Seems to work, but cant import class into app
- Sentry
- Seems loggers/reporters work
- Gson Views
2.0.0.BUILD-SNAPSHOT
- Unable to render json with simple objects (just get
null
response) - Domain classes dont render:
Model variable [someDomain] of with value [Description] type [com.x.SomeDomain] is not of the correct type [com.x.SomeDomain]. Stacktrace follows:
- Opened Issue grails/grails-views#202
- Unable to render json with simple objects (just get
- Grails-Quartz
- Seems boot is pulling in a much newer version of quartz
- External Config
- Almost works - looks like an interface changed
- Grails Mail
- Can't find/create bean
Asset Pipeline Handlebars issue:- Needed to update to change
//= require handlebars/handlebars.js
to//= require handlebars-runtime
2019-01-13 16:59:42.280 WARN --- [nio-8080-exec-1] asset.pipeline.DirectiveProcessor : Unable to Locate Asset: /handlebars/handlebars.js Warning: Nashorn engine is planned to be removed from a future JDK release
- Needed to update to change
-
Build from source
- No releaese yet, so clone
grails-core
and run:cd grails-core ./gradlew install -x groovydoc sdk install grails 4.0.0-SNAPSHOT `pwd` cd .. grails create-app four
- No releaese yet, so clone
-
No more hot reload (spring-loaded)
- Fast reload takes about 5-6 seconds (hopefully can improve)
- GSP's currently trigger an app context reload - probably shouldn't?
- Should ignore
*.gson
too? - Running
./gradlew test
caused a reload? - Side benefit - you can reload domain class changes
-
Changed logback.groovy and now it thinks it's an Application class? (clean resolved)- Cant reproduce in a fresh app.
Execution failed for task ':bootRun'. > Unable to find a single main class from the following candidates [logback, app.grails4.Application]
-
Groovy 2.5.4
- Doesn't include the Date Utils helpers by default - need to add them in.
compile 'org.codehaus.groovy:groovy-dateutil'
- (Should just update to
java.time.*
)
- JDK 11 Warnings (expected)
- Disable by setting env var
GROOVY_TURN_OFF_JAVA_WARNINGS=true
- Disable by setting env var
- Doesn't include the Date Utils helpers by default - need to add them in.
-
Dependancies (Gradle 5.1)
- Odd issue where dependancies like
com.jameskleeh:excel-builder
- dont pull in their dependancies (eg: Apache POI)
- Odd issue where dependancies like
-
Hibernate Depricated warnings (expected)
Hibernate's legacy org.hibernate.Criteria API is deprecated; use the JPA javax.persistence.criteria.CriteriaQuery instead
- Hide em in
logback.groovy
-logger('org.hibernate.orm.deprecation', ERROR, ['STDOUT'], false)
HHH020100: The Ehcache second-level cache provider for Hibernate is deprecated. See https://hibernate.atlassian.net/browse/HHH-12441 for details.