Skip to content

Release 4.0.0

Choose a tag to compare

@cheeseandcereal cheeseandcereal released this 24 Sep 00:02
· 23 commits to production since this release
6bed3ff

This release supports Dragonchain's accompanying 4.0.0 release.

Because Dragonchain has a breaking change to replace its indexing solution with 4.0.0, 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. 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 for more details on migrating from v3 to v4.

Changelog

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