<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE chapter SYSTEM "chapter.dtd">

<chapter>
  <header>
    <copyright>
      <year>1997</year><year>2016</year>
      <holder>Ericsson AB. All Rights Reserved.</holder>
    </copyright>
    <legalnotice>
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
      You may obtain a copy of the License at
 
          http://www.apache.org/licenses/LICENSE-2.0

      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      See the License for the specific language governing permissions and
      limitations under the License.

    </legalnotice>

    <title>Orber Release Notes</title>
    <prepared></prepared>
    <responsible></responsible>
    <docno></docno>
    <approved></approved>
    <checked></checked>
    <date>99-02-12</date>
    <rev>A</rev>
    <file>notes.xml</file>
  </header>


  <section><title>Orber 3.8.2</title>

    <section><title>Improvements and New Features</title>
      <list>
        <item>
          <p>
	    Internal changes</p>
          <p>
	    Own Id: OTP-13551</p>
        </item>
      </list>
    </section>

</section>

<section><title>Orber 3.8.1</title>

    <section><title>Improvements and New Features</title>
      <list>
        <item>
	    <p> Suppress Dialyzer warnings. </p>
          <p>
	    Own Id: OTP-12862</p>
        </item>
      </list>
    </section>

</section>

<section><title>Orber 3.8</title>

    <section><title>Improvements and New Features</title>
      <list>
        <item>
	    <p> Remove the usage of erlang:now() from all Corba
	    applications and use the new rand module instead of
	    random. </p>
          <p>
	    Own Id: OTP-12687</p>
        </item>
      </list>
    </section>

</section>

<section><title>Orber 3.7.1</title>

    <section><title>Fixed Bugs and Malfunctions</title>
      <list>
        <item>
	    <p> Fixed problem with IPv6 addresses in Service Context
	    when orber is default configured for IPv4. </p>
          <p>
	    Own Id: OTP-12193</p>
        </item>
      </list>
    </section>

</section>

<section><title>Orber 3.7</title>

    <section><title>Fixed Bugs and Malfunctions</title>
      <list>
        <item>
	    <p> The following functions have been corrected so they
	    work properly with IPv6 addresses. </p> <list>
	    <item><c>corba:resolve_initial_references_remote/2/3</c></item>
	    <item><c>corba:list_initial_references_remote/1/2</c></item>
	    <item><c>corba:string_to_object/1/2</c></item> </list>
          <p>
	    Own Id: OTP-12016</p>
        </item>
        <item>
	    <p> A couple of macros were malformed, missing commas:
	    PROFILEBODY_1_1_TYPEDEF and PROFILEBODY_1_2_TYPEDEF.
	    Thanks to Vlad Dumitrescu. </p>
          <p>
	    Own Id: OTP-12062</p>
        </item>
      </list>
    </section>


    <section><title>Improvements and New Features</title>
      <list>
        <item>
	    <p> It is now possible to add listen interfaces for IPv6
	    when orber is default configured for IPv4 and the other
	    way around. For more information, consult the User's
	    Guide and the orber module Reference Manual. </p>
          <p>
	    Own Id: OTP-12007</p>
        </item>
      </list>
    </section>

</section>

<section><title>Orber 3.6.27</title>

    <section><title>Fixed Bugs and Malfunctions</title>
      <list>
        <item>
          <p>
	    Some local implementations of removing the last element
	    from a list are replaced by <c>lists:droplast/1</c>. Note
	    that this requires at least <c>stdlib-2.0</c>, which is
	    the stdlib version delivered in OTP 17.0. (Thanks to Hans
	    Svensson)</p>
          <p>
	    Own Id: OTP-11678</p>
        </item>
      </list>
    </section>

</section>

<section><title>Orber 3.6.26.1</title>

    <section><title>Improvements and New Features</title>
      <list>
        <item>
	    <p> Postscript files no longer needed for the generation
	    of PDF files have been removed. </p>
          <p>
	    Own Id: OTP-11016</p>
        </item>
      </list>
    </section>

</section>

