Grails0.6终于发布了,fix了200多个issue,不管从稳定性还是启动速度方面有了很大的提升。
早在Grails处于开发阶段时,我就尝试了一回,第一次启动时显示185ms,但第二次启动就只有93ms了,因为在第一次启动时Grails会将脚本缓存起来,并编译源文件为class文件以免没有修改过的源文件再次被编译以节省时间。
此外Grails还集成了Spring Web Flow,支持了SiteMesh的decorator,界面更漂亮 :)
还有很多新特性。。。
具体可以看一下
0.6 Release Notes注意:配置方面的改变请参考朝花夕拾——Groovy & Grails下载地址:
http://dist.codehaus.org/grails/grails-bin-0.6.zipRelease Notes - Grails - Version 0.6 - HTML format
Sub-task
- [GRAILS-1514] - Date picker should allow no selection for nullable dates
- [GRAILS-1516] - No select option when selecting linked entities
- [GRAILS-1527] - No select option when field with inList constraint is optional
- [GRAILS-1528] - No select option when field with range constraint is optional
Bug
- [GRAILS-920] - generate-xxx task finds multiple ApplicationBootStrap.groovy files
- [GRAILS-1081] - Size constraint is applied to blank values (blank:true)
- [GRAILS-1448] - log property missing after change to non-abstract base class
- [GRAILS-1500] - Cannot use ApplicationTagLib.createLink() from controller
- [GRAILS-1506] - Validations errors do not show up in Scaffolded views
- [GRAILS-1524] - Launching within Eclipse fails
- [GRAILS-1531] - Incorrect environment for datasource loaded by WAR
- [GRAILS-1532] - Sometimes, calculation of destination file to compile to has the extension of .groovy.class resulting in infinite loop
- [GRAILS-1536] - No native2ascii be executed when "grails war"
- [GRAILS-1540] - <g:link> tag creates wrong link when 'params' attribure is provided
- [GRAILS-1541] - Application reloading breaks reverse url mappings
- [GRAILS-1542] - Exception while saving domain object from BootStrap.groovy
- [GRAILS-1543] - Grails HEAD rev 5318 changes prevent saving/validating domain objects from bootstrap
- [GRAILS-1544] - Grails HEAD rev 5317 generates spurious warning about unsupported contraint on String field with unique contraint
- [GRAILS-1545] - Unable compile java files referencing jars include in lib...
- [GRAILS-1553] - Incorrect cascade on delete
- [GRAILS-1554] - Constraints for POJO's not working in 0.6.
- [GRAILS-1564] - Can't place domain objects into flow store.
Improvement
- [GRAILS-1212] - TestApp.groovy script should delete previous test reports
- [GRAILS-1346] - Make <g:paginate> tag produce URLs aware of custom URL Mappings
- [GRAILS-1356] - Sortable column should respect id= attribute if present
- [GRAILS-1525] - Scaffolding generated select fields are always required despite the optionality of the field
New Feature
- [GRAILS-958] - Request for Grails Integration with GWT
Task
- [GRAILS-959] - Remove breadcrumb attribute from paginate tag as it was deprecated in 0.5
- [GRAILS-1478] - Update logo used on grails.org to Brand 2.0
Release Notes - Grails - Version 0.6-RC1 - HTML format
Sub-task
- [GRAILS-782] - Fix reloading of classes inside src/groovy & src/java
- [GRAILS-798] - Fix reloading of abstract base classes (specifically with controllers)
- [GRAILS-899] - Add additional message.properties for other languages
- [GRAILS-938] - Make constraintPropertyName and constraintOwningClass displayed in constraint validation errors I18n aware
- [GRAILS-1039] - Fix reloading of data sources
- [GRAILS-1124] - When enabling dynamic scaffolding at runtime, it requires a server restart
- [GRAILS-1177] - Stop create-plugin copying in all the Yahoo and Prototype gumph
- [GRAILS-1268] - Stop putting core plugin files into project's plugins/core
- [GRAILS-1293] - Refactor OpenSessionInView Interceptor to use two transactions and to be aware of executing flows
- [GRAILS-1294] - Make controller convention aware of flows within controllers
- [GRAILS-1295] - Amend form and link tags to automatically append flowExecutionId if present in conversation
- [GRAILS-1296] - Introduce HibernateSessionPerConversationListener to make conversations manage hibernate session
- [GRAILS-1297] - Refactor SimpleGrailsController to be aware of flows and flow executions
- [GRAILS-1298] - Implement FlowBuilder DSL for constructing webflows
- [GRAILS-1299] - Create new FlowGrailsPlugin that configures webflow with default settings
- [GRAILS-1338] - Reloading of controllers goes bad when compile of controller fails, breaks future reloads
- [GRAILS-1362] - Improve DSL by allowing easy access to flow, conversation and flash scopes
- [GRAILS-1363] - Enhance webflow AttributeMap interface to behave like Groovy maps
- [GRAILS-1364] - Scope webflow views under the action name in grails-app/views
- [GRAILS-1366] - Allow customisation of view to render for flow
- [GRAILS-1367] - Add support for external redirects
- [GRAILS-1368] - Allow configuration of client continuation flow repository for stateless flows
- [GRAILS-1380] - Allow Grails services to define scope variable and reside in either application, flash, flow or conversation scope
- [GRAILS-1385] - Allow dynamic transitions and redirects in flows
- [GRAILS-1390] - Support specifying a table name
- [GRAILS-1419] - Fix war deployment mode
- [GRAILS-1420] - Pre-compile unit tests too
- [GRAILS-1421] - Pre-compile plugin sources
- [GRAILS-1422] - Add listener to watch WEB-INF/classes and auto-reload web app
- [GRAILS-1423] - Check all aretacts can still be reloaded effectively
- [GRAILS-1424] - Make generate-all use pre-compiled classes
- [GRAILS-1425] - Make core plugin compile java/groovy sources when they change
- [GRAILS-1469] - Stop copying jars into web-app/WEB-INF/lib
- [GRAILS-1470] - Stop generating web.xml to web-app/WEB-INF
- [GRAILS-1475] - Stop compiling classes to web-app/WEB-INF/classes
- [GRAILS-1476] - Stop copying classpath resources from grails-app/conf to web-app/WEB-INF/classes
Bug
- [GRAILS-295] - Problem accessing src/java classes from src/groovy classes
- [GRAILS-452] - Add radioGroup taglib to render all options in a group and handle select
- [GRAILS-490] - BeanBuilder doesn't work from Groovy script
- [GRAILS-497] - grails command in Windows root directory
- [GRAILS-540] - "label for" should reference an 'id' not a 'name' in HTML
- [GRAILS-568] - Services (non-transactional) that fail to compile do not reload once fixed
- [GRAILS-575] - test-app compilation errors not reported helpfully, no detail
- [GRAILS-641] - The .classpath file for the Eclipse project doesn't play nice with the Groovy Eclipse Plugin
- [GRAILS-660] - Duplicate groovy classes
- [GRAILS-720] - Plugins loaded twice if you run-app a plugin project
- [GRAILS-746] - Static dynamic methods on domain classes not invoked when called on an instance of the domain class
- [GRAILS-775] - hsql is not shotdown properly in production mode when webapp is stopped
- [GRAILS-779] - Fix all known auto-reloading issues
- [GRAILS-908] - Intermittent startup failures/race conditions
- [GRAILS-919] - error.jsp page error with tag attribute value not accepting expressions
- [GRAILS-987] - no model attributes in layout GSP: not using same request/model as body GSP?
- [GRAILS-990] - BeanBuilder cannot set wrapped property value
- [GRAILS-993] - GSP Parser doesn't like string values for attributes like x="["
- [GRAILS-1024] - g:select tag has inneficient property access (using bean.properties[name]) for a bean single property
- [GRAILS-1047] - Sitemesh layout does not work for the application top level index.gsp
- [GRAILS-1055] - file upload does not bind to domain class property
- [GRAILS-1062] - Composite id not processed properly
- [GRAILS-1084] - Services of a plugin within an app are reloaded, but is extremely slow and shows no output indicating what is going on
- [GRAILS-1146] - hasErrors tag does not detect all errors in request attributes
- [GRAILS-1147] - changing locale by passing in lang param only changes locale for the request and not the whole session
- [GRAILS-1149] - UnsupportedOperationException for afterInterceptor when action redirects
- [GRAILS-1188] - Taglib reloading doesn't always work first time
- [GRAILS-1192] - Reloading of domain classes results in spring error
- [GRAILS-1227] - grails command line does not work if used with groovy 1.1 beta installed
- [GRAILS-1237] - TagLib g:checkBox Improperly Overrides HTML "value" parameter
- [GRAILS-1250] - ClassCastException when list in select uses integer as key
- [GRAILS-1253] - Some controllers (perhaps those which extend bases) are not recognized as controllers in PRODUCTION only
- [GRAILS-1256] - java.lang.IllegalArgumentException: Resource path [/Users/xxxx/.grails/lib] does not denote a directory
- [GRAILS-1262] - Plugin itself is not loaded when running or testing plugin project
- [GRAILS-1272] - URL mapping /$id? is not working
- [GRAILS-1283] - Regression: test-app not compiling code in src/groovy before running tests
- [GRAILS-1284] - Tests always say they have passed, even when critical errors like compile failures
- [GRAILS-1287] - message tag not properly resolving error codes
- [GRAILS-1300] - "grails generate-all/views/controller" hangs
- [GRAILS-1301] - Services (and other artefacts suspected) do not have access to dynamic log property during unit tests
- [GRAILS-1302] - grails -help shows stacktrace
- [GRAILS-1304] - UrlMappings is broken
- [GRAILS-1306] - Grails upgrade copies log4j*.properties to grails-app/conf on plugins.
- [GRAILS-1307] - Can't build 0.5.6 with IBM JVM (WarTests fails because i18n/messages_it.properties is not encoded in UTF-8)
- [GRAILS-1312] - make run-webtest work before run-app has been called
- [GRAILS-1315] - Regression: encodeAsHTML() not called in all generated scaffolding views
- [GRAILS-1316] - Problems with Webtest
- [GRAILS-1321] - I have a problem with the criteria builder
- [GRAILS-1322] - MissingPropertyException if controller extends non-abstract parent controller
- [GRAILS-1324] - SetProxy.groovy should create ${user.home}.grails\scripts dir if not existing
- [GRAILS-1328] - Controller without index closure fails, PLUS it makes all extending controllers fail...
- [GRAILS-1329] - Regression: No way to specify per-class error messages for matches constraint failures
- [GRAILS-1330] - Still nasty exceptions when reloading some domain class changes
- [GRAILS-1331] - Change a controller than extends a base and got ugly virtual method error on reload
- [GRAILS-1333] - Creating a .WAR archive resource bundles are not converted by native2ascii
- [GRAILS-1334] - Duplicate entry in web.xml
- [GRAILS-1336] - Once grails is started in (dev mode), you cannot alter files under web-app any longer
- [GRAILS-1337] - install-plugin uses incorrect filename when downloading over http
- [GRAILS-1339] - Unit tests do not bind mocked params into command objects and hence do no validation
- [GRAILS-1341] - Command Object constraint causes start-up failure when referencing a Domain Object dynamic method
- [GRAILS-1348] - beforeInterceptor does not execute if no "except" parameter specified
- [GRAILS-1350] - Regression: afterInterceptor showing exception when modifying model
- [GRAILS-1352] - afterInterceptor with modelAndView on a redirect should be null instead of an error
- [GRAILS-1357] - setting GRAILS_HOME with trailing backslash on Windows results in grails not starting
- [GRAILS-1358] - war-task takes wrong messages*.properties
- [GRAILS-1359] - grails create-app breaks with StringIndexOutOfBoundsException
- [GRAILS-1369] - Controller class is not always correctly loaded on change
- [GRAILS-1379] - Hibernate's hbm.xml files in subpackages aren't copied
- [GRAILS-1396] - Regression: afterInterceptor cannot modify model (EMC/Groovy bug)
- [GRAILS-1397] - Plugins must have a lib/ dir or grails test-app crashes
- [GRAILS-1398] - Regression: Integration tests cannot extend a base class defined in tests/integration
- [GRAILS-1406] - missing imports cause run-app to fail silently
- [GRAILS-1418] - plugin's shared templates not picked-up by plugin
- [GRAILS-1429] - Constraints do not seem to be initialized on nested domain class references
- [GRAILS-1430] - Dynamic finders still not always accessible
- [GRAILS-1434] - render method with single parameter map argument reports no render method taking LinkedHashMap found
- [GRAILS-1437] - yahoo lib order is wrong; move event before connection
- [GRAILS-1440] - lazy init of dynamic methods on domain classes breaks if the class extends an abstract parent class
- [GRAILS-1447] - request.getRequestURI() returns a strange string
- [GRAILS-1454] - Using a Command object hides service objects
- [GRAILS-1457] - Several Grails unit tests fail on Windows XP with Java SE 6
- [GRAILS-1458] - Grails test-app hides compile errors in test classes
- [GRAILS-1459] - Integration tests throw exception with custom artefacts
- [GRAILS-1460] - Unit/Integration Test Reports show 0 tests, 0 errors, and 0 failures regardless of outcome
- [GRAILS-1461] - Reloading a gsp page taht contains a call to DomainClass.list* results in NullPointerException
- [GRAILS-1462] - Can not create domain objects from unit tests
- [GRAILS-1464] - calls to new MissingMethodException() have wrong signature in HibernateGrailsPlugin
- [GRAILS-1466] - generated war doesn't have any artifacts and views
- [GRAILS-1467] - Unique constraint test failing only when run with other tests
- [GRAILS-1479] - java.lang.ClassNotFoundException: org.codehaus.groovy.grails.cli.GrailsScriptRunner
- [GRAILS-1481] - The ".classpath" file for Eclipse support is out of synch
- [GRAILS-1487] - application.allClasses does not contain non controller classes in grails-app/controllers when deployed as WAR
- [GRAILS-1488] - Custom artefacts appear not to be registered in WAR deployment
- [GRAILS-1492] - After reloading a class the class takes on a name like script1000002 which breaks the error screen code snippets
- [GRAILS-1493] - ValidationTagLib problem in hasErrors and eachError with multiple beans
- [GRAILS-1494] - relaoding broken
- [GRAILS-1495] - pluginContextPath mechanism broken in WAR mode
- [GRAILS-1496] - synchronize projectname for book-flow sample
- [GRAILS-1499] - Scaffolding plugin throws an exception when a tag lib is modified in dev. mode
- [GRAILS-1501] - When reloading a class the log property stops working
- [GRAILS-1503] - The console and shell don't work following pre-compilation refactory
- [GRAILS-1517] - Interceptors not firing during flow
- [GRAILS-1519] - Compiling changes to Java sources that reference Groovy sources produces error
Improvement
- [GRAILS-234] - Make actionSubmit tag take controller and action attributes
- [GRAILS-334] - Upgrade to Jetty 6
- [GRAILS-400] - Add support for SiteMesh's applyDecorator feature
- [GRAILS-411] - Inject Services into BootStrap classes
- [GRAILS-436] - Review usages of Collections.synchronizedMap(x) et al with a view to using JDK concurrency classes
- [GRAILS-510] - Reimplement Spring Web Flow integration
- [GRAILS-623] - Don't wrap results of HibernateCriteriaBuilder's list, get, scroll and count methods in proxy
- [GRAILS-679] - url rewriting for browsers with cookies disabled
- [GRAILS-718] - Make unit tests automatically delete and flush domain objects before each test is executed
- [GRAILS-823] - improve the GrailsMain class to do all the packaging stuff
- [GRAILS-871] - Change install-plugin to leave plugin ZIPs in ./plugins
- [GRAILS-897] - Improve internationalization support
- [GRAILS-949] - Bundle only environment specific files in war
- [GRAILS-951] - Making URL mapping support HTTP methods for REST
- [GRAILS-1108] - Add "pass-through" option to URL mappings
- [GRAILS-1118] - Stop returning proxies from criteria results
- [GRAILS-1134] - session should override toString()
- [GRAILS-1176] - Stop requiring web.template.xml in web-app/WEB-INF
- [GRAILS-1193] - Make inList constraint set maxSize on string fields if no size set by user
- [GRAILS-1200] - Make executeQuery() support sort and order parameters like list()
- [GRAILS-1208] - Move registration of Java (hibernate ) domain classes forward in Grails startup to before plugin doWithSpring
- [GRAILS-1211] - Promote external converters plugin to core
- [GRAILS-1214] - Can't get groovyPageResourceLoader to load views, and mechanism seems awkward
- [GRAILS-1215] - Change default for cascade deletes to NOT CASCADE
- [GRAILS-1258] - Would be useful to allow test-app to accept multiple parameters
- [GRAILS-1274] - Fix overlapping URL mappings such that it matches rules with explicit controller first
- [GRAILS-1305] - Use fixed-width / monospace font for strack trace on error page - currently it is a jumbled mess in the browser default font
- [GRAILS-1326] - 'grails install-plugin not-existing-plugin' should output a more descriptive message
- [GRAILS-1387] - DefaultBeanConfiguration should provide more "special" meta properties (like it does with autowire)
- [GRAILS-1389] - parse BigDecimal using CustomNumberEditor in GrailsDataBinder
- [GRAILS-1391]
- <g:javascript library=.../> tag becomes useless if you move
prototype etc out of web-app into, say, a static web folder
- [GRAILS-1416] - Pre-compile Groovy code under grails-app to improve startup time
- [GRAILS-1432] - Add "codec" attribute to g:message tag to allow tag to automatically encode the message for the output stream
- [GRAILS-1446] - CLONE -grails.tld does not reflect all built-in taglibs
- [GRAILS-1485] - Refactor JavascriptTagLib to support extension
- [GRAILS-1508] - Improve default scaffolding skin
- [GRAILS-1518] - Allow overriding of grails.env for migrating WAR files
New Feature
- [GRAILS-259] - Add radioGroup tag to create a set of radio buttons from a list of values or codes
- [GRAILS-291] - Add support for Sitemesh page:applyDecorator tag
- [GRAILS-505] - Add FormatTagLib
- [GRAILS-729] - Add mechanism for application and plugin configuration data
- [GRAILS-894] - HTTPS support for run-app
- [GRAILS-1292] - Grails Web Flow Integration
- [GRAILS-1443] - Document g:javascript tag on grails.org
- [GRAILS-1449] - Allow controllers to invoke tags such as createLink, link etc.
Task
- [GRAILS-472] - Remove support for optionals property (in favor of using nullable:true instead)
- [GRAILS-948] - Remove support for minSize, maxSize and size constraints for numeric properties
- [GRAILS-1040] - Deprecate old add* relationship management methods
- [GRAILS-1115] - Remove Simple CMS Example App
- [GRAILS-1121] - Remove support for 'notNull' criteria restriction as it was replaced by 'isNotNull'
- [GRAILS-1279] - Remove 'create-test-suite' method as it is deprecated since 0.5.6
- [GRAILS-1388] - Standartize syntax of all dynamic finder methods for domain classes
- [GRAILS-1477] - Update logo used in header of application to Brand 2.0
Wish
- [GRAILS-569] - Interceptors cannot reference services, results in NPE
附:
朝花夕拾——Groovy & Grails
posted on 2007-09-01 09:24
山风小子 阅读(2410)
评论(5) 编辑 收藏 所属分类:
Groovy & Grails