Release Notes - Grails - Version 2.3-M1 - HTML format

Sub-task

  • [GRAILS-2606] - Provide Codec for escaping just the XML entities for easier GSP XML rendering
  • [GRAILS-2616] - Change default codec to html for new projects
  • [GRAILS-3159] - Domain class binding on relationships should reject values passed in to relationship field names
  • [GRAILS-4202] - Can't bind command objects containing lists of arrays
  • [GRAILS-5582] - Support binding collections for command objects
  • [GRAILS-6101] - bindData with explicit includes that use collection indexes does not work as of 1.2.x
  • [GRAILS-6107] - GrailsParameterMap put method does not honour nested keys - means controller.params.X = does not work in test cases for controller closures with multiple command objects
  • [GRAILS-6153] - mockParams data binding problem in a unit test
  • [GRAILS-6480] - Data binding problem with association, embedded object and Property Editors
  • [GRAILS-6547] - Support data binding for Maps
  • [GRAILS-6710] - A value rejected during the data binding gets lost after validation
  • [GRAILS-6766] - Data binding with numbers
  • [GRAILS-6901] - Make StringTrimmerEditor the default property editor for String
  • [GRAILS-7136] - Have Grails automatically handle encodeAs attribute on any taglib, and automatically apply the encoding to the output
  • [GRAILS-7170] - XSS vulnerability: g:message doesn't escape message arguments
  • [GRAILS-7622] - encodeAsHTML not working during controller testing when rendering a template
  • [GRAILS-7925] - Stop default GSP encoding being applied to views and layouts supplied by plugins
  • [GRAILS-8346] - Grails parameter binding to a hasMany relationship fails when not using a multi-select list
  • [GRAILS-8640] - Support automatic data binding for polymorphic associations
  • [GRAILS-8957] - Domain instance binding issue when named args constructor is used
  • [GRAILS-8978] - encodeAsHTML incorrectly encodes Greek characters that can be literals in Unicode responses
  • [GRAILS-8991] - Error on binding form data (String to Integer)
  • [GRAILS-9000] - bindData throws InvalidPropertyException for parameters of the form 'b.c[0].d.id'
  • [GRAILS-9100] - Automatic data binding does not create nested paths when updating existing records (using command objects)
  • [GRAILS-9120] - Binding to properties of associations does not work in unit tests
  • [GRAILS-9121] - Command Object, list of Dates, multiple datePickers Errors issue (data.struct handling problem?)
  • [GRAILS-9220] - Binding JSON request data doesn't work for nested properties
  • [GRAILS-9276] - Difficult to store an empty string in a nullable field
  • [GRAILS-9350] - run-app stops working after running a test in console
  • [GRAILS-9371] - NO LONGER A BUG - Binding List of command child objects repeats themselves
  • [GRAILS-9393] - bindData behaves not as expected when a referenced object is being set to null
  • [GRAILS-9459] - Use WebBindingInitializer for customizing the data binder
  • [GRAILS-9727] - Data binding with " domain.properties['name'] = 'x' " does not work when there are only one attribute
  • [GRAILS-9775] - bindable: false ignored for associations
  • [GRAILS-9825] - BindData bug on Sets of objects with Equals/hashcode implemented
  • [GRAILS-9892] - Data binding for date fields form single input text
  • [GRAILS-9908] - Default bindable command object properties
  • [GRAILS-9914] - GrailsDataBinder calls setters with default domain instances even when a real instance is available
  • [GRAILS-9943] - Current codec implementation leads to threads locking on heavy load
  • [GRAILS-9966] - Replace previous JSONCodec and XMLCodec with proper working versions
  • [GRAILS-9975] - XSS prevention solution: Force all output to be "html safe" a bit like Rail3 SafeBuffer does