<section><title>Orber 3.6.26</title>

    <section><title>Fixed Bugs and Malfunctions</title>
      <list>
        <item>
          <p>
	    Fix bug in corbaloc/corbaname over ssl.</p>
          <p>
	    Own Id: OTP-10675</p>
        </item>
      </list>
    </section>

  </section>

  <section><title>Orber 3.6.25</title>

    <section><title>Improvements and New Features</title>
      <list>
        <item>
	    <p> Some examples overflowing the width of PDF pages have
	    been corrected. </p>
          <p>
	    Own Id: OTP-10665</p>
        </item>
      </list>
    </section>

    <section><title>Known Bugs and Problems</title>
      <list>
        <item>
          <p>
	    Own Id: OTP-10675 Aux Id: seq12154
	  </p>
        </item>
      </list>
    </section>
</section>

<section><title>Orber 3.6.24</title>

    <section><title>Fixed Bugs and Malfunctions</title>
      <list>
        <item>
          <p>
	    Fix number of arguments in orber dbg printout</p>
          <p>
	    Own Id: OTP-9887</p>
        </item>
        <item>
	    <p> The descriptions of <c>ssl_server_options</c> and
	    <c>ssl_client_options</c> are corrected.<br/> Seq. Id:
	    seq12018 </p>
          <p>
	    Own Id: OTP-9966 Aux Id: OTP-9773 </p>
        </item>
      </list>
    </section>

</section>

<section><title>Orber 3.6.23</title>

    <section><title>Fixed Bugs and Malfunctions</title>
      <list>
        <item>
	    <p> Remove usage of ssl:seed/1 in orber test cases. </p>
          <p>
	    Own Id: OTP-9728</p>
        </item>
      </list>
    </section>


    <section><title>Improvements and New Features</title>
      <list>
        <item>
	    <p>Erlang/OTP can now be built using parallel make if you
	    limit the number of jobs, for instance using '<c>make
	    -j6</c>' or '<c>make -j10</c>'. '<c>make -j</c>' does not
	    work at the moment because of some missing
	    dependencies.</p>
          <p>
	    Own Id: OTP-9451</p>
        </item>
        <item>
	    <p> The SSL option handling has been changed. There are
	    now two new orber options <c>ssl_server_options</c> and
	    <c>ssl_client_options</c> which takes a list of options
	    to the socket. </p> <p> The old options are now
	    deprecated and removed from the documentation but they
	    can still be used for backward compatibility as long as
	    the two new options not are used. </p> <p> If
	    <c>ssl_server_options</c> and <c>ssl_client_options</c>
	    contain an TCP option that <c>orber</c> needs to set to a
	    specific value it will be skipped and a warning will be
	    written to the error_log. </p>
          <p>
	    Own Id: OTP-9773 Aux Id: seq11932 </p>
        </item>
      </list>
    </section>

</section>

<section><title>Orber 3.6.22</title>

    <section><title>Fixed Bugs and Malfunctions</title>
      <list>
        <item>
	    <p> XML files have been corrected. </p>
          <p>
	    Own Id: OTP-9550 Aux Id: OTP-9541 </p>
        </item>
      </list>
    </section>

</section>

<section>
    <title>Orber 3.6.21</title>

    <section>
      <title>Improvements and New Features</title>
      <list type="bulleted">
        <item>
          <p>
            Eliminated Dialyzer warnings.</p>
          <p>
            Own Id: OTP-9326 Aux Id:</p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Orber 3.6.20</title>

    <section>
      <title>Improvements and New Features</title>
      <list type="bulleted">
        <item>
          <p>
            Eliminated Dialyzer warnings when using exit or throw.</p>
          <p>
            Own Id: OTP-9050 Aux Id:</p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Orber 3.6.19</title>

    <section>
      <title>Improvements and New Features</title>
      <list type="bulleted">
        <item>
          <p>
            Partial support for recursive structs and unions.
            Only available for the erl_corba backend and requires
            that Light IFR is used. I.e. the IC option {light_ifr, true}
            and that Orber is configured in such a way that Light IFR
            is activated. Recursive TypeCode is currently not supported.</p>
          <p>
            Own Id: OTP-8868 Aux Id: seq11633</p>
        </item>
      </list>
    </section>
    <section>
      <title>Fixed Bugs and Malfunctions</title>
      <list type="bulleted">
        <item>
          <p>The SSL option {ssl_imp, old} was not used if ssl_generation was
             set to 2. Only R14B was affected by this.</p>
          <p>Own Id: OTP-8994 Aux Id: seq11747</p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Orber 3.6.18</title>
    <section>
      <title>Fixed Bugs and Malfunctions</title>
      <list type="bulleted">
        <item>
          <p>A corbaloc http string could return an EXIT message, instead
             of a system exception, if the HTTP server closed the socket
             without returning a complete message. I.e. header and a body
             containing a stringified IOR.</p>
          <p>Own Id: OTP-8900 Aux Id: seq11704</p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Orber 3.6.17</title>

    <section>
      <title>Improvements and New Features</title>
      <list type="bulleted">
        <item>
          <p>
            Eliminated warnings for auto-imported BIF clashes.</p>
          <p>
            Own Id: OTP-8840</p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Orber 3.6.16</title>

    <section>
      <title>Improvements and New Features</title>
      <list type="bulleted">
        <item>
          <p>
            Test suites published.</p>
          <p>
            Own Id: OTP-8543O Aux Id:</p>
        </item>
      </list>
    </section>

    <section>
      <title>Fixed Bugs and Malfunctions</title>
      <list type="bulleted">
        <item>
          <p>Added missing trailing bracket to define in hrl-file.</p>
          <p>Own Id: OTP-8489 Aux Id:</p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Orber 3.6.15</title>

    <section>
      <title>Improvements and New Features</title>
      <list type="bulleted">
        <item>
          <p>
            Added the configuration parameters iiop_out_ports_attempts and
            iiop_out_ports_random.</p>
          <p>
            Own Id: OTP-8448 Aux Id: seq11498</p>
        </item>
        <item>
          <p>
            Removed obsolete SSL dependency.</p>
          <p>
            Own Id: OTP-8374 Aux Id:</p>
        </item>
        <item>
          <p>
            Removed the usage of the codeinclude tag in the documentation.</p>
          <p>
            Own Id: OTP-8409 Aux Id:</p>
        </item>
      </list>
    </section>

    <section>
      <title>Fixed Bugs and Malfunctions</title>
      <list type="bulleted">
        <item>
          <p>Removed superfluous VT in the documentation.</p>
          <p>Own Id: OTP-8353 Aux Id:</p>
        </item>
        <item>
          <p>Removed superfluous backslash in the documentation.</p>
          <p>Own Id: OTP-8354 Aux Id:</p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Orber 3.6.14</title>

    <section>
      <title>Improvements and New Features</title>
      <list type="bulleted">
        <item>
          <p>
            The documentation is now built with open source tools (xsltproc and fop) 
            that exists on most platforms. One visible change is that the frames are removed.</p>
          <p>
            Own Id: OTP-8201 Aux Id:</p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Orber 3.6.13</title>

    <section>
      <title>Improvements and New Features</title>
      <list type="bulleted">
        <item>
          <p>Obsolete guards, e.g. record vs is_record, has been changed 
             to avoid compiler warnings.</p>
          <p>Own Id: OTP-7987</p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Orber 3.6.12</title>

    <section>
      <title>Improvements and New Features</title>
      <list type="bulleted">
        <item>
          <p>Only the source instance of InitialReference.java is now
             included. Users are adviced to use the Interoperable
             Naming Service (INS) instead. INS is a part of the OMG
             standard specification.</p>
          <p>*** POTENTIAL INCOMPATIBILITY ***</p>
          <p>Own Id: OTP-7906 Aux Id: seq11243</p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Orber 3.6.11</title>

    <section>
      <title>Improvements and New Features</title>
      <list type="bulleted">
        <item>
          <p>Updated file headers.</p>
          <p>Own Id: OTP-7837</p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Orber 3.6.10</title>

    <section>
      <title>Improvements and New Features</title>
      <list type="bulleted">
        <item>
          <p>Documentation source included in open source releases.</p>
          <p>Own Id: OTP-7595</p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Orber 3.6.9</title>

    <section>
      <title>Improvements and New Features</title>
      <list type="bulleted">
        <item>
          <p>Updated file headers.</p>
          <p>Own Id: OTP-7011</p>
        </item>
        <item>
          <p>Now compliant with the new behavior of stdlib.</p>
          <p>Own Id: OTP-7030 Aux Id: seq10827</p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Orber 3.6.8</title>

    <section>
      <title>Improvements and New Features</title>
      <list type="bulleted">
        <item>
          <p>When a local port range has been defined (i.e. iiop_out_ports),
	     Orber set the socket option reuseaddr to true and after one
	     timed out connection attempt no other port in the given range
	     is used for that particular connect attempt.</p>
          <p>Own Id: OTP-6844 Aux Id: </p>
        </item>
        <item>
          <p>Possible to override global SSL parameters when using
             local interfaces.</p>
          <p>Own Id: OTP-6869 Aux Id: seq10742</p>
        </item>
      </list>
    </section>
    <section>
      <title>Fixed Bugs and Malfunctions</title>
      <list type="bulleted">
        <item>
          <p>The parameter ssl_client_ciphers was used on the server side as well
             instead of ssl_server_ciphers.</p>
          <p>Own Id: OTP-6868 Aux Id:</p>
        </item>
        <item>
          <p>The configuration parameter iiop_max_in_requests was ignored, until
             the first incoming request arrived, if iiop_packet_size was set.</p>
          <p>Own Id: OTP-6912 Aux Id:</p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Orber 3.6.7</title>

    <section>
      <title>Improvements and New Features</title>
      <list type="bulleted">
        <item>
          <p>The documentation source has been converted from SGML to XML.</p>
          <p>Own Id: OTP-6754 Aux Id: </p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Orber 3.6.6</title>

    <section>
      <title>Improvements and New Features</title>
      <list type="bulleted">
        <item>
          <p>It is now possible to configure incoming connections which
            overrides some global configuration parameters. See
            orber:add_listen_interface/2/3.</p>
          <p>Own Id: OTP-6696 Aux Id: </p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Orber 3.6.5</title>

    <section>
      <title>Improvements and New Features</title>
      <list type="bulleted">
        <item>
          <p>Removed some unused code.</p>
          <p>Own Id: OTP-6527 Aux Id: </p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Orber 3.6.4</title>

    <section>
      <title>Improvements and New Features</title>
      <list type="bulleted">
        <item>
          <p>Orber can now be configured so that different NAT parameters
            can be specified for different interfaces.</p>
          <p>Own Id: OTP-6165 Aux Id: </p>
        </item>
        <item>
          <p>It is now possible to set the keepalive option for incoming
            and outgoing IIOP connections. For more information, see the
            Configuration chapter in the User's Guide.</p>
          <p>Own Id: OTP-6370 Aux Id: seq10532</p>
        </item>
        <item>
          <p>The new function orber:close_connection/1/2 allows a client
            to close connections to an object residing on a remote ORB.</p>
          <p>Own Id: OTP-6371 Aux Id: seq10532</p>
        </item>
        <item>
          <p>Orber now use the SSL two-phase accept strategy to avoid
            that new incoming connections via SSL are not blocked
            by a previous connect attempt that never initiated the
            SSL handshake. Note, the configuration parameter
            iiop_ssl_accept_timeout should be set (default infinity).
            For more information, see the Configuration chapter in the
            User's Guide. If Orber is started in secure mode, the
            installed SSL version must support ssl:ssl_accept/1/2 and
            ssl:transport_accept/1/2.</p>
          <p>Own Id: OTP-6372 Aux Id: seq10105</p>
        </item>
      </list>
    </section>

    <section>
      <title>Fixed Bugs and Malfunctions</title>
      <list type="bulleted">
        <item>
          <p>The operation orber_ifr:contents/2 could only handle dk_All.</p>
          <p>Own Id: OTP-6385 Aux Id:</p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Orber 3.6.3</title>

    <section>
      <title>Improvements and New Features</title>
      <list type="bulleted">
        <item>
          <p>When installing Orber it is now possible to set the priority
            for Orber internal Mnesia tables. For more information, see the
            Reference Manual regarding orber:install/2.</p>
          <p>Own Id: OTP-5907 Aux Id: seq10156</p>
        </item>
        <item>
          <p>The operation corba_object:is_a/2/3 now only connect to a remote
            ORB if necessary (i.e. the target object inherits from objects
            associated with the given IFR id).</p>
          <p>Own Id: OTP-5908</p>
        </item>
      </list>
    </section>

    <section>
      <title>Fixed Bugs and Malfunctions</title>
      <list type="bulleted">
        <item>
          <p>The operation corba_object:is_remote/1 always returned
            true, which was introduced in orber-3.2.10.</p>
          <p>Own Id: OTP-5909</p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Orber 3.6.2</title>

    <section>
      <title>Improvements and New Features</title>
      <list type="bulleted">
        <item>
          <p>Native interceptors may now export new_in_connection and 
            new_out_connection operations with arity 5. If this is the
            case, information about the local interface and port is
            passed to the interceptor. Orber's built in interceptors
            have been changed to include this information as well.</p>
          <p>Own Id: OTP-5671</p>
        </item>
      </list>
    </section>

    <section>
      <title>Fixed Bugs and Malfunctions</title>
      <list type="bulleted">
        <item>
          <p>In some cases, e.g. incorrect GIOP headers or a CancelRequest
            containing a non-existing RequestId, the incoming connection 
            would be terminated.</p>
          <p>Own Id: OTP-5672 Aux Id: seq10037</p>
        </item>
        <item>
          <p>If combining the 'Use Current Interface in IOR' and
            'Use IPv6' flags, exported IOR:s contained an incorrect
            host address.</p>
          <p>Own Id: OTP-5673</p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Orber 3.6.1</title>

    <section>
      <title>Improvements and New Features</title>
      <list type="bulleted">
        <item>
          <p>Reduced overhead when using outgoing ACL with a local interface
            defined.</p>
          <p>Own Id: OTP-5659</p>
        </item>
        <item>
          <p>Added guards to ensure that, when so required, a list
            of IOP_ServiceContext's is passed instead of, for example,
            just the context record.</p>
          <p>Own Id: OTP-5660</p>
        </item>
      </list>
    </section>

    <section>
      <title>Fixed Bugs and Malfunctions</title>
      <list type="bulleted">
        <item>
          <p>The documentation referred to two different context definitions,
            the incorrect ServiceContext and the correct IOP_ServiceContext.
            The hrl file PATH/include/corba.hrl also contained the incorrect
            record definition. This has now been updated so that only
            IOP_ServiceContext is used and referred to.</p>
          <p>Own Id: OTP-5658</p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Orber 3.6</title>

    <section>
      <title>Improvements and New Features</title>
      <list type="bulleted">
        <item>
          <p>It is now possible to define a Access Control List (ACL),
            which limits the host and ports Orber may connect to or
            accept connections from.</p>
          <p>Own Id: OTP-5567</p>
        </item>
        <item>
          <p>It is now possible to add, and remove, listen interfaces.
            For more information, consult the User's Guide and the 
            orber module Reference Manual.</p>
          <p>Own Id: OTP-5568</p>
        </item>
        <item>
          <p>It is now possible to activate and deactivate Audit/Trail
            logging. One of the three built in interceptors will be used
            depending on the requested verbosity.</p>
          <p>Own Id: OTP-5569</p>
        </item>
        <item>
          <p>It is now possible to configure Orber to add the interface,
            to exported local IOR:s, a Request came via.</p>
          <p>Own Id: OTP-5570</p>
        </item>
        <item>
          <p>It is now possible to instruct Orber which local interface an outgoing Request
            shall be sent via. To accomplish this the Orber generic context must be
            added added to each invocation.</p>
          <p>Own Id: OTP-5571</p>
        </item>
        <item>
          <p>It is now possible to define a default local interface,
            which Orber will use when connecting to another ORB.</p>
          <p>Own Id: OTP-5583</p>
        </item>
      </list>
    </section>
  </section>
</chapter>

