JunC++ion v3.2
Release Focus
This release contains mostly bugfixes, portability enhancements (Solaris port), and the introduction of some limited STL-related functionality.
In this release, the Shared JVM is working very well with the exception of callbacks (which were intentionally deferred).
Callback support for concrete types has been added as an optionally enabled feature to prevent problems for customers with pre-existing modelfiles.
Change history
| Version | Module | Issue |
|---|---|---|
| 3.2.18 | Code generator & Runtime | #783 Callback performance for common callback cases significantly improved. |
| Code generator | #779 Callback generation for inner interfaces fails with exception. | |
| 3.2.14-17 | n/a | only .NET related changes |
| 3.2.13 | Runtime | #774 ACE symbols on Linux have been localized in runtime library, thereby preventing runtime conflicts with C++ applications that use ACE themselves. |
| Runtime (Shared JVM) | #772 Wide characters >127 were broken when running with shared JVM. | |
| Code generator & Runtime | #770 Support for callbacks on class types (not just interface types). Enabled in code generator by running with -ccbs option or by passing -Dcom.codemesh.xmog.supportsClassCallbacks | |
| 3.2.12 | Code generator | #764 Added export to list of escaped names. |
| ANT tasks | #763 Sorting algorithm of modelfile subelements is broken. | |
| ANT tasks | #762 Changed default boolean value of <callback> and <rmicallback> modelfile elements from false to true. | |
| Code generator and Runtime | #761 Portability-related changes for HP's aCC compiler. | |
| Runtime | #760 Potential deadlock in Shared JVM C++ client layer in case of multithreaded clients. | |
| Code generator | #759 Callbacks don't generate correctly if there's a non-generating abstract method in the callback type's inheritance hierarchy. | |
| Code generator | #758 Callbacks don't generate correctly if there's a duplicate callback method of the same name and signature in the callback type's inheritance hierarchy. | |
| 3.2.11 | Code generator | #757 Callbacks now expose public xmog_disable() method to support safe callback shutdown (enhancement for #722). |
| Code generator | #756 Saved model does not open when array type was imported from classpath (regression due to work on regular expression imports). | |
| Code generator | #755 Support fields for proxy methods can have name clash with proxy API (Java 3D contains a field called m22). | |
| 3.2.10 | Code generator | #753 Guarded generateField() model facade method against absence of class which declares field. |
| Runtime | #752 Made xmog_java_ref constructor explicit to prevent unintended conversion during erroneous use of NULL instead of null | |
| Code generator | #751 Types with methods that have arguments of type "array of inner class" don't compile if the inner class type is not also otherwise used. | |
| Code generator and Runtime | #750 String instances do not cache character pointers by default. | |
| 3.2.9 | Code generator | #748 Solaris port required changes to files. included by generated .cpp files; Sun Workshop conditionalized. |
| 3.2.6 - 3.2.8 | n/a | only .NET related changes |
| 3.2.5 | Runtime | #745 dyna_cast() leaks reference when used on callback argument. |
| ANT tasks | #739 MSVC++6 compiler task does not handle spaces in path names correctly. | |
| 3.2.4 | Runtime | #736 getLoaderResult() returns failure when JVM is already preloaded. Not a regression on #704, but related. |
| 3.2.3 | Code generator | #735 lack of control over -target in javac invocation. |
| Runtime | #734 race condition in first time callback initialization. | |
| 3.2.2 | Code generator | #733 Solaris port. Changes to satisfy Sun Workshop compiler. |
| Code generator | #732 command line options are not parsed correctly on Unix. | |
| Code generator | #731 generated makefile improvements or Unix platforms. | |
| Code generator | #728 long API documentation contains duplicate of short documentation. | |
| 3.2.1 | Runtime | #727 signature of xmog_java_values causes excessive warnings using Sun Workshop compiler. |
| Runtime | #726 XMOG_REMOTE=false in environment incorrectly enables remote mode. | |
| Code generator | #725 Strange log messages from code generator in command line mode. | |
| Runtime | #724 trace() method does not flush stream after writing to trace file. | |
| 3.2.0 | Code generator & Runtime | #722 callbacks might not be safe to use under all circumstances. There are some usage patterns where you cannot reliably control the lifecycle of the callback instance and in these cases, callbacks might be in process while part of the infrastructure is being destroyed. |
| Code generator & runtime | #717 Java collection types are not STL iterable. | |
| Code generator | #716 placement new operator does not compile with all compilers. | |
| Runtime | #711 Java to C string marshalling performance improved. |
