- Nothing changed yet.
- Drop support for Python 3.9.
- Use native namespace packages.
- Drop support for Python 2. We now only support Python 3.9 and above.
- Add support for Python 3.10, 11, 12, and 13.
- Remove dependency on
zopyx.txng3.ext
. - Remove dependency on
pkg_resources
.
- Fix the
ExtentFilteredSet
to only unindex documents that were previously indexed. This avoids an extrareadCurrent
call. See issue 12.
Add support for Python 3.7, 3.8 and 3.9.
Note that
zopyx.txng3.ext
version 4.0.0, the current version at this writing, may or may not build on CPython 3, depending on how your compiler and compiler options treat undefined functions. See this issue.Also note that both PyPy 3.6 and 3.7 (7.3.4) are known to crash when running the test suite. PyPy2 7.3.4 runs the test suite fine.
When updating indexes in a catalog, first check if the type of each object to be visited implements
INoAutoIndex
. If it does, we can avoid prematurely activating persistent ghost objects. See issue 8.Require ZODB 5 in order to use the new
prefetch()
method.When adding or updating an index in a catalog, use ZODB's prefetch method to grab chunks of object state data from the database. This can be substantially faster than making requests one at a time. This introduces a new class
CatalogPrefetchIterator
that may be useful in other circumstances. See issue 7.
- Rename
TimestampToNormalized64BitIntNormalizer
toTimestampTo64BitIntNormalizer
for consistency. - Make
TimestampTo64BitIntNormalizer
subclassTimestampNormalizer
for simplicity. - Rename
FloatToNormalized64BitIntNormalizer
toPersistentFloatTo64BitIntNormalizer
for consistency and to reflect its purpose. - Make
PersistentFloatTo64BitIntNormalizer
subclassFloatTo64BitIntNormalizer
. - Add
IDeferredCatalog
and an implementation inDeferredCatalog
to allow creating catalog objects that don't participate in event subscription-based indexing. This replacesIMetadataIndex
, which is now an alias for this object. See issue 3.
- First PyPI release.
- Add support for Python 3.
TimestampNormalizer
also normalizes incoming datetime objects.- Fix extent-based queries for NormalizedKeywordIndex.
- 100% test coverage.