Changeset 3059

Show
Ignore:
Timestamp:
02/19/08 17:48:28 (10 months ago)
Author:
bgranger
Message:

Updating the ChangeLog to reflect all of the recent changes.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • ipython1/branches/ipython1-client-r3021/docs/ChangeLog

    r3053 r3059  
     12008-02-19  Brian Granger <ellisonbg@gmail.com> 
     2 
     3    * ipython1.kernel: Changed all of the public interfaces to use the 
     4    new coding conventions.  All future development should use the 
     5    lowercase_with_underscores convention.  This means that users of 
     6    ipython1 will have to update their code to reflect these changes. 
     7     
     8    * ipython1.kernel:  Previously methods like push and pull, used 
     9    *args and **kwargs respectively.  This was becoming a problem as 
     10    we weren't able to introduce new keyword arguments.  We have moved 
     11    away from this, so now our core interfaces DO NOT use *args/**kwargs. 
     12    This has allowed us to get rid of the *All methods in the MultiEngine 
     13    interface.  Now all of the methods in this interface simply have 
     14    a targets keyword argument that defaults to 'all'.  Furthermore, this 
     15    also means we can have block as a keyword argument.  This means that 
     16    the public API is extremely different for users (but much better). 
     17     
     18    * ipython1.kernel: Renamed RemoteController everywhere to  
     19    MultiEngineController to better reflect what it actually is. 
     20     
     21    * ipython1.kernel: Renamed the magicTargets attribute of the 
     22    RemoteController to simply targets. 
     23     
     24    * ipython1.kernel: Fixed a bug in the MultiEngine interface.   
     25    Previously, multi-engine actions were being collected with a  
     26    DeferredList with fireononeerrback set to 1.  This meant that  
     27    methods were returning before all engines had given their results. 
     28    This was causing extremely odd bugs in certain cases. To fix this  
     29    problem, we have 1) set fireononeerrback=0 to make sure all results 
     30    (or exceptions) are in before returning, 2) introduced a CompositeError  
     31    exception that wraps all of the engine exceptions.  This is a huge change 
     32    as it means that users will have to catch CompositeErrors rather than 
     33    the real exceptions.  But the CompositeError class has a number of methods 
     34    for introspecting the actual exceptions (see kernel.error.CompositeError). 
     35    As a part of all of this, we refactored how exceptions were being formatted. 
     36    Now, we are attaching additional attributes to exceptions (_ipython_*)  
     37    that we use to carry additional info around. 
     38 
     39    * ipython1.kernel: The multienginexmlrpc and taskxmlrpc clients are now 
     40    twisted based.  We are doing this by running the reactor in a thread 
     41    and using blockingCallFromThread.  This makes it possible for different  
     42    client to share most of the code and lets us have good test coverage of  
     43    clients.  We have expanded our test coverage of these two interfaces. 
     44    Overall a huge win! 
     45 
    1462008-02-05  Brian Granger <ellisonbg@gmail.com> 
    247