--------------
- the relationship index code has been moved out to zc.relation and
significantly refactored there. A fully backwards compatible subclass
remains in zc.relationship.index
- support both 64-bit and 32-bit BTree families
- support specifying indexed values by passing callables rather than
interface elements (which are also still supported).
- in findValues and findValueTokens, `query` argument is now optional. If
the query evaluates to False in a boolean context, all values, or value
tokens, are returned. Value tokens are explicitly returned using the
underlying BTree storage. This can then be used directly for other BTree
operations.
In these and other cases, you should not ever mutate returned results!
They may be internal data structures (and are intended to be so, so
that they can be used for efficient set operations for other uses).
The interfaces hopefully clarify what calls will return an internal
data structure.
- README has a new beginning, which both demonstrates some of the new features
and tries to be a bit simpler than the later sections.
- `findRelationships` and new method `findRelationshipTokens` can find
relationships transitively and intransitively. `findRelationshipTokens`
when used intransitively repeats the behavior of `findRelationshipTokenSet`.
(`findRelationshipTokenSet` remains in the API, not deprecated, a companion
to `findValueTokenSet`.)
- 100% test coverage (per the usual misleading line analysis :-) of index
module. (Note that the significantly lower test coverage of the container
code is unlikely to change without contributions: I use the index
exclusively. See plone.relations for a zc.relationship container with
very good test coverage.)
- Tested with Python 2.7 and Python >= 3.5
- Added test extra to declare test dependency on ``zope.app.folder``.