- Nothing changed yet.
- Changed the behavior of
LocationProxy
's__setattr__()
to correctly behave when dealing with the pure Python version of theProxyBase
class. Also added a test suite that fully tests the pure Python proxy version of theLocationProxy
class.
- Added Python 3.3 support.
- Removed backward-compatibility imports:
zope.copy.clone
(aliased aszope.location.pickling.locationCopy
)zope.copy.CopyPersistent
(aliased aszope.location.pickling.CopyPersistent
).zope.site.interfaces.IPossibleSite
(aliased aszope.location.interfaces.IPossibleSite
).
- Added Python 3.2 support.
- Made
zope.component
dependency optional. Use thecomponent
extra to force its installation (or just require it directly). Ifzope.component
is not present, this package defines theISite
interface itself, and omits adapter registrations from its ZCML. - Added support for PyPy.
- Added support for continuous integration using
tox
andjenkins
. - 100% unit test coverage.
- Added Sphinx documentation: moved doctest examples to API reference.
- Added 'setup.py docs' alias (installs
Sphinx
and dependencies). - Added 'setup.py dev' alias (runs
setup.py develop
plus installsnose
andcoverage
). - Replaced deprecated
zope.component.adapts
usage with equivalentzope.component.adapter
decorator. - Replaced deprecated
zope.interface.implements
usage with equivalentzope.interface.implementer
decorator. - Dropped support for Python 2.4 and 2.5.
- Added zcml extra as well as a test for configure.zcml.
- Moved LocationCopyHook related tests to zope.copy and remove a test dependency on that package.
- Fixed a typo in the configure.zcml.
- Removed dependency on zope.copy: the LocationCopyHook adapter is registered only if zope.copy is available.
- Use the standard Python doctest module instead of zope.testing.doctest, which has been deprecated.
- Adjusted to testing output caused by new zope.schema.
- Moved the IPossibleSite and ISite interfaces to zope.component as they are dealing with zope.component's concept of a site, but not with location.
- Added getParent() to ILocationInfo and moved the actual implementation here from zope.traversal.api, analogous to getParents().
- Actually removed deprecated PathPersistent class from zope.location.pickling.
- Moved ITraverser back to zope.traversing where it belongs conceptually. The interface had been moved to zope.location to invert the package interdependency but is no longer used here.
- New feature release: deprecated locationCopy, CopyPersistent and PathPersistent from zope.location.pickling. These changes were already part of the 3.5.3 release, which was erroneously numbered as a bugfix relese.
- Removed dependency on zope.deferredimport, directly import deprecated modules without using it.
- Add zope.deferredimport as a dependency as it's used directly by zope.location.pickling.
- Add
IContained
interface tozope.location.interfaces
module. This interface was moved fromzope.container
(afterzope.container
3.8.2); consumers ofIContained
may now depend on zope.location rather than zope.container to reduce dependency cycles.
Use new zope.copy package for implementing location copying. Thus there's changes in the
zope.locaton.pickling
module:- The
locationCopy
andCopyPersistent
was removed in prefer to their equivalents in zope.copy. Deprecated backward-compatibility imports provided. - The module now provides a
zope.copy.interfaces.ICopyHook
adapter forILocation
objects that replaces the old CopyPersistent functionality of checking for the need to clone objects based on their location.
- The
- Split RootPhysicallyLocatable adapter back from LocationPhysicallyLocatable, because the IRoot object may not always provide ILocation and the code for the root object is also simplier. It's basically a copy of the RootPhysicallyLocatable adapter from zope.traversing version 3.5.0 and below with
getParents
method added (returns an empty list).
- Improve test coverage.
- The new
getParents
method was extracted fromzope.traversing
and added to ILocationInfo interface in the previous release. Custom ILocationInfo implementations should make sure they have this method as well. That method is already used inzope.traversing.api.getParents
function. - Make
getName
of LocationPhysicallyLocatable always return empty string for the IRoot object, like RootPhysicallyLocatable fromzope.traversing
did. So, now LocationPhysicallyLocatable is fully compatible with RootPhysicallyLocatable, making the latter one obsolete. - Change package mailing list address to zope-dev at zope.org instead of retired zope3-dev at zope.org.
- Reverse the dependency between zope.location and zope.traversing. This also causes the dependency to various other packages go away.
- Initial release independent of the main Zope tree.