Skip to content

Releases: grails/grails-core

Grails 2.1.1

16 Jan 10:12
Compare
Choose a tag to compare

Grails 2.1.0

16 Jan 10:10
Compare
Choose a tag to compare

Grails 2.0.4

16 Jan 10:05
Compare
Choose a tag to compare

This release contains bug fixes and improvements.

For information about Grails 2.0 see the following links:

For information about Grails 2.0 see the following links:

v2.0.3

16 Jan 10:02
Compare
Choose a tag to compare

This release contains bug fixes and improvements.

For information about Grails 2.0 see the following links:

For information about Grails 2.0 see the following links:

Grails 2.0.2

16 Jan 09:59
Compare
Choose a tag to compare

This release contains bug fixes and improvements.

In addition there are important improvements to data binding. See Jeff's blog on the topic for details.

In Grails 2.0.2 the data binding mechanism will by default exclude all properties which are static, transient or dynamically typed. You may need to specify "bindable:true" in your constraints block in order to upgrade. Example presented below:

 class User {
     String email
     String passwordHash

     static transients = ['password']

     def setPassword(password) {
         passwordHash = email + password
     }
     static constraints = {
         password bindable:true
     }
 }

For information about Grails 2.0 see the following links:

For information about Grails 2.0 see the following links:

Grails 1.3.8

16 Jan 09:34
Compare
Choose a tag to compare

For information about Grails 1.3.8, see the following links:

Grails 2.0.1

16 Jan 09:56
Compare
Choose a tag to compare

Release Information

This release contains bug fixes and improvements.

For information about Grails 2.0 see the following links:

Grails 2.0.0

16 Jan 09:53
Compare
Choose a tag to compare

Grails 1.3.7

16 Jan 09:32
Compare
Choose a tag to compare

New Features & Improvements

Updated Groovy

Grails 1.3.7 now bundles Groovy 1.7.8.

Masking Request Parameters From Stacktrace Logs

When Grails logs a stacktrace, the log message may include the names and values of all of the request parameters for the current request. To mask out the values of secure request parameters, specify the parameter names in the @grails.exceptionresolver.params.exclude@ config property:

  grails.exceptionresolver.params.exclude = ['password', 'creditCard']

Request parameter logging may be turned off altogether by setting the grails.exceptionresolver.logRequestParameters config property to false . The default value is true when the application is running in DEVELOPMENT mode and false for all other modes.

  grails.exceptionresolver.logRequestParameters = false

Grails 1.3.6

16 Jan 09:27
Compare
Choose a tag to compare

Release Information

New Features

Update Notes

Updated Plugins

If you are upgrading from previous versions of Grails 2.3.x and you use the Hibernate and/or Tomcat plugins you will need to update the versions in BuildConfig:

  build ':tomcat:7.0.50.1'
  runtime ':hibernate:3.6.10.8'

Changes to Dependency Graph

Grails 2.3.6 makes some changes to the dependency graph inhertied by all applications. If you are excluding dependencies from the framework you may need to alter your exclusion rules.

Changes to transactions across multiple datasources

In previous Grails versions, additional datasources didn't take part in transactions initiated in Grails. The transactions in additional datasources were basically in auto commit mode. In some cases this might be the wanted behavior. One reason might be performance: on the start of each new transaction, the BE1PC transaction manager creates a new transaction to each datasource. It's possible to leave an additional datasource out of the BE1PC transaction manager by setting @transactional = false@ in the respective configuration block of the additional dataSource.

By default, the BE1PC implementation will add all beans implementing the Spring PlatformTransactionManager interface to the chained BE1PC transaction manager. You can use different configuration options for controlling this behaviour.

There is more details of this feature in the Transactions across multiple datasources section.

Changes to previous Grails 2.3.x releases

DataSource.groovy (before 2.3.6)

The default dataSource properties have been revised due to database connection problems that many users were having.

These are the new defaults.

        properties {
           // See http://grails.org/doc/latest/guide/conf.html#dataSource for documentation
           jmxEnabled = true
           initialSize = 5
           maxActive = 50
           minIdle = 5
           maxIdle = 25
           maxWait = 10000
           maxAge = 10 * 60000
           timeBetweenEvictionRunsMillis = 5000
           minEvictableIdleTimeMillis = 60000
           validationQuery = "SELECT 1"
           validationQueryTimeout = 3
           validationInterval = 15000
           testOnBorrow = true
           testWhileIdle = true
           testOnReturn = false
           jdbcInterceptors = "ConnectionState;StatementCache(max=200)"
           defaultTransactionIsolation = java.sql.Connection.TRANSACTION_READ_COMMITTED
        }

It's now also possible to add database driver specific properties to "dbProperties". This feature is usefull in fine tuning MySQL JDBC driver properties. There is an example on Stackoverflow.

UrlMappings.groovy (before 2.3.5)

replace this line

 "/$controller/$action?/$id?(.${format})?"{

with

 "/$controller/$action?/$id?(.$format)?"{