Hi all,
Granite Data Services 1.2.0 GA is out. You may download it, as usual, on
Sourceforge here
<http://sourceforge.net/project/showfiles.php?group_id=183386> .
This is the first GraniteDS release compiled against the new Flex 3 SDK
("Version 3.2.0 build 3958", to be precise). As announced in previous
release notes, Flex 2 isn't supported anymore:you may recompile
everything against Flex 2, it should work, but youwon't be able to use
specific Flex 3 annotations support required byTide and we won't fix
Flex 2 specific issues anymore.
Here is some other highlights about this release (some new features were
already available in 1.2.0_RC1):
* The Gravity implementationfor Tomcat with APR/NIO has been
completely rewritten since 1.1 and isnow a lot more stable. Additionally
there is now Gravity support for JBossWeb, which is a modified Tomcat
included in JBoss 5.0.0 GA.
* We are starting to integrate new JPA providers and application
servers. GDS 1.2 comes with a specific integration for TopLink (used in
GlassFish V2, Sun AS and Oracle AS) and EclipseLink (RI for JPA 2.0 used
in GlassFish V3). It also brings a specific security service for
GlassFish (only a slightly modified Tomcat security service).
* Tide for Seam now fully supports Seam 2.1 and the two example
projects now run with Seam 2.1.0.SP1.That allows to remove the
dependency on JSF and brings a cleanerdeployment. It is also fully
integrated with Seam 2.1 authorizationsand it is now possible to use
role-based and permission-based securityon the Flex client to make some
components conditionally visible or tocheck for access rights before
trying to issue service calls.
* Tide for Spring and Tide for EJBhave been improved and should be
fully functional on all supportedcombinations of application
servers/data access providers. In particularTide/Spring now works
correctly with plain Hibernate, without JPA andwithout JTA, and can use
the Session API (but still requires the use ofannotations). Both
integrations provide zero-conf remoting, entitycaching, transparent lazy
loading of collections and data paging. Theycan also be completely
integrated with the Tide client framework.
* The WebCompiler now includes the Flex 3.2 SDK and is able to
compile code for Flash 10.
* Maven artifacts are now available on java.net
<http://download.java.net/maven/2/org/graniteds/> . The final 1.2.0 GA
release isn't uploaded yet, but it should be available very soon.
Important migration tip: you should regenerate all your ***Base.as beans
with the new Gas3 Ant task or the new GraniteDS builder!
Here is the complete release note for this 1.2.0 GA (see also GDS Jira
<http://www.graniteds.org/jira/browse/GDS?report=com.atlassian.jira.plug\
in.system.project:changelog-panel> ):
New Feature
* [GDS-266 <http://www.graniteds.org/jira/browse/GDS-266> ] - Tide:
integration with server-side Seam authorization
* [GDS-267 <http://www.graniteds.org/jira/browse/GDS-267> ] -
Integration with EclipseLink JPA provider
* [GDS-279 <http://www.graniteds.org/jira/browse/GDS-279> ] - Gravity
Tomcat servlet does not deploy on Jboss 5.0.0.GA
Improvement
* [GDS-254 <http://www.graniteds.org/jira/browse/GDS-254> ] - Add
maven POM files for all GDS modules and publish artifacts to a public
repository
* [GDS-257 <http://www.graniteds.org/jira/browse/GDS-257> ] - Gas3:
add more debug information.
* [GDS-258 <http://www.graniteds.org/jira/browse/GDS-258> ] - Tide:
add [Version] tag on optimistic locking property getter in gas3 template
* [GDS-260 <http://www.graniteds.org/jira/browse/GDS-260> ] - Tide:
ability to force a server conversationId from a client conversation
* [GDS-262 <http://www.graniteds.org/jira/browse/GDS-262> ] - Tide:
better handling of client conversations
* [GDS-264 <http://www.graniteds.org/jira/browse/GDS-264> ] - Tide:
support for TideResponders in remote calls instead of defining
resultHandler and faultHandler
* [GDS-265 <http://www.graniteds.org/jira/browse/GDS-265> ] - Tide:
allow static injection of properties in client components
* [GDS-270 <http://www.graniteds.org/jira/browse/GDS-270> ] - Tide:
use of qualified class name + uid as a key in the entity cache
* [GDS-277 <http://www.graniteds.org/jira/browse/GDS-277> ] - Tide:
LOGIN event not dispatched on browser refresh when user already logged
* [GDS-280 <http://www.graniteds.org/jira/browse/GDS-280> ] - Tide:
server-agnostic operation
Bug
* [GDS-249 <http://www.graniteds.org/jira/browse/GDS-249> ] - Gas3
never regenerates Enums
* [GDS-253 <http://www.graniteds.org/jira/browse/GDS-253> ] - Copy of
ErrorMessages loses extendedData
* [GDS-256 <http://www.graniteds.org/jira/browse/GDS-256> ] - Gas3
template compilation errors does not show source code (NPE)
* [GDS-259 <http://www.graniteds.org/jira/browse/GDS-259> ] -
ContextEventListener doesn't catch first raised event
* [GDS-261 <http://www.graniteds.org/jira/browse/GDS-261> ] - Tide:
merge of persistent maps is not correct
* [GDS-268 <http://www.graniteds.org/jira/browse/GDS-268> ] - Tide:
lazy loading requires JTA transactions and does not work in simple
Tomcat deployments
* [GDS-269 <http://www.graniteds.org/jira/browse/GDS-269> ] - Tide:
stack overflow in meta_getReference for complex graphs of entities
* [GDS-274 <http://www.graniteds.org/jira/browse/GDS-274> ] - Gas3
does not generate correct code for interfaces extending other
interfaces.
* [GDS-275 <http://www.graniteds.org/jira/browse/GDS-275> ] - Tide:
simple arrays are not merged
* [GDS-276 <http://www.graniteds.org/jira/browse/GDS-276> ] - Tide:
lazy loading does not work correctly with complex entity graphs
* [GDS-278 <http://www.graniteds.org/jira/browse/GDS-278> ] - Tide:
outjected variables evaluated in incorrect scope in some cases
* [GDS-281 <http://www.graniteds.org/jira/browse/GDS-281> ] - Tide:
updates on component collection properties are not merged
* [GDS-282 <http://www.graniteds.org/jira/browse/GDS-282> ] - Tide:
entity merge does not use cache in some cases
* [GDS-284 <http://www.graniteds.org/jira/browse/GDS-284> ] - Tide:
restore context should not get previous value when incoming value is an
unsaved entity
* [GDS-285 <http://www.graniteds.org/jira/browse/GDS-285> ] - Tide:
remote observers are lost after logout/relogin
You may also refer to the 1.2.0 RC1 announcement
<../../../../graniteds/message/2232> for additional details.
It is likely that we are going to jump directly from the 1.2 release to
a 2.0 release: the project is somehow getting messy and we are going to
reorganize it. Here is some future plans:
* Suppress all specific persistence SWCs(granite-eclipselink.swc,
granite-hibernate.swc,granite-tide-eclipselink.swc,
granite-tide-hibernate.swc,granite-tide-toplink.swc,
granite-toplink.swc!) and integrate genericpersistence classes in the
core granite.swc bundle. Because we aregoing to add OpenJPA (WebLogic
Kodo) and maybe JPOX/DataNucleus, this simplification seems to be
necessary in order to avoid SWCs proliferation.
* Integrate the Gas3 Ant plugin with the GraniteDS builder in a same
jar.
* Build a release with only one file (graniteds-***.zip) containing
built packages, source code, API documentation, tools and examples.
Comments are welcome (in GDS forum
<http://tech.groups.yahoo.com/group/graniteds/> ).
Best,
Franck.