Skip to content

v3.0.0

Latest

Choose a tag to compare

@mesudip mesudip released this 26 Oct 10:04
7a248a6

GovTool 3.0, the first stable release on the new TypeScript backend. The backend, governance action history, proposal discussion forum and documentation now live in one repository and deploy as one stack. It brings together the 2.1 alpha and beta releases, plus the fixes made since the beta.

This is a major release because the backend, service layout and deployment configuration all change.


Highlights

  • One TypeScript backend: govtool-backend replaces the Haskell backend and the earlier TypeScript port. It serves the GovTool API, governance action history and metadata validation, and it was checked against the Haskell backend on preview (#4246, #4284).
  • Choice of chain data source: db-sync remains the default. Koios runs GovTool without a Cardano node or db-sync, and Blockfrost is included as experimental. Features adapt to what the selected provider can serve.
  • One deployment stack: a single Docker Swarm stack runs the frontend, backend, metadata service, proposal discussion backend and their Postgres. The new proposal discussion backend replaces Strapi (#4271, #4276, #4277).
  • Faster lists, clearer metadata errors: governance documents load in the background, searches say when they are still loading, and metadata errors open a fetch report with Retry (#4284, #4286, #4289).
  • 2025 budget proposals archive: proposals, versions, final poll totals and comments stay available as a read-only archive, and existing budget discussion links keep working (#4280, #4282).

Also in this release

  • Maintenance banner: GovTool stays up during maintenance, counts down over every page and refuses transactions until it ends (#4291).
  • Proposal fixes: hard fork submission and draft editing work from the forum, and treasury withdrawal and parameter change proposals follow the enacted constitution's guardrails. DRep id searches return metadata, and the directory respects doNotList (#4290).
  • Vote figures and details: no double counting, restored governance action details and author signatures, and working DRep and action search (#4260, #4261, #4262).
  • CIP-179 linked surveys: authoring and vote responses on every provider (#4184, #4269).
  • Navigation and errors: "Governance Actions" stays highlighted on its Proposals, Live Voting and Historical pages, and actions you have voted on show their metadata errors and error report too (#4298).
  • Security: IP addresses partly hidden in backend error responses and fetch reports, sanitized HTML in proposal discussion content, rate-limited CIP-100-only anonymous IPFS uploads, SSRF protections, all critical and high dependency alerts fixed, and backend Sentry reporting (#4298, #4292, #4171, #4177, #4285, #2776).
  • Frontend: runtime configuration, Umami analytics and Chatwoot feedback; React 19, React Router 8 and TanStack Query 5. Node 22.22 or newer is required for frontend development (#4163, #4178).
  • Development and docs: a full local devnet runs the app with the pytest and Playwright suites, documentation moves to Docusaurus, and setup and agent guides are current (#4257, #4283).
  • Removed: the Haskell backend, backend-ts, the standalone metadata-validation service, Matomo, the internal analytics dashboard, the Constitutional Committee Portal card, and budget discussion editing and voting.

Known issues

  • After a deploy or restart, name and title searches are unavailable until the first document load finishes; pages say that search is still loading.
  • Koios is slow to start on preview (#4274). Providers differ in historical vote data and other optional features, so check their READMEs before choosing one. Blockfrost remains experimental.

Progress against the roadmap (#4216)

Commitment This release
Replace the Haskell backend with TypeScript Done: one backend for the GovTool API, at parity
Make running GovTool locally easier Done: Compose, fixture data and a full integration devnet
Make contributing easier Improved: current setup docs, local integration suites and TypeScript across the app
Bring all components into one repository Done for the core: frontend, forum, governance action history, metadata service and docs
Lean less on self-hosted Cardano infrastructure Shipped: Koios as an alternative; db-sync remains the default
Clean up the issue backlog Ongoing

View changes since 2.0.36, changes since the beta or the full changelog here.