|
|
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()' |
|
|
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. |
|
|