- Nothing changed yet.
- Add support for Python 3.9, 3.10, 3.11, 3.12, 3.13.
- Drop support for Python 2.7, 3.5, 3.6, 3.7, 3.8.
- Drop support for Python 3.4 as it reached its end of life.
- Add support for Python 3.7 and 3.8a2.
- Add Python 3 compatibility for the
zopyx.txng3.ext
stemmer. See #4.
- Add support for Python 3.4, 3.5, 3.6 and PyPy. Note that the
zopyx.txng3.ext
stemmer is not available on Python 3. - Remove test dependency on zope.app.zcmlfiles and zope.app.testing, among others.
- Using Python's
doctest
module instead of deprecatedzope.testing.doctest
. - Move
zope.intid
to dependencies.
- Fix the extent catalog's searchResults method to work when using a local uid source.
- Replaced a testing dependency on
zope.app.authentication
withzope.password
. - Removed
zope.app.server
test dependency.
The package's
configure.zcml
does not include the browser subpackage'sconfigure.zcml
anymore.This, together with
browser
andtest_browser
extras_require
, decouples the browser view registrations from the main code. As a result projects that do not need the ZMI views to be registered are not pulling in the zope.app.* dependencies anymore.To enable the ZMI views for your project, you will have to do two things:
- list
zc.catalog [browser]
as ainstall_requires
. - have your project's
configure.zcml
include thezc.catalog.browser
subpackage.
- list
Only include the browser tests whenever the dependencies for the browser tests are available.
Python2.7 test fix.
- Remove implicit test dependency on zope.app.dublincore, that was not needed in the first place.
- Fixed test-failure happening with more recent
mechanize
(>=2.0).
- Try to import the stemmer from the zopyx.txng3.ext package first, which as of 3.3.2 contains stability and memory leak fixes.
- Fix missing testing dependencies when using ZTK by adding zope.login.
- Add FieldIndex-like sorting support for the ValueIndex.
- Add sorting indexes support for the NormalizationWrapper.
- Fixed a typo in ValueIndex addform and addMenuItem
- Use
zope.container
instead ofzope.app.container
. - Use
zope.keyreference
instead ofzope.app.keyreference
. - Use
zope.intid
instead ofzope.app.intid
. - Use
zope.catalog
instead ofzope.app.catalog
.
- Added hook point to allow extent catalog to be used with local UID sources.
- Updated package meta-data.
- zc.catalog now can use 64-bit BTrees ("L") as provided by ZODB 3.8.
- Albertas Agejavas (alga@pov.lt) included the new CallableWrapper, for when the typical Zope 3 index-by-adapter story (zope.app.catalog.attribute) is unnecessary trouble, and you just want to use a callable. See callablewrapper.txt. This can also be used for other indexes based on the zope.index interfaces.
- Extents now have a __len__. The current implementation defers to the standard BTree len implementation, and shares its performance characteristics: it needs to wake up all of the buckets, but if all of the buckets are awake it is a fairly quick operation.
- A simple ISelfPoulatingExtent was added to the extentcatalog module for which populating is a no-op. This is directly useful for catalogs that are used as implementation details of a component, in which objects are indexed explicitly by your own calls rather than by the usual subscribers. It is also potentially slightly useful as a base for other self-populating extents.
'all_of' would return all results when one of the values had no results. Reported, with test and fix provided, by Nando Quintana.
The queueing of events in the extent catalog has been entirely removed. Subtransactions caused significant problems to the code introduced in 1.0. Other solutions also have significant problems, and the win of this kind of queueing is qustionable. Here is a run down of the approaches rejected for getting the queueing to work:
- _p_invalidate (used in 1.0). Not really designed for use within a transaction, and reverts to last savepoint, rather than the beginning of the transaction. Could monkeypatch savepoints to iterate over precommit transaction hooks but that just smells too bad.
- _p_resolveConflict. Requires application software to exist in ZEO and even ZRS installations, which is counter to our software deployment goals. Also causes useless repeated writes of empty queue to database, but that's not the showstopper.
- vague hand-wavy ideas for separate storages or transaction managers for the queue. Never panned out in discussion.
- adjusted extentcatalog tests to trigger (and discuss and test) the queueing behavior.
- fixed problem with excessive conflict errors due to queueing code.
- updated stemming to work with newest version of TextIndexNG's extensions.
- omitted stemming test when TextIndexNG's extensions are unavailable, so tests pass without it. Since TextIndexNG's extensions are optional, this seems reasonable.
- removed use of zapi in extentcatalog.
- First release on Cheeseshop.