-----
Because Dragonchain has a breaking change to replace its indexing solution,
this is also a breaking SDK change for queries and custom indexing.
The following are worth noting when transitioning from 3.X.X to 4.X.X:
* Custom indexes have changed for a new redisearch schema. Transaction types
can no longer be updated, and custom indexes must be provided upfront when
creating a transaction type or smart contract. If updating is desired,
simply delete and recreate the relevant transaction type/smart contract
with the new desired custom indexes.
* A transaction type's indexes are now removed when the transaction type is
deleted. You can no longer query for transactions from a deleted transaction
type (or smart contract). (The transactions still exist and can be retrieved
directly by transaction id, they simply can't be searched with a query)
* Querying blocks and transactions are completely different, and now use
`Redisearch queries <https://oss.redislabs.com/redisearch/Query_Syntax.html>`_.
Check their client functions for argument reference. Note the response schema
of queries remain unchanged.
* Smart contract querying has been removed, and instead replaced with a generic
``list_smart_contracts`` which simply returns all contracts.
Check `the docs <https://python-sdk-docs.dragonchain.com/latest/migrating_v4.html>`_
for more details on migrating from v3 to v4.
Features:
* Support new query endpoints/parameters for redisearch replacement on
dragonchain
* Support adding custom indexes for smart contracts on creation
* Support optionally fetching ids only (not entire documents) for querying
* Support list smart contracts
* Support disable schedule for ``update_smart_contract``
* Support new smart contract logs endpoint
Documentation:
* Added docs for migrating from v3 to v4
Development:
* Modify integration test suite to integrate with new/modified endpoints
Packaging:
* Update packaged metadata to indicate supported OS and stable/typed
* Enforce stricter rules when building docs