gerald.brose@acm.org JacORB 1.3 RELEASE NOTES www.jacorb.org ________________________________________ Features - free CORBA 2.0 implementation (LGPL license) - 100% Java, no native code - fully multithreaded, very good performance - IDL compile, complies to rev. 2.3 of the Java language mapping - DII, DSI, native IIOP - POA (by Reimo Tiedemann) - DynAny - Implementation Repository with GUI (by Nicolas Noffke) - Interface Repository with GUI (by Gerald Brose and Joerg von Frantzius) - Applet support and HTTP tunneling (by Sebastian Mueller) - IIOP 1.1 and Code set support (by Martin Devera) - IIOP over SSL (by Gerald Brose and Nicolas Noffke) - Portable Interceptors, for service context passing) (by Nicolas Noffke) - Domain Management (by Herbert Kiefer) - Object Service implementations - Interoperable Naming Service (with graphical interface) - Trading Service (extension of Mark Spruiell's JTrader by Nicolas Noffke) - event service - transaction, collection and concurrency service (by Alex Sinishin and Viacheslav Tararin of DekaSoft Ltd., Ukraine,taras@deka.kp.km.ua) Roadmap: - OBV, GIOP 1.2, BiDirectional GIOP H I S T O R Y O F C H A N G E S ------------------------------------------- 1.3.30 - fixed a problem with client-side connection time outs (clients would only time out once, and not also after subsequent reconnects). Involved changing some of COMM_FAILURE exceptions thrown in the runtime to IMP_LIMIT for tiemouts - these are the ones yu want to catch! Also changed a few others to TRANSIENT where they are appropriate for failures in the *initial* connection setup. - IDL compiler bug fixes: fixed bugs in constant expressions Compiler now resets internal table between IDL files passed on the same command line Compiler did not complain if oneway operations declare exceptions or return types other than void. Now it does. Compiler did not complain about identifiers in the same scope that differed only in case, which it should according to the spec. Now it correctly rejects definitions like "teST" and "TEst". Compiler did not check the IDL 2.3 rules for redefinition of interfaces etc. in nested scopes, now it does. (If that breaks your IDL files, use the new switch -sloppy_names to have the compiler behave as before.) Fixed Problems in generated code - String members in exceptions and structs are now initialized to "", otherwise there can be CORBA.MARSHAL exceptions at runtime because of null values. - generated code in multi-dimensional sequences now compiles with javac. - Arrays of anys: generated code now compiles with javac. - Corrected references to holder classes for out parameters for types aliased to string Additional bug fixes... - added support for inverse DNS lookup of IP addresses, so IORs contain fully qualified host names instead of IP numbers. See INSTALL file for details. - added properties "jacorb.ior_proxy_[host|port]" that replace the actual host/port where the ORB listens for requests. This is for cases where servers are hidden behind proxies / firewalls. - fixed a bug where a release() or a LocationForward on a shared object reference caused the irregular termination of other concurrent requests over that reference. - added property "custom.props" which can contain a comma separated list of additional properties files. These properties will override properties set in the jacorb.properties file. This is useful for setups with multiple servers/clients, where each process needs its own configuration. - fixed bugs in trader build files (leftover from "org" change). - added "auto-register" feature to the ImR. This will register servers, that don't need to be restarted automatically, on their first startup, so they don't have to be registered manually. This feature is activated via a "-a" switch to the ImR process or by setting the property "jacorb.imr.allow_auto_register" to "on". - renamed property "jacorb.ImplementationRepositoryURL" to "ORBInitRef.ImplementationRepository", so the ImR is available through resolve_initial_references(). - accepting now ORBInitializer class properties in the form of "org.omg.PortableInterceptor.ORBInitializerClass." for compliance reasons. Old form of "org.omg.PortableInterceptor.ORBInitializerClass.=" is still supported. 1.3.21 - internal redesign: all package names now begin with "org.jacorb" NOTE: You MUST change existing jacorb.properties files to reflect these changes where property values point to JacORB classes, e.g. the value for property: org.omg.PortableInterceptor.ORBInitializerClass.standard_init must be changed to: org.jacorb.orb.standardInterceptors.IORInterceptorInitializer - IDL compiler: . added the -nostub switch to suppress generation of client stubs . added the -sloppy_forward switch for forward declared interfaces without definitions . name resolution bug fixed . stricter checks in lots of places (thanks to Paul Locke) . minor bug fixes - Any marshalling bugs for alias types fixed - fixed diverse bugs in wstring support - enhanced dior tool to display character codeset information - fixed minor bug in internal buffer management - fixed bug in fallback code after a non-permanent ForwardRequest by a portable interceptor - added few properties to allow for tailor-made authentication implementations (aka PrincipalAuthenticator). Also fixed a few minor glitches in the SSL setup, so that we can now interoperate with, e.g., Orbacus' SSL. 1.3.11: - fixed two minor but annoying syntax errors in the source code... (jacorb/ir/gui/ModelBuilder.java and jacorb/orb/domain/gui/BrowserFrame.java). Also fixed broken jacorb.jar file Changes for 1.3.0: ================= new: - Interface Repository with GUI Browser improvements and bug fixes: - Programming Guide: - new chapter, update - now in HTML - fixed a memory leak - Implementation Repository now uses a thread pool internally - IDL compiler - function of -i2jpackage switch fixed - code generated for helper method narrow() now compliant (throw BAD_PARAM rather than return null) - name server: fixed a problem with reloading persistent state after restarting - dior utility (ParsedIOR class) now corretcly displays multiple profiles - updated build files - ... Changes for 1.2.3: moved build files to Ant 1.2 fixed build files for Linux with JDK 1.3 fixed bug: too many client-side releases of object references (could result in INV_OBJREF exceptions) Changes for 1.2.2: fixed memory leaks server: properly release servant delegated client: added a finalizer to generated stubs allow "file:/"-IORs again added client-side time outs (see properties file) changed check for OAIAddr property (address selection on multi-homed hosts) IDL compiler: fixed bug in code generated for multi-dimensional sequences fixed bug in escapeing mechanism for reserved words fixed bug in LocateRequest code fixed bug in CorbaLoc fixed debug output for applets (thanks to Frank Lange of Philips) Changes for 1.2.1: fixed a bug in connection management (null pointer in reconnect()) removed a few build problems (dependance on non-security package from within orb, generate idl and jaco scripts automatically) updated compiler version number Changes for 1.2: ================ - new: - Domain Service - HTTP tunneling - improved SSL integration - IDL compiler: - #pragma version works now - accepts value type definitions (but only syntacically :-), no code is generated) - bug fixes (typedefs, any) - Implementation Repository: minor changes and fixes - ORB: fixed ORBInitRef, now a Java property - bug fixes: - Any/TypeCode bug - ServiceContext bug (alignment) - lots of minor stuff Changes for 1.1: ================ - Interoperable Naming Service extensions - standardized name-to-string conversions - convenient URL schemes for object references - IIOP over SSL - first alpha release, includes a KeyStoreManager GUI - Portable Interceptors - Collection and Concurrency services - Appligator bug fixes and resource usage improvements - IDL compiler improvements (by Matt Briggs, Vertel Inc.) - new compiler switch no_skel to suppress skeleton code generation - extended preprocessor support - removed inter-package dependencies - Improved Language Mapping compliance and IDL compiler bug fixes - correct helper generation for typedef's - ... - much easier to install and configure, (no more bootclasspath fiddling, coexist with Sun JDK CORBA classes) - new, platform-independent build files (for Jakarta's Ant) - internal bug fixes (memory managament, memory leaks, CDR encapsulation size tolerance, ...)