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.<class name>"
          for compliance reasons. Old form of 
          "org.omg.PortableInterceptor.ORBInitializerClass.<name>=<class name>"
          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, ...)

