New Features and Bug Fixes since v0.2, preview 1 |
Fixes and Enhancements since Version 0.5 alpha 3 |
|
|
* Fixed misc. bugs in DataModel, LDAPModel, Connections, and |
- The 'events.IEventSource' interface now returns a 'canceller' function from |
TW.Caching found by Ulrich Eck. Thanks Ulrich! Also, added a fix to |
the 'addCallback()' method, allowing you to cancel a previously-scheduled |
ensure that non-existent records are invalidated by |
callback. This fixes a memory leak and performance problem with |
RecordType.getItem(). |
'events.AnyOf()', which previously could accumulate unneeded callbacks on |
|
the sources it was monitoring. Note that if you have developed any custom |
|
event sources with 'addCallback()' methods, you must make sure that they |
|
return a canceller from now on. |
|
|
|
- Added 'ref:factory@addr1||addr2' URL scheme that maps to a corresponding |
|
'naming.Reference("factory",["addr1","addr2"])'. 'factory' can be either a |
|
dotted import string referencing a 'naming.IObjectFactory', or you can |
|
define a factory in the 'peak.naming.factories' property space. |
|
|
|
- Added a 'zconfig.schema' factory, so that 'ref:zconfig.schema@streamURL' |
|
will load a schema loader. Schema loaders are themselves object factories, |
|
so you can do something like: |
|
|
|
[Named Services] |
|
peak.naming.factories.myschema = \ |
|
naming.LinkRef('ref:zconfig.schema@pkgfile:mypkg/Schema.xml') |
|
|
|
in order to make URLs like 'ref:myschema@filename' work. Note, by the way, |
|
that the above could also read: |
|
|
|
[Named Services] |
|
peak.naming.factories.myschema = \ |
|
naming.Reference('zconfig.schema',['pkgfile:mypkg/Schema.xml']) |
|
|
|
which runs somewhat faster at lookup time. Similarly, one can also use |
|
'naming.Reference("myschema",["somefile"])' in place of a |
|
'naming.LinkRef("ref:myschema@filename")'. As well as being faster, for |
|
some use cases it's easier to 'Reference' directly than to glue together |
|
a 'ref:' URL string. |
|
|
* 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. |
|
|
|
* Added 'SEF.bindToParent()' and 'SEF.bindToNames()' specifiers to allow |
|
more flexible component parameter bindings. |
|
|
|
* Fixed the base class "rebind by name" bugs in module inheritance, and |
|
updated the documentation to more clearly reflect what it is that |
|
metaclass generation and module inheritance does and does not do. Added |
|
test cases to prevent regression of the rebind-by-name problem. |
|
|
|
* The 'setup.py' script features a new command, 'happy', which can be used |
|
to generate the API reference docs, and this command runs as part of the |
|
'sdist' command to build source distributions. |
|
|
|
* The API reference docs in the source distribution has been moved from |
|
the 'doc' directory to 'docs/html/reference'. |
|
|
|
* Added 'CHANGES.txt' file. |
|