Fixes and Enhancements since Version 0.5 alpha 3 - The 'events.IEventSource' interface now returns a 'canceller' function from the 'addCallback()' method, allowing you to cancel a previously-scheduled callback. This fixes a memory leak and performance problem with '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@addr' URL scheme that maps to a corresponding 'naming.Reference("factory",["addr"])'. '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.