(Quick Reference)

1.1.8 Other Novelties

Version: 3.2.3

1.1.8 Other Novelties

New Asciidoc Reference Documentation

The Grails user guide has been converted to use Asciidoctor for publishing, making it easier for users to contribute improvements to the documentation (Just click the "Improve this doc" link on the right!).

New default date data binding format

Dates formatted like "1970-01-01T00:00:00.000Z" will now be successfully parsed by default. The format is used by common JavaScript libraries.

The run-script command from Grails 2 is back

The run-script command makes a return! It is now possible to run Groovy scripts that are wrapped in a Grails context using Grails 3:

$ grails run-script my-groovy-script.groovy

Refer to the run-script documentation for more information.

Commands, a feature previously only available in plugins, are now available to be created in applications

$ grails create-command MyCommand

Note that commands defined in applications are not executed the same way as commands defined in plugins. See the updated documentation on create-command for details.

REST Profile Refinements

The REST profile has been further refined including more sensible UrlMappings and mime type configuration designed specifically for REST applications.

Ability to skip the Bootstrap process with a system property

When the Grails runtime is started, it will now execute *Bootstrap.groovy classes conditionally. If the system property grails.bootstrap.skip is set to true, the classes will not be executed for that run.

Changes to data binding with the body of a request

To be more inline with the HTTP/1.1 specification, request bodies in GET and DELETE requests will be ignored for data binding. The request body will also be ignored if the specified content length is 0.

Profile improvements

It is now possible to specify credentials for repositories used for profile resolution in your settings.groovy file. In addition, there are other new features useful for creating profiles. See the section on Profiles for the documentation.

Java 8 Date Support

Support for Java 8 date types has been added via a plugin. The tags formatDate and datePicker have been altered to support the new types. Support has been added to databinding to be able to successfully parse Java 8 dates. To take advantage of this functionality, add the new grails-java8 plugin to your application:

compile "org.grails.plugins:grails-java8"

If you are using hibernate and wish to persist the new date types, you should also add a dependency to hibernate-java8 as well:

compile "org.hibernate:hibernate-java8:<your hibernate version here>"