v2.1.0-alpha.2
Pre-release
Pre-release
The second pre-release of 2.1. GovTool now runs on a single new backend that no longer requires db-sync, and the whole stack can be tested end to end on a local devnet.
Highlights
- New backend: the Haskell backend and the older TypeScript backend (
backend-ts) are removed. The newgovtool-backendreplaces both and serves the full GovTool API. - Provider layer: the backend reads chain data through a provider-agnostic contract instead of querying db-sync directly (#4246). db-sync remains the default.
- Koios provider
(alpha): setGOVTOOL_CHAIN_DATA_PROVIDER=koiosto run on the public Koios API or a self-hosted Koios instance, with no db-sync database. A Blockfrost provider is included as experimental. - Full integration devnet:
tests/devnetruns a private Cardano devnet with the complete GovTool stack, seeds it with every governance action type, and runs the pytest and Playwright suites against it. No public network or secrets are needed, and CI publishes the report to govtool-test-reports. Seetests/devnet/README.md.
Also in this release
- Metadata validation is served by the backend, backed by a new caching metadata service, and errors name the field at fault.
- Vote figures are no longer double counted, and totals a provider cannot supply show as unavailable instead of zero (#4260).
- Restored: governance action details and authors (#4261), search (#4262) and CIP-179 surveys (#4263).
- Security: rate-limited, CIP-100-only anonymous IPFS uploads (#4171) and Sentry error reporting (#2776).
- Newsletter signup in the footer (#4249).
Known issues
- Koios is slow to start on preview: the backend does not listen until its first DRep and proposal snapshot is warm. Preview has about 10× mainnet's DReps and governance actions, so startup there takes much longer than on mainnet (#4274).
Progress against the roadmap (#4216)
| Commitment | This release |
|---|---|
| Replace the Haskell backend with TypeScript | Done |
| Make running GovTool locally easier | Improved further: the full stack and integration suites now run on a local devnet. Browser wallets can't connect to it yet, so manual testing still needs a public testnet |
| Make contributing easier | In progress: integration suites run locally |
| Bring all components into one repository | In progress: metadata service and proposal discussion backend added |
| Lean less on self-hosted Cardano infrastructure | Alpha shipped: Koios provider |
| Clean up the issue backlog | Ongoing |
Contributors
- @kusssal: vote figure, proposal detail, search and survey fixes, backend reliability, image builds, newsletter signup
- @mesudip: provider layer, integration devnet, metadata service, governance action history
View new commits or the full changelog here.