Sub-task
- [GRAILS-3181] - Pre-compiled plugins instead of shipping sources
- [GRAILS-3182] - Load plug-ins from the zip files instead of extracting them
- [GRAILS-4895] - mock the behaviour of render obj as JSON
- [GRAILS-6598] - Add @attr javadoc tag to core Grails GSP tags
- [GRAILS-6599] - Update documentation to recommend using @attr for custom GSP tags
- [GRAILS-7107] - Finish all major issues on standalone resources plugin and release a 1.0 for pre-1.4 Grails users
- [GRAILS-7154] - To add more options (fetchSize, timeout, readOnly, flushMode, ...) to queryParams in find/findAll and to arguments in withCriteria
- [GRAILS-7396] - Add support for findOrCreateBy dynamic finders
- [GRAILS-7397] - Add support for findOrCreateWhere dynamic finders
- [GRAILS-7400] - Examine possible integration with g:javascript mechanism for setting javascript library
- [GRAILS-7403] - Add support for findOrSaveBy dynamic finders
- [GRAILS-7404] - Add support for findOrSaveWhere dynamic finders
- [GRAILS-7410] - Support precompiling Grails artefacts (controllers, domains etc.) into JAR files
- [GRAILS-7411] - Support loading GSP views from binary JAR files
- [GRAILS-7412] - Support loading i18n messages from binary plugins
- [GRAILS-7413] - Support loading GSP layouts from binary plugins
- [GRAILS-7415] - Document usage and creation of binary plugins
Bug
- [GRAILS-454] - actionSubmit taglib is not filtering name attribute out so you can end up with 2 if you specify it
- [GRAILS-1608] - log property name collision with Java domain classes
- [GRAILS-1728] - New Codecs Not Recognized While App Is Running
- [GRAILS-1737] - GSP-Compiler produces error when last line of page is a comment
- [GRAILS-2008] - Test links on all-tests.html pointing to root
- [GRAILS-2069] - g:validate ignores 'matches' constraint
- [GRAILS-2079] - Invalid HTML with g:renderErrors
- [GRAILS-2095] - Invalid example code in online doc for remoteFunction
- [GRAILS-2105] - Domain classes with transient closures which are use in web-flow wizards throws NPE in attempt to save them
- [GRAILS-2294] - scriptaculous scripts load twice
- [GRAILS-2297] - notEqual and validator don't work in URL Mapping Constraints
- [GRAILS-2360] - If "package" statement is omitted in groovy source file, application continually reloads
- [GRAILS-2371] - Cannot access log object from static context
- [GRAILS-2468] - remoteLink is not removing 'method' attribute with Prototype provider
- [GRAILS-2583] - abstract domain class with 'hasMany'
- [GRAILS-2793] - Criteria result doesn't initialize
- [GRAILS-2896] - Service not injected into domain object in time for custom validator usage
- [GRAILS-2961] - update g:select tag documentation
- [GRAILS-3045] - Database searching with HibernateCriteriaBuilder has pagination and distinct results coded to be mutually exclusive
- [GRAILS-3155] - single logger instance is injected into all filters
- [GRAILS-3312] - renderErrors ouput cleaning
- [GRAILS-3316] - Grails reference does not fully describe writing controller tests
- [GRAILS-3330] - g:formRemote ignores method="GET"
- [GRAILS-3379] - Tag g:actionSubmitImage is not documented
- [GRAILS-3783] - Wrong controller code generated for one-to-many relationship with back-reference Click to flag this post
- [GRAILS-3980] - When using flow scope error details are not accessible in view
- [GRAILS-4356] - Mocked domain class do not provide findWhere results
- [GRAILS-5069] - Chapter 17 makes reference to wrong config file
- [GRAILS-5070] - g:contrySelect with valueMessagePrefix does not work (as expected/documented)
- [GRAILS-5170] - Documentation is missing for GORM beforeLoad / afterLoad events
- [GRAILS-5222] - Method assertForwardUrlMapping in GrailsUrlMappingsTestCase ignores the param assertions
- [GRAILS-5275] - TextArea has defined width and height in css
- [GRAILS-5442] - plugin 'dependsOn' only works with central repo
- [GRAILS-5536] - radioGroup tag doesn't support onclick event
- [GRAILS-5606] - Deploy on JBoss 5.1.0 GA
- [GRAILS-5624] - Snapshot dependencies of Grails plugins are not updated
- [GRAILS-5700] - Upgrade to Ivy 2.2 to fix Maven dependencies being cached by ivy
- [GRAILS-5919] - Grails + subdomains. Many problems.
- [GRAILS-5961] - controller action always return status 200 during unit-test
- [GRAILS-6026] - "log" property is lost when Filters.groovy is reloaded during dev
- [GRAILS-6077] - filter loggers share same name
- [GRAILS-6200] - time of version increment
- [GRAILS-6215] - Array-indexed binding to Set associations is apparently meant to work but doesn't in 1.2.x and 1.3
- [GRAILS-6221] - url mapping to a view name doesn't work if multiple view resolvers are present
- [GRAILS-6232] - current working directory name should not be used as a key for storing metadata
- [GRAILS-6235] - Reloading webflow fails with 'MissingPropertyException' for 'log'
- [GRAILS-6310] - Plugin dependency not recognised by a dependant plugin if both installed at the same time
- [GRAILS-6370] - ClassCastException when reloading classes with aspects (e.g. @Transactional)
- [GRAILS-6423] - Embedded properties are not created during data binding
- [GRAILS-6456] - Documentation of "method" in the remote functions is not correct.
- [GRAILS-6469] - Codehaus changed root CA to untrusted SmartCom: affects plugin resolution and publishing
- [GRAILS-6483] - MvcUnitTestCase#reset() might throw "IllegalStateException: Unable to reset response if already committed"
- [GRAILS-6592] - Tag fieldValue doesn't honor property editor specified for property path
- [GRAILS-6604] - Date cannot be empty anymore
- [GRAILS-6608] - org.hibernate.PropertyValueException when creating orphan in a one-to-many relationship with backreference.
- [GRAILS-6646] - Grails doesn't honor column's length argument in mapping closure
- [GRAILS-6688] - run-war https with Tomcat no longer works
- [GRAILS-6700] - Ivy cache files do not include dependency information
- [GRAILS-6711] - render(status:xxx) is no longer working
- [GRAILS-6719] - View-not-found for inline plugin when its name starts with the name of another plugin
- [GRAILS-6724] - fetchMode usage in CriteriaBuilder
- [GRAILS-6726] - XML converter appends _$$_javassist postfix to node names
- [GRAILS-6788] - API documentation is missing for *.groovy classes
- [GRAILS-6791] - rendering org.springframework.validation.Errors as XML should use differend marshaller
- [GRAILS-6793] - compile dependencies not included in war file
- [GRAILS-6800] - transitive dependency of plugin is not evicted by direct project dependency
- [GRAILS-6807] - Error with dynamicFilterEnabler if use of DefaultGrailsDomainConfiguration
- [GRAILS-6812] - Custom groovy Codec support broken in 1.3.5
- [GRAILS-6814] - redirect() does not take a 'base' argument link link/createLink
- [GRAILS-6822] - "GrailsTagException: Template not found for name" when calling g:render from gsp in /src/templates/scaffolding
- [GRAILS-6826] - UniqueResult not supported in Named Queries
- [GRAILS-6837] - BeanCreationException when using afterInterceptor in controller
- [GRAILS-6842] - Can't pass development environment to test-app and war commands
- [GRAILS-6846] - TypeConvertingMap & GroovyPageAttributes do not implement equals and hashCode
- [GRAILS-6847] - Servlet context in integration tests is incorrectly configured
- [GRAILS-6853] - Inline plugin dependencies of inline plugins are incorrectly "looked for" relative to the root app
- [GRAILS-6854] - GrailsParameterMap is not cloneable.
- [GRAILS-6855] - pluginManager bean in integration tests is not the real plugin manager
- [GRAILS-6858] - Logging doesn't work with integration tests
- [GRAILS-6864] - g:select produces unexpected results when keys and valueMessagePrefix attributes are specified, but I18n message key doesn't exist
- [GRAILS-6868] - Problem With Named Queries Beginning With A Single Lower Case Letter
- [GRAILS-6869] - latest.integration(latest.snapshot,latest.release) plugins failed to get downloaded during grails compile/war due to fixes for bug grails-6675
- [GRAILS-6874] - Hibernate persistence interceptor cannot handle nesting
- [GRAILS-6875] - Hibernate persistence interceptor is not threadsafe
- [GRAILS-6876] - Hibernate persistence interceptor is not threadsafe
- [GRAILS-6881] - improvement to make scaffolded app xhtml 1.0 strict valid
- [GRAILS-6891] - hibernate.naming_strategy does not work the way expected
- [GRAILS-6928] - Sorting by embedded properties (sort:'embedded.property') broke after fix for GRAILS-3911
- [GRAILS-6934] - Property pagescope of Mock taglib is not of type Binding
- [GRAILS-6943] - Can't save null dates even if fields is nullable
- [GRAILS-6946] - Forwarding to an action keeps the original actionName in filters
- [GRAILS-6956] - Regression: GSPs referenced by <g:render template="xxx"> are "Preprocessed for Sitemesh" every time they are invoked, even in production (for plugin GSPs)
- [GRAILS-6969] - Run-app incorrectly loads previously precompiled GSPs if found in filesystem
- [GRAILS-6970] - Cannot use 'import' statement in Grails Config
- [GRAILS-6976] - Modifications made to the app config by plugins (or anything) are not used for property override configuration
- [GRAILS-6983] - Test dependencies of plugins are not available to compile against at install time
- [GRAILS-6987] - Exceptions thrown during exception handlers cause exception to be logged in GrailsDispatcherServlet about no thread bound request
- [GRAILS-6992] - All request parameters are cleared between rendering the view and layout decoration in error handlers
- [GRAILS-6997] - The "server.port" JVM property is no longer respected
- [GRAILS-6999] - Recursive inline plugin 'lib' directories are not added to the classpath
- [GRAILS-7005] - Autotimestamping in integrationtest not working correctly
- [GRAILS-7022] - Regression in controller testing
- [GRAILS-7029] - Update documentation on where the war created by 'grails war' is located
- [GRAILS-7031] - Defaulting a message to "" causes grails to output the full message key instead of a blank string
- [GRAILS-7041] - Inconsistency between generated create.gsp and the Doc for the g:hasErrors tag
- [GRAILS-7044] - add-proxy sets the wrong property for ivy
- [GRAILS-7045] - Inline plugin loading broken on Windows
- [GRAILS-7053] - Dependency resolution issue in 1.4
- [GRAILS-7058] - maven support complely broken
- [GRAILS-7062] - Ajax event-handlers like onComplete are not rendered properly for g:remoteLink
- [GRAILS-7079] - Maven not packing basic core jars in war with grails 1.3.6
- [GRAILS-7080] - When services containing @Transactional methods are reloaded, a class level transactional proxy is incorrectly created
- [GRAILS-7087] - hasMany cached association does not return all instances if following a specific criteria Query
- [GRAILS-7096] - URLCreatorCache does not honor variations in collections in params
- [GRAILS-7099] - Accept header should take precedence over Content-Type in content negotiation
- [GRAILS-7101] - Build fails because checksum fails and Grails has no way of turning it off.
- [GRAILS-7109] - WrappedResponseHolder uses an inheritable thread local, allowing spawned threads to mess with the response
- [GRAILS-7111] - the doc build is failing because of a problem downloading archives from github
- [GRAILS-7149] - Grails maven plugin maven-functional-test goal causes NPE with dependencies without explict scope
- [GRAILS-7150] - probably wrong config name "naming_strategy" in GrailsAnnotationConfiguration
- [GRAILS-7158] - ConfigurationHolder.flatConfig is not reset during test units
- [GRAILS-7162] - Snapshot versions of plugins are not interpreted correctly (e.g. 0.2-SNAPSHOT should be > 0.1 but isn't)
- [GRAILS-7164] - Transitive plugin plugin dependencies are installed even if explicitly not exported in dependency DSL.
- [GRAILS-7168] - Declared plugins cannot be downgraded without deleting installed plugin
- [GRAILS-7177] - Inconsistent Resource Handling For FIles In src/java vs. Files In src/groovy
- [GRAILS-7182] - Externalised config does not survive config hot reloading (changing the Config.groovy file)
- [GRAILS-7186] - Integration tests fail after upgrading to 1.3.7 snapshot
- [GRAILS-7189] - Can not update date to null using data binding
- [GRAILS-7213] - grails.util.PluginBuildSettings.getPluginSourceFiles doesn't properly interprete EXCLUDED_RESOURCES ant patterns; .svn directories should be filtered out
- [GRAILS-7225] - The renderErrors tag is no correctly documented
- [GRAILS-7231] - Internal documentation engine produces broken links in index.html and grails doc -pdf does not work anymore
- [GRAILS-7235] - localhost only when starting with run-war
- [GRAILS-7237] - Data binding broken for a primitive Set inside an association
- [GRAILS-7246] - Section 12.1 "Notes on excluded Artefacts" has wrong list of plugin inclusions
- [GRAILS-7252] - The embbeded feature is not documented
- [GRAILS-7257] - Test-app script cannot handle spaces in test names
- [GRAILS-7280] - Problems to use Grails command line tools when folder name contains a '.'
- [GRAILS-7296] - GrailsTestTypeSupport class has hardcoded test directory
- [GRAILS-7306] - nulled variables not restored properly after GSP tag body execution (fix for GRAILS-2675 is broken)
- [GRAILS-7346] - Grails 1.4-M1 gradle build can no longer run a single test
- [GRAILS-7353] - shared constraints not applied for command objects
- [GRAILS-7375] - Building a test war does not include any test scoped plugins
- [GRAILS-7381] - Deploying packaged WAR to server gives error
- [GRAILS-7385] - Dynamic render method provides incorrect URI when rendering precompiled templates for plugins
- [GRAILS-7389] - When I am trying to chain from one controller action to another I get the following error.
- [GRAILS-7417] - JSONObject.equals() is broken
- [GRAILS-7427] - 'changing' attribute not honored in BuildConfig dependency resolution
- [GRAILS-7434] - Reference docs for g:applyLayout's accepted parameters are wrong.
- [GRAILS-7448] - Passing a mock to a method mocked using GrailsMock invokes undemanded methods.
- [GRAILS-7475] - ScaffoldingViewResolver tosses out supplied view name in favour of using action name
- [GRAILS-7486] - Hibernate Plugin's dependencies.groovy contains typo that causes slf4j-api not to be excluded
- [GRAILS-7511] - Autorecompile for .java files does not scan grails-app/**
- [GRAILS-7538] - modelAndView of the controllers is null when test
- [GRAILS-7592] - grails deadlocks randomly when building
Improvement
- [GRAILS-1452] - Define input output mapping in subflows
- [GRAILS-1726] - Create source zip files for JARs in distribution
- [GRAILS-2520] - Change html generation to stop using tables
- [GRAILS-2605] - Cannot access createLink() from a service
- [GRAILS-2894] - Make common properties and methods (request, response, params, render(), etc...) available in a filters enclosing class.
- [GRAILS-3477] - please crosslink blank and nullable contraints description in the reference
- [GRAILS-3887] - upgrade prototype version to 1.6.0.3
- [GRAILS-3911] - Criteria.list() sort nested properties
- [GRAILS-4740] - Add documentation describing deepValidate to validate and save sections
- [GRAILS-4810] - Grails Controller filters should allow exclusion of actions/controllers
- [GRAILS-5274] - Scaffolded create and edit forms should be a template
- [GRAILS-5356] - Improved Handling of Abstract Class Inheritance in GORM
- [GRAILS-5437] - GrailsMockHttpServletRequest inherits MockMultipartHttpServletRequest instead of MockHttpServletRequest
- [GRAILS-5554] - textArea and textFiled documentation is not clear
- [GRAILS-5587] - grails.config.locations classpath:*.groovy can be compiled later?
- [GRAILS-5635] - Plugin name can't contains number,for example:test2
- [GRAILS-5757] - create-integration-test creates a subclass of GrailsUnitTestCase
- [GRAILS-5780] - GroovyPagesTestCase should extend GrailsUnitTestCase, or at least part there of
- [GRAILS-5853] - There's no mention of totalCount in the Criteria builder docs
- [GRAILS-5863] - Use of Servlet SDK sendRedirect restricts functionality of filters
- [GRAILS-5978] - Upgrade to apache-commons-codec-1.4 in the grails distro
- [GRAILS-6008] - [mockDomain] - Enhance to simulate criteria queries and named queries
- [GRAILS-6168] - Named URL mapping renders standard HTML attributes as request parameters
- [GRAILS-6174] - clarify use of id attribute in form documentation
- [GRAILS-6182] - Extra event AppCfgStart/End in build system
- [GRAILS-6321] - Should be able to override dependency repositories for plugins
- [GRAILS-6505] - Rename default test DB
- [GRAILS-6567] - Try to detect 'infinite recompilation' issues due to package/class name mismatches
- [GRAILS-6685] - Create "link manager" bean that can be used to resolve links, refactor logic out of ApplicationTagLib
- [GRAILS-6753] - GSP Tag missing "name" field has unhelpful error message
- [GRAILS-6777] - Refactor <g:resource/> so that other code and plugins can easily create links
- [GRAILS-6784] - Incorporate a newer version of DBCP into Grails.
- [GRAILS-6844] - upgrade to ivy 2.2.0
- [GRAILS-6870] - In scaffolding, non existing optional Date properties should be rendered as blanks instead as "now" date
- [GRAILS-6872] - Provide a doctype for the default sitemesh layout, to prevent pages from being rendered in quirks mode
- [GRAILS-6880] - Replace HSQLDB With H2
- [GRAILS-6888] - Enable 301 redirects from an action acting as a 404 handler.
- [GRAILS-6892] - Update Grails To Use Hibernate 3.6.0
- [GRAILS-6896] - Expose the H2 web console
- [GRAILS-6908] - Extending the 'exclude' pattern in ivy configuration
- [GRAILS-6914] - Make Grails controllers singletons
- [GRAILS-6973] - Externalised config mechanism should support loading compiled config scripts
- [GRAILS-6982] - Improve Documentation around the afterView closure of a filter.
- [GRAILS-6996] - Use spring artifacts from Maven Central rather than from EBR
- [GRAILS-7004] - Auto-generated domain class tests should be integration tests
- [GRAILS-7012] - Special note in documentation: the 'log' variable from GroovyTestCase
- [GRAILS-7025] - Make mockConfig return the mocked config
- [GRAILS-7026] - Documentation for repository mavenLocal() is missing
- [GRAILS-7027] - Update documentation on how the default configuration for dependency resolution looks like
- [GRAILS-7028] - Note on how dependencies' group and name corresponds to Mavens groupId and artifactId
- [GRAILS-7034] - Remove transactional = true from service template
- [GRAILS-7060] - Prevent security sensitive parameters from displaying in exception logs
- [GRAILS-7076] - Re-skin scaffolding and default Sitemesh template using semantic markup
- [GRAILS-7082] - Upgrade Build To Use Gradle 0.9
- [GRAILS-7118] - Upgrade Grails To Use Groovy 1.8.0
- [GRAILS-7119] - Resolve Issue With Gant And ValueRecorder
- [GRAILS-7121] - Fire an event "InstallTemplates" while "grails install-templates"
- [GRAILS-7123] - Upgrade To Gant 1.9.4
- [GRAILS-7161] - Enable caching for GrailsViewResolver when GSP reloading is enabled in production (war-deployed)
- [GRAILS-7163] - Prevent committing original response while Sitemesh is active (before layout is applied)
- [GRAILS-7174] - Fix functional-test build so it runs the tests against run-war
- [GRAILS-7178] - Document dependencyConfiguration() method of dependency configuration
- [GRAILS-7183] - Swedish messages
- [GRAILS-7184] - Updated portuguese pt_BR i18n messages
- [GRAILS-7215] - Update Section 14.2 Configuring Additional Beans - Using the Spring DSL - Environment Example
- [GRAILS-7222] - Disable request parameter logging in production mode by default
- [GRAILS-7253] - Support argument with default value in namedQueries in domain class
- [GRAILS-7254] - Document enhancement in formRemote description
- [GRAILS-7278] - Add documentation for proper method of including filters in doWithWebDescriptor
- [GRAILS-7293] - Automatically clean up the MetaClass changes after each test run
- [GRAILS-7311] - Support generating .gitignore file with integrate-with script
- [GRAILS-7336] - Add Hibernate Query readOnly flag to dynamic finders and executeQuery methods
- [GRAILS-7349] - Switch to jQuery as the default Javascript library
- [GRAILS-7477] - Upgrade To Gant 1.9.5
- [GRAILS-7478] - 'grails shell' should be able to reload changes after start running; More control over the reloading capabilities of 'grails shell' and 'grails console'
- [GRAILS-7500] - Use improved unit test report template
- [GRAILS-7993] - name attribute of g:select is mandatory
New Feature
- [GRAILS-177] - grailsConsole: provide table views to the database.
- [GRAILS-493] - Generate domain classes from existing tables
- [GRAILS-3346] - Rails migration like framework (a la tk-autopatch)
- [GRAILS-4770] - Add event beforeValidate to domain classes
- [GRAILS-4859] - g:render with dynamically scaffolded template
- [GRAILS-6015] - run script within Grails context
- [GRAILS-6416] - Implement resourceLink tag to provide smart linking to css/js and other dependencies
- [GRAILS-6593] - GroovyDoc for GSP tags
- [GRAILS-6808] - The grails shell should support reloading
- [GRAILS-6823] - Implement a getMimeType utility method that returns best guess at mime type for a URI string
- [GRAILS-6974] - Externalised config mechanism should support loading config script classes
- [GRAILS-6975] - Support loading external config that can be overridden by app config (i.e. defaults)
- [GRAILS-6998] - Add support for issuing permanent redirects with the redirect() method.
- [GRAILS-7015] - Make Grails automatically log request URI and params when an exception is logged by the application
- [GRAILS-7018] - Enable use of Tomcat Advanced IO/ NIO connector in Grails Development mode
- [GRAILS-7074] - Support calling association named queries from within named queries
- [GRAILS-7395] - Add Support For OrCreate To Dynamic Finders
- [GRAILS-7409] - Support for binary (precompiled) plugins as JAR files
Task
- [GRAILS-5611] - Deploy source and javadoc Jars to Maven repo
- [GRAILS-6955] - documentation for <g:form> doesn't indicate that all attributes for createLink can be used (e.g. "params").
- [GRAILS-7393] - Document new Controller actions / scopes features
- [GRAILS-7504] - autoImport mapping feature is not documented anywhere
Test
- [GRAILS-6533] - Test controller's ModelAndView contains an additional key "linkedHashMap"
- [GRAILS-6942] - Jetty plugin no longer works for functional testing
Edit/Copy Release Notes
The text area below allows the project release notes to be edited and copied to another document.