Releases: grails/grails-core
Grails 2.5.1
Update Notes
Recommended plugin versions
If you are upgrading from previous versions and you use the hibernate4 plugin, you will need to update the version in BuildConfig:
runtime ':hibernate4:4.3.10' // or ':hibernate:3.6.10.19'
recommended tomcat, asset-pipeline, cache and scaffolding plugin versions for Grails 2.5.x :
build ':tomcat:7.0.55.3'
compile ':cache:1.1.8'
compile ':scaffolding:2.1.2'
compile ':asset-pipeline:2.1.5'
For plugins, the recommended release plugin version is 3.1.1:
plugins {
build(":release:3.1.1",
":rest-client-builder:2.1.1") {
export = false
}
}
If you are using MongoDb GORM, the recommended plugin version is 3.0.3
compile ':mongodb:3.0.3'
Groovy Upgrade
Grails 2.5.1 ships with Groovy 2.4.4 which includes some changes in behavior that may affect some applications. The following JIRA issues describe the changes in behavior.
Change In JSON Behavior
Prior to 2.5.1 something like JSON.parse("{'myList':null}").myList
would evaluate to JSONObject.Null
because of an implementation leak. In 2.5.1 this has been fixed to evaluate to null
.
Grails 3.0.3
Grails 3.0.2
Grails 3.0.1
Grails 3.0.0
Grails 3.0.0.RC3
Grails 2.5.0
- User Guide
- JIRA Changelog
- Github commits
- Release notes for previous Grails 2.4.x releases
- source diff compared to 2.4.5
Update Notes
Grails 2.5.0 highlights
Grails 2.5.0 contains all of the fixes that Grails 2.4.5 contains. Grails 2.5.x will become the maintenance line for Grails 2.x .
The main changes compared to Grails 2.4.x are the dependency changes:
- Spring 4.1.x (current version 4.1.5.RELEASE). Spring 4.1 includes many new features and enhancements.
- Groovy 2.4.x (current version 2.4.3). For more information on Groovy 2.4, see the release notes.
Recommended plugin versions
If you are upgrading from previous versions and you use the hibernate4 plugin, you will need to update the version in BuildConfig:
runtime ':hibernate4:4.3.8.1' // or ':hibernate:3.6.10.19'
recommended tomcat, asset-pipeline, cache and scaffolding plugin versions for Grails 2.5.x :
build ':tomcat:7.0.55.2'
compile ':cache:1.1.8'
compile ':scaffolding:2.1.2'
compile ':asset-pipeline:2.1.5'
For plugins, the recommended release plugin version is 3.1.1:
plugins {
build(":release:3.1.1",
":rest-client-builder:2.1.1") {
export = false
}
}
The default BuildConfig.groovy
for plugins shipped with Grails 2.5.0 has dependency to release plugin 3.1.1 which has problems with Spring 4.1.x. The problem is fixed with release plugin version 3.1.1 and rest-client-builder version 2.1.1 .
If you are using MongoDb GORM, the recommended plugin version is 3.0.3
compile ':mongodb:3.0.3'
Changes in rest-client-builder behaviour
rest-client-builder version compatible with Grails 2.5.0:
compile ':rest-client-builder:2.1.1'
Spring 4.1.x causes a change in rest-client-builder behaviour.
It now comes with org.springframework.http.converter.json.GsonHttpMessageConverter
which changes how rest-client-builder behaves. In case of upgrade problems, that converter can be removed from the underlying RestTemplate
instance.
example solution:
def restBuilder = new RestBuilder()
restBuilder.restTemplate.messageConverters.removeAll { it.class.name == 'org.springframework.http.converter.json.GsonHttpMessageConverter' }
A better fix is to add an accept
method call for specifying the accepted content type. For example:
def responseText = restBuilder.get(someUrl) { accept 'text/plain' }.text
Changes in ehcache version in hibernate plugins
The ehcache version in hibernate plugins has been upgrade to 2.9.0 version of ehcache.
With this version, the defaults for hibernate.cache.region.factory_class
have been changed.
New defaults in DataSource.groovy
are
// cache.region.factory_class = 'org.hibernate.cache.SingletonEhCacheRegionFactory' // Hibernate 3
cache.region.factory_class = 'org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory' // Hibernate 4
This change is required for applications that use multiple datasources and have the Hibernate caching enabled.
There might be other changes in ehcache behaviour and configuration since it has been upgraded from 2.4.8 to 2.9.0 version.
ehcache 2.9.0 is more strict about the configuration. ehcache is used in the spring-security-core plugin for caching users. There is a problem reported as GRAILS-12120.
As a workaround to the "net.sf.ehcache.CacheException: Another unnamed CacheManager already exists in the same VM." error you can add this config to Config.groovy:
beans {
cacheManager {
shared = true
}
}
hibernate.flush.mode has been fixed
There has been a bug that hibernate.flush.mode setting wasn't used for all locations. Grails 2.4.3 changed the default to "manual", but that setting wasn't used everywhere.
GRAILS-11687 jira issue contains more information about the fixed bug.
This is mentioned in the release notes since some application might be relying on the previous behaviour.
h2 version change
This release ships with com.h2database:h2 version 1.3.176. This version has issues opening files created by previous versions, ref http://osdir.com/ml/h2-database/2014-06/msg00007.html .
The workaround is use a newer/older version of h2.
dependencies {
runtime 'com.h2database:h2:1.3.175' // or 'com.h2database:h2:1.4.186' for most recent
}
Docs download
Grails 2.4.5
Update Notes
Recommended plugin versions
If you are upgrading from previous versions and you use the hibernate4 plugin, you will need to update the version in BuildConfig:
runtime ':hibernate4:4.3.8.1' // or ':hibernate:3.6.10.19'
recommended tomcat, asset-pipeline, cache and scaffolding plugin versions for Grails 2.4.x :
build ':tomcat:7.0.55.2'
compile ':cache:1.1.8'
compile ':scaffolding:2.1.2'
compile ':asset-pipeline:2.1.5'
If you are using MongoDb GORM, the recommended plugin version is 3.0.3
compile ':mongodb:3.0.3'
Changes in ehcache version in hibernate plugins
The ehcache version in hibernate plugins has been upgrade to 2.9.0 version of ehcache.
With this version, the defaults for hibernate.cache.region.factory_class
have been changed.
New defaults in DataSource.groovy
are
// cache.region.factory_class = 'org.hibernate.cache.SingletonEhCacheRegionFactory' // Hibernate 3
cache.region.factory_class = 'org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory' // Hibernate 4
This change is required for applications that use multiple datasources and have the Hibernate caching enabled.
There might be other changes in ehcache behaviour and configuration since it has been upgraded from 2.4.8 to 2.9.0 version.
ehcache 2.9.0 is more strict about the configuration. ehcache is used in the spring-security-core plugin for caching users. There is a problem reported as GRAILS-12120.
As a workaround to the "net.sf.ehcache.CacheException: Another unnamed CacheManager already exists in the same VM." error you can add this config to Config.groovy:
beans {
cacheManager {
shared = true
}
}
hibernate.flush.mode has been fixed
There has been a bug that hibernate.flush.mode setting wasn't used for all locations. Grails 2.4.3 changed the default to "manual", but that setting wasn't used everywhere.
GRAILS-11687 jira issue contains more information about the fixed bug.
This is mentioned in the release notes since some application might be relying on the previous behaviour.
h2 version change
This release ships with com.h2database:h2 version 1.3.176. This version has issues opening files created by previous versions, ref http://osdir.com/ml/h2-database/2014-06/msg00007.html .
The workaround is use a newer/older version of h2.
dependencies {
runtime 'com.h2database:h2:1.3.175' // or 'com.h2database:h2:1.4.186' for most recent
}
Docs download
v3.0.0.RC2
- Grails 3.0 Preview on Youtube
- What's new in Grails 3.0 Guide
- User Guide
- JIRA Changelog
- Github commits
Read 3.0.0.RC1 release notes if you are upgrading plugins from 3.0.0.M2/M1 .
v3.0.0.RC1
- Grails 3.0 Preview on Youtube
- What's new in Grails 3.0 Guide
- User Guide
- JIRA Changelog
- Github commits
Upgrading plugins from 3.0.0.M2
Required updates to build.gradle
files
We now use Nebula Extra Configurations Gradle plugin for the "provided" Gradle configuration instead of rolling our own. This requires changes in build.gradle
files in Grails plugin projects. The reason for this is that for some Gradle plugins, the plugins must be applied in a certain order. The idea
, eclipse
and maven-publish
plugins should be applied before the provided-base
plugin. The Grails Gradle plugin will now be applying provided-base
internally so this means that idea
, eclipse
and maven-publish
plugins should come before org.grails.grails-plugin
.
Here's the commit to the profile to update build.gradle template.
The provided-base
plugin gets applied now by the org.grails.grails-core
project so that we can standardize on using one way to implement provided
in Grails project builds.