*** Note: 
"External submissions" are submissions that have not been tested through the
development branch prior to inclusion in the main branch, and as such are not
guaranteed (by the project maintainers) to work. 

For best results, all submissions should be discussed with the project
maintainers prior to embarkation, and should be delivered to the current 
development branch for testing.
***

Changes in Ribosome v 2.4.1
===========================

    Released: 6 July 2006
    
    *** Ribosome now enforces minimum python version (currently 2.4.3).
    
    * Re-enabled new sign.py tool (extends/replaces drmsign tool).
    * All tools in bin now end in .py extension. All non-extensioned and .bat
      files have been removed. The bin tools are now merely stubs that invoke
      the new bin\launcher.py. This file provides consolidated and consistent 
      environment setup, error handling, etc, and fixes any logging issues.
    * The meat of the bin tools were moved into lib (as lib\<tool>_exe.py) and
      are meant to be invoked by launcher.py.
    * Consolidation of code resulted in removal of lib\buildui.py,
      lib\buildmenu.py and umake\umakeui.py as no-op modules.
    * Altered the log init behavior. Instead of going to <cwd>/build_logs,
      where <cwd> is the directory the tool was invoked from, all logs will now
      go to RIBOSOME_LOGDIR. Ribosome will set RIBOSOME_LOGDIR to 
      <cwd>/ribosome_logs if it is unset upon invocation of the first tool, 
      such that all tools spawned by the initial tool's invocation will use the
      same log dir. Alternately, a user may set RIBOSOME_LOGDIR in their env
      before invoking any tools to specify a different log location.
    * Extended version.py to provide an ADT for x.y.z-string formatted 
      versions.
    * Added enforcePythonVersion() method to version.py - all Ribosome tools
      now call this method during bootstrap. Any version less than required
      will log error and raise exception.
    * Updated calls to various tools throughout the *.cf files.
    * Removed obsolete support for CodeWarrior Mac builds (removed 
      lib\macemu.py).
    * Removed obsolete CodeWarrior support from lib\archive.py. 
    
    Unittest changes:
    * Added bin\testsuite.py to invoke all Ribosome unittests and report
      summary results.
    * Added test_version.py unittests for version.py.
    * Modified lib\test_exe.py (formerly bin\testdriver.py) to return # of
      errors discovered during single module test.
    
    External submissions (idefix):
    * Added umakecf/sunos-5.10-sparc-studio11.cf
    * Added 'sunos-5.10-sparc-studio11' platform to sysinfo.py
    

