Changes¶
4.2.1 (2017-08-02)¶
- Make
OrderedContainer.updateOrdernormalize and store text keys the same way that__setitem__does. Fixes https://github.com/zopefoundation/zope.container/issues/21
4.2.0 (2017-07-31)¶
- Add support for Python 3.5 and 3.6.
- Drop support for Python 2.6 and 3.3.
- Make
OrderedContainerproperly store the decoded text keys for maintaining order instead of the raw bytes. Also make it able to accept raw bytes under Python 3 in the first place. Fixes https://github.com/zopefoundation/zope.container/issues/17 - Fix
OrderedContainerbecoming inconsistent if an event subscriber threw an exception when adding an item. See https://github.com/zopefoundation/zope.container/issues/18 - Attain 100% test coverage. See https://github.com/zopefoundation/zope.container/issues/15
- Make the default
NameChooseralways decode bytes using ASCII instead of whatever the current system codec happens to be. - Make the default
NameChooserstop catchingKeyboardInterruptand otherBaseExceptiontypes when it potentially calls user-defined code to convert a name to a text string. Instead, just catchException. - Respect the
PURE_PYTHONenvironment variable at runtime in addition to build time. This makes it possible to use the pure-Python implementation of the container proxy on CPython for ease of debugging. See https://github.com/zopefoundation/zope.container/issues/13
4.1.0 (2015-05-22)¶
- Make
zope.container._proxy.PytContainedProxyBaseinherit directly fromzope.proxy.AbstractProxyBaseas well aspersistent.Persistent, removing a bunch of redundant code, and fixing bugs in interaction with pure-Python persistence. See: https://github.com/zopefoundation/zope.container/pull/4 - Add direct dependencies on
zope.proxyandpersistentsince we import from them; pin them to the versions needed for pure-Python. - Drop deprecated BBB imports module,
zope.container.dependency.
4.0.0 (2014-03-19)¶
- Add support for Python 3.4.
- Add support for PyPy.
4.0.0a3 (2013-02-28)¶
- Restore
Folderpickle forward/backward compatibility with version 3.12.0 after making it inherit fromBTreeContainer.
4.0.0a2 (2013-02-21)¶
- Allow testing without checkouts of unreleased
zope.publisherandZODB. - Add Python 3 Trove classifiers.
4.0.0a1 (2013-02-20)¶
- Add support for Python 3.3.
- Make
Folderclass inherit fromBTreeContainerclass, so that the IContainer interface does not need to be re-implemented. Added adataattribute for BBB. - Replace deprecated
zope.component.adaptsusage with equivalentzope.component.adapterdecorator. - Replace deprecated
zope.interface.implementsusage with equivalentzope.interface.implementerdecorator. - Drop support for Python 2.4 and 2.5.
- Send
IContainerModifiedEventafter the container is modified (LP#705600). - Preserve the original exception traceback in
OrderedContainer.__setitem__. - Handle Broken Objects more gracefully
- Fix a bug that made it impossible to store None values in containers (LP#1070719).
3.12.0 (2010-12-14)¶
- Fix detection of moving folders into itself or a subfolder of itself. (LP#118088)
- Fix ZCML-related tests and dependencies.
- Add
zcmlextra dependencies.
3.11.1 (2010-04-30)¶
- Prefer the standard libraries doctest module to the one from
zope.testing. - Add compatibility with ZODB3 3.10 by importing the
IBrokeninterface from it directly. Once we can rely on the new ZODB3 version exclusively, we can remove the dependency onto thezope.brokendistribution. - Never fail if the suggested name is in a wrong type (#227617)
checkNamefirst checks the parameter type before the emptiness.
3.11.0 (2009-12-31)¶
- Copy two trivial classes from
zope.cachedescriptorsinto this package, which allows us to remove that dependency. We didn’t actually use any caching properties as the dependency suggested.
3.10.1 (2009-12-29)¶
- Move
zope.copypastemoverelated tests into that package. - Remove no longer used zcml prefix from the configure file.
- Stop importing DocTestSuite from
zope.testing.doctestunit. Fixes compatibility problems withzope.testing3.8.4.
3.10.0 (2009-12-15)¶
- Break testing dependency on
zope.app.testing. - Break testing dependency on
zope.app.dependableby moving the code and tests into that package. - Import
ISitefromzope.componentafter it was moved there fromzope.location.
3.9.1 (2009-10-18)¶
- Rerelease 3.9.0 as it had a broken Windows 2.6 egg.
- Mark this project as part of the ZTK.
3.9.0 (2009-08-28)¶
Previous releases should be versioned 3.9.0 as they are not pure bugfix releases and worth a “feature” release, increasing feature version.
Packages that depend on any changes introduced in version 3.8.2 or 3.8.3 should depend on version 3.9 or greater.
3.8.3 (2009-08-27)¶
- Move
IXMLRPCPublisherZCML registrations for containers fromzope.app.publisher.xmlrpctozope.containerfor now.
3.8.2 (2009-05-17)¶
- Rid ourselves of
IContainedinterface. This interface was moved tozope.location.interfaces. A b/w compat import still exists to keep old code running. Depend onzope.location>=3.5.4. - Rid ourselves of the implementations of
IObjectMovedEvent,IObjectAddedEvent,IObjectRemovedEventinterfaces andObjectMovedEvent,ObjectAddedEventandObjectRemovedEventclasses. B/w compat imports still exist. All of these were moved tozope.lifecycleevent. Depend onzope.lifecycleevent>=3.5.2. - Fix a bug in
OrderedContainerwhere trying to set the value for a key that already exists (duplication error) would actually delete the key from the order, leaving a dangling reference. - Partially break dependency on
zope.traversingby disusingzope.traversing.api.getPathin favor of usingILocationInfo(object).getPath(). The rest of the runtime dependencies onzope.traversingare currently interface dependencies. - Break runtime dependency on
zope.app.dependableby using a zcml condition on the subscriber ZCML directive that registers theCheckDependencyhandler forIObjectRemovedEvent. Ifzope.app.dependableis not installed, this subscriber will never be registered.zope.app.dependableis now a testing dependency only.
3.8.1 (2009-04-03)¶
- Fix misspackaged 3.8.0
3.8.0 (2009-04-03)¶
- Change
configure.zcmlto not depend onzope.app.component. Fixes: https://bugs.launchpad.net/bugs/348329 - Move the declaration of
IOrderedContainer.updateOrderto a new, basicIOrderedinterface and letIOrderedContainerinherit it. This allows easier reuse of the declaration.
3.7.2 (2009-03-12)¶
- Fix: added missing
ComponentLookupError, missing since revision 95429 and missing in last release. - Adapt to the move of IDefaultViewName from
zope.component.interfacestozope.publisher.interfaces. - Add support for reserved names for containers. To specify reserved
names for some container, you need to provide an adapter from the
container to the
zope.container.interfaces.IReservedNamesinterface. The defaultNameChooseris now also aware of reserved names.
3.7.1 (2009-02-05)¶
Raise more “Pythonic” errors from
__setitem__, losing the dependency onzope.exceptions:o
zope.exceptions.DuplicationError->KeyErroro
zope.exceptions.UserError->ValueErrorMove import of
IBrokeninterface to use newzope.brokenpackage, which has no dependencies beyondzope.interface.Make
testpart pull in the extra test requirements of this package.Split the
z3c.recipe.compattestconfiguration out into a new file,compat.cfg, to reduce the burden of doing standard unit tests.Strip out bogus develop eggs from
buildout.cfg.
3.7.0 (2009-01-31)¶
- Split this package off
zope.app.container. This package is intended to have far less dependencies thanzope.app.container. - This package also contains the container implementation that
used to be in
zope.app.folder.