OpenORB Core
------------

Current Developments

- Fixed problem where multicomponent profile not added to published
  IORs.

- Added ServiceId SecurityAttributeService to IOP.idl.

- Fixed compiler problem, extra full constructor output for empty
  exceptions.

- Fixed compiler problem, race condition for creating typecodes. Also
  updated to avoid synchronizing when creating typecodes for types
  without members.

- Fixed problem with bidirectional, fragmented IIOP losing the
  fragments.

- Fixed bug where '.' in system properties would cause initialize
  exceptions.

Version 1.1.0 - May 7, 2001 - OpenORB_1_1_0

- Updated the documentation.

- Added the installation class, util.CreateORBProperties. This
  installs the orb quickly and easily.

- Made some changes to the Configurator to comply with the docs.

- Fixed shutdown bug in IIOP. When shutting down a connection, openorb
  will use shutdownOutput if available, and will only read incomming
  data until it has to wait > 1s for more data.

- Fixed channel age problem. Channel ages were not being updated when
  the last active request completed on the client side.

- Updated config file format to allow propertyset elements in
  modules. These declare that a property set may be used. At the
  moment, for documentation only, no action is taken.

- Modified server manager semantics for registering multiple protocols
  as profile constructors, any unique protocol/profile tag pair will
  have it's own profile in constructed IORs.

- Modified server manager a bit so that listen and stop listen result
  in thread actions.

- Added iiop.biDirOnlyServer property. This can be used on client orbs
  which do not wish to listen for incomming requests.

- Fixed problem with bidirectional IIOP. Server side BiDir policy was
  being ignored, if any client requested BiDir, it was used.

- Fixed bug in class generation for concrete valuetype that inherits
  from abstract valuetypes.

- Fixed compilation problem on jdk 1.2.

- Fixed bug  with disorderly shutdown of connections. If a server
  was killed all future attempts to invoke on the server failed.

- Fixed problem with case sensitive profile/module names when
  performed through xml file.

- Moved OpenORB.dtd to src/config. The entire contents of src/config
  are now copied complete to the org/openorb/config directory in the
  openorb jar file.

- Fixed bug for port number > 32656 ( for example under Mac OS X )

- Fixed bug in fragmentation. Some message fragmentation would result
  in bad allignment for the following data.

- Modified compiler output so that helper for complex types are not
  dependant on org.openorb.CORBA.Any. Two possible helper formats, one
  fast and must be compiled using OpenORB, one slower, but surer. Use
  the -portablehelper compiler flag to chose the latter.

- Modified compiler output so interface helpers define the
  unchecked_narrow operation.

- Fixed shutdown problem, calling orb.shutdown(false) from a server
  thread would block indefinatly.

- Bug fixed : problem with several constants declared in the same interface.

- Bug fixed : reuse of an identifier when declaring a constant.

- Added a new flag '-noreverseprefix' to use prefix as package name without
  reversing the order of the prefix components.

- Made some changes to the net package, the ServerManager and
  ClientManager classes have been split off from their interfaces. The
  reasoning behind this move is to not load the ServerManager class
  for client-only orbs.

- Modified the semantics of the iiop.publishIP property, adding an
  'auto' value. When this default value is used IP addresses are
  published if a fqdn cannot be found.

- Fixed bug in dii.Request, inout parameters were not being
  unmarshalled resulting in buffer underread exceptions.

- Fixed bug in IIOPClientRequest which was causing null pointer
  exceptions whenever a client side interceptor resulted in a forward
  request.

- Added a pragma prefix consistency test in the IDL compiler.
  A pragma prefix must not contain any '/' or ':' character.
  See CORBA 2.4.2, 10.6.1 for details.
  Modified class: org.openoeb.compiler.parser.IdlGrammar.java

- Fixed bug in PI Current for the 'get_slot' operation. If not slot is
  available, tk_null is returned instead of tk_void. Bug reported and
  fixed by Michael Rumpf
  ( michael@rumpfonline.de )

- Added support for Class loader manifest-file referenced classpath.
  Mofidied file: org.openorb.CORBA.kernel.ClassLoader 

- Fixed bug in OpenORB in the Any class to support 'insert_fixed' and
  'insert_TypeCode'. Bug reported and fixed by weckerle@ikv.de
  
- Fixed bug in Delegate.getAddresses. Was breaking local invokes it
  was enclosed within. Also fixed potential problem with standard local
  object operations which could have occoured if the adapter performed
  a local invoke on the target while performing the operation.

- Fixed some applet problems, initializing with a null applet would
  fail, and some SecurityExceptions were not being caught.

- Fixed some bugs present on platforms which allow IO to be
  interrupted, and a rare race condition which occours when both ends
  of a connection attempt to close symultaniously.
  There's some serious problems using JDK 1.3 on solaris (but not 
  JDK 1.2 or JDK 1.3.1 ) attempting any kind of IO operation using an
  interrupted thread will fail silently. Use JDK 1.3.1 for
  solaris. Still to do is to avoid setting socket timeouts on
  platforms which support interrupted read and accept operations.

- Bug fixed in the IDL compiler ( reported by Jason Tishler ). Before, 
  IDL definitions defined in the global namespace do not end up in the
  Java package dictated by #pragma prefix. 

- Bug fixed ( reported and fixed by Jason Tishler ) concerning an incorrectly 
  uses the path separator (i.e., "/" or "\") instead of the Java package 
  separator (i.e., ".") when the "-package" option is used in conjunction 
  with multiple input files.

- Bug fixed in the IDL compiler. A 'supports' clause was not correctly
  generated.

- Changed the IDL Compiler to support '-I xxxxx' and '-Ixxxxx'.

- Fixed some problems with bidir IIOP. It seems the previous 'fix' was
  not a fix at all, it just resulted in Bidir never being activated.

- The is_a operation now returns true if the tested repository ID is
  equal to, or has a lower minor code but is otherwise equal to, one
  of the supported IDs of the request target. This also includes a fix
  for the is_a test, if the servant overloaded the is_a operation for
  a POA servant to do somthing other than the default behaviour this
  would be lost for the target_is_a operation on the server side
  interceptor.

- Fixed a problem with TRANSIENT SYSTEM_ID poas, IDs can now cover the
  full rance of 0xFFFFFFFF and the activate_object_with_id will fail
  for IDs created on a previously destroyed POA with the same name.

- Fixed a bug in the IDL to Java class ( bug #421 ). When an interface
  was used in a typedef description. A classcast exception was raised
  because the real object was identified as an interface so the object
  ( typedef ) was casted to an interface.

- Fixed a bug in the IDLFromIR tool. A malformed URL exception was thrown.

- Changed the IdlCompiler to support the new IDLFromIR constructor. An
  exception was thrown since it was not possible to instanciate this
  class.

- Fixed some problems with to_url in naming service, addresses were in
  old format.

- Fixed some problems with using corbaloc addresses on their local
  host, the primative object operations needed to be forwarded.

- Added iiop.publishIP to publish the IP address of the local host in
  IORs rather than the hostname, since the latter doesn't seem to work
  on some hosts.

- Added openorb.useStaticThreadGroup property. 

- Fixed some bugs in thread pool sizing, the pool would never grow
  beyond 10 due to faulty array copying code, and would not shrink
  once all requests stopped comming in since _syncState was never
  notified.

Version 1.0.1 - March 9, 2001 - OpenORB_1_0_1

- Improve the IDL compiler scope management.

- Enhanced the IDL compiler to detect exception types as arguments or
  return types.

- Enhanced the IDL compiler to detect identifier repetitions in enum,
  struct, union

- Enhanced the IDL compiler to detect excepion repetitions in the
  'raise' clause and to detect exception types as parameter or return
  type.

- Updated the ant (version 1.3) and xerces (version 1.3.0) jar files.
  Removed the parser.jar and jaxp.jar files (not needed anymore).
  Modified the build.file so the manifest files are now generated in
  the build file.  Removed the manifest files from src/etc.

- The InitialReferencesService / DefaultAdapter is now compatable with
  the JDK ORB's initial reference location protocol, use the arguments
  -ORBInitialHost=<hostname> and -ORBInitialPort=683 on your JDK orb
  to be able to resolve the reference to the NameService.

- Replaced the French comments in the compiler package for most of
  classes.  Remaining ones will be modified shortly.

- Previously DII deferred invocation and polling wasn't performing to
  the spec, a poll_response operation would be equivalent to a
  get_response operation if the poll_response returned true. This is
  fixed. There were also problems with sending defered requests where
  the recieving thread was not the sending thread, these are now
  fixed. One problem remains: no check is made to ensure the recieving
  thread of a polling request is in the same transaction as the
  sending thread.

- invalid state at releaseReply crashes are now avoided. This will
  potentialy cause some issues with matching up the exception reported
  to the interceptors and the exception actualy thrown during
  marshalling, but this can't be helped.

- toString method of objects now returns description of all the
  currently used bindings for an object, this is used by the IORDump
  utility.. The getAddresses function, defined in the delegate, allows
  introspection of the currently bound addresses.

- Added bindCorbaloc operation to MapNamingContext for easy corbaloc
  binding.

- Recursive typecodes get natural definitions of hashCode and equals.

- Fixed handling of -ORBmodule prop=value arguments.

- Modified configuration to throw more errors instead of silently
  ignoring problems, and to parse files as urls when parsing as a URL
  fails.

- Modified CORBA_InterfaceRepository.idl to remove extra #pragma
  version 2.3 as specified in the CORBA 2.4 spec

- Fixed race conditions on channel shutdown on client and server
  sides.

- Allow orb.init((String[])null, null)

- Modified IdlUnion.java to ensure than discriminant is
  returned in case of a forwarded union.

- Modified IdlGrammar.java to ensure forwarded structs and unions
  are correctly managed within IDL reflection and the IR.

- Modified IdlObject.java to ensure forwarded interfaces and valuetypes
  are correctly managed within IDL reflection and the IR.

- Modified the charsets added to IORs to always add US-ASCII and UCS-2
  to enable interoperation with JDK orb.

- IDL generation has been updated for value box. The problem has been
  identified by Stephen McConnell.

- IDL compiler updated to forbid two arguments with the same name in a
  method declaration.

- Added the JUNIT tests and removed JTF

- DynUnion class modified to ensure correct set_discriminator() equal
  test. The discriminator TypeCode wasn't correctly tested.  
  Modified file: DynUnionImpl.java
  
- DynBasicImpl class was calling the deprecated method available()
  from org.openorb.io.ListInputStream.
  Modified file: DynBasicImpl.java  

- Helper classes generation updated to fix a bug for the generation of
  the write/read methods for CORBA fixed data type.
  Modified file : IdlToJava.java

- Added ForceMarshalPolicy, client/server policy which dissallows
  local invocation.
	
- Allow the thread handed to orb.run to be interrupted while the
  server keeps running.

- Fixed local invocation bug. A->B->C all locals would fail.

- Helper classes generation updated to fix a bug for the generation of
  the write/read methods for CORBA fixed data type.
  Modified file : IdlToJava.java

- Fixed a bug when generating the fixed TypeCode (int tpe instead of
  short).
  Bug submitted by Michael Rumpf (michael@rumpfonline.de).
  Modified file: IdlToJava.java

- Allow the thread handed to orb.run to be interrupted while the
  server keeps running.

- Fixed bug with canceled requests and connection failures not calling
  the receive_exception interception point.

Version 1.0.0 - February, 1 2001 - OpenORB_1_0_0

- Initial Release

