[Subversion] / PEAK / CHANGES.txt  

Diff of /PEAK/CHANGES.txt

Parent Directory | Revision Log

version 346, Sun Mar 17 05:01:16 2002 UTC version 379, Tue Apr 2 21:38:41 2002 UTC
Line 1 
Line 1 
 New Features and Bug Fixes since v0.2, preview 1  New Features and Bug Fixes since v0.2, preview 1
   
  * Added 'SEF.bindToParent()' and 'SEF.bindToNames()' specifiers to allow   * SEF.DynamicBinding is now SEF.AutoCreated, and all AutoCreatable
    more flexible component parameter bindings.     classes like SEF.App and SEF.Service must now have an '__init__' method
      that accepts their SEF parent component.  This lets such objects have
      access to the SEF hierarchy during initialization.  (Note that this
      means any '__init__' methods of such classes must be revised to take
      this into consideration.  See TW.Database.DataModel.Database for an
      example of such a revision.)
   
      Also, I dropped the unused SEF.StaticBinding class.
   
    * 'setupModule()' and 'adviseModule()' will now issue warnings for most
      questionable code structures and variable redefinitions that might not
      work the way you'd expect or intend under module inheritance.
   
    * Added tests and documentation for 'adviseModule()' API
   
    * Added a 'test' command to 'setup.py' that installs and then tests all of
      TransWarp.  (It saves me time running the unit tests while I'm writing
      new code.)
   
    * Added warnings for detectable module-level modifications of mutables
      in modules which are used for inheritances or advice.  Added an API
      function, 'configure(object, attr1=val, attr2=val,...)' to safely
      set attributes of mutables that might have been defined in a derived
      module.
   
    * Removed 'Meta.ClassInit' and '__class_init__' support.  Use metaclass
      '__init__' methods instead; see 'TW.Database.DataModel.RecordTypeMC'
      for one example of the conversion.
   
    * Added 'SEF.bindToParent()', 'SEF.bindToNames()', and 'SEF.bindToSelf()'
      descriptors, to allow more flexible component parameter bindings.
   
    * Improved key integrity checks in DataModel: Record objects now disallow
      modification of key fields unless the old value is None, and cache
      collisions between records with supposedly unique keys will result in an
      AssertionError.
   
    * Added 'SET' method (ala WarpCORE's set_X procedures) to
      TW.Utils.MiniTable.
   
    * Added more docs to TW.Utils.Code, and removed 'iterFromEnd()' method
      from code objects.  Added experimental 'nextSplit' index to codeIndex
      objects that does top-level block analysis to allow splitting a code
      object into smaller routines.
   
    * Fixed the "reference to rebound class within another class" problem
      with module inheritance, as reported by (who else?) Ulrich Eck.  :)
   
    * Rewrote SEF "features" to use 'element.verbFeature()' style methods
      instead of 'element.feature.verb()' style.  UML/XMI/Querying code
      still uses the old-style SEF framework, which is still available from
      'TW.SEF.FeatureObjects'.  See the docs of 'TW.SEF.Basic.FeatureMC'
      and 'TW.API.Meta.MethodExporter' for details on how new-style methods
      work.
   
    * Fixed misc. bugs in 'DataModel', 'LDAPModel', 'Connections', and
      'TW.Caching' found by Ulrich Eck.  Thanks Ulrich!  Also, added a fix
      to ensure that non-existent records are invalidated by
      'RecordType.getItem()'.
   
    * Added basic Specialist implementation to 'TW.SEF.Basic', and reverted
      naming from 'TypeService' and 'ITypeService' to 'Specialist' and
      'ISpecialist'.  Updated 'TW.SEF.Interfaces' to reflect "self"-less
      convention for documenting methods.
   
    * Dropped obsolete 'TW.Database.Records' module.
   
  * Fixed the base class "rebind by name" bugs in module inheritance, and   * Fixed the base class "rebind by name" bugs in module inheritance, and
    updated the documentation to more clearly reflect what it is that     updated the documentation to more clearly reflect what it is that


Generate output suitable for use with a patch program
Legend:
Removed from v.346  
changed lines
  Added in v.379

cvs-admin@eby-sarna.com

Powered by ViewCVS 1.0-dev

ViewCVS and CVS Help