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

Sub-task

  • [GRAILS-4110] - Add "--dev-mode" option to "test-app" that uses "run-app" instead of "run-war" for functional tests
  • [GRAILS-4504] - Cannot customize column names for composite FK property
  • [GRAILS-6678] - Provide regex support for "assertOutputEquals"
  • [GRAILS-7769] - Populate controller.errors with any errors related to type conversions while binding request params to action arguments

Bug

  • [GRAILS-2402] - 'nullable' defaults to 'true' in command objects
  • [GRAILS-2673] - Groovy files defined in grails.config.locations are not available on (i.e). Tomcat
  • [GRAILS-2839] - g:formRemote generates invalid XHTML
  • [GRAILS-2977] - Cannot insert plugin filter mapping in desired location of web.xml
  • [GRAILS-3107] - Cannot remove elements from web.xml in doWithWebDescriptor
  • [GRAILS-3300] - Testing Controller with render(template:....)
  • [GRAILS-3596] - select tag with default value should work when one is String and other is GString
  • [GRAILS-3949] - Misplaced errors in validating collection
  • [GRAILS-4031] - Mapping Definition Not Inherited by Subclasses w/Mapping Definition
  • [GRAILS-4231] - abstract/base class changes in controller requires a manual restart
  • [GRAILS-4244] - GrailsUrlMappingsTestCase broken for mappings to views
  • [GRAILS-4265] - Unit Testing -> Domain class -> Mock -> getAll -> not working
  • [GRAILS-4407] - Can't reload a controller with multiple classes defined
  • [GRAILS-4697] - DB2 64 Bit Dialect Detector
  • [GRAILS-4804] - mockDomain() does not provide dynamic count methods
  • [GRAILS-5036] - Unit testing controller with allowedMethods is not returning expected status code
  • [GRAILS-5182] - Documentation doesn't mention that a domain class version type can be Timestamp
  • [GRAILS-5268] - create-app fails in directory whose name starts with a dot
  • [GRAILS-5405] - bindData with exclude not working in 1.1
  • [GRAILS-5476] - Default for grails.server.host/server.host in docs is wrong
  • [GRAILS-5585] - json to domain object data binding failing
  • [GRAILS-5643] - hang on url validate
  • [GRAILS-5655] - Incorrect line number/file name given in errors that occur in taglibs
  • [GRAILS-5812] - Error with tests of controllers and messageSource
  • [GRAILS-5820] - Downstream plugins cannot access updates to Web.xml
  • [GRAILS-5822] - Running plugin as application causes resources to be checked multiple times
  • [GRAILS-5838] - updatePluginsList does not respect proxy settings
  • [GRAILS-5930] - complex objects as form parameters work with POST but not PUT
  • [GRAILS-5973] - Render tag in a plugin's webflow
  • [GRAILS-6122] - GRAILS_OPTS environment variable is not picked up
  • [GRAILS-6249] - URL Validation is hung
  • [GRAILS-6267] - TagLibUnitTestCase does not handle nested tags well
  • [GRAILS-6323] - Hibernate bug (HHH-4796)
  • [GRAILS-6328] - mappedBy not merged with inherited value
  • [GRAILS-6372] - Controller 'params' object not populated with data in request body of PUT request when Tomcat is used.
  • [GRAILS-6417] - find() on domain class incorrectly documented
  • [GRAILS-6451] - package-project doesn't include native2ascii'ed i18n properties
  • [GRAILS-6461] - groovy.lang.MissingMethodException during startup
  • [GRAILS-6530] - Groovydoc generation includes duplicates
  • [GRAILS-6572] - Views cannot be rendred from a plugin Filter
  • [GRAILS-6580] - Can't deploy plugin that dependsOn other plugins
  • [GRAILS-6637] - Version ranges do not seem to work for plugins
  • [GRAILS-6714] - isOwningSide() incorrectly always returns false for inherited properties
  • [GRAILS-6734] - GORM: use of all-delete-orphan results in "queued clear cannot be used with orphan delete"
  • [GRAILS-6743] - session closed after a service rolls back / "failed to lazily initialize a collection"
  • [GRAILS-6754] - GORM mapping property is not properly inherited from an abstract class with table-per-subclass inheritance in Postgres
  • [GRAILS-6787] - XML converter cannot handle arrays with null entries
  • [GRAILS-6827] - Grails does not downgrade plugins automatically
  • [GRAILS-6828] - Memory leak (BeanPropertyBindingResults)
  • [GRAILS-6879] - grails 1.3.5 cannot modify controller/taglib code in run-app
  • [GRAILS-6910] - Transitive dependencies of plugins cannot be excluded in BuildConfig.groovy
  • [GRAILS-6947] - Grails flushes when saving with validate:false
  • [GRAILS-6981] - REST: parseRequest doesn't parse nested XML elements when creating new data with a POST
  • [GRAILS-7021] - JNDI code for tomcat plugin throws exception on server auto restart during code change during development
  • [GRAILS-7042] - Type in doc tag for g:form
  • [GRAILS-7047] - WebFlowTestCase: method calls in webflows are handled as Event
  • [GRAILS-7078] - Integration tests cannot load resources from plugins, mock servlet context has no resource loader setup
  • [GRAILS-7138] - Polymorphic queries don't pick up subclasses in Unit Tests
  • [GRAILS-7143] - Plugin installation not resolving 'services' core plugin
  • [GRAILS-7209] - ConfigObject not flatten, can't see parameters
  • [GRAILS-7229] - Groovy expression with a ternary operator involving string comparison messes up grails tags
  • [GRAILS-7245] - Infinite loop of compiler
  • [GRAILS-7277] - Copy/Paste error in XML InstanceMethodBasedMarshaller (from JSON)
  • [GRAILS-7286] - Plugins (and their dependencies) scoped at test or provided should be excluded when constructing a production war.
  • [GRAILS-7290] - Reloading mechanism is incompatible with inner classes
  • [GRAILS-7304] - null named arguments in an HQL query cause NullPointerException
  • [GRAILS-7309] - addTo* Problem in MockUtils
  • [GRAILS-7312] - Misleading error message when using custom environments in Log4J DSL
  • [GRAILS-7319] - Example UrlMappingTest fails to run
  • [GRAILS-7320] - test-app fails with saxon9 jar in path
  • [GRAILS-7354] - Excluded plugin dependencies included in WAR file
  • [GRAILS-7370] - request.format content negotiation incorrect for XMLHttpRequest AJAX call
  • [GRAILS-7378] - ReloadAwareAutowireCapableBeanFactory - Memory leak
  • [GRAILS-7422] - Regression problem with Grails webflow & browser back button
  • [GRAILS-7432] - beforeValidate() not called by validate() or save() in unit tests
  • [GRAILS-7445] - Requests with Accept: text/json and no content cause Exception
  • [GRAILS-7490] - Dependency pattern does not support version ranges
  • [GRAILS-7495] - JSONArray should override equals()
  • [GRAILS-7502] - Unable to Load Messages from Plugin
  • [GRAILS-7514] - testdata from unit test is available in integration test.
  • [GRAILS-7521] - grails 1.4.0.M1 doesn't start when using multiple datasources
  • [GRAILS-7525] - Cannot build against grails 1.4.0.M1 jars due to dependencies on org.springframework.roo.wrapped
  • [GRAILS-7526] - SLF4J version conflict between grails and spring-datastore-core
  • [GRAILS-7529] - H2 dbconsole resources are not available
  • [GRAILS-7530] - Plugin uninstall fails
  • [GRAILS-7531] - Application is available only at localhost and not through the IP of the system
  • [GRAILS-7533] - Unit test fails with Mock Domain
  • [GRAILS-7536] - data binding not mocked with mockDomain in unit test mixins
  • [GRAILS-7537] - Domain converters not mocked in new unit test mixins
  • [GRAILS-7539] - Embedded class throws MappingException
  • [GRAILS-7541] - domain-class binary plugin is missing declaration of dependency on i18n plugin
  • [GRAILS-7542] - Views are accessible via a URL pattern
  • [GRAILS-7543] - Occasional ReadOnlyPropertyException reloading domain classes
  • [GRAILS-7544] - Class reloading broken for transactional services
  • [GRAILS-7545] - Class reloading broken for transactional services
  • [GRAILS-7546] - Redirect in controller does not work when app.context is set
  • [GRAILS-7553] - grails 1.4.M1 Deploy on JBoss 6.0.0.Final
  • [GRAILS-7555] - Bash scripts do not assert that GRAILS_HOME env var is set before trying to use it
  • [GRAILS-7557] - Controller generated with generate-all contains unused grails.converters.JSON import
  • [GRAILS-7558] - Concurrency problem in web request handling (was: Image refresh oddity)
  • [GRAILS-7559] - POM Files for grails-datastore-gorm/spring-datastore-core Contain Invalid Maven 2 Dependency Version Range Syntax
  • [GRAILS-7560] - external redirect does not work
  • [GRAILS-7562] - serverContextPath in functional test phase start is wrong if integration test phase hasn't run
  • [GRAILS-7565] - Disabling Multipart is broken
  • [GRAILS-7567] - Embedded properties defined in the same file as the domain class no longer work
  • [GRAILS-7568] - You need to specify index:true for unit testing GORM queries in 1.4, but this causes a Hibernate index creation error
  • [GRAILS-7570] - Creating a filter fails
  • [GRAILS-7571] - Redirect dynamic method in controllers does not respect grails.app.context config setting
  • [GRAILS-7575] - g:resource with only "dir" attribute causes errors if Resources plugin is installed
  • [GRAILS-7577] - pluginExcludes setting is ignored by package-plugin command
  • [GRAILS-7580] - Reoccurance of GRAILS 4673
  • [GRAILS-7581] - Inline use of <g:javascript> renders empty output
  • [GRAILS-7583] - "No thread-bound request found" when running tests using 1.4M1
  • [GRAILS-7586] - Deploy Grails 1.4M1 WAR to Weblogic 10.3.4 Errors
  • [GRAILS-7594] - Controller reloading fails in Grails 1.4-M1 on Windows 7, 64 bit
  • [GRAILS-7595] - Remove GPars since it prevents users from using other versions in apps
  • [GRAILS-7598] - Hardcoded port number 8080 in Config .groovy
  • [GRAILS-7599] - grails-resources JAR is broken - files are in wrong locations
  • [GRAILS-7601] - MissingPropertyException for 'log' after controller reload
  • [GRAILS-7603] - Transactional services are broken / not reloadable
  • [GRAILS-7610] - Quartz plugin create-job createUnitTest issue with Grails 1.4.0.M1
  • [GRAILS-7611] - Incorrect warning about conflicting tags for dependency injection fields
  • [GRAILS-7612] - MissingPropertyException: No such property: eventListeners for SessionFactoryProxy
  • [GRAILS-7613] - Missing JQuery Prototype javascript library and documentation breaks submitToRemote
  • [GRAILS-7616] - Layouts not applied to errors view if an error occurs within a view
  • [GRAILS-7617] - TestFor(ControllerClass) annotation doesn't provide renderArgs
  • [GRAILS-7620] - Adaptive AJAX tags break if Resources plugin is installed
  • [GRAILS-7626] - upgrade command in Grails 1.4 HEAD is crashing
  • [GRAILS-7627] - upgrade command in Grails 1.4 HEAD is crashing (bis)
  • [GRAILS-7628] - Adding classes to new app in interactive mode causes reloading error in 'run-app'
  • [GRAILS-7629] - 'quit' hangs following 'test-app' and 'run-app' in interactive mode
  • [GRAILS-7631] - Grails Interactive
  • [GRAILS-7633] - Reloading a domain class doesn't reload constraints
  • [GRAILS-7634] - generated controller test always in appname package
  • [GRAILS-7637] - mockDomain'd classes incorrectly set backrefs when adding objects to collection associations
  • [GRAILS-7639] - JSPs no longer work
  • [GRAILS-7641] - Integration tests don't run
  • [GRAILS-7645] - Server should shut down after functional tests run
  • [GRAILS-7646] - Duplicate verbose output
  • [GRAILS-7650] - withFormat not honouring Accept header
  • [GRAILS-7651] - test-app is displaying full stack traces for assertion errors
  • [GRAILS-7657] - Unit testing filters produces NullPointerException
  • [GRAILS-7669] - In controller, when using closures with parameters' types being primitive -> Error creating bean with name 'xxxxxxController': Initialization of bean failed; nested exception is java.lang.NullPointerException
  • [GRAILS-7673] - 'run-app' in interactive mode does not handle application output well
  • [GRAILS-7674] - Duplicate output in verbose mode
  • [GRAILS-7675] - Strange plugin resolution/installation behaviour
  • [GRAILS-7676] - Reloading non-filters files under grails-app/conf results in error message
  • [GRAILS-7680] - GORM namespace handler - move spring.handlers and spring.schemas to META-INF
  • [GRAILS-7681] - NoSuchMethodError changing BuildConfig
  • [GRAILS-7682] - Reloading breaks for scaffolded controllers
  • [GRAILS-7683] - Reloading agent catching and printing exceptions direct to the console
  • [GRAILS-7695] - Grails 2.0 HEAD - upgrade command does not upgrade
  • [GRAILS-7698] - NPE running fresh Controller Unit Tests
  • [GRAILS-7709] - If you answer no to the plugin upgrade question it updates the metadata with the new version and displays "Plugin installed."
  • [GRAILS-7710] - Sitemesh tags not working
  • [GRAILS-7724] - Domain getAll(d) doesn't work
  • [GRAILS-7725] - Templates from inline plugins not found
  • [GRAILS-7726] - Reload event throws Exception
  • [GRAILS-7728] - MissingMethodException thrown when using a string value for the url attribute of the g:remoteForm tag
  • [GRAILS-7734] - Not all changes to string arguments picked up by reloading agent
  • [GRAILS-7737] - NullPointerException at GrailsExceptionResolver.getRequestLogMessage()
  • [GRAILS-7740] - GSP compilation error for valid code
  • [GRAILS-7741] - HTML context influences brackets and braces check which leads to GSP compilation errors
  • [GRAILS-7742] - ${basedir} is not resolved in Config.groovy
  • [GRAILS-7743] - The problem with theimplementation of interface
  • [GRAILS-7747] - Regression issue: invalid session object while generating GSP output
  • [GRAILS-7749] - Actions with CommandObjects that are not placed inside the MyController.groovy throw an exception
  • [GRAILS-7757] - Grails 1.1.1 -> 2.0.0 Upgrade problems
  • [GRAILS-7762] - If dependencies fail to resolve then Grails exits making it impossible to run the dependency-report for a failed resolve
  • [GRAILS-7763] - --stacktrace option ignored in interactive mode
  • [GRAILS-7766] - Plugin upgrade during compile phase causes error
  • [GRAILS-7770] - JSONArray should implement hashCode()
  • [GRAILS-7776] - Enum classes don't reload properly
  • [GRAILS-7777] - Subtype of reloadable type is not reloadable
  • [GRAILS-7779] - Mapping to HTTP methods not working
  • [GRAILS-7786] - watchedResources is not generating file change events, i.e. resources plugin does not see changes to CSS files
  • [GRAILS-7788] - "No such property: children" for ErrorReportingRunner with unit tests
  • [GRAILS-7789] - Pre-2.0 unit test fails when instantiating domain classes
  • [GRAILS-8646] - CLONE - MissingPropertyException: No such property: eventListeners for SessionFactory

Improvement

  • [GRAILS-1964] - slurp config files listed in grails.config.locations _before_ initializing log4j instead of after
  • [GRAILS-3075] - please add readline support for interactive mode
  • [GRAILS-3249] - datePicker additional fuinctionality for "years" parameter
  • [GRAILS-3472] - "Member" seems to be a reserved word in Grails (or Groovy) for a domain class
  • [GRAILS-4406] - New FiltersUnitTestCase for unit testing Filters
  • [GRAILS-4648] - suggestion: can we make source code attachments available in maven repo for the various parts of grails?
  • [GRAILS-4653] - Testing controllers's actions requiring multipart request, i.e. sending files
  • [GRAILS-5279] - Document the command line flag "--non-interactive" in the user guide
  • [GRAILS-5469] - Fix eager loading of associations when used with pagination
  • [GRAILS-5742] - some plugin configuration features are undocumented
  • [GRAILS-6090] - mocking withSession() domain class method in unit tests
  • [GRAILS-6185] - Remove grails-macros.xml
  • [GRAILS-6778] - Set grails.logging.jul.usebridge=false in Config.groovy template
  • [GRAILS-6805] - Automatic reloading of classes with Command suffix
  • [GRAILS-6915] - Public methods should be allowed (and recommended) as actions
  • [GRAILS-7014] - run-script uses direct hibernate API - it should use the persistence interceptor API
  • [GRAILS-7050] - Improve isDirty() documentation to cover hibernate collections
  • [GRAILS-7051] - Merge Datasources plugin into core
  • [GRAILS-7071] - JSON DateMarshaller date format is not customizable whereas XML DateMarshaller is
  • [GRAILS-7133] - Referring to a non-existent pageScope property should not throw an exception
  • [GRAILS-7232] - Refine the stack sanitization and improve the output readability of regular traces
  • [GRAILS-7314] - Allow more than one Log4J configuration closure
  • [GRAILS-7318] - Tomcat server SSL with truststore
  • [GRAILS-7321] - include index in path of validation errors
  • [GRAILS-7442] - Controller scaffold generates a priority 2 CodeNarc violation.
  • [GRAILS-7550] - Add 'grailsApplication' var to resources.groovy to align with other artifacts.
  • [GRAILS-7552] - add i18n czech messages
  • [GRAILS-7556] - Improve GrailsLayoutDecoratorMapper performance by caching all lookups.
  • [GRAILS-7566] - Improve grailsApplication.flatConfig performance
  • [GRAILS-7578] - Ability to specify @emptyTag for GSP tags now available in STS
  • [GRAILS-7582] - Improve GSP performance by reducing overhead of page binding (use new strategy which doesn't copy variables to each binding)
  • [GRAILS-7589] - Static dispatch in GSP
  • [GRAILS-7619] - Grails 1.4 output should not send special control sequences to output streams that don't understand them
  • [GRAILS-7624] - Layout parameter for 'render'
  • [GRAILS-7640] - Scaffolded controllers should use methods for actions instead of closures
  • [GRAILS-7642] - Should display incoming plugin version when upgrading
  • [GRAILS-7643] - Don't create integration tests with GrailsUnitTestMixin
  • [GRAILS-7644] - Give better feedback on functional test compilation errors
  • [GRAILS-7656] - G:select NPE when no name attribute
  • [GRAILS-7663] - Add not in clause in Create Criteria documentation
  • [GRAILS-7671] - When Controller A calls Controller B and you change B then it won't recompile
  • [GRAILS-7677] - Interactive mode should not display prompt for questions
  • [GRAILS-7678] - Domain validation should produce an error for every nested object that is in collection
  • [GRAILS-7705] - Better error message for invalid @Mock usage
  • [GRAILS-7727] - Confusing error message
  • [GRAILS-7768] - Grails shouldn't wipe out prompts with other output
  • [GRAILS-9850] - CLONE - Fix eager loading of associations when used with pagination

New Feature

  • [GRAILS-3818] - Make rendering operations (views, templates etc.) possible on non request threads and from services and other beans
  • [GRAILS-4464] - No spring DSL for factory beans with constructor arg
  • [GRAILS-4499] - Add new tag for inserting resource dependencies into pages
  • [GRAILS-4956] - Support binary-only distribution and use of plugins
  • [GRAILS-5324] - Grails interactive mode enhancements - Autocomplete, property adding, etc
  • [GRAILS-6801] - BuildConfig should resolve transitive plugins
  • [GRAILS-7379] - Unit Testing Web Flows
  • [GRAILS-7431] - default command constraints
  • [GRAILS-7484] - GORM support for Bag (org.hibernate.collection.PersistentBag)
  • [GRAILS-7694] - Support loading static resources from binary plugins via the resources plugins
  • [GRAILS-7700] - Add Support For Autobinding Request Parameters To Controller Action Method Parameters

Task

  • [GRAILS-7638] - inList constraint online documentation misake

Edit/Copy Release Notes

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