Bug

  • [GRAILS-2730] - Location of stacktrace.log in WAR deployed app on Tomcat 6 running non-root is invalid
  • [GRAILS-3463] - Dynamic finders behave differently when called with non-existent element in a map and null
  • [GRAILS-3910] - g:remotelink , before option for confirmation dialog on a Delete link call causes the renderer to misbehave
  • [GRAILS-4388] - problems with managing application.properties in source control systems such as perforce
  • [GRAILS-5312] - spring/resources.groovy always recompiles
  • [GRAILS-6007] - Inline plugins do not include i18n messages.properties as expected
  • [GRAILS-6147] - Maven classifier not working for deps
  • [GRAILS-6359] - Grails attempts to download "source" and "javadoc" dependencies
  • [GRAILS-6388] - Data-Binding of Domain with Association inside Command Object fails (HibernateException)
  • [GRAILS-6650] - problem with response being flushed when an error occurs rending a GSP
  • [GRAILS-6813] - character encoding problem with message.properties in plugins
  • [GRAILS-7173] - Cannot define schema name for table used in joinTable mapping
  • [GRAILS-7203] - SNAPSHOT dependencies from Maven plugins are never checked for updates
  • [GRAILS-7733] - submitToRemote tag lacks documentation for "value" parameter
  • [GRAILS-7811] - schema-export export - Error org.hibernate.HibernateException: No local DataSource found for configuration
  • [GRAILS-7936] - Grails command line not handling blanks in Windows
  • [GRAILS-7974] - DomainClass.get(params.id) fails occasionally under load test "java.lang.IllegalArgumentException: id to load is required for loading"
  • [GRAILS-7991] - GrailsOpenSessionInViewInterceptor is included twice in interceptors and gets executed twice per request
  • [GRAILS-8063] - beforeValidate() can't be called for command object
  • [GRAILS-8237] - Having Multiple Databases results in multiple beforeInsert calls
  • [GRAILS-8572] - Rendering a Command Object as JSON causes ArrayIndexOutOfBoundException
  • [GRAILS-8629] - Enum classes instanciation creating issue over a certain size
  • [GRAILS-8736] - Failed Assume crashes Grails unit test
  • [GRAILS-8860] - Service Unit Test with @TestFor using a domain class with an embedded non-domain class results in an exception
  • [GRAILS-8960] - Wrong relative image link in documentation
  • [GRAILS-8976] - Service not properly injected during unit test
  • [GRAILS-9023] - @TestFor doesn't work when test class doesn't end with Tests
  • [GRAILS-9328] - Where clause using == throws DetachedCriteria cannot be cast to Integer exception
  • [GRAILS-9408] - grails run-app fails to start under cygwin with space in user's home directory (2.1.1)
  • [GRAILS-9421] - Automatically uninstalling the plugins
  • [GRAILS-9451] - Cascading validation failing
  • [GRAILS-9500] - Failure to resolve transitive dependency in case of conflict
  • [GRAILS-9507] - Missing documentation for <g:link> "uri" attribute
  • [GRAILS-9536] - Transitive dependency exclusions not working
  • [GRAILS-9549] - Interactive console + Spring + Reloading does not appear to work (with RabbitMQ plugin?)
  • [GRAILS-9558] - Availble Build Settings example code needs correcting
  • [GRAILS-9570] - spring.tld is out of date
  • [GRAILS-9597] - layoutTitle doc page missing a piece of it's example code
  • [GRAILS-9627] - inner class or enum in domain class breaks unit/integration testing
  • [GRAILS-9644] - Criteria with projections and paginations returns only one result column instead of all
  • [GRAILS-9670] - Cannot use "find" method in services, Grails seems to think a service has a "find" meta method
  • [GRAILS-9696] - Some integration testing that involves GormStaticApi calls is broken
  • [GRAILS-9718] - NullPointerException in Grails unit tests because of null Params and Session
  • [GRAILS-9723] - --nojars stopped working (jars are included)
  • [GRAILS-9745] - grails doc does not work with https external links
  • [GRAILS-9752] - GroovyPageResourceLoader finds plugin page in the wrong inline plugin
  • [GRAILS-9753] - Performance problem on Grails startup
  • [GRAILS-9760] - Grails 2.3.0 buildsnapshot broken
  • [GRAILS-9761] - refresh-dependencies --include-source broken
  • [GRAILS-9764] - list-plugins command broken
  • [GRAILS-9771] - Integration tests do rollback non-default datasource transactions
  • [GRAILS-9791] - generate-all command broken
  • [GRAILS-9795] - LazyMetaPropertyMap putAll doesn't work.
  • [GRAILS-9801] - test-app command broken?
  • [GRAILS-9817] - Plugin 'lib' directory not included on forked mode runtime classpath
  • [GRAILS-9843] - create-script should generate a script with a unique name
  • [GRAILS-9844] - create-script should create a cli test case
  • [GRAILS-9856] - Forked mode test-app broken: java.lang.ClassNotFoundException: sun.tools.native2ascii.Main
  • [GRAILS-9869] - Generateds unexpected artifact classifier when resolving dependency
  • [GRAILS-9872] - Classpath not set of /classes directory
  • [GRAILS-9879] - Unit tests failing after grails 2.2.1 upgrade (from 2.2.0)
  • [GRAILS-9880] - An Identity class has bad toString() method that throws MissingPropertyException
  • [GRAILS-9896] - Problem in assemble.gradle - could not find property 'org'
  • [GRAILS-9912] - Buffer allocation bug in StreamCharBuffer
  • [GRAILS-9926] - Plugin template needs update for release plugin to work
  • [GRAILS-9947] - Grails 2.3 forked mode classloading problem
  • [GRAILS-9948] - Don't run native2ascii if there is no i18n folder
  • [GRAILS-9954] - Namespaced controller support: caching doesn't use plugin name as part of cache key in ControllerArtefactHandler
  • [GRAILS-9955] - Don't attempt to copy GSPs in GrailsProjectPackager if there is no grails-app/views folder
  • [GRAILS-9957] - ControllersApi isn't thread safe anymore
  • [GRAILS-9971] - create-app broken Grails 2.3.BUILDSNAPSHOT
  • [GRAILS-9972] - test-app functional: command does not stop server in interactive mode
  • [GRAILS-9988] - application.config and application.flatConfig return different values when Config.groovy changes
  • [GRAILS-10022] - NPE in persistence layer during unit test
  • [GRAILS-10037] - grails run-app fails if directory name is < 3 chars
  • [GRAILS-10047] - Problem Binding To A Class With No Bindable Properties
  • [GRAILS-10058] - Plugin i18n resources are not displayed correctly
  • [GRAILS-10060] - Running refresh dependencies causes a compile error
  • [GRAILS-10066] - GSP rendering broken if no layout used
  • [GRAILS-10075] - If install-plugin is deprecated, why do the docs not mention this?

