home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / fns101.zip / Add-Ons / Fnorb / CHANGES < prev    next >
Text File  |  1999-06-28  |  10KB  |  251 lines

  1. Fnorb 1.01
  2. ----------
  3.  
  4. 1) corrected IOR unmarshalling. 
  5. 2) added handling of memory allocation errors during unmarshalling.
  6.  
  7. Fnorb 1.0
  8. ---------
  9.  
  10. 1) The Windows NT/95 installation has been changed to make the setting of the
  11. FNORB_HOME, PATH and PYTHONPATH environment variables up to the user (ie. the
  12. installation no longer updates the registry or autoexec.bat).
  13.  
  14. For convenience, an additional batch file ('...\Fnorb\script\fnvars.bat') is
  15. created which can be run from a command prompt to set the variables
  16. appropriately. To repeat, this is for convenience only - it works on NT with
  17. Python 1.5.2c1 - but there are no guarantees beyond that! Win 95 users need to
  18. edit the file, remove any spaces in directory names, and wish they had a
  19. decent shell ;^)
  20.  
  21. 2) The CORBA type 'unsigned long' is now mapped (as per the draft) to the
  22. Python *long* integer type. This has some effect as Python sequences cannot be
  23. indexed with these values without an explicit conversion (int(x)).
  24.  
  25. 3) Added support for the CORBA 'long long' and 'unsigned long long' (64-bit
  26. integer) types - they are also mapped to Python long integers.
  27.  
  28. 4) The stubs and skeletons generated by 'fnidl' now reference all Fnorb
  29. modules explicitly, hence removing possible name clashes with user IDL files.
  30.  
  31. 5) Ugly bug in the parsing/marshalling of recursive types fixed.
  32.  
  33. 6) Locking bug in '_narrow' fixed.
  34.  
  35. 7) Bug in interface repository fixed so that 'fnfeed' now works as expected!
  36.  
  37. 8) A few other minor bug fixes from 1.0b1!
  38.  
  39. Fnorb 1.0b1
  40. -----------
  41.  
  42. 1) Fnorb now (OPTIONALLY) supports multi-threaded applications, with a thread
  43. pool servicing operation requests on the server-side (for details on how to
  44. configure the ORB to use threads, see the user guide).
  45.  
  46. 2) Fnorb UOL's can now be:-
  47.  
  48.     - a standard CORBA IOR: ('IOR:...')
  49.     - the name of a file containing a UOL ('file:...')
  50.     - the URL of a document containing a UOL (http://...) **** New ****
  51.         - a naming service name ('name:...')
  52.  
  53. 3) ORB configuration options can now be specified via:-
  54.  
  55.     - a configuration file **** New ****
  56.     - environment variables
  57.     - the command line
  58.  
  59.    See the user guide for more details.
  60.  
  61. 4) CORBA 'nil' object references are now represented in Python as 'None'.
  62.  
  63. 5) Addition of '_narrow' method on CORBA.Object to allow you to
  64. convert an object reference into a reference to a derived type.
  65.  
  66. 6) 'CloseConnection' messages are now handled a little more sensibly ;^)
  67.  
  68. 7) Implementation of '_is_a' changed to allow implementations to inherit from
  69. classes that are not Fnorb skeletons.
  70.  
  71. 8) Added '_non_existent' to the Object interface.
  72.  
  73. 9) Types that are generated automagically by Fnorb for structs, exceptions and
  74. unions are now added to the type manager and therefore available to the
  75. programmer (this only occurs if an 'any' type is unmarshalled and no stub has
  76. been loaded for the struct, exception or union).
  77.  
  78. 10) When sequences and arrays are unmarshalled, a Python list of the
  79. appropriate size is now created and filled in.  In previous versions of Fnorb,
  80. an empty list was created, and then appended to!
  81.  
  82. 11) Bug in Object_skel re: the __initialised attribute fixed.
  83.  
  84. 12) Bug in 'create_union_tc' fixed.
  85.  
  86. 13) Bug in the interface repository 'lookup_id' method fixed.
  87.  
  88. 14) New Fnorb logo ;^)
  89.  
  90. Fnorb 0.8
  91. ---------
  92.  
  93. 1) Format of stubs and skeletons changed, so you will need to recompile 8^(
  94.  
  95. 2) Recursive structures/unions now fully supported.
  96.  
  97. 3) Additional options for 'fnidl' to control the location of generated files
  98.    (see the user guide for more details).
  99.  
  100. 4) Stubs and skeletons for IDL definitions at the global scope are now placed
  101.    by default in the packages '_GlobalIDL' and '_GlobalIDL_skel' instead of
  102.    in packages with the same base name as the IDL file.  This can be overridden
  103.    however, using the new '--globals=' option on fnidl.
  104.  
  105. 5) Typecode factory methods added to the ORB interface as per the spec. e.g.
  106.    create_enum_tc, create_sequence_tc etc.
  107.  
  108. 6) Functions 'octet_to_ASCII' and 'ASCII_to_octet' moved from Util.py and
  109.    re-implemented in 'C' in the 'cdr' module. Faster compilation and faster
  110.    runtime performance!
  111.  
  112. 7) All GIOP types now available to the programmer.
  113.  
  114. 8) Serious bug in the marshalling of arrays fixed (many thanks to Martin von
  115.    Loewis for spotting this one).
  116.  
  117. 9) Memory leak client-side fixed (thanks to Chris Wright).
  118.  
  119. 10) Numerous more minor bug fixes (thanks to Timothy Docker and everybody else
  120.     who submitted bug reports!).
  121.  
  122. Fnorb 0.7.1
  123. -----------
  124.  
  125. 1) Finished the renaming of 'id.py' to 'uuid.py' (ie. fixed the import
  126.    statements that I missed last time ;^)
  127.  
  128. 2) Memory-leak in the 'cdr' extension module fixed.
  129.  
  130. 3) Import bug in DII.py fixed (thanks to Timothy Docker!).
  131.  
  132. 4) Bug in reactor fixed so that recursive calls now work properly!
  133.  
  134. 5) Some tweaks to the Win95/NT distribution to make it work a bit easier!
  135.  
  136. 6) Two new utilities 'fnmkior' to construct IORs, and 'fnfeed' to parse IDL and
  137.    store the definitions in a remote interface repository.
  138.  
  139. Fnorb 0.7
  140. ---------
  141.  
  142. 1) Fnorb now has its own IDL parser (written using flex, and bison but with all
  143. semantic actions implemented in Python!).  This means that you are no longer
  144. required to download and install OmniBroker.
  145.  
  146. 2) Installation on Win95/NT is now done via a WISE double-clicky installation
  147. program.
  148.  
  149. 3) Unfortunately, the powers that be have decided that since Fnorb is
  150. now a standalone piece of software, the licencing has to be changed to
  151. being free for *non commercial* use only. Please see the LICENCE.HTML file
  152. on the download page (and in the distribution) for more details.
  153.  
  154. 4) A couple of bug fixes in the Interface Repository.
  155.  
  156. Fnorb 0.6
  157. ---------
  158.  
  159. 1) The distribution has been packagised to help stop module name clashes with
  160.    other applications (e.g ILU).
  161. 2) Interface Repository (fnifr) implemented and used in IDL compilation.
  162. 3) Naming service (fnaming) implemented.
  163. 4) DII/DSI implemented.
  164. 5) Large (up to 33%!) reduction in stub and skeleton sizes! Stubs and
  165.    skeletons now use the DII/DSI.
  166. 6) The name of the base class for CORBA exceptions changed from 'Exception'
  167.    (which could cause confusion with the standard base class of Python 1.5
  168.    exceptions) to 'CORBAException'.
  169. 7) The building of the extension module has been made cleaner thanks to
  170.    Guido's generic Makefile.
  171. 8) Fixed some (relatively obscure) bugs in the TypeCode module!
  172.  
  173. Fnorb 0.5
  174. ---------
  175.  
  176. 1) First draft of the user guide
  177.     - .../Fnorb-0.5/doc/Fnorb-Guide.ps  (postscript)
  178.     - .../Fnorb-0.5/doc/Fnorb-Guide.doc (Word 97)
  179. 1) Fixed a bug in raising exceptions with multiple attributes.
  180. 2) Fixed a bug in code generated for string constants.
  181.  
  182. Fnorb 0.4
  183. ---------
  184.  
  185. There are quite a few changes in this release - hopefully all for the better!
  186.  
  187. 1) Quite a few bug fixes - thanks to everybody that sent them in!
  188. 2) Fnorb no longer requires the 'thread' module.
  189. 3) The built-in module 'new' *is* now required (and IMHO is so useful it should
  190.    be included at Python build-time by default!).
  191. 4) Fnorb now uses the Reactor pattern (from Douglas Schmidt) to dispatch
  192.    events.  Amongst other things this means that:-
  193.  
  194.    - Fnorb now supports nested invocations!
  195.  
  196.    - Using the TkReactor (see the 'examples/tkinter' directory) Fnorb can
  197.      now co-exist with Tkinter!!!!!
  198.  
  199.    - All Fnorb programs must call the '_fnorb_mainloop()' method on the BOA
  200.      to start dispatching events (see any of the examples).
  201.  
  202. 5) The IDL/Python language mapping is now up to date with the current draft
  203.    of the document that is to be presented to the OMG.  This means that:-
  204.  
  205.    - IDL modules are now mapped to Python *packages* (previously top
  206.      level modules were mapped to Python modules, and nested modules mapped
  207.      to Python classes).
  208.  
  209.    - IDL unions are now mapped to a Python class with two member variables;
  210.      'd' for the discriminator, and 'v' for the value (previously unions
  211.      were mapped to tuples in the form (discriminator, value)).    
  212.  
  213. Fnorb 0.3
  214. ---------
  215.  
  216. 1) The CDR extension module is now provided pre-built for Windows 95/NT!!!!!
  217. 2) The IDL 'compiler' fnidl now works on Win 95/NT (although it leaves an IR
  218.    process around after each compilation - Windows gurus might like to tell me
  219.    how to fix this!!!!)
  220.  
  221.    **** IMPORTANT NOTICE ****
  222.  
  223.    It is worth noting that you only need to install the Fnorb IDL compiler on
  224.    one platform.  The generated stubs and skeletons will work on ANY other
  225.    platform that has the 'cdr' module installed!  Cool huh?!?!?!?
  226.  
  227.    **** END OF IMPORTANT NOTICE ****
  228.  
  229. 2) IDL prefixes now supported.
  230. 3) IDL chars now mapped to Python strings of length 1 (instead of Python
  231.    integers).
  232. 4) Embarassing bugs in CDR marshalling code fixed ;^)
  233. 5) 'bin' directory renamed 'script' (there are no binaries - just Python
  234.    scripts so it seemed to make sense!!!!!
  235. 6) Skeleton modules that contain derived interfaces now import the correct
  236.    modules!
  237. 7) An extra set of examples has been added (for IDL unions).
  238. 8) Socket module renamed to FnorbSocket to prevent a name clash with the
  239.    built-in module on Win95/NT! Duh!
  240. 9) The '_is_a' and '_interface' operations are now implemented server-side.
  241. 10) On Unix platforms, the 'fnidl' script's method of closing down the IR
  242.     process has been somewhat refined (ie. 'fnidl' can now work within
  243.     Makefiles properly!)
  244. 11) Missing file LICENSE.DOC now present! This gives you explicit right to
  245.     freely use, and distribute Fnorb (I just plain forgot to include it in
  246.     0.2).
  247.  
  248. Fnorb 0.2
  249. ---------
  250. This was the initial release made publicly available!
  251.