JacORB RELEASE NOTES www.jacorb.org ________________________________________ Features - free CORBA 2.0/2.3/3.0/3.1 implementation (LGPL license) - 100% Java, no native code - fully multithreaded, very good performance - IDL compiler, complies to rev. 2.3 of the Java language mapping - DII, DSI - native IIOP, supports IIOP 1.2 Code sets and IIOP over SSL - GIOP 1.2, Bidirectional GIOP - ETF (IIOP, MIOP and IIOP NIO transports) - POA - QoS (timing policies, sync scope) - AMI (callback model) - OBV - DynAny - Implementation Repository with GUI - Interface Repository with GUI - Applet support - Portable Interceptors (for service context passing) - Object Service implementations - Interoperable Naming Service (with graphical interface) - Trading Service (extension of Mark Spruiell's JTrader, separately available). - Notification and Event Service (by Alphonse Bendt) - Transaction, collection and concurrency services (by Alex Sinishin and Viacheslav Tararin of DekaSoft Ltd., Ukraine,taras@deka.kp.km.ua) - Compatible with TAO Implementation Repository - Support redundancy retrying for Implementation Repository and Naming Service H I S T O R Y O F C H A N G E S ------------------------------------------- ( Note: For commit history see https://github.com/JacORB/JacORB ) 3.9 === - ORB - Embed fatal memory issues within the comm failure for diagnostic purposes. - Moved setting of configure flag before queue listeners are added to remove exception condition. (Matthew Ruggiero) - Fix ArrayIndexOutOfBoundsException in TaggedComponentList.removeComponents (Richard Hash) - Added "virbr0" to the default "jacorb.network.virtual" system property. (Richard Hash) - NameService - Fixed a bug that happened randomly because of modifying a map while enumerating it (sasuu) - NotificationService - Fixed a bug where adding a new message filter or filter matching in NotificationService caused ConcurrentModificationException while iterating filters. (Pulla Johannes) - Misc - Documentation improvements by Leif Gruenwoldt - Added example of using an enum with an any (Phil Mesnier) 3.8 === - ORB - Fix for null ptr in IIOPAddress (BZ1025) - Improve network ordering (BZ1023) - Add VMware for network ordering (BZ1024) - Fixes for byte order selecting. - Add ASCII and MacRoman as aliases for the ISO-8859-1 codeset - Fix for bidirectional IIOP where the client creates a callback IOR with alternate addresses. (BZ1026) - Add jacodbg script to enable attaching a remote debugger to a shell-started process - Fix to prevent COMM_FAILURE in concurrent handling of ForwardRequest in Portable Interceptors. (BZ1014) - Misc - Upgrade to SLF4j 1.7.14 3.7 === - ORB - Fix threading issue with Delegate/ReplyGroup (BZ1010). - Fix invocation reentrancy issues (BZ1011, BZ1012). - Fix for retry loops on exceptions that occur using forwarded references (BZ1013). - Fix for spin-lock on corbaname resolution failure (BZ1018) - Fix for spin-lock on other forwarded IOR resolution failure (BZ1018) - POA - Add spec-compliant minor codes for POA raised system exceptions. - Improve performance of thread pool on high-volume systems. - IDL - Fix for i2jpackage option causing rejection of valid module definition. - Misc - Remove slf4j-jdk14 as a compile-time dependency of core/services (BZ1016). 3.6.1 ===== - ORB - Handle null from NetworkInterface (BZ1005). - Fix for race condition in IMR. - Fix race condition (BZ1007). - Prevent extraneous client side forwarding loop (BZ1009). 3.6 === - ORB - Improved client handling of references with multiple profiles. - Client IOR traversal is not dependant on IMR use. - Fix for threading issue with CodeSet (BZ994). - Fix for threading issue with Configuration (BZ991). - Fix for read_fixed (BZ996). - Fix for nested invocations and timeouts (BZ940). - Further improvements to network address retrieval code. Real interfaces (e.g. Ethernet/WLAN) will be prioritised over virtual interfaces (e.g. VMWare, VirtualBox, Docker) via the JVM system property jacorb.network.virtual which defaults to VirtualBox,VMWare,vboxnet,docker - Fixes for IPv6/MIOP parsing. - Remove deferredArrayQueue to avoid stream corruption/improve performance. - Revert releasing target object after DII invocation due to multithreading issues. (BZ1000) - Fix for client reconnecting to restarted servers (BZ967) - Fix for close issues in GIOPConnection (BZ1002) - Add compatibility check for special operations. - Ensure IIOP close doesn't throw exceptions. - Misc - Convert demos to Maven layout. - Add Travis-CI Integration. - Improve documentation and add https://jacorb.github.io/JacORB javadoc API. - Add appserver demo. 3.5 === - ORB - Simplify network address retrieval code. - Protect against OutOfMemory in GIOPConnection::receiveMessages to prevent client hanging. - Handle reconnecting via a closed connection to a persistent server (BZ975). - Fix for local interceptors and slots (BZ976) - Simplify logging. - Fix for CodeSet tag appearing twice in multi-profile IORs - Deprecate defining org.jacorb.orb.standardInterceptors.IORInterceptorInitializer as a standard interceptor; it is now implicitly defined by jacorb.codeset QoS. - Fix for 4 byte UTF-8 conversion (BZ969) - Codeset configuration : by default they are now enabled. - Fix for port / endpoint initialisation. - Fix for ORB instances sharing Current information. - Fixed SSL properties reading and processing (BZ#820). - Improve SAS Error propagation (and add tests). - Removed unused GSSUP code. - Fix for forward request handling for special operations (BZ#979) - Fix for connection closure/server restart with multiple connections (BZ#986) - Move Singleton debug code into Diagnostic class to avoid JDK issues. - Improve ordering of network addresses. - Fix for creation of corbaloc with IPv6 - Fix internal ordering of ORBEndpoints - Fix for interceptors and restarted server (BZ#983) - Documentation - Minor fixes. - Misc - Add Jacoco Coverage to regression suite. - Convert source code to Maven layout. - Upgrade to SLF4J 1.7.6 - Fixes for Javadoc under JDK 8. - Run subset of regression tests with the IMR - Improve test system stability 3.4 === - ORB - Default Sync scope for oneways is now configurable via jacorb.default_sync_scope property. - Add new getDelegate to ClientRequestInfoImpl Public API - Fix for repository_id on remote method invocation. (BZ972) - Improve encapsulation of internal code. - IDL - Improve logging formatting. - Escape parameter argument if it clashes with an enclosing module. (BZ974) - Misc - Fix logging to be consistent throughout the ORB and Services. - Add ability to configure the 'clock' format in the logging to be NONE, TIME or DATE_TIME. Default is NONE. - Improved Logging documentation. - Added org.jacorb.util.Diagnostic class to print out useful environmental information. 3.4-Beta ======== - ORB - Improve ORBSingleton logging. - Fix interceptor BAD_PARAM minor codes (BZ961) - Default to closing client connections completely on error. Rename QoS jacorb.delegate.disconnect_after_systemexception to jacorb.connection.client.disconnect_after_systemexception. (BZ967) - Clear fragments on connection close. (BZ949) - Implement ContextList (BZ968) - Fix for servicecontext propagation (BZ960) - Fix for streamable any (BZ968) - Release target object after DII invocation. - IDL - Fix for logging. - Fix for Struct with String typedef type to be output as initialised type. - Misc - Improve documentation for SLF4J logging and maven. - Split jacorb.jar into jacorb.jar and jacorb-omgapi.jar. The OMG stubs are now held soley within jacorb-omgapi. - Correct Maven dependencies. - Correct default logging configuration (at INFO level). - PrintIOR can now interpret TAG_RMI_CUSTOM_MAX_STREAM_FORMAT. 3.3 === - ORB - Fix for built-in interceptors and local calls (BZ956/957). Add new isLocalInterceptors to *RequestInfoImpl Public API - Add fix to prevent non-compilant buffers from being returned to the buffer manager (BZ958). - Add public ctor to CDROutputStream to allow specifying a predetermined buffer size, as well as a releaseBuffer method to let the application take ownership of the buffer from the stream for use after the stream goes out of scope. (BZ958) - Misc - Improve Version output to incorporate the SHA (and autogenerate). 3.3beta ======= - ORB - Improve encapsulation of internal code. - Implement the method validate_connection. - Support setting the ORB ID using the -DORBId option. - Support multi-network interfaces using -ORBListenEndpoints option. - Change logging to debug level (https://bugzilla.redhat.com/show_bug.cgi?id=950294). - Add public API for Client/ServerRequestInfo. - Add fix for NIO with large requests (BZ939). - Add fix for disconnect logic on bad connection (BZ947). - Add fix for rootpoa creation with bad socket (BZ943). - Add fix for non_existent (BZ953). - Add fix for rewrite on OutputStream with large sizes (BZ941). - POA - Add fix for exception in interceptors breaking requestprocesor thread. (BZ946) - Add fix for requestprocessor pooling. (BZ946) - TAO ImR/NS Compatibility - Implement the new property "jacorb.use_tao_imr". - Support redundancy for failing over to a secondary ImR or a NS service when the current service is no longer available. JacORB will iterate the profiles the ImR-ified IOR while attempting to re-establish conversations with the targeted ImR or Naming Service (NS). - JacORB is inter-operable with the TAO ImR by setting the new property "jacorb.use_tao_imr" to "on". - Add demo and integration test suites for TAO ImR, and TAO NS. - Misc - Add integration test suite for JacORB ImR. - Default logging now supports showing class & method information. - Support compiling with IBM JDK 1.6/1.7. - Fix logging for nested exception traces. - IDL - Fix for line endings in generated code (BZ942) - IR - Improved the performance of RepositoryID to class name conversion (BZ962) 3.2 === - ORB - Fix for UCS-2 codeset encoding. - Fix for RMI-IIOP Exception marshalling. - Fix for unnecessary duplicate in ServantDelegate. - Fix for logging output (Bugzilla 937). - Improve fix for associating Servant with an ORB (Bug 923). - Only call removeContext if addContext has been called (Bug 925). - Fix for multiple removeLocalRequest calls. - Notification - Fix for ProxyPullSupplier (Bug 804) - Fix for disorderd events (Bug 716) - IDL Compiler - Add flag to turn off timestamps in generated code. - Fix for alias interface operations. - Updated IDL files to http://www.omg.org/spec/CORBA/3.1.1 - Updates for IDL to Java Language Mapping 1.3 (formal/2008-01-11) - Misc - Support for JDK 7 - Move Ant dependency to IDL compiler. - Deploy a zip of the IDL files with the IDL compiler. - Add Maven demo and documentation. - Remove the neccessity to generate the bin scripts. - Improve documentation. 3.1 === - ORB - Fix current_component with DynArray/DynStruct/DynSequence to conform to spec. - Output iiop version when printing Corbaloc URLs - Call _this_object on Servants for ServantManager created objects. - When selecting an address for localhost attempt to find non-loopback first for both IPv4 and IPv6. - Fix for portable interceptor ordering issue with colocated calls. - IDL Compiler: - Predefined preprocessor symbols are now built into the compiler rather than included from the jacorbdefs.idl file, which has been deprecated. - Naming Service - Fix for NameManager display/cyclic detection. Fix for refresh counter. - Misc - Fix Maven GAV for IDL compiler. 3.0 === - ORB - Fix issue with handling Locate Requests - Add ability to transmit OBJECT_FORWARD on receiving a Locate Request with short object key. - Documentation - Add missing properties. - Misc - Fix for demo compilation. - Add Maven pom wrappers. - Add SendingContext IDL 3.0 RC 1 ======== - ORB: - Fix for interceptors & exception propagation. - Fix for backwards compatibility with stubs and reply_status. - Fix for configuration caching issue. - Fix for IPv6 socket creation. - IDL: - Fix for union IDL compilation. - Misc: - Include org.omg.TimeBase in jacorb.jar - Rename JDK15TypeCode* to TypeCode*Impl 3.0 beta 2 ========== - ORB: - Refactor ETF factories to remove static information. - Provide public createObjectIOR functions in ParsedIOR. - Refactor internal use of Singleton ORB and provide a new org.omg.CORBA.ORBSingleton to avoid clashes with e.g. JDK Singleton. - Add implementation of ValueInput/OutputStream - Add support for ISO8859-15 - Fix for interop with Glassfish. - Remove static information from ETF Factories. - POA: - Add timeout for poa threadpool. - Fix for NullPointer in POA destroy. - Add QoS to run Servant code in its own context classloader. - IDL Compiler - Avoid create_local_interface_tc generation if using deprecated. - In Helpers, for cached typecode, change lazy holder pattern to double checked locking. - Fixes: - Fixed empty configuration parameters' values processing for Integer, Long, Float and Boolean types. - Integrate suggested patch from Bug 810 to address the problem of an infinite loop that might be raised due to certain errors when using the Implementation Repository (IMR). Note that this is an incomplete fix. Along with Bug 896, interactions with the IMR require general updating, which is an effort that will require sponsorship. - Fix for compiling omg/IOP.idl - Fix for bug 915. This prevents massively threaded clients from processing multiple Location Forward messages from the IMR, discarding and resending requests to the target server. - Misc: - Improve version identification in output/jar manifests. - Fixes for building under Windows platforms. - Add wrapper scripts enabling IMR_SSD, the service startup daemon, to be registered as a windows NT service. - Changed level of some logging output to be quieter. - Minimum JDK is now 1.6. 3.0 beta 1 ========== - ORB: - Timer Queue implementation added prior to NIO has been merged with the Selector framework used to support NIO. The write timeouts for blocking I/O still work and the interface is the same. - now supports non-blocking I/O for the client side. Makes use of the Java nio package. Connection establishment, sending requests and awaiting response can now be timed and nonblocking. - fix that allows custom SocketFactory class plugins to specify their dependency on the ORB either as org.jacorb.orb.ORB or org.omg.CORBA.ORB in their constructor. - changed PICurrent's set_slot/get_slot to raise BAD_INV_ORDER if they're called from within an ORB initializer. - provided a implementation for org.omg.CORBA.ValueBaseHelper. - Improve checks for if an ORB has been shutdown. - fix Object::duplicate(4.3.2.1). - Fix for initialisation of a ServantDelegate - Change set_policy_overrides to match 4.3.9.1 specification. - fix possible race condition with the value factory hashmap. - modified the JSSE socket factories to throw INITIALIZE if no ssl keystore is set or if the filename is wrong. - made the object key mapping feature more efficient (ORB.addObjectKey, properties jacorb.orb.objectKeyMap). - Remove finalize from Delegate to improve performance and scalability. Client code is now responsible for calling _release on CORBA Objects as necessary. - fixed a bug that prevented to use an ORB with jacorb.giop_minor_version=0. - improved PrintIOR output. - fixed handling of -ORBInitRef parameters and added handling of -ORBDefaultInitRef parameter. - fixes for platform java detection in jaco script. - fixed issue with deadlock in AOM - move access to requestController outside synchronised block. - added more strict checking for wstring/wchar types during demarshalling GIOP 1.0 does not allow them. - fixed issue where exceptions during AMI didn't work if the IDL was specified with pragma prefix. - fix ExceptionHolderImpl Configuration - fix for the IIOPLoopback feature. It didn't work when connecting to the actual IP of the host instead of 127.0.0.1. - added property to enable the Socket Option SO_REUSEADDR - Fix for nullpointer within Delegate when multiple threads call release. for server sockets (jacorb.connection.server.reuse_address). - allow to configure eager/lazy DNS resolution. - fixes for BiDirectional GIOP and SSL. - fix for client interceptor send_request exception propagation. - fixes for DynUnion.to_any. - fix for initialising the ORB with properties. - allow SSL keystore to be configurable. - call shutdownOutput before closing socket as recommended by http://java.sun.com/j2se/1.5.0/docs/guide/net/articles/connection_release.html - applied patch from JacORB Bugzilla #801 for AOM Thread creation. - New MIOP ETF transport added. Original design and implementation by Alysson Bessani. Further work on implementation, specification compliance, interoperability and integration by Nick Cross. - Updated Java mapping from 02-01-02 to 03-01-02 and simplified IDL files [Bugzilla 451]. - Add test for to verify OMG stub code get_component is available. - fix jacorb.giop_minor_version property usage (bugzilla 879). - Fix for handling of max_server_connections. (bugzilla 878). - Fix for decoding and output of IORs with multiple TAG_ALTERNATE_IIOP_ADDRESS. - Allow the ORBs internal deferredArrayWrites to be configurable. - BufferManager implementation has been reworked - code simplifying and tiding. - Added buffer manager expansion policies support. - added jacorb.dns.force_lookup property that allow to turn on/off FQDN host name reverse lookup for IIOPAddress and IORs. - Fixed error in Codeset configuration setting NCSW. - Added optional thread ID to log output. Use property jacorb.log.showThread to enable. - Added new explicit timeout for blocked sends, use properties jacorb.connection.request.write_timeout and jacorb.connection.reply.write_timeout to enable. - Fixed incorrect child POA processing (bugzilla #806). - Performance optimisations - Added property to disable client orb policies for performance. - Fixed SSL properties reading and processing (bugzilla #820). - Implemented portable interceptors correctly for local objects. - New lines in log messages fix (bugzilla #873). - Remove ReplyReceiver from pending_replies if an error happens when reading the reply. - Fix servantdelegate bind issue to prevent cached object delegate being set to null. - Fix for Current overwriting in local calls between Client/ServerRequestInfo - Fix for sync policies and null pointer within Delegate. - Propagate objectId to ServerRequestInfo for local calls. - Fix for setting port address to zero when SSL is in use or when an IORInterceptor adds a CSI component with transport protection. (24.5.1 from CORBA 04-03-01). - Added jacorb.interop.null_string_encoding to allow handling of null strings. Thanks to Fabiano Ghisla. - Bind client socket to wildcard address instead of localhost in PortRangeSocketFactory - Allow OAIAddr to be specified when using PortRangeSocketFactory. - Fix for the incorrect GIOP v1.1 message header creation in RequestOutputStream - Fix delegate bind issue to prevent cached object delegate being set to null. - Fix for oneway/sync scope none with parameters. - An implementation of the Object::create_request operation has been added with an exception list. - Fix for attribute setting of jacorb.security.ssl.*.protocols - Apply optimisation for string marshalling. - Add TypeCode equal/hashcode - Fixed marshalling error: Found indirection marker, but no corresponding original typecode. - Change default of compactTypecodes to be off (no compaction) - Fix for non-configured CDRInputStream when created with a ORBSingleton. - Fix for the problem with handling negative values in DynFixed. - Fix for the high CPU load issue on the Windows hosts caused by default configuration re-reading. - Fix for request handling to ensure RelativeRoundtripPolicy and REQUEST_DURATION_POLICY timeouts bound the entire invocation including any embedded invocations/re-invocations. - Fix to ensure that current contexts are added and cleared correctly when handling embedded calls. - Fix for local interceptors to prevent client PICurrent being overwritten by a server PICurrent. - Improved Configuration storage and made the usage more consistent. - Added PKCS key storage type and CRL support for SSL (experimental, bugzilla 883). - Fix for chunking and boolean types. - Allow ORB props/args to be propagated to the Singleton config. - Add system property jacorb.classloaderpolicy for whether to resolve classes via thread context class loader or the defining class loader. - Fix for Bug852 - preserve original typecode when marshalling objects within Any (thanks to Zoltan Bordas of OpenSpirit Corp). - POA: - Fix for reference_to_id error checking. - Modify AOMRemoval thread to shutdown on POA shutdown. - Add fix for policy operation name clash. - Fix for incorrect opsHash keys for AMI POA (bug894) - IDL Compiler: - Fix for IDL compiler issue where a union with an enum discriminator could send through a non-defined value. - Fix for IDL compiler issue forward declared interface and inherited interface. - Fix for IDL compiler issue where compiler generates incorrect type code for sequences of local interface. - Fix for IDL compiler issue with constant long long generation. - fixed issue where the IDL compiler generated imports for the unnamed package. - fixed issue where the IDL compiler removed a custom backend set through the API. - fixed issue where nested sequences would result in invalid java code. - changed generated stub code so that rmi repository id is skipped for idl defined valuetypes. - additional parentheses around const expression in labels in unions. - fixed issue in generated code when extracting sequence from any. - fixed issue where holder classes for user-defined exceptions weren't generated. - fixed IDL parser issue where repository ID using pragma prefix with more than 1 space before ID caused an parse error. - fixes for IDL compiler struct/typedef/array compilation outside of modules. - Enhance generation to close inputstreams. - Enhance generation to null delegate objects. - fixed issue where CR/LF symbols were incorrect in generated files (bugzilla #483). - fixed issue where IDL compiler generates erroneous code for the infinity float values (bugzilla #851). - fix for IDL detecting the bounds violations for string type. - changed IDL compiler logging from Apache LogKit to native JDK logging. - applied patch from JacORB bugzila #673/674 which fixes issue where Helper.type() method implementation for recursive valuetypes was incorrect. - add default serialVersionUID generation (#802). - Use HashMap rather than Hashtable in skeleton code. - Support for typeprefix has been added to the idl compiler. - Reset include path between multiple runs of jacidl. - Fixes for IDL compiler union discriminators. - Added -sloppy_identifiers to permit certain illegal identifiers. - Enhance Ant JacIDL task to add error checking, pass sloppy identifiers and i2jpackage through. - Fix for IDL compiler union generation - added additional check that prevents explicitly defined cases usage for __default(_discriminator) method. - Fix for IDL compiler when the enum declaration is used in 'switch' clause of union. - Fix for IDL integer types ranges checking. - Fixes for IDL compiler when concatenating string literals. - Fix for IDL compiler array naming. - Fix for IDL compiler unary minus in constant definition. - Fix for IDL compiler package generation for nested types (Bugzilla #700). - Fix for IDL compiler unions scope processing. - Fix typecode for typedef'd array (Bugzilla #703). - Fix for IDL compiler failure when multiple unions specify the same branch name. - Fix for IDL compiler issue where Java keywords that have been added since JDK1.5 are used as identifiers. - Fix for IDL compiler issue where compiler incorrectly checks discriminator in default branch. - Fix for IDL compiler issue where no error is generated when a forward declared union is defined as an interface. - Fix for newline parsing with included files. - Fix for typedef with array and operator. - Fix for IDL compiler for generation of system exception classes. - native types containing #pragma prefix "omg.org" weren't processed properly. - Improve and fix toString on stubs for UnionType. - Implemented Portability Stubs and Skeletons as per 4.21.6 of IDL to Java Mapping - Improve typecode generation to use lazy initialization class holder idiom. - Refactor to simplify code (bug715) - Refactor previous typecode generation change to use volatile/synchronised and double checked locking instead. - Naming Service: - Fix for BindingIterator leak (Bugzilla 647). - Renamed configuration properties and default to off. - Work around cyclic graphs when running NamingManager - Fix for memory leaks (Bugzilla 835) and Mico interoperability (Bugzilla 617). - Interface Repository: - use a persistent POA for the repository servant. - Fix IDL to remove is_abstract to bring into compliance with specification. - Fix for problem with encapsulated modules loading (Bugzilla 884). - Tools: - enhanced dior's ability to recognize different ORB types. - enhanced dior to allow parsing of multiline IOR files. - enhanced dior to add optional output of corbaloc strings. - Documentation - Configuration layout and network configuration improved. - added section about the usage of corbaloc in conjunction with SSL enabled servers. - Classloader chapter added. - added buffer manager factory configuration details. - update SSL/SAS documentation. - added NAT and firewall network configuration section. - Updates for installation. - Misc - Update SLF4J libraries to 1.6.4 - Split ORB jar delivery into jacorb.jar (ORB/IMR/IR/NamingService) and jacorb-services.jar (all other services e.g. Notification/Transaction/Collection)/ 2.3.1 ===== JacORB now uses SLF4J for logging, which allows users to select a logging backend simply by putting another jar on the classpath. All major logging backends are supported, including Log4J, JCL, and JDK logging, with the latter now being the default in the distribution. See the JacORB Programming Guide for details about the new logging architecture. In the course of this, the dependency on Apache Avalon has been removed. - ORB: - new configuration option jacorb.iiop.alternate_addresses, allows adding TAG_ALTERNATE_IIOP_ADDRESS components to IIOP profiles without using interceptors (thanks to RemedyIT for suggestion and sponsoring) - pass message details from UserException's as ServiceContext over the wire if JacORB specific helper/skeleton code is used [-generate_helper jacorb] (JAC#144). - Fix for iteration during shutdown (JAC#264). - added more strict checking of correct string sizes during demarshalling of CDR streams. - fix for broken socket connect timeout mechanism. - fix for bug during logfile initialization routine that caused the creation of multiple empty logfiles. - fixes for stream closure with sync scope none. - IDL Compiler: - added option that allows to control the portability level of the generated helper classes [-generate_helper deprecated|portable|jacorb] (JAC#516). - removed -omg option (#72,#98) - Enhance generation to close streams (RTJ#476). - Interface Repository: - fix to allow IDL files that use #pragma prefix to be loaded into the IR (#367). - Fixes: - fix to allow interoperability with TAO persistent IOR's (#735) - removed usage of the deprecated read_fixed/write_fixed methods from the ORB core and generated code (JAC#516). - fixed wstring valuetype interoperability issue with the sun orb. - patch from bugzilla #708 to fix occasional deadlock/timeout issue within GIOPConnections. - let POA.reference_to_servant raise BAD_PARM if a null reference is passed in. - Documentation - enhanced socket factory documentation 2.3 === - ORB: - new property: jacorb.listener.server_socket_timeout. This is a workaround for Java bug #4344135 and is is only useful in conjunction with the SI&C SSL socket factories. - Fix recursive typecode bug. - Fixed CDROutputStream to correctly handle RMI object replacement. - Improve protocol/IOR rebind handling. - fixes for shutdown/applet reload (bugzilla #459). - Fix for interceptors service context propagation. - Fix for interceptor multithreading and exception handling. - Fix for client interceptor send_request forward exception detection and propagation. - Fix for timeout overrides (bugzilla #611). - new properties: jacorb.net.tcp_listener and jacorb.security.ssl.ssl_listener for specifying the respective listener interfaces to receive event notifications. - new properties: jacorb.connection.server.keepalive and jacorb.connection.client.keepalive to configure TCP KeepAlive on sockets. - Logging additions for debugging. - Added AcceptorExceptionListener for notifications by the serversocket acceptor thread. NOTE: The default behaviour now is to shutdown the ORB whenever an Error or SSLException is thrown by accept(). - new property: jacorb.enhanced_thread_name to allow additional information to be added temporarily to the Thread name - Fix for invoking an operation when the ORB has been destroyed. - Any: added better support for Streamable values. - Any: use TypeCode.equivalent() instead of TypeCode.equal() in equal() as per specification. - Any: fix extract_string(), extract_wstring(), didn't account for value being insterted as a stream. - Fix for PolicyManager. ADD_OVERRIDE didn't work. - CDRStream typecode marshaling cleaned up. - Fix for POA dispatching with transient objects. - Added org.jacorb.orb.factory.FixedAddressSocketFactory that binds client sockets to the address specified by the property "OAIAddr". - Add IORMutator plugin. - if the value of jacorb.connection.client.max_receptor_threads is exceeded, a NO_RESOURCES exception is thrown instead of a hang. - Fix OutOfMemory issue when parsing invalid IOR's. - Fix for hanging process when shutting down POA after accessing a destroyed object (bugzilla #400). - Change default connect_timeout to 90000 - new property: jacorb.codeset. By default this is on. If off, JacORB will ignore all codeset component info profiles and will turn off explicit marshalling with codesets (re Strings). Fixes for char transmission. - use new Socket API to specify timeouts during Socket.connect instead of using our own timeout implementation. - new property interop.sun to fix RMI/IIOP related interoperability issues with the Sun ORB (see also http://lists.spline.inf.fu-berlin.de/mailman/htdig/jacorb-developer/2006-May/008251.html). - IDL Compiler: - Support for attribute exceptions (getraises/setraises) has been added to the compiler. - Add option (-genEnhanced) to generate toString/equals on stubs. Only implemented in StructType so far. - Optimized generated code when using octet sequences. - fix for boxed valuetype with sequences generation (bugzilla #429). - fix to use options -diistub and -ami_callback in conjunction (bugzilla #687). thanks to Thomas Leineweber for providing the patch. - fixes for line number output and error messages from compiler. - Use any speed accessors like insert_long/extract_long in Helper classes for aliased basetypes. - fixed invalid handling of forward decl of CORBA::TypeCode - Improve generation for IDL exceptions. - Fix for invalid IDL compilation. - fix for "IDL compiler fails for typedef within valuetype declaration" (bugzilla #601). thanks to Thomas Leineweber for providing the patch. - Tools: - Updated 'dior' utility to decode realtime policies. - Security: - new property: jacorb.security.randomClassPlugin. Used by developers to plugin their own SecureRandom initialisation. - SecurityLevel 2 and IAIK support removed. - Documentation: - Added chapter on threads to Programming Guide. - Enhanced logging documentation. - Enhanced description of configuration properties. - Fixes: - fixed bugzilla #721. Thanks to Scott Melby for reporting and providing a fix. - fixed bugzilla #667. Thanks to Rich Doyle for reporting and providing a fix. 2.2.5 ===== - Documentation - Updated and merged JacIDL HTML into ProgrammingGuide. - Improved SSL documentation - Document all available loggers - Improved property documentation - Improved command line documentation. - IDL Compiler: - Fix for ValueType generation - Improve error checking in compiler. - Fix to remove ObjectHelper class generation. - Fix typedef bounded string generation bug. - ORB: - DynValue idl added - Enhance Any equals for value comparison. - Improve typecode error checking. - Fix for using an Object Reference inside a DynAny - new properties (jacorb.connection.client.max_idle_receptor_threads, jacorb.connection.client.max_receptor_threads, jacorb.connection.server.max_idle_receptor_threads, jacorb.connection.server.max_receptor_threads) to control size of the MessageReceptorPool - name all threads created by JacORB (bugzilla #472) - new property: jacorb.orb_initializer.fail_on_error. Control if errors caused by an ORBInitializer will make ORB.init() fail or not. - POA: - new property: jacorb.poa.thread_pool_shared. This is to share a single thread pool amongst all the POAs. - IDL: - Added CosProperty.idl - Logging: - singleton ORB uses a logfile if the property jacorb.logfile is set. 2.2.4 ===== - JacORB now supports IPv6, thanks to work by David Hartman. - POA: - Fix usage of implname with transient and persistent servers (see the Programming Guide). - IDL Compiler: - improve JacIDL Ant task initialisation. 2.2.3 ===== - The IDL compiler can now generate DII stubs, using the new option "-diistub". Thanks to Thomas Leineweber for adding this feature. - New properties are available for assigning protocol-independent addresses: * OAAddress=:// for example: OAAddress=iiop://myhost:1234 OAIAddr and OAPort are still used to make IIOP-specific addresses, but are superceded by OAAddress * jacorb.ior_proxy_address=:// supercedes jacorb.ior_proxy_host and jacorb.proxy_port * jacorb.imr.ior_proxy_address Note that OASSLPort is still necessary when configuring a specific SSL port number even when using OAAddress. - ported the notification service to use the JSR 166 backport (http://www.mathcs.emory.edu/dcl/util/backport-util-concurrent) instead of util.concurrent. - added JMX support for the notification service. 2.2 ==== - new and enhanced: * ORB configuration is more flexible now: - a new, common properties file orb.properties is considered - multiple ORBs in a single JVM can now have separate configurations (please consult the Programming Guide for details). * namemanager GUI improved (shortcuts, color, bind IOR options) * There is a new property jacorb.connection.client.connect_timeout, which specifies a timeout for the initial TCP/IP connection attempt. * The new property jacorb.poa.check_reply_end_time specifies whether any ReplyEndTimePolicy (or RelativeRoundtripTimeoutPolicy) should also be checked on the server side. This requires that the clocks of the client and server machine are synchronized to the same order of magnitude as the timeout. The default for this property is off, unlike previous releases, where this check was always done. * IDL compile has a new option -in with which it will accept files that do not end in ".idl" - maintenance: * Removed property jacorb.security.change_ssl_roles and the associated "Change SSL Roles" feature. * removed scalability bottleneck due to superflous synchronization * Usage of JacORB loggers generally more consistent 2.1 ==== - new: * Implementation of the ORB PolicyManager interface to set QoS policies ORB-wide * CDR 1.2 Portable Interceptor codec * "-cldc10" IDL compiler option to generate J2ME/CLDC1.0 compatible stub code * Removed deprecated option -i on the IDL Compiler * logging enhancements (more structured logger name spaces) - fixed: * connection management problem that resulted in hanging clients * server-side memory leaks (#456/458) * incompatibility with libraries in existing J2SDK 1.4 installations ("endorsed dir") 2.0 (GA) ====== - You can now use IORInterceptors to add new profiles to IORs (rather than just adding components to profiles that were created by the ORB). To achieve this, the IORInfo object that is passed to IORInterceptors now implements a special JacORB interface, org.jacorb.orb.portableInterceptors.IORInfoExt. This interface provides methods to look up existing profiles and add new ones to an IOR. - rename property jacorb.connection.server_timeout to jacorb.connection.server.timeout, for consistency - added property "jacorb.connection.client.timeout_ignores_pending_messages" which controls if client-side idle timeouts take care of pending messages or not. - added property "jacorb.connection.client.retry_on_failure" which controls if network failures on existing connections should yield a COMM_FAILURE or should trigger a remarshaling of all pending messages. - IDL compiler: minor bug fixes new option -unchecked_narrow - ORB performance improvements - more logging clean up 2.0 beta 3 ========== - loads of bug fixes - more ETF work (corbaloc support) - IDL compiler now generated code only if the IDL file is more recent than any previously generated code. - remorphing of logging, now using Apache Avalon interfaces to go to Logkit - Synchronization fixes. - ORB: - Added proprietary call ORB::addObjectKey. 2.0 beta 2 ========== - bug fixes only, no new functionality 2.0 beta 1 ========== - Logging: - Added property 'jacorb.logfile.append' to support appending to rather than overwriting an existing log file. - Added property 'jacorb.logfile.maxLogSize' to support rolling logs. - Added property 'jacorb.log.timestamp' to control whether log messages are timestamped or not. - ORB: - Added property 'jacorb.interop.indirection_encoding_disable' to turn off indirection encoding for repeated typecodes. - Added property 'jacorb.dns.enable' to control whether DNS names should be used in IORs. - AMI (Asynchronous Method Invocation) is implemented. At present, there is only support for the callback model. - All QoS timing policies are implemented. - SyncScopePolicy is implemented. - The transport layer now conforms to the draft of the Extensible Transport Framework (ETF, mars/2003-02-01) (see Programming Guide for details). - Two new properties, jacorb.poa.queue_wait and jacorb.poa.queue_min allow the server to block when the request queue is full. - Fix for ClientRequestInfo target field value. - Fix for marshaling of negative fixed values. - Fix for reply status value for server side portable interceptors. - Fix for generation of some basic type sequence holders. - Fix for connection idle timeouts: These timeouts will now respect pending messages. - ApplicationExceptionHelper class fix for types with repository identifiers including a prefix. - Added server-side connection management (see programming guide) - Added support for GIOP CloseConnection messages. - Added port range server socket factory support. - IMR: - Added property 'jacorb.imr.endpoint_port_number' for port IMR runs on. - IDL Compiler: - fixed inheritance error (bug #345) - now using the Apache logkit logging API - Notification Services: now included! HOT! 1.4.1 ===== - Naming Service: - Configuration property added to control purging of non active entries on list operation. - Configuration property added to run on fixed port. - bug fixes: - ORB: - Reverted to old (1.3) IOR format to maintain backwards compatibility. - Added support for GIOP 1.2 Fragments - IDL Compiler: - Fix for long long constant assignment from constant. - Tools: - Updated 'dior' utility to decode ORB type tagged components. - IMR: - Allow crashed servers to be restarted by ServerStartupDaemon. - Fix restarting server on fixed port [223]. - Fix when pinging objects to prevent 'non-jacorb object' warning. - Fix multiple pings in replyNewLocation - DII: - Fix for client connection timeout with deferred requests. - ORB: - Two new client timeout policies to replace jacorb.connection.client_timeout: - jacorb.connection.client.pending_reply_timeout - For request timeout - jacorb.connection.client.idle_timeout - For connection timeout - SSL: - Changed SSL usage policy: SSL will now only be used, if both sides support it and at least one side requires it. If the client requires SSL, but the server doesn't support it, a NO_PERMISSION exception is thrown. 1.4.0 ===== - bug fixes: - ORB: - Fix for delegate to stop infinite loop of calling from ImR to server and back again if server is down. - Fix to TypeCode::equal and TypeCode::equivalent operations for handling recursive TypeCodes. - Implementation of Request interface now throws BAD_INV_ORDER exception when appropriate. - The work_pending and perform_work operations now throw BAD_INV_ORDER if the ORB has been shutdown. - Fix to corbaloc URL parsing to recognize corbaloc:rir URLs with no key string specified. - Fix to parsing of IOR resources to allow multiple levels of indirection before an IOR or corbaloc URL is obtained. - CodeSet support: - Now putting CodeSet Tagged Component into correct (MULTIPLE_COMPONENTS) profile. - Not adding the CodeSetInfo interceptor anymore, if GIOP 1.0 is used. - Ignoring any CodeSet service contexts if GIOP 1.0 is used. - Now throwing CODESET_INCOMPATIBLE exception, if no matching code sets can be found. - Portable Interceptors: - Fix so that interceptors registered with an ORB initializer are also applied to any objects registered as initial references. - IMR: - Fix for restarting persistent server with same POA/Impl name. - POA: - Added an extra byte to object keys that contains a flag to indicate the Lifespan Policy of the POA managing the object. - ORB: - Implemented the DII threading operations: - send_multiple_requests_deferred - send_multiple_requests_oneway - poll_next_response - get_next_response - Added the TAG_ORB_TYPE component to IORs to indicate that they are generated by JacORB. - Added the property "jacorb.use_imr_endpoint" that when switched off will write the server endpoint into the IOR instead of the ImR endpoint (defaults to on). - Use the server address specified by the "jacorb.ior_proxy_host" and "jacorb.ior_proxy_port" properties when registering a POA with the ImR (if these properties are set). - Implemented a failover mechanism in the client Delegate whereby the Delegate is able to find the ImR if the ImR goes down and comes back up at a new address. - Added property "jacorb.suppress_no_props_warning" that will suppress the warning message when no properties file can be found (if set to "on"). - Added property "jacorb.orb.objectKeyMap" to map object keys to arbitrary (hopefully readable) strings, which in turn permit the construction of short and simple corbaloc: IORs - (Re-)Added support for UTF-8 for IDL types char and string - DynAny: - Implemented DynFixed interface. - Build: - JacORB classes directory no longer needed in CLASSPATH to build JacORB. - GIOP: - Added missing functionality to handle LocateRequests and LocateReplies. - Appligator: - New portable interceptor based implementation. Updates to support multiple appligators in different subnets and disable appligator use in local subnet. No HTTP tunneling. - IMR: - Background saving thread implemented. New property "jacorb.imr.port_number" to configure a fixed port. - Naming Service: - added command line switch -p to make server come up on a given port (convenience) - made the file name command line argument optional - Name Service can now be accessed using corbaloc: IORs with using NameService as the object key - Tools: - New 'fixior' utility provided to patch port and host information into an IOR. - IDL Compiler: - Flag '-nofinal' can be used to generate code where the class definitions are not final. - Forward and multiple declaration of Unions, ValueTypes, Structs and Interfaces - now compiles the complete set of IDL value type definitions - Domain Management: - removed this component to reduce code and library size since noone seems to use it 1.4 beta 4: =========== - bug fixes: - Fixed bug that would lead to a NullPointerException when using corbaloc IORs without the explicit protocol qualifier (i.e. corbaloc:::/). The following just didn't make it into the beta 3 release notes: - SSL/JSSE - added properties jacorb.security.ssl.server.cipher_suites jacorb.security.ssl.client.cipher_suites that allow for setting the enabled cipher suites for JSSE - SSL/IAIK - incompatibility notice: Please note that the IAIK SSL and JCE libraries don't work using the JDK 1.4. This is because the JDK 1.4 only accepts signed cryptography providers, but the IAIK JCE isn't. - Corbaloc with SSL - added new corbaloc protocol qualifier "ssliop" to allow for using corbaloc IORs together with SSL. Also added properties jacorb.security.ssl.corbaloc_ssliop.supported_options jacorb.security.ssl.corbaloc_ssliop.required_options to be able to configure these SSL connections. 1.4 beta 3: =========== - Documentation: Additional chapter added covering the dynamic any classes. Appendix added describing the various configuration properties. - Sockets: Support has been added for configurable socket factories. An additional factory has been provided that supports the use of ports from a configurable range to support firewall traversal. - Initial References: Support has been added for resolving object references from JNDI and as resources. This can be done using 'jndi:' or 'resource:' based URLs. Unrecognised URL types are now passed down to the underlying JDK for processing ('https:', 'ftp:' etc.). Note that the javax.naming package required for JNDI support is not included in the JDK 1.2 and this package must be added explicitly to the CLASSPATH. - Local Objects: The org.jacorb.orb.LocalityConstrainedObject class has been superseded by org.omg.CORBA.LocalObject class as defined in the CORBA 2.4 IDL to Java mapping specification. Locally constrained objects, such as portable interceptors, should now extend this class. - Portable Interceptors: - Adapted to CORBA 2.5 IDL (ForwardRequest exception now doesn't have the permanent flag anymore) - SSL/JSSE: - Integrated patch to be able to access the peers certificates also using JSSE 1.0.2 with a JDK < 1.4 - Added property "jacorb.security.ssl.server.cipher_suites" to allow selecting ciphersuites (Sun-JSSE only) - ORB: - Added support for corbaloc:ssliop style IORs to be able to use corbaloc together with SSL. WARNING: This is not (yet ;-) standardized by the OMG, but agreed-upon by many more (TAO, MICO, ...) open source ORBs. The SSL behaviour defaults to EstablishTrustInTarget, but can also be configured by the properties jacorb.security.ssl.corbaloc_ssliop.supported_options jacorb.security.ssl.corbaloc_ssliop.required_options - bug fixes: Naming Service: - Fix for handling of name strings containing escaped characters. DII: - User exceptions now correctly encapsuled within Request environment. IDL Compiler: - Fix for unions with long long discriminator type. - Fix for unions with anonymous arrays. - Fix for interface with operations using wchar or wstring inout parameters. - Fix for typedef'd any holder class. - Fix for long long constant values. - Fix for large fixed constant values. - Fix for constant enum values. - Fix for format checking of fixed point types. - Fix for code generation for local interfaces. Any: - Fix for equal operation on aliased types. - Fix for equal operation on wchar type. - Fix for insertion and extraction of basic types when any contains an aliased (from typedef) basic type. - Fix for insert_Object operation to determine the IDL name from the RepositoryId. - Fix for read_value and write_value operations to make them more portable. - Fix for read_value and write_value operations where Any contained wchar type. - Added insert_fixed(BigDecimal) operation to CORBA interface. - Fix to insert_fixed(BigDecimal, TypeCode) operation to check TypeCode parameter. ORB: - Fix for IORs not containing zero character padding. - Passing a null to object_to_string now returns the correct string for a null object reference. - Passing a local object to object_to_string now throws a MARSHAL exception. - Current and Principal deprecated. Use of any operations for these types will throw NO_IMPLEMENT. - DII support operations on singleton ORB now correctly throw NO_IMPLEMENT. - The create_operation_list operation is now implemented. - Added helper classes for CORBA system exceptions. DynAny: - Operations called on a DynAny that has been destroyed now throw an OBJECT_NOT_EXIST exception. - Enabled creation of DynAnys with TCKind tk_null and tk_void. - Fixed the get_dyn_any/insert_dyn_any operations. - Fixed handling of user exceptions. - Fixed initialization of current position for DynStructs and DynUnions. - Fixed iteration operations for DynUnions. - Fixed implementation of DynUnion operations set_to_no_active_member, set_to_default_member and set_discriminator. TypeCode: - Fix for CDRInputStream::read_TypeCode operation to handle recursive and repeated TypeCodes. - Fix for ORBSingleton::create_struct_tc and ORBSingleton::create_union_tc operations to correctly construct recursive TypeCodes. - Fix for TypeCode API to correctly handle recursive TypeCodes. - Fix for CDRInputStream and CDROutputStream to correctly calculate the indirection offset value for recursive and repeated TypeCodes. - The create_native_tc, create_local_interface_tc and create_abstract_interface_tc operations are now implemented. - Added validation of parameters to the create__tc operations. - Fix for _type() operation in FixedHolder class to correctly determine TypeCodes of fixed point values. 1.4 beta 2: =========== - bug fixes ImR: used wrong name for property jacorb.implname Marshalling: - occasionally, wrong buffer sizes were calculated in CDROutputStream - more bugs fixed for recursive and repeated TypeCode IDL Compiler fix to handle escape characters - Added build compatibility to the JDK 1.4 and fixed compatibility problems with JDK 1.2 - Portable Interceptors: - Adapted to new IDL which requires interceptors to implement operation destroy(). - Merged module IOP_N (Codecs, etc.) into module IOP for JDK 1.4 compatibility. - SSL Support changes: - Dropped direct support for the separately downloadable jsse1.0.2 (please see README.jsse_1_0_2 in the sun_jsse dir). - Added support for the JDK 1.4, which now also includes generic access to the peers certificates via our partial Security Level 2 implementation. - new OBV demo 1.4 beta 1: =========== - This beta compiles only on JDK 1.3 or greater. We will also support JDK 1.2 in the next release, but will give up backwards compatibility with JDK 1.1. - bug fixes: in Any (equals()) and TypeCode (equivalent) marshalling streams: recursive and repeated TypeCodes DynAnys: diverse bugs, e.g., treat aliased types correctly made implementations purely local IDL compiler: name resolution bugs POA and ORB: memory leaks, local invocations IAIK SSL: fixed bug that prevented mutual authentication in non-role-change mode. Delegate/ImR: fixed bug that caused exceptions when multiple concurrent requests were issued to the ImR. - Appligator/HTTP tunneling: not supported in this beta ! (please wait for the next release...) - SSL support changes: - added support for Suns SSL implementation JSSE. Please note that for technical reasons, it isn't possible to access the clients certificates on the server side when Sun JSSE is used. To use Sun JSSE instead of IAIKs classes, please set the following properties: jacorb.ssl.socket_factory=org.jacorb.security.ssl.sun_jsse.SSLSocketFactory jacorb.ssl.server_socket_factory=org.jacorb.security.ssl.sun_jsse.SSLServerSocketFactory - Made a change in the SSL package structure: classes for IAIKs libraries that were formerly in package org.jacorb.security.ssl are now in the package org.jacorb.security.ssl.iaik. This makes it necessary to adapt the socket facory properties: jacorb.ssl.socket_factory=org.jacorb.security.ssl.iaik.SSLSocketFactory jacorb.ssl.server_socket_factory=org.jacorb.security.ssl.iaik.SSLServerSocketFactory - Removed property jacorb.security.enforce_ssl Enforcing SSL can now be achieved by setting the required and supported options. Please see the Programming Guide for more details on these properties. - Replaced properties jacorb.security.ssl.supported_options jacorb.security.ssl.required_options by jacorb.security.ssl.client.supported_options jacorb.security.ssl.client.required_options jacorb.security.ssl.server.supported_options jacorb.security.ssl.server.required_options This allows for a more fine-grained setup of SSL. Please see the Programming Guide for more details on these properties. - modified the property "jacorb.security.keystore". It now allows three ways of specifying the keystore location: a) absolute path b) relative path to current dir c) relative path to users home dir These possibilities are searched in the order give above. - OBV support added some feature are still unimplemented: - valuetype inheritance - value factories (use causes npe's in the compiler!) - code downloading - custom marshalling - GIOP 1.2 and bidirectional GIOP 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 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, ...)