Improvement

  • [GRAILS-3488] - Add support for cascading validation in non bidirectional relationships
  • [GRAILS-5921] - Enhance withForm to allow for forms on multiple tabs
  • [GRAILS-6130] - Limitation to single capital letters in plugin class names is missing in docs
  • [GRAILS-6590] - g:timeZoneSelect displays many duplicate values
  • [GRAILS-7455] - Get rid of legacy commons-dbcp or at least simplify different connection pool setup
  • [GRAILS-8072] - Improve default toString() output for domain classes
  • [GRAILS-8502] - Upgrade hibernate to 4.1.x
  • [GRAILS-8555] - provide ability to specify certain cross-cutting concerns typically specified in config.groovy during unit tests
  • [GRAILS-8733] - Drop down list for date should list years in descending order
  • [GRAILS-8820] - Missing doc for mapWith = "none"
  • [GRAILS-9470] - User defined Annotation is overwritten by grails.web.Action annotation
  • [GRAILS-9568] - Add ability to disable reloading in forked process
  • [GRAILS-9569] - Add ability to disable url caching in link generator
  • [GRAILS-9571] - Add support for a Spring data binding Validator in GrailsDataBinder
  • [GRAILS-9586] - createCriteria()... list(max:max) and DetachedCriteria... list(max:max) are inconsistant
  • [GRAILS-9621] - support clientAuth=true configuration in embedded tomcat plugin
  • [GRAILS-9637] - Grails Unit Tests using the new Annotation framework is slow
  • [GRAILS-9674] - Upgrade to Spring 3.2
  • [GRAILS-9845] - Grails forked run-app and test-app should 'block' and forward io to parent process
  • [GRAILS-9934] - Add the ability to modify plugin zip/jar contents during packaging
  • [GRAILS-9935] - Add support for including source in binary plugins
  • [GRAILS-9949] - Move scaffolding code into external plugin
  • [GRAILS-9956] - uri-to-controller mapping isn't cached any more
  • [GRAILS-9958] - Revise DefaultGrailsControllerClass performance
  • [GRAILS-9959] - Use LazyConnectionDataSourceProxy to help performance
  • [GRAILS-9980] - In unit tests, make beans available in Grails mainContext
  • [GRAILS-10076] - Improve JSON / XML marshalling performance by caching the selection of the ObjectMarshaller by class

New Feature

  • [GRAILS-9758] - Newly created apps should include the Grails wrapper
  • [GRAILS-9944] - Allow customizing the initial files used to create apps and plugins
  • [GRAILS-10020] - Make it possible to mark a StreamCharBuffer instance not to notify parent buffers (StreamCharBuffers) of changes

Task

Wish

  • [GRAILS-9458] - Display test duration in more friendly format (3m 47s vs. 226641ms)

Edit/Copy Release Notes

The text area below allows the project release notes to be edited and copied to another document.