LP #388380: removed obsolete STX docs from the package directory.
Made export / import features for old-school TextIndex (removed in Zope 2.12) conditional.
Added support for import / export of subscribers from component registry.
Adapter removal.
Fix utility removal so utility is not added when it is missing from the local component registry.
Fixed component handler to use for not for_ in adapter directive. To support import of existing profiles for_ is used as a fallback.
Changed testing.py to directly load zope.traversing’s ZCML instead of going via the Five traversing.zcml BBB shim.
Added new feature to the component handler. For factory based utilities you can now specify an additional id. All factory based utilities will now by default be added to the site manager (being an ObjectManager itself) as an object and this persistent object is registered as the utility. On removal both the registration and the object are removed. The new id argument is used to specify the id of the object as set via __name__. This change makes these utilities introspectable in the ZMI and clearly separates the persistent object and utility registration aspect.
Adjusted TarballImportContext to work with Python 2.6’s tarfile module.
Cleaned up / normalized imports:
o Don’t import from Globals; instead, use real locations.
intermediate (e.g., prefer importing ‘ClassSecurityInfo’ from ‘AccessControl.SecurityInfo’ rather than from ‘AccessControl’).
o Avoid relative imports, which will break in later versions of Python.
events: Added ‘handleProfileImportedEvent’ subscriber. After a full import it updates ‘last version for profile’.
UpgradeSteps: Improved listUpgradeSteps behavior. If versions and checker are specified for a step, the checker is used as an additional restriction.
Component registry import: Add the ability to unregister a component by specifying the “remove” attribute inside a utility node. (https://bugs.launchpad.net/zope-cmf/+bug/161728)
Property import/export tests: Add testing for non-ASCII properties. (https://bugs.launchpad.net/zope-cmf/+bug/202356) (https://bugs.launchpad.net/zope-cmf/+bug/242588)
Add ‘IChunkedImportContext’ interface, allowing RAM-efficient chunked reads of large files, and implement for ‘DirectoryImportContext’. (https://bugs.launchpad.net/zope-cmf/+bug/259233)
Add <genericsetup:upgradeDepends> ZCML tag; defines a specialized upgrade step that re-applies one or more import steps from a GS profile during an upgrade process
Add ‘IChunkedExportContext’ interface, allowing RAM-efficient chunked writes of large files, and implement for ‘DirectoryExportContext’. (https://bugs.launchpad.net/zope-cmf/+bug/257365)
Provide default for dependencies when processing metadata.xml, to avoid a KeyError. (https://bugs.launchpad.net/zope-cmf/+bug/255301)
Handle utility factories cleanly if zope.component >=3.5.0 is used.
tool and utils: Removed deprecated code.
Update PropertyManagerHelpers to make it possible to remove elements from a property by adding a remove=”True” attribute to the element. This can also be used to reorder elements since new elements are always added at the end of the list.
Made PropertyManagerHelpers class work for non-PropertyManager objects
to mock up a temporary propertysheet for the object. The adapter’s methods (‘_extractProperties’, ‘_purgeProperties’, ‘_initProperties’) then run against that propertysheet.
Added logic to respect the destination of upgrade steps when determining their applicability.
Enhanced the readability of the upgrades tab on the tool.
Use the parse_version function from pkg_resources to normalize versions before comparing them inside the upgrade code. This ensures pre-release versions are handled correctly. Also use the normalize code when sorting versions on the tools ZMI upgrades page.
Fixed the upgrade step directive schema. Description is not required.
Introduced a new IComponentsHandlerBlacklist interface. You can register named utilities for it and provide sequences of interfaces which should not be handled by the standard components registry adapter. This allows more specialized export/import handlers to take full control over the components they care about.
When loading multiple profiles reload the list of steps to use after each import. https://bugs.launchpad.net/zope-cmf/+bug/213905