- Add support for Python 3.6, 3.7, 3.8 and 3.9.
- Drop support for running the tests using python setup.py test.
- Add zope.lifecycleevent subscribers. You must include
subscribers.zcmlto use these and have
zope.intidinstalled. See issue #5.
- Documentation is now hosted at http://zcintid.readthedocs.io
- Add continuous integration testing for supported Python versions.
- Add PyPy support.
- Add Python 3 support.
- Drop support for Python less than 2.7.
- Remove ZODB3 dependency in favor of explicit dependencies on BTrees.
- The zope-intid.zcml file included in this package now works to make the IntId utility from this package implement the zope.intids interface, if that package is installed.
- Interfaces and event implementations have been refactored into the
zc.intid.interfaces. Backwards compatibility aliases remain for the old names. See issue #9.
- Raise more informative KeyError subclasses from the utility when intids or objects cannot be found. This distinguishes them from errors raised by normal dictionaries or BTrees, and is useful in unit testing or when persisting intids or sharing them among processes for later or concurrent use. See issue #8
queryIdinstead of returning the default object. This exception indicates a corrupt database, not a missing object. The
queryObjectfunction already behaved this way.
- Attempting to
registeran object that cannot have the utility’s attribute set on it (for example, it has restrictive
__slots__) no longer corrupts the utility’s state.
- Make the behavior of the utility’s getId method consistent with zope.intid in regard to its handling of proxied objects.
- Initial release.