First they ignore you
then they ridicule you
then they fight you
then you win
    -- Mahatma Gandhi
Chinese => English     英文 => 中文             
随笔-221  评论-1047  文章-0  trackbacks-0
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.zip

Release 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 山风小子 阅读(2412) 评论(5)  编辑  收藏 所属分类: Groovy & Grails