Changes in Ribosome v 2.4
=========================

    Released: 19 June 2006

    *** Ribosome now requires python 2.4.3.
    
    * Added a new umake directive: NonObjectTarget(). Specifies that a target 
      is going to be built using only a compiler tool (no linker).
    * AddSources() no longer fatals if target is not present.
    * Added compilers for .wsdl/soap files (wsdl.cf: SOAPCPP2Compiler, 
      WSDLCompiler).
    * Added rebase.py tool: reassign the base addresses of all DLL's in a 
      specified directory subtree (win32 only).
    * Added gethash.exe tool - determine if a file is drmsigned (win32 only).
    * Added macos-gcc4-xcode23 platform.
    * Set DEBUG_INFORMATION_FORMAT="dwarf" for xcode23 in umake_pb.py.    
    * Added libpath-handling directives to umake.Project class [addLibpaths(), 
      getLibpaths(), removeLibpaths()] (supported in win32-msvc.cf only) to
      propagate out to VCPROJ files.
    * Fixed bug 4833: mkdepend broken for cross compiling: 
      * Removed mkdepend.c. 
      * Rempved compile_mkdepend from linux-common.cf and win-nmake.cf (both 
        revert to using the existing python bin/mkdepend).
    * Removed linestrip.py tool (obsolete).
    * Removed umaker.py tool (obsolete).    
    * Refactored the overloaded boolean link_output attribute. Provided 
      disableProcessing() and wantsProcessing() methods in umake.BuildRule and
      added disableLinking() and wantsLinking() to umake.Project class to allow
      for building targets without a linker step.
    * Replaced project.target_type with project.getTargetType() universally in
      Ribosome project, including *.py, *.cf, *.pf* files.
    * Added wrapper for deprecation warning/handling to direct accesses of 
      Project.target_type that might exist in external code.
    * Refactored conditional target_type handling in umake_makefile.py and 
      umake.py into new buildtarget.BuildTarget class hierarchy. and
      umake.Project methods getCleanItems(), getAllLine().
    * Refactored code for building the source and object lists from static 
      umake_lib.SetupProject() method into umake.Project.setup() and private
      helper methods, and into new BuildTarget classes.
    * Refactored kludgy output_path() Project method into getOutputName() and 
      getOutputPath() in Project class.      
    * Added getSourceFile(), getObjectFile(), wantsProcessing(), 
      doesObjectExist(), and doesSourceExist() methods to umake_lib.SourceFile 
      class.      
    * Consolidated mkdirhier() calls in armerge, mkdepend, pylink, cvs.py into 
      utils.makeDirTree()      
    * Fixed bin/build.bat and bin/umake.bat to handle any number of command 
      line arguments.
    * Replaced pylink's network-socket-as-file-lock with new filelock.FileLock
      class.
    * Refactored behavior in pylink into new classes: basefile.Basefile and
      dll.DLL.
    * Added static method HasPath() to sdk.py
    * Removed _make_path_relative() [flagged as do not use] from shell.py.
    * Added static methods to utils.py: appendStringToFile(), indentString(), 
      mkdirTree(), readFile(), readLineFromFile(), writeStringsToFileNow().
    * Added static module version.py for centralized Ribosome version tracking.
    * Added a .cvsignore for test/lib directory (*.pyc, *.pyo).
          
    Unittest changes:
    
    * Changed the calling convention for testdriver. Test modules should now
      be named test_<module>.py where <module> is the module you want to 
      test (e.g: make test_dll.py to test the dll.py module. testdriver is 
      then invoked 'testdriver.py dll'). 
    * Moved test/bin/testdriver.py to bin/testdriver.py.
    * Moved test/lib/test.py to lib/test.py.
    * Renamed biftests.py --> test_bif.py to fit new convention.
    * Added test_basefile.py and test_dll.py unittest modules for new dll and
      basefile classes.
    * Fixed bug in test_bif.py that was causing false failure report: String 
      length *should* be 28, not 18.
    
    Logging changes:
    
    * Added logging of Ribosome version to bin/build, bin/umake, 
      lib/buildapp.py, lib/buildmenu.py.
    * Added logging of CVS version upon python import to several files.
    * Additional logging in buildapp.py around BIF handling.
    * Improved logging in chaingang.py.
    * Added logging in shell.py for calls to run().
    * Improved logging in umake_win_vc7_makefile.py.

    Documentation changes:

    * Added CHANGELOG.
    * Added RELNOTES.
    * Added a Ribosome style sheet.
    * Revamped the Umake API doc page.
    * Updated several doc pages.
    * Added requirements.html and removed python.html.
    * Added license info to test/data/README and test/data/bif/test.bif.
      

Changes in Ribosome v 2.3.3
===========================

    18 June 2006
    
    External submissions (dcollins):
    * Server-specific Solaris 10 build configuration.
    * Server-specific Solaris 11 build configuration.
    * Server-specific system IDs: sunos-5.10-sparc-server, 
      sunos-5.11-sparc-server
      
Changes in Ribosome v 2.3.2
===========================

    13 June 2006
    
    External submissions (sgadamsetty):
    * Created helix-client-tone.pfi.
    * Added helix-client-tone.pfi to helix-client-all-defines.pf.
    
Changes in Ribosome v 2.3.1
===========================

    8 June 2006   
    
    External submissions:     
    (abrouaux)
    * Initial VC8 support:
      * Added umake_win_vc8_makefile.py.
      * Added win32-i386-vc8.cf.
      * Added win32-i386-vc8 platform (includes 'win-vc8' in 
        sysinfo.family_list).
      * win-vc8 in sysinfo.family_list invokes umake_win_vc8_makefile.

    (jfinnecy):
    * Additional logging in branchlist.py and buildapp.py
    * Changed join() call in log.py to old-style string support.

