[Subversion] / PEAK / CHANGES.txt  

Diff of /PEAK/CHANGES.txt

Parent Directory | Revision Log

version 1311, Sat Aug 2 12:12:11 2003 UTC version 1368, Fri Aug 29 20:40:32 2003 UTC
Line 2 
Line 2 
   
  Changed, Enhanced, or Newly Deprecated Features   Changed, Enhanced, or Newly Deprecated Features
   
    - 'naming.IName' is now derived from 'binding.IComponentKey', so names and
      addresses must now support the 'findComponent()' method.  All PEAK name and
      address types provide support for this.
   
    - The 'lookup()' method of 'binding.IComponentKey' is now called
      'findComponent()', to better distinguish it from 'lookup()' in
      'naming.IBasicContext', which does something very different.
   
    - 'binding.bindTo()' and 'binding.bindSequence()' now pre-adapt their
      arguments to 'IComponentKey', to speed lookups at runtime, and to ensure
      that errors due to an unusable parameter type occur at class creation time
      instead of waiting until lookup time.
   
    - The following 'binding' forms are now deprecated, and will go away before
      0.5 beta is released:
   
      'bindToProperty(x,y)' -- use 'bindTo(PropertyName(x),default=y)'
   
      'bindToParent()' -- use 'bindTo("..")'
   
      'bindToSelf()'  -- use 'bindTo(".")'
   
      'bindToUtilities()' -- no replacement; let me know if you're using this.
   
    - There's a new 'peak.storage.files' module, with handy classes like
      'EditableFile'.  'EditableFile' is a class that lets you edit the contents
      of a file "in place", with atomic replacement of the original at transaction
      commit.  If the transaction is aborted, the original file is left unchanged.
   
    - 'peak.running.scheduler.UntwistedReactor' now supports a configuration
      property ('peak.running.reactor.checkInterval') to determine how long it
      should run 'select()' calls for, when there are no scheduled tasks.
   
    - 'peak.running.scheduler.UntwistedReactor' now supports using a "signal
      manager" component (via the 'peak.running.signalManager' property) to
      process signals while a 'run()' loop is in progress.  Signal managers can
      also be added or removed at any time via the new 'peak.util.signal_stack'
      module.
   
    - 'peak.running.commands.AbstractCommand' now offers a '_run()' method that
      can be overridden in subclasses, instead of 'run()'.  If you override the
      new '_run()' method instead, you get the advantage of automatic handling
      for invocation errors and 'SystemExit' exceptions, provided for you by the
      'run()' method.
   
  - There is now a 'storage.DMFor(class)' function that returns a configuration   - There is now a 'storage.DMFor(class)' function that returns a configuration
    key for registering or looking up data managers by class.  You can use the     key for registering or looking up data managers by class.  You can use the
    returned key in a binding's 'offerAs' list, or as the target of a 'bindTo()'     returned key in a binding's 'offerAs' list, or as the target of a 'bindTo()'
Line 162 
Line 207 
   
  Corrected Problems   Corrected Problems
   
     - Transaction participants that raised an error in their 'abortTransaction()'
       method, would not receive a 'finishTransaction()' call, the error was
       passed through to the transaction service's caller, and later participants
       might not have received an 'abortTransaction()' message either.
   
     - SQL connections didn't close their cursors before aborting a transaction
   
     - The logging system would raise an error if a log message with no arguments
       contained a '%' sign.
   
   - There was a typo in peak.naming.arithmetic that caused homogeneous non-URL    - There was a typo in peak.naming.arithmetic that caused homogeneous non-URL
     name subtraction to fail.      name subtraction to fail.
   


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

cvs-admin@eby-sarna.com

Powered by ViewCVS 1.0-dev

ViewCVS and CVS Help