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

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-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-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.