Changes to the ILU distribution: From 1.7 to 1.8: 1) A kernel memory leak caused by having many clients connect to, then drop, a server was fixed. 2) File descriptors are now removed from the event loop registry when a connection is closed, which fixes some errors in various runtimes. 3) The kernel routines ilu_ConsiderSBH() and ilu_ReLookupObject() are now provided to change the binding of a surrogate kernel server. This allows a client to track changes caused when a server goes down and is re-started with different contact info. This should also handle the relocation requirement of CORBA's IIOP. They have not been fully tied into the language runtimes yet. Some language runtime code may still improperly keep a cache of an earlier SBH. 4) The Common Lisp garbage collector is now tied in to the ILU network GC scheme, so that client interest in collectible true objects is communicated and used properly between Lisp clients and servers. Collectible true objects are now GC'ed. 5) A new appendix to the ILU manual documents the process of adding ILU support for a different variety of Common Lisp. 6) Various fixes to the Python support have been made to fix various bugs, and to allow unregistration of Tk event handlers when connections are closed. Python true objects must still be manually held onto by the server. 7) References into freed data structures have been fixed in the C and C++ runtime, thanks to Purify. 8) An authentication framework has been added, but no protocols currently pass any identity information except for the Sun RPC protocol's default authentication of "AUTH_UNIX". This identity is now available in C true method code, but the access method is not yet documented, as it will surely change. 9) An obscure bug in the Lisp generic process code, responsible for causing an occasional "Bad Process-Lock" message, has been fixed. 10) The XView X toolkit code in ILUSRC/etc/xview/ has been successfully used. 11) Memory leaks in C true stubs have been fixed, and C true stubs now report unexpected exceptions properly. 12) Fixes from hassan@db.stanford.edu for the DEC Alpha system with OSF/1 have been incorporated. From 1.6.4-p9 to 1.7: 1) The way of associating a Sun RPC (program number, version) tuple with an object type has changed. In release 1.6.4, the (program number, version) was assigned either manually or automatically, and a file maintained a list of (type ID, program #, version) tuples. Each client and server consulted this file when mapping between Sun RPC program #'s and ILU type ID's. This led to a number of problems. This scheme has been changed in release 1.7 to a scheme in which the Sun RPC program # is always the value 0x31000400, and the (32-bit) Sun RPC version is computed from the ILU type ID, using the CRC-32 hash algorith. Thus the version number is the CRC-32 of the ILU type ID. This has been tested for collisions, and they have been found to be extremely rare -- much rarer than collisions would have been under the ILU 1.6.4 scheme. This means that if you wish to use ILU 1.6.4 clients or servers with ILU 1.7, you should edit the 1.6.4 SunRPCRegistry file to use the 1.7 program number and version for each particular object type. 2) The C runtime now offers an interface to threads, so that C servers can handle requests in different threads. This has been tested with the PPCR implementation of POSIX threads. 3) Untested pseudo-threads libraries for the Xt and XView X toolkits are provided, under ILUSRC/etc/{Xt,xview}/. 4) Support for the Python programming language has been added. 5) All languages now support IN, OUT, and INOUT method parameters. 6) Support for CORBA NIL object references has been added, via the new OPTIONAL keyword on object types. All object types defined with OMG IDL will be tagged automatically with OPTIONAL; object types defined with ILU ISL have the option of being OPTIONAL. Note that this keyword is different from the ISL OPTIONAL type constructor. The use of this keyword in ISL is deprecated in favor of the OPTIONAL type constructor. This also means that the ILU on-the-wire mapping for objects has been changed (slightly) to allow for NIL object references. Applications that do not use NIL objects will not encounter this change. 7) The usage of the SINGLETON keyword on object types has changed. It now takes a string argument which defines the particular ``pinfo'' and ``tinfo'' to be used with the object type. 8) Network GC now works. 9) Numerous bugs have been fixed.