Jace 1.1RC1_03 released

This is an early release of 1.1RC1. It should be mostly feature complete and bug free. The last effort required to get to 1.1RC final is bug fixing and testing on multiple platforms. I strongly encourage people to migrate over to this new version and help me out with platform testing and porting. Release notes and change log follows:

-------------- Changes since 1.1b3

- Fixed many, many, many bugs, including all those listed in SourceForge, and many not listed in SourceForge.
- Added local reference management. Now you can run your programs forever without leaking any memory or resorting to Push/PopLocalFrame, DeleteLocalRef, or DetachCurrentThread calls.
- Added a new -mindep option to AutoProxy. With this new option, AutoProxy now only generates the bare minimum set of classes for your code to correctly compile. This reduces the number of classes generated to 1/10th the original on average. For example, map_example now contains 7 auto-generated classes, down from 75.
- Added guard checking for faster compilation. Now Jace builds in 20 seconds, and all of the shipped examples build in under 30 seconds.
- Added JACE_CHECK_NULLS - You can turn this on to get exceptions when you dereference null Java objects. See the new array example.
- Added JACE_CHECK_ARRAYS - You can turn this on to get exceptions when you do silly things with arrays. See the new array example.
- Added java_cast and instanceof template functions that act like their Java counterparts. Check out javacast.h and the map_example. These functions type-safely replace JObject.getJavaJniObject(), JObject( jobject ), and JObject( jvalue ).
- Added STL conforming random access iterators to JArray. See the new array example.
- Fixed support for VC++.NET (now works out of the box with VC++7.0 and VC++7.1)
- Fixed support for gcc 3.2 (now works out of the box)
- Added support for Comeau
- Added two new examples - array_example and peer_singleton
- Added a new BatchEnhancer utility
- Updated documentation - Now in PDF format too.

-------------- Release Notes

- In order for Peers to be properly garbage collected, you do have to specify a resource method to PeerEnhancer, and you do have to call that resource release method to actually release the object - irrespective of what the documentation currently says.
- Peers get unresolved linker errors at runtime with gcc3.2. Users are encouraged to help me discover the source of this behavior.
- Although this release is expected to work with most compilers, it has only been tested with several flavors of VC++, Comeau, and gcc.
- Although Jace works with VC++6.0, to get better performance and conformance, users are encouraged to use more recent versions of VC++.

Posted by Toby Reyelts 2003-07-29

Log in to post a comment.