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

Sub-task

  • [GRAILS-1289] - Support unlimited And expressions in GORM domain class finders, eg, Book.findByAuthorAndTitleAndPublished(a, t, true)
  • [GRAILS-6682] - encodeAsHTML does not escape single quotes

Bug

  • [GRAILS-2621] - Errors property on domain object should store errors in order they are incurred
  • [GRAILS-3016] - Cannot use "$name" as a variable in URL mappings
  • [GRAILS-3022] - Default Layouts are used for non-delegated views (render "some text")
  • [GRAILS-4647] - Docs for datePicker to not mention the "default" attribute and its special value "none"
  • [GRAILS-5247] - Url mapping direct to views does not work as documented
  • [GRAILS-5726] - Integration tests in 1.1.2 and 1.2 have different behavior
  • [GRAILS-6314] - grails.sitemesh.default.layout is applied to render "...some text...."
  • [GRAILS-7443] - Dependencies repo config docs needs update, including an example of declaring a repository with a name
  • [GRAILS-7535] - Cannot locate GORM API implementation when OSIV is being used
  • [GRAILS-7579] - should grails filters run twice on forward in this instance?
  • [GRAILS-7703] - <g:javascript library="..."> uses <r:require>
  • [GRAILS-7772] - Content negotiation not working per documentation
  • [GRAILS-7797] - grails test-app fails with jdk7 (NPE in ControllerUnitTestMixin.mockController(ControllerUnitTestMixin.groovy:260))
  • [GRAILS-7810] - updates to changing = true dependencies are ignored
  • [GRAILS-7821] - SNAPSHOT plugins cause grails to fail when no internet connection available
  • [GRAILS-7848] - Using Servlet 3.0 Aynchronous feature causes java.lang.IllegalStateException: during render method in controller.
  • [GRAILS-7853] - The "loadBefore" plugin convention is not mentioned in Grails documentation on plugin load order.
  • [GRAILS-7859] - UrlMappings reloading not working
  • [GRAILS-7861] - DomainClassGrailsPlugin is not thread safe and may go into an infinite loop (fix suggestion in description)
  • [GRAILS-7878] - Slow memory leak with grails run-app
  • [GRAILS-7915] - GSP compilation apparently broken in build #1229
  • [GRAILS-7979] - Changes to command object contraints not picked up
  • [GRAILS-7986] - No TOC entry found for... messages on Windows
  • [GRAILS-7987] - Can't compile Grails 1.4.0.M1 and Grails 2.0.0.M1 with JDK 1.5
  • [GRAILS-7997] - having created app initially, run-app fails
  • [GRAILS-8001] - Regression: pageScope.variables in tags is empty
  • [GRAILS-8002] - executeQuery.each{} broken
  • [GRAILS-8006] - CLONE - Grails 1.1.1 -> 2.0.0 Upgrade problems
  • [GRAILS-8012] - Memory leak (heap space) with run-app
  • [GRAILS-8013] - Dependency resolution problem with :grails-plugin-testing:eclipse
  • [GRAILS-8017] - controller render cause: groovy.lang.MissingPropertyException: No such property: instanceConvertersControllersApi
  • [GRAILS-8028] - "Failed to resolve dependencies" for timestampted snapshots
  • [GRAILS-8030] - Saving of bi-directional one-to-many related domain objects in unit test causes ConcurrentModificationException
  • [GRAILS-8031] - The default test of controller has the NullPointException
  • [GRAILS-8032] - Controller AST transforms should not override existing methods of a different return type
  • [GRAILS-8033] - PermGen error in interactive mode when cleaning and compiling with run-app
  • [GRAILS-8034] - grails 2.0.M2 Deploy on JBoss 6.x.Final
  • [GRAILS-8035] - 2-level inheritance (C extends B extends A) leads to crash
  • [GRAILS-8036] - plugin dependencies with groupId other than org.grails.plugins fail to resolve
  • [GRAILS-8037] - gsp layout from binary plugin causes NPE
  • [GRAILS-8049] - Caching all queries by default (grails.hibernate.cache.queries) is broken
  • [GRAILS-8050] - GormStaticApi.methodMissing gets called for every invocation
  • [GRAILS-8054] - Public controller method taking a strongly typed domain object that extends another fails to compile due to validate() signature
  • [GRAILS-8064] - java.lang.IllegalArgumentException: 'wrong number of arguments' when calling g.link() within a TagLib
  • [GRAILS-8071] - HQL find() method is case sensitive!
  • [GRAILS-8081] - Unsafe lazy initialization in DefaultGrailsControllerClass
  • [GRAILS-8085] - Identity property not found, but required in enum domain class
  • [GRAILS-8089] - "it" is not set correctly in some g:each invocations in GSP
  • [GRAILS-8090] - DomainClass.listOrderByXXXX() causes NPE
  • [GRAILS-8095] - 'Compilation Failed' message occasionally does not provide any information
  • [GRAILS-8098] - Problem with Scaffolded Controller and SpringLoaded (java.lang.NoSuchMethodError in com.springsource.loaded.TypeRegistry.istcheck)
  • [GRAILS-8103] - Editing URL mappings results in NPE
  • [GRAILS-8107] - "grails upgrade" won't upgrade hibernate and tomcat plugins if Grails is not able to resolve the old versions of the plugins.
  • [GRAILS-8111] - Integration test error using STS ver 2.8.0.M2 and grails 2.0.0.M2
  • [GRAILS-8112] - @Mock breaks when domain has beforeInsert()/beforeUpdate()
  • [GRAILS-8114] - Criteria inList throws missing expression for empty/null list
  • [GRAILS-8117] - Files under .svn folders seem to be reloaded by run-app
  • [GRAILS-8118] - Unit Testing: groovy.lang.MissingMethodException upon calling g.message() in a TagLib
  • [GRAILS-8123] - withNewSession always returns null
  • [GRAILS-8126] - InList Dynamic Finder Returns Incorrect Results When Multiple InList Are Specified With An Empty List Argument
  • [GRAILS-8127] - 'defaultAction' attribute not used when 'scaffold' also set
  • [GRAILS-8129] - GormStaticApi.setTransactionManager gets added to all domain classes
  • [GRAILS-8135] - JSON arrays not parsed correctly
  • [GRAILS-8136] - Shared constraints not applied for command objects
  • [GRAILS-8139] - Inconsistent version of spring for build.gradle and build.properties
  • [GRAILS-8151] - isDirty() fails with NullPointerException when used within a custom validator
  • [GRAILS-8152] - Grails-2.0.0.M2 Integration Test failing with ConversionNotSupportedException
  • [GRAILS-8157] - running grails refresh-dependencies --include-source on a fresh plugin project results in an error (unresolveable dependency)
  • [GRAILS-8161] - SAXParseException on resources.xml is quietely swallowed and it impacts beans from resources.groovy
  • [GRAILS-8166] - When attribute name for id is not 'id' and generator is 'assigned', Domain.get(id) does not work
  • [GRAILS-8167] - Dependency failure with plugins that have dependsOn
  • [GRAILS-8169] - Plugins repeatedly installed
  • [GRAILS-8170] - Multiple versions of Resources plugin installed side by side
  • [GRAILS-8171] - Compilation error with Resources installed
  • [GRAILS-8176] - DomainClassUnitTestMixin causes integration test failure
  • [GRAILS-8183] - Grails cannot resolve a template called by a controller with the render method from a plugin

Improvement

  • [GRAILS-2978] - Enable DetachedCriteria
  • [GRAILS-3101] - Make command objects full-blown artifacts
  • [GRAILS-3202] - Modify Default Url Mapping Into a User-Friendly URL: Hyphen in Controller and Action Names
  • [GRAILS-7130] - Automatically include application's code packages in the package scanning config vars (e.g. grails.validateable.packages)
  • [GRAILS-7262] - Upgrade Apache Commons IO to 2.1
  • [GRAILS-7693] - Allow customization of bytecode level for compiler when compiling binary plugins
  • [GRAILS-7806] - Add file path auto-completion to bang (!) commands
  • [GRAILS-7860] - New Grails application requires internet connection
  • [GRAILS-8004] - event attribute of <g:link> tag is undocumented
  • [GRAILS-8047] - Non-descriptive error message when placing a constraint on non-existent properties in unit tests
  • [GRAILS-8068] - Where Query support in grails DSLD file
  • [GRAILS-8080] - Optimize ReloadAwareAutowireCapableBeanFactory.autowireBeanProperties performance
  • [GRAILS-8087] - URL mappings closures and other places that could use ApplicationHolder previously need to have access to bean context now
  • [GRAILS-8091] - Add MVCC=true to default H2 jdbc urls
  • [GRAILS-8094] - Use Hibernate's RegionFactory API for 2nd level cache by default when ehcache is used
  • [GRAILS-8106] - Support non-Long domain class IDs in unit test framework
  • [GRAILS-8109] - Typos/Errors in 'The Web Layer' chapter of docs
  • [GRAILS-8119] - Refactor GrailsPrintWriter/FastStringWriter for performance
  • [GRAILS-8124] - Expose native Hibernate session in Spring HibernateTemplate by default so that Spring doesn't create a new proxy for every usage of HibernateTemplate
  • [GRAILS-8164] - Update Thai i18n messages

New Feature

  • [GRAILS-187] - The render method cannot be used to return a binary to a client.
  • [GRAILS-7588] - Allow for easy switching from log4j to a different logging provider
  • [GRAILS-7712] - Add a new convenience method to controllers to render a file download
  • [GRAILS-7999] - Improve params.date() with multiple date formats and defaults
  • [GRAILS-8024] - Log [DEPRECATED] warnings only in development mode and make it possible to easily disable those warnings
  • [GRAILS-8025] - Support ** wildcard format in UrlMappings excludes

Task

  • [GRAILS-7951] - Document grails-plugin-logging dependency in logging section
  • [GRAILS-8052] - Update Hibernate, Apache commons libraries, ehcache-core, concurrentlinkedhashmap-lru and SLF4J to latest stable versions
  • [GRAILS-8168] - Add functional test for GSP reloading and make sure GSP reloading works in Grails 2.0

Wish

  • [GRAILS-8073] - Make test artifacts fail by default in 'testSomething()'

Edit/Copy Release Notes

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