aboutsummaryrefslogtreecommitdiffstats
path: root/lib/orber/doc/src/notes_history.xml
diff options
context:
space:
mode:
Diffstat (limited to 'lib/orber/doc/src/notes_history.xml')
-rw-r--r--lib/orber/doc/src/notes_history.xml1523
1 files changed, 1523 insertions, 0 deletions
diff --git a/lib/orber/doc/src/notes_history.xml b/lib/orber/doc/src/notes_history.xml
new file mode 100644
index 0000000000..b493f0e379
--- /dev/null
+++ b/lib/orber/doc/src/notes_history.xml
@@ -0,0 +1,1523 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE chapter SYSTEM "chapter.dtd">
+
+<chapter>
+ <header>
+ <copyright>
+ <year>2004</year><year>2009</year>
+ <holder>Ericsson AB. All Rights Reserved.</holder>
+ </copyright>
+ <legalnotice>
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
+ </legalnotice>
+
+ <title>Orber Release Notes History</title>
+ <prepared></prepared>
+ <responsible></responsible>
+ <docno></docno>
+ <approved></approved>
+ <checked></checked>
+ <date>99-02-12</date>
+ <rev>A</rev>
+ </header>
+
+ <section>
+ <title>Orber 3.5.4</title>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>In some cases, it was possible for a user to delete the
+ NameService root context.</p>
+ <p>Own Id: OTP-5202</p>
+ </item>
+ <item>
+ <p>Invoking two, or more, concurrent oe_register operations
+ it could corrupt the IFR. If this is the case, the
+ INTF_REPOS system exception is raised. The risk for this
+ to occur is rather slim.</p>
+ <p>Own Id: OTP-5526</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.5.3</title>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>To avoid malicious attacks, it is now possible to configure
+ Orber to only accept incoming requests up to a certain size.
+ To be able to use this option, it must be supported by inet
+ and SSL.</p>
+ <p>Own id: OTP-5129</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.5.2</title>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>If a client tried to connect to Orber and immediately
+ closed the connection, then the process accepting new
+ connections could end up with a message in the queue
+ that would never be removed.</p>
+ <p>Own id: OTP-5105</p>
+ </item>
+ <item>
+ <p>The INS corbaloc/corbaname URL:s did only accept DNS style host
+ names. Now it is also possible to use, none compressed, IPv6
+ addresses.</p>
+ <p>Own id: OTP-5108</p>
+ </item>
+ <item>
+ <p>When Orber was configured to use IPv6 for inter-ORB communication,
+ exported IOR:s did not contain a correct IPv6 address. This did not
+ cause any problems if Orber was configured to use DNS style hostname
+ instead.</p>
+ <p>Own id: OTP-5109</p>
+ </item>
+ <item>
+ <p>Orber used external operations not exported in R9B.</p>
+ <p>Own id: OTP-5111</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.5.1</title>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>When using Light IFR it was not possible unregister data
+ (i.e., invoking 'MyModule':oe_unregister()).
+ Introduced in Orber-3.5.0.1.</p>
+ <p>Own id: OTP-5034</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.5.0.1</title>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>orber_ifr:contents/3 always returned an empty list when using
+ Light IFR. Little or no effect.</p>
+ <p>Own id: OTP-5018</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.5</title>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>It is now possible to configure Orber to use NAT (Network Address
+ Translation) friendly parameters. A new section in the User's Guide
+ describes how to handle communication via firewalls.</p>
+ <p>Own id: OTP-4698</p>
+ </item>
+ <item>
+ <p>A new module called <c>orber_diagnostics</c> have been added, which
+ is intended to aid a user during the test and development phase.
+ For more information, see the reference manual.</p>
+ <p>Own id: OTP-4699</p>
+ </item>
+ <item>
+ <p><c>IPv6</c> supported.</p>
+ <p>Own id: OTP-4937</p>
+ </item>
+ <item>
+ <p>Possible to configure Orber so that exported IOR:s contain
+ multiple IIOP components for different interfaces.</p>
+ <p>Own id: OTP-4938</p>
+ </item>
+ <item>
+ <p>Improved typechecking of typecode supplied to the operations
+ <c>orber_tc:check_tc/1</c>, <c>any:create/2</c> and
+ <c>any:set_typecode/2</c>.</p>
+ <p>Own id: OTP-4939</p>
+ </item>
+ <item>
+ <p>Server objects can now be started as EXIT tolerant.</p>
+ <p>Own id: OTP-4940</p>
+ </item>
+ <item>
+ <p>Possible to use interceptors for local invocations as well.</p>
+ <p>Own id: OTP-4941</p>
+ </item>
+ <item>
+ <p>If the IFR is not explicitly used, Orber can be configured
+ to use a minimal IFR to reduce memory usage and installation
+ time.</p>
+ <p>Own id: OTP-5001</p>
+ </item>
+ <item>
+ <p>To avoid malicious attacks it is now possible to configure
+ Orber to limit the number of concurrent connections and
+ requests and the amount of IIOP fragments.</p>
+ <p>Own id: OTP-5002</p>
+ </item>
+ <item>
+ <p>The operation <c>orber:iiop_connections/0</c> now also include
+ incoming connections.</p>
+ <p>Own id: OTP-5004</p>
+ </item>
+ <item>
+ <p>The function <c>orber:add_node/2</c> now accepts more options.</p>
+ <p>Own id: OTP-5006</p>
+ </item>
+ <item>
+ <p>The module <c>orber_diagnostics</c> now exports a function
+ which list missing modules generated by IC and required by
+ Orber.</p>
+ <p>Own id: OTP-5007</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>Orber's NameService did not return a NIL object reference if the total
+ number of existing bindings was less than, or equal to,
+ the <c>HowMany</c> parameter passed to
+ <c>'CosNaming_NamingContext':list/2</c> operation. This have now been
+ changed to be compliant with the OMG standard. Furthermore, the operation
+ <c>'CosNaming_BindingIterator':next_n/2</c> did not handle the index
+ correctly in all situations.</p>
+ <p>Own id: OTP-4700</p>
+ </item>
+ <item>
+ <p>If the Orber internal gen_server orber_iiop_pm was stopped
+ in such a way that the terminate function was not invoked,
+ then ghost processes would appear.</p>
+ <p>Own id: OTP-5003</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Incompatibilities</title>
+ <list type="bulleted">
+ <item>
+ <p>The work-around introduced in version 3.4.1 (OTP-4608) has
+ now been removed. Make sure you are using IC-4.2 or later.</p>
+ </item>
+ <item>
+ <p>Since the OMG has defined a default port number (2809),
+ Orber no longer support the bootstrap port.</p>
+ <p>Own id: OTP-5005</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.4.2.2</title>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>Due to IFR DB lock mechanisms, concurrent creation
+ of non-anonymous IFR types could still result in duplicated
+ entries.</p>
+ <p>Own id: OTP-4781</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.4.2.1</title>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>The operation <c>orber:start()</c> could return before
+ all Mnesia tables were accessible.</p>
+ <p>Own id: OTP-4780</p>
+ </item>
+ <item>
+ <p>Concurrent creation of non-anonymous IFR types
+ could result in duplicates in the DB.</p>
+ <p>Own id: OTP-4781</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.4.2</title>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>Improved type tests for string, wide string and sequence when
+ passed via IIOP.</p>
+ <p>Own id: OTP-4759</p>
+ </item>
+ <item>
+ <p>Less (internal) processes are needed when Orber act as client-side ORB
+ and communicate with another ORB. Due to this change, closed connections
+ and socket errors are dealt with in a more gentle way. If the latter
+ occurs, the error_logger application is used to generate an error
+ report containing a description of what went wrong.</p>
+ <p>Own id: OTP-4655</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>When communicating with another ORB, via SSL, and a socket error occurred,
+ Orber did not recognize the error message. This occurred when Orber
+ acted as client-side ORB.</p>
+ <p>Own id: OTP-4656</p>
+ </item>
+ <item>
+ <p>If an out-going connection was closed and the receiving process had not
+ been scheduled yet, the close connection message was delivered before
+ the correct message.</p>
+ <p>Own id: OTP-4657</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Incompatibilities</title>
+ <list type="bulleted">
+ <item>
+ <p>Since strstream is deprecated and not accepted by gcc-3.3,
+ Orber no longer includes the InitalReference lib. The source
+ code is still included.</p>
+ <p>Own id: OTP-4767</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.4.1</title>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>It is now possible to use IC-versions older than 4.2. But, this is
+ only temporary so it is still necessary upgrade to a correct
+ version.</p>
+ <p>Own id: OTP-4608</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.4</title>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>If a call-back module illegally caused an EXIT, clients
+ residing on another ORB was not notified (hanged).</p>
+ <p>Own id: OTP-4577</p>
+ </item>
+ <item>
+ <p>The stub/skeleton-files generated by IC have been improved,
+ i.e., depending on the IDL-files, reduced the size of the
+ erl- and beam-files and decreased dependencies off Orber's
+ Interface Repository. It is necessary to re-compile all IDL-files
+ and use COS-applications, including Orber, compiled with
+ IC-4.2.</p>
+ <p>Own id: OTP-4576</p>
+ </item>
+ <item>
+ <p>It is now possible to configure Orber to use the host name
+ in exported IOR:s instead of the IP-number.</p>
+ <p>Own id: OTP-4541</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>When Orber acted as server-side ORB and one tried to setup a
+ SSL-connection and using native Interceptors at the same time
+ it failed.</p>
+ <p>Own Id: OTP-4542</p>
+ </item>
+ <item>
+ <p>Oneway operations, using a multi-node Orber, failed for inter-node
+ communication.</p>
+ <p>Own Id: OTP-4543</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.3</title>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>Orber now supports fragmented IIOP messages for 1.2.</p>
+ <p>Own Id: OTP-4462</p>
+ </item>
+ <item>
+ <p>Orber now has its own set of unique VMCID:s which
+ is used for minor codes in system exceptions. All system exceptions raised
+ by Orber now uses this VMCID base or OMG:s VMCID base. See also the function
+ <c>orber:exception_info/1</c>.</p>
+ <p>Own Id: OTP-4463</p>
+ </item>
+ <item>
+ <p>Since some ORB:s, non-compliant with the OMG specification,
+ have problems using IOR:s which embeds a CodeSet component, it is now
+ possible to configure Orber to exclude it from exported IOR:s.</p>
+ <p>Own Id: OTP-4469</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>When combining interceptors and oneway operations, Orber
+ incorrectly sent a MessageError over the connection to the
+ client ORB.</p>
+ <p>Own Id: OTP-4460</p>
+ </item>
+ <item>
+ <p>After (2^32)-1 requests, Orber used the request number 0 twice
+ in a row.</p>
+ <p>Own Id: OTP-4461</p>
+ </item>
+ <item>
+ <p>The COMM_FAILURE exception should only be raised when connection
+ problems occur. Now Orber raises the correct exceptions. Note, when
+ Orber act as client side ORB you must be able to handle any of the system
+ exceptions defined by the OMG. Some of the COMM_FAILURE exceptions
+ have been replaced with the correct TRANSIENT and TIMEOUT exceptions.</p>
+ <p>Own Id: OTP-4465</p>
+ </item>
+ <item>
+ <p>The default port used for corbaloc and corbaname was
+ incorrect. Now changed to follow the OMG standard (2809).</p>
+ <p>Own Id: OTP-4466</p>
+ </item>
+ <item>
+ <p>When Orber acted as a client-side ORB, it failed to encode
+ unions with a default case (i.e. defined in the IDL-code and a
+ default label used).</p>
+ <p>Own Id: OTP-4472</p>
+ </item>
+ <item>
+ <p>The operation corba:print_object/1/2 did not include host/port
+ data for IIOP-1.0 IOR:s.</p>
+ <p>Own Id: OTP-4483</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Incompatibilities</title>
+ <list type="bulleted">
+ <item>
+ <p>Some of the COMM_FAILURE exceptions have been replaced with the correct
+ TRANSIENT and TIMEOUT exceptions. All minor codes used by Orber
+ is now based on the OMG assigned VMCIDs.</p>
+ <p>Own Id: OTP-4465, OTP-4463</p>
+ </item>
+ <item>
+ <p>The default port used for corbaloc and corbaname have been changed
+ to 2809.</p>
+ <p>Own Id: OTP-4466</p>
+ </item>
+ <item>
+ <p>To reduce extra overhead Orber now uses a flag parameter,
+ which makes it possible to configure Orber's behavior in different ways.
+ Hence, the global activation of Local Typechecking, introduced in the previous
+ version, have now been changed.</p>
+ <p>Own Id: OTP-4467</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.2.13</title>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>It is now possible to activate automatic typechecking when
+ invoking operations on CORBA Objects locally. For more
+ information, see the configuration and debugging chapters
+ in the User's Guide regarding the <c>local_typecheck</c>
+ option.</p>
+ <p>Own Id: OTP-4410</p>
+ </item>
+ <item>
+ <p>Due to the success of the pre-compiled IIOP-trace interceptor, a less
+ verbose trace interceptor, called <c>orber_iiop_tracer_silent</c>,
+ have been added as well.</p>
+ <p>Own Id: OTP-4257</p>
+ </item>
+ <item>
+ <p>Orber now support the Fixed datatype defined by the OMG. To be able
+ to define Fixed types in an IDL-specification, check that your current
+ IC version supports this type as well. If not, the only option is
+ to encapsulate it in an <c>any</c> type.</p>
+ <p>Own id: OTP-4375</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>It was not possible to use the function <c>corba:print_object/2</c>,
+ which was introduced in the previous release, only
+ <c>corba:print_object/1</c>. Now it is also possible to use
+ the <c>error_logger</c> or receive the data in string form.</p>
+ <p>Own Id: OTP-4376</p>
+ </item>
+ <item>
+ <p>The functions <c>orber_tc:principal</c> and <c>orber_tc:exception</c>
+ returned incorrect.</p>
+ <p>Own Id: -</p>
+ </item>
+ <item>
+ <p>The function <c>orber_ifr:get_primitive</c> tried to access a
+ non-existing (primitivdefs) table.</p>
+ <p>Own Id: -</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.2.12</title>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>Orber now check if an external IOR contains any
+ TAG_ALTERNATE_IIOP_ADDRESS components when trying to setup
+ a connection to another ORB.</p>
+ <p>Own id: OTP-4294</p>
+ </item>
+ <item>
+ <p>It is now possible to add TAG_ALTERNATE_IIOP_ADDRESS components
+ to a local object reference. See corba:add_alternate_iiop_address/3.</p>
+ <p>Own id: OTP-4294</p>
+ </item>
+ <item>
+ <p>Orber now allows unions with no default value defined and a
+ discriminator out of range to be sent via IIOP. The value-field
+ is set to the atom undefined.</p>
+ <p>Own id: OTP-4295</p>
+ </item>
+ <item>
+ <p>The corba module now exports a function, print_object/1/2, which
+ prints IOR's in a more readable form.</p>
+ <p>Own id: OTP-4296</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>Since "all" ORB's accept ISO-8859-1 encoding of chars and strings,
+ Orber assumed that it could be used at all time to reduce the overhead.
+ The JDK-1.3 only accepts ISO 646:1991 IRV (US-ASCII), even though
+ ISO-8859-1 is default, which is why Orber now checks which codeset
+ is accepted.</p>
+ <p>Own Id: OTP-4298</p>
+ </item>
+ <item>
+ <p>When invoking a Locate Request, Orber in some cases did not reply
+ with a Locate Reply header (used a Reply header).</p>
+ <p>Own Id: OTP-4293</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.2.11</title>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>If the underlying OS was not configured to allow Erlang to use the
+ fully qualified host name the result could an incorrect IP-address.
+ Hence, if you want to upgrade to Orber-3.2.11 and the fully
+ qualified name must be used you must upgrade your kernel version.
+ Most likely, this change will NOT cause any problems, but if in doubt
+ please contact support or use the mailing-list.
+ See also the release notes for Orber-3.2.6.</p>
+ <p>Own id: OTP-3966</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>When looking up Initial Service (e.g. using <c>corbaloc</c>,
+ <c>corbaname</c> or <c>corba:resolve_initial_references_remote/2</c>)
+ and communicating via SSL, Orber used the wrong port number.</p>
+ <p>Own Id: OTP-4264</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.2.10</title>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>It is now possible to add new initial references, which can,
+ for example, be accessed via <c>corba:resolve_initial_references/1</c>
+ or the <c>corbaloc</c> schema.</p>
+ <p>Own Id: OTP-4258</p>
+ </item>
+ <item>
+ <p>The orber module now exports functions, <c>iiop_connections</c>
+ and <c>iiop_connections_pending</c>, which, respectively, list
+ all currently open connections to other ORB's and connections
+ which are in process of being set up to another ORB.</p>
+ <p>Own Id: OTP-4262</p>
+ </item>
+ <item>
+ <p>Orber now allows the user to define an interval of ports
+ which Orber is may use (i.e. ports on the local machine)
+ when trying to connect to another ORB. This behavior is useful
+ if Orber resides behind a firewall which only allow applications
+ to use certain ports when communicating with the outside world.
+ If this option is set, it is absolutely necessary to
+ set <c>iiop_connection_timeout</c>. If not, there is risk that
+ Orber run out of ports, which will result in communication failure.
+ This option cannot be used when using SSL since it does not support
+ this feature. The default behavior is that any available port
+ will be used (as before).</p>
+ <p>Own Id: OTP-4260</p>
+ </item>
+ <item>
+ <p>One can now install Orber's NameService as disc_copies, but
+ the default behavior is that Orber uses ram_copies.</p>
+ <p>Own Id: OTP-4259</p>
+ </item>
+ <item>
+ <p>A pre-compiled IIOP-trace interceptor is now
+ included in the Orber release. For more information,
+ see the <c>Debugging</c> chapter in the User's Guide.</p>
+ <p>Own Id: OTP-4257</p>
+ </item>
+ <item>
+ <p>It is now possible to set Orber's configuration parameters
+ in, for example, an Erlang shell. Consult <c>corba:orb_init/1</c> and
+ <c>orber:configure/2</c>.</p>
+ <p>Own Id: OTP-4261</p>
+ </item>
+ <item>
+ <p>The Orber release now include <c>OrberWeb</c>, which is an extension of
+ the <c>WebTool</c> application (first released in R8B). Hence,
+ <c>WebTool</c> must be installed to enable this feature. For more
+ information, see the chapter <c>OrberWeb</c> in the User's Guide.
+ <c>OrberWeb</c> is intended to be used during test and development.</p>
+ <p>Own Id: OTP-4257</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>When setting up two Orber ORB's, where one of the ORB's domain
+ name was a prefix of the other ORB's, communication via IIOP would fail.
+ To eliminate any further configuration problems, one may not
+ use <c>^G</c> (i.e. <c>"\\007"</c>) in the domain name. Due to this
+ change it is not possible to upgrade during run-time.</p>
+ <p>Own Id: OTP-4229</p>
+ </item>
+ <item>
+ <p>When using a mix of IIOP-versions (1.0 vs 1.1/1.2) and
+ sending/receiving IOR's to/from Orber could result in a
+ MARSHAL exception.</p>
+ <p>Own Id: OTP-4230</p>
+ </item>
+ <item>
+ <p>Encoding/decoding of wchar/wstring when using IIOP-1.2 do now
+ follow the OMG standard. If your ORB do not follow the
+ standard, contact support for information how to make a work-around
+ to solve this problem. In most cases it is sufficient to
+ configure the ORB's to communicate via IIOP-1.1.</p>
+ <p>Own Id: OTP-4263</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Incompatibilities</title>
+ <list type="bulleted">
+ <item>
+ <p>The encoding/decoding of wchar/wstring when using IIOP-1.2
+ have been updated. See above.</p>
+ <p>Own Id: OTP-4263</p>
+ </item>
+ <item>
+ <p>Orber no longer returns a 'EXIT' message when trying
+ to install Orber, i.e., invoking orber:install/1/2,
+ on a disc-less node. But if if the installation fails due
+ to any other reason, Orber still return a 'EXIT' message.</p>
+ <p>Own Id: OTP-4256</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Known bugs and problems</title>
+ <list type="bulleted">
+ <item>
+ <p><c>OrberWeb</c> only tested with <c>Netscape-4.75</c>. Furthermore,
+ until <c>WebTool</c> reaches version 1.0 OrberWeb should also
+ be considered to be a beta version.</p>
+ <p>Own Id: OTP-4257</p>
+ </item>
+ <item>
+ <p><c>OrberWeb</c> do not escape arguments passed when, for example,
+ creating a new context. Hence, for now you are recommended to
+ only use letters.</p>
+ <p>Own Id: OTP-4257</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.2.9</title>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>External IOR:s containing unsupported or incorrectly placed
+ TaggedComponents was corrupted when Orber forwarded the
+ IOR via IIOP. This bug was introduced in 3.2.6.</p>
+ <p>Own Id: OTP-4170</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.2.8</title>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>Orber now support interceptors.</p>
+ <p>Own Id: -</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.2.7</title>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>When Orber acted as server-side and communicating via IIOP the overhead
+ was unreasonably large and memory consuming (depended on the
+ IDL-specification). This have now been fixed and will, especially,
+ improve the performance when invoking operations with no, or simple,
+ arguments on a complex interface. This change will have little effect
+ on objects started as pseudo since this problem did not affect them.</p>
+ <p>Own Id: OTP-4063</p>
+ </item>
+ <item>
+ <p>When Orber tried to set up a connection to another ORB which did not
+ respond all IIOP access where blocked until the TCP protocol
+ generated a timeout. Now only requests to that particular ORB are
+ queued.</p>
+ <p>Own Id: OTP-4060</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>It was not possible to invoke the operation
+ CosNaming_BindingIterator:next_one via IIOP if no more bindings
+ existed.</p>
+ <p>Own id: OTP-4004</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.2.6</title>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>Registering data in the IFR overhead reduced.</p>
+ <p>Own id: OTP-3904</p>
+ </item>
+ <item>
+ <p>The overhead for the function <c>is_a/1</c> have been reduced, which also
+ affects remote <c>narrow</c> operations for inherited interfaces
+ (e.g. using Java or C++ ORBs).</p>
+ <p>Own id: OTP-3904</p>
+ </item>
+ <item>
+ <p>If the underlying OS was not configured to allow Erlang to
+ lookup the host-name by using the short-name the result was
+ always the IP-address 127.0.0.1 (loop-back). Now Orber uses
+ the full name. Hence, make sure the <c>net_adm:localhost/0</c> and
+ <c>inet:getaddr/2</c> return proper values.</p>
+ <p>Own id: OTP-3966</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>The CONV_FRAME_CodeSetComponentInfo struct was not placed
+ correctly in IOR:s. Each profile must be self-sustained
+ which is why this information must be duplicated in each
+ profile. Currently this only applies for the IIOP-profile
+ but will also concern future protocols.</p>
+ <p>Own id: OTP-3992</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.2.5</title>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>Orber now defines the configuration variable,
+ <c>iiop_setup_connection_timeout</c>, which makes it possible to
+ timeout connection attempts to another ORB before the OS TCP timeout
+ is activated.</p>
+ <p>Own id: OTP-3961</p>
+ </item>
+ <item>
+ <p>It is now possible to configure Orber to generate reports when abnormal
+ situations occurs. For more information consult the User's Guide
+ regarding the configuration parameter <c>orber_debug_level</c>.
+ Note, it is not recommended to use this option for delivered systems
+ since some of the reports is not to be considered as errors.</p>
+ <p>Own id: OTP-3962</p>
+ </item>
+ <item>
+ <p>Orber now accepts a list of addresses as value for the configuration
+ parameter <c>orbInitRef</c>.</p>
+ <p>Own id: OTP-3945</p>
+ </item>
+ <item>
+ <p>Orber now includes services defined by the configuration parameter
+ <c>orbInitRef</c> when invoking <c>corba:list_initial_services/0</c>.</p>
+ <p>Own id: OTP-3946</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>When using the configuration variable 'orbDefaultInitRef' with
+ a value pointing to another Orber-ORB it was not possible to
+ install Orber since Orber used to create default <c>NamingContexts</c>.
+ Orber no longer add these contexts.</p>
+ <p>Own id: OTP-3943</p>
+ </item>
+ <item>
+ <p>Orber accessed <c>corbaloc</c> addresses in reverse order. Now fixed.</p>
+ <p>Own id: OTP-3944</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Incompatibilities</title>
+ <list type="bulleted">
+ <item>
+ <p>When installing Orber no default <c>NamingContext's</c>, i.e.,
+ <c>host</c>, <c>hosts</c>, <c>resources</c>, <c>development</c>,
+ <c>factories</c> and <c>workgroup</c>, will be added. These contexts
+ was defined in a cancelled specification.</p>
+ <p>Own id: OTP-3942</p>
+ </item>
+ <item>
+ <p><c>corbaloc</c> addresses are now accessed in FIFO order (instead of
+ LIFO).</p>
+ <p>Own id: OTP-3944</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.2.4</title>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <p>-</p>
+ </section>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>When communicating via IIOP using version 1.2 Orber used incorrect
+ offset for reply bodies containing system exceptions, exceptions and
+ location forward.</p>
+ <p>Own id: OTP-3912</p>
+ </item>
+ <item>
+ <p>Orber did not return correct IFR Id:s when raising system exceptions
+ via IIOP.</p>
+ <p>Own id: OTP-3911</p>
+ </item>
+ <item>
+ <p>If two different processes concurrently manipulated a
+ <c>CosNaming::NamingContext</c> the data could become corrupted.
+ For single-node Orber this error occurred in version 3.2.1, 3.2.2 and
+ 3.2.3. For multi-node Orber this behavior have been present at all time.</p>
+ <p>Own id: OTP-3910</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Incompatibilities</title>
+ <list type="bulleted">
+ <item>
+ <p>Since Orber now returns a different, and correct, IFR-id for
+ systems exceptions other ORB:s and older versions of Orber
+ might raise a different exception, probably MARSHAL or UNKNOWN.
+ This only occurs when communicating via IIOP. It is not possible to
+ upgrade during runtime. Use <c>orber:stop()</c>, load new version and
+ restart Orber by invoking <c>orber:start()</c>.</p>
+ <p>Own id: OTP-3911</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.2.3</title>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>Improved performance for all types, simple and complex, when
+ communicating via IIOP. It is not possible to upgrade during
+ runtime. Use <c>orber:stop()</c>, load new version and restart
+ Orber by invoking <c>orber:start()</c>.</p>
+ <p>Own id: OTP-3905</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>If a pseudo object raises an exception or exits the exception
+ was only returned, not thrown.</p>
+ <p>Own id: OTP-3907</p>
+ </item>
+ <item>
+ <p>Orber defined an incorrect ID for CodeSets. This may cause
+ INV_OBJREF or DATA_CONVERSION exceptions to be thrown, it
+ depends on the other ORB.</p>
+ <p>Own id: OTP-3899</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.2.2</title>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>The behavior of Orber when receiving unsupported or incorrect
+ messages have now been improved.</p>
+ <p>Own id: OTP-3903</p>
+ </item>
+ <item>
+ <p>Time consumed by <c>oe_MyModule:oe_register()</c> decreased.</p>
+ <p>Own id: OTP-3904</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>When Orber received a 'location_forward' reply, the result
+ from the second invocation was never delivered to the
+ client. Now fixed.</p>
+ <p>Own id: OTP-3814</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.2.1</title>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>It is now possible to use external <c>NamingContexts</c>
+ when, for example, using
+ <c>'CosNaming_NamingContextExt':bind_context/3</c>.</p>
+ <p>Own id: OTP-3902</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.2</title>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>Orber now supports IIOP-version 1.2.</p>
+ <p>Own id: OTP-3901</p>
+ </item>
+ <item>
+ <p>Improved encoding and decoding performance for IIOP requests containing
+ <c>struct</c>, <c>union</c> or user defined <c>exceptions</c>.</p>
+ <p>Own id: OTP-3900</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>Setting the <c>bootstrap_port</c> configuration parameter to a value
+ less than 1024 made it impossible to start Orber properly.
+ Now fixed.</p>
+ <p>Own id: OTP-3898</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.1.8</title>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>Orber now accepts <c>Indirection/Repeated</c><c>CORBA::TypeCode</c> as input and/or
+ return value when communicating via IIOP.</p>
+ <p>Own id: -</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>When another ORB replied with <c>location forward</c> Orber
+ failed to decode this. Now fixed.</p>
+ <p>Own id: OTP-3709</p>
+ </item>
+ <item>
+ <p>Orber failed to encode <c>CORBA::TypeCode</c> containing <c>tk_alias</c>, e.g.,
+ sending an <c>#any{}</c> which encapsulates data defined by <c>typedef</c>.</p>
+ <p>Own id: OTP-3689</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.1.7</title>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>Earlier, Orber did not use the IIOP/GIOP version specified
+ in an external object key when invoking an intra-ORB request.</p>
+ <p>Own id: OTP-3663</p>
+ </item>
+ <item>
+ <p>The OMG standard now support an Interoperable Naming Service.
+ Initially there where two proposals of which Orber earlier
+ supported one of them. Now both standards are supported.</p>
+ <p>Own id: OTP-3664</p>
+ </item>
+ <item>
+ <p>The OMG have redefined the operator, used when encoding requests via IIOP,
+ for the function <c>corba_object:non_existent/1</c>. CORBA version 2.0 and
+ 2.2 compliant ORB:s is supposed to support the old definition, while
+ later versions, i.e., 2.3, is supposed to use the new operator
+ (<c>_non_existent</c> instead of <c>_not_existent</c>). Orber accepts
+ both versions.</p>
+ <p>Own id: OTP-3679</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>If an Orber node crashed and was restarted the object keys could
+ point to other processes than it should, which may cause problems if,
+ for example, the other process terminates due to it does not handle
+ unknown messages. Now Orber GC object keys for objects residing on the
+ crashed node. If Orber is started as a multi-node ORB of which one or
+ more nodes runs an older Orber version they can still communicate but
+ with an increased overhead. Hence, all nodes should be upgraded during
+ a relatively short time. If Orber is stopped, i.e., orber:stop() or
+ a shutdown is generated, objects residing on that node will be terminated.</p>
+ <p>Own id: OTP-3678</p>
+ </item>
+ <item>
+ <p>If an IDL-file contains two interfaces of which the first one
+ contains an exception and the second interface, which inherits the first
+ one, contain an operation which raises this exception the IFR
+ failed since multiple references where found when invoking
+ orber_ifr:lookup_id/2. Now fixed.</p>
+ <p>Own id: OTP-3665</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Incompatibilities</title>
+ <list type="bulleted">
+ <item>
+ <p>To be able to start Orber as lightweight the mnesia application
+ cannot be listed in the "orber.app" file. You might find it
+ necessary to add 'mnesia' to the applications-list.
+ For example, you cannot upgrade an older version
+ of Orber (not started as lightweight) to this version without
+ adding mnesia to the application dependencies list.</p>
+ <p>Own id: OTP-3666</p>
+ </item>
+ <item>
+ <p>The function <c>corba_object:non_existent/1</c> have been updated
+ to follow the CORBA 2.3 standard. Hence, Intra-ORB communication
+ with ORB:s not supporting this standard will fail. The operation
+ <c>corba_object:not_existent/1</c> allow users to use the old standard.
+ Consult the ORB vendor's documentation to decide which function to use.</p>
+ <p>Own id: OTP-3679</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.1.6</title>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>Cosmetic update of internal functions.</p>
+ <p>Own id: -</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.1.5</title>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>When decoding TypeCode for an object reference, e.g., as a part of
+ an #any{}, Orber failed. This is no longer the case. </p>
+ <p>Own id: OTP-3631</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.1.4</title>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>The function <c>start_lightweight/1</c> have been added to the
+ <c>orber</c> module. This function allow us to start orber as
+ lightweight without, or override, the configuration parameter
+ <c>-orber lightweight</c>.</p>
+ <p>Own id: -</p>
+ </item>
+ <item>
+ <p>A new configuration parameter, 'iiop_connection_timeout Secs', is now
+ available. This parameter's purpose, is to terminate the socket
+ connection on the client side if a time span of Secs seconds have passed.
+ The connection will, however, NOT be terminated if a client still waits
+ for a reply. For the last scenario to happen, the client have been
+ configured to use a larger timeout value than the configuration
+ parameter 'iiop_connection_timeout' have been set to.</p>
+ <p>Own id: -</p>
+ </item>
+ <item>
+ <p>Up until now, invoking an an operation with an extra Timeout parameter
+ (using the IC option: ic:gen(IdlFile, [{timeout,"module::interface"}])),
+ only applied to local Objects. Now, using the IC option above, when
+ compiling the stubs, and adding the extra Timeout parameter, a timeout
+ will also be triggered when calling Objects residing on other ORB:s.
+ The return value, after a timeout has been triggered, have changed from
+ an EXIT message to raising the system exception COMM_FAILURE. For more
+ information, about how this feature interacts with the configuration
+ parameter 'iiop_timeout', consult the documentation.</p>
+ <p>Own id: -</p>
+ </item>
+ <item>
+ <p>When using invalid intra-ORB configuration, i.e., incorrect
+ Port/IP-address, when trying to connect to another ORB,
+ a CRASH REPORT was generated if the configuration
+ parameter '-boot start_sasl' was used. This behavior has now changed.</p>
+ <p>Own id: -</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>If a client-side ORB terminated the IIOP connection immediately there
+ was a possibility that the server responsible detecting this did not.</p>
+ <p>Own id: OTP-3593</p>
+ </item>
+ <item>
+ <p>Setting the configuration parameter 'iiop_timeout' did not result in a
+ correct behavior, i.e., no timeout triggered.</p>
+ <p>Own id: OTP-3555</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Incompatibilities</title>
+ <list type="bulleted">
+ <item>
+ <p>When using the IC option, ic:gen(IdlFile, [{timeout,"module::interface"}]),
+ an EXIT was the timeout result. Now, the system exception COMM_FAILURE is
+ raised.</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.1.3</title>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>Orber did not ignore unrecognized TaggedProfiles. Other vendors may have
+ registered own TAG's with the OMG. These TAG's are valid but not
+ necessarily handled by other vendors.</p>
+ <p>Own id: OTP-3514</p>
+ </item>
+ <item>
+ <p>When passing Object references over IIOP, decoding local references could
+ fail. Now fixed.</p>
+ <p>Own id: OTP-3515</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.1.2</title>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>Previously the OMG have published two suggestions for <c>Interoperable Name Service</c>,
+ of which, the <c>CORBA 3</c> specify <c>orbos/98-10-11</c> to be implemented.
+ Unfortunately, the Interoperable Name Service Orber supports, is the one not chosen.
+ Hence, the <c>InitialReferences.idl</c> will not be according to the future standard.
+ The modules name is now changed from <c>CORBA</c> to <c>Orber</c>. This will affect
+ code which are using this interface. The idl specification must be recompiled and
+ then <c>CORBA</c> must be changed to <c>Orber</c> in the client.</p>
+ <p>Own id: OTP-3468, OTP-3155</p>
+ </item>
+ <item>
+ <p>Now possible to run oe_unregister when the IDL-specification contains
+ exceptions correctly.</p>
+ <p>Own Id: OTP-3447</p>
+ </item>
+ <item>
+ <p>Now possible to run oe_unregister when the IDL-specification contains
+ attributes.</p>
+ <p>Own Id: OTP-3439</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Incompatibilities</title>
+ <p>The change in <c>InitialReferences.idl</c> to clash with the Corba standard implies changes
+ in code that use this interface. See the OTP-3468 and OTP-3155 in the <c>Fixed Bugs and Malfunctions</c>
+ chapter above.</p>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.1.1</title>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>When introducing the configuration parameter <c>ip_address</c>
+ it was no longer possible to have the same default behavior
+ as before. Now fixed.</p>
+ <p>Own Id: OTP-3431</p>
+ </item>
+ <item>
+ <p>The internal request number handling never checked if maximum reached.
+ Now the counter restart at 0 after reaching max.</p>
+ <p>Own Id: OTP-3415</p>
+ </item>
+ <item>
+ <p>Orber did not handle locate-requests correctly, i.e., not able to
+ recognize the new internal representation of object references.</p>
+ <p>Own Id: OTP-3414</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.1</title>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>It is now possible to start Orber as lightweight.</p>
+ <p>Own Id: -</p>
+ </item>
+ <item>
+ <p>It is now possible to create pseudo objects, i.e., not server objects.</p>
+ <p>Own Id: -</p>
+ </item>
+ <item>
+ <p>One new system exception introduced; 'BAD_QOS'.</p>
+ <p>Own Id: -</p>
+ </item>
+ <item>
+ <p>Orber now supports the types 'long long' and 'unsigned long long'</p>
+ <p>Own Id: -</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>Encoding typecode for complex exceptions (non-empty body) was not done
+ correctly.</p>
+ <p>Own Id: OTP-3390</p>
+ </item>
+ <item>
+ <p>orber_iiop_pm crashed when it received an 'EXIT'. Now fixed.</p>
+ <p>Own Id: OTP-3391</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.0.1</title>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>Orber is now able to handle upgrade properly.</p>
+ <p>Own Id: -</p>
+ </item>
+ </list>
+ </section>
+ </section>
+
+ <section>
+ <title>Orber 3.0</title>
+
+ <section>
+ <title>Improvements and New Features</title>
+ <list type="bulleted">
+ <item>
+ <p>It is now possible to use secure IIOP connections to and from Orber.
+ Orber currently only supports security with the help of SSL and not SECIOP.</p>
+ <p>Own Id: OTP-1510</p>
+ </item>
+ <item>
+ <p>It is now possible to start Orber objects as supervisor children using
+ Module_Interface:oe_create_link/2 or corba:create_link/4 as the start function.</p>
+ <p>Own Id: -</p>
+ </item>
+ <item>
+ <p>It is now possible to start a Orber object and be able to tell apart if it is in
+ the process of being restarted or has permanently terminated. This is also the reason
+ for introducing <c>objectkeys_gc_time</c> configuration parameter.</p>
+ <p>Own Id: -</p>
+ </item>
+ <item>
+ <p>The service CosEvent has been removed from orber and become its own application, called cosEvent.</p>
+ <p>Own Id: -</p>
+ </item>
+ <item>
+ <p>The service CosTransactions is now available as a separate application, called cosTransactions.</p>
+ <p>Own Id: OTP-1741</p>
+ </item>
+ <item>
+ <p>Three new system exceptions, 'TRANSACTION_REQUIRED', 'TRANSACTION_ROLLEDBACK'
+ and 'INVALID_TRANSACTION', introduced. Required by the cosTransactions application.</p>
+ <p>Own Id: -</p>
+ </item>
+ <item>
+ <p>An configuration variable ip_address has been added, so it's possible
+ to listen on a specific ip interface on a multi interface host.
+ The value is the ip address as a string or a tuple of four integers,
+ default value is all interfaces.</p>
+ <p>Own Id: OTP-3294</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Fixed Bugs and Malfunctions</title>
+ <list type="bulleted">
+ <item>
+ <p>set- and get-operations for the 'any'-module now behaves properly.</p>
+ <p>Own Id: OTP-3355</p>
+ </item>
+ <item>
+ <p>Orber can now handle IORs which contain more than one "Tagged Profile".</p>
+ <p>Own Id: OTP-3266</p>
+ </item>
+ </list>
+ </section>
+
+ <section>
+ <title>Incompatibilities</title>
+ <list type="bulleted">
+ <item>
+ <p>CosEvent include paths have changed since it is now a separate application, called cosEvent.</p>
+ </item>
+ <item>
+ <p>The internal representation of object references have changed. Orber do, however,
+ recognize the old representation. But object references (created by Orber 2.2.2 or older)
+ stored and used through several Orber upgrades may not be supported.</p>
+ </item>
+ <item>
+ <p>The functions oe_create/2 and oe_create_link/2 now take an
+ options list as its second argument. Orber still allow
+ oe_create*(Env, {Type,RegName}) to be used, but may not in future releases.</p>
+ </item>
+ </list>
+ </section>
+ </section>
+</chapter>
+