Skip to content

Latest commit

 

History

History
226 lines (166 loc) · 25.8 KB

File metadata and controls

226 lines (166 loc) · 25.8 KB

1.8.2 (2026-05-29)

Bug Fixes

  • use checked arithmetic in energy_token to prevent overflow (#277) (f526e26)

1.8.1 (2026-05-29)

Bug Fixes

  • add replay attack protection to audit_registry contract (#280) (b4e10b7)

1.8.0 (2026-05-29)

Features

  • automate Stellar Testnet faucet funding in CI (#303) (25598db)

Documentation

  • adr: add ADR-005 monorepo structure and ADR-006 certificate retirement model (d7c679a), closes #311

1.7.1 (2026-05-29)

Bug Fixes

  • implement CSRF protection for state-changing API endpoints (#335) (2c6c8c8)

1.7.0 (2026-05-28)

Features

  • #145: add Stellar explorer deep links for all on-chain transactions (ccb13da), closes #145

Documentation

  • add JSDoc to all public API functions (#316) (eca0923)
  • complete OpenAPI 3.0 spec for all API endpoints (#307) (e15d906)
  • document public verifier API for third-party integrations (#313) (9eb74ff)

1.6.0 (2026-05-28)

Features

  • implement SEP-41 approve/allowance/transfer_from (#286) (e3c6fce)

Documentation

  • document Ed25519 meter signing protocol and key lifecycle (#309) (cbfd1be)

1.5.0 (2026-05-28)

Features

  • api: add Idempotency-Key header support to readings API (e4bccbe), closes #267

1.4.0 (2026-05-28)

Features

  • observability: add OpenTelemetry APM instrumentation (670c77a), closes #291

Documentation

  • enhance developer onboarding guide (ff7de25), closes #308

1.3.0 (2026-05-28)

Features

  • add /api/health and /api/ready endpoints (#275) (4f761a4)

Documentation

  • document pnpm --frozen-lockfile requirement (#302) (4072e11)

1.2.0 (2026-05-28)

Features

1.1.0 (2026-05-28)

Features

  • responsive dashboard, certificate detail page, toast notifications, and accessibility improvements (704c0a5)

1.0.0 (2026-05-19)

Features

  • #12: add toast notification system for transaction feedback (c3ae97c), closes #12
  • #13: implement certificate retirement flow in the UI (093620a), closes #13
  • #14: add chart visualizations for energy generation over time (5a35ae7), closes #14
  • add /certificate/[id] chain-of-custody detail page (cb622a8)
  • add audit registry deduplication + local Soroban integration scripts (3db8f31)
  • add automated CodeQL security scanning (#88) (8021a4f)
  • add copy-to-clipboard functionality for IDs and hashes (c35dd6a), closes #23
  • add Docker Compose setup for local development (#82) (6c6fb8b)
  • add npm and cargo audit to CI pipeline (#91) (24549f0)
  • add OpenAPI spec, /api/docs endpoint, Swagger UI, and CI validation (#107) (ed079cf)
  • add POST /api/readings/batch endpoint (514e01f)
  • add real-time dashboard updates with WebSocket support (091499c), closes #9
  • add Redis/Upstash caching for certificate queries (#43) (a7f7583)
  • add Vercel Analytics and Speed Insights (#94) (e79473c)
  • api: append-only audit_log for operator actions (767e161), closes #44
  • api: implement CORS policy for API routes (235e9b8), closes #46
  • api: implement Ed25519 signature verification in POST /api/readings (#26) (6f92870)
  • api: implement idempotency for meter reading submissions (#28) (8c8ebc2)
  • api: implement webhook notifications for certificate events (#38) (b2a5323)
  • api: retry with exponential backoff for anchor/mint transactions (89294a1), closes #31
  • auth: implement JWT + Supabase Auth for operator routes (#40) (94311fc)
  • backup: daily pg_dump to S3 with 30-day retention and Slack alerts (#90) (bb7d2de)
  • bitmap vote storage for community_governance (#71) (6b9378d)
  • configurable quorum_bps and threshold_bps in community_governance (#64) (9cb685b)
  • configure Vercel preview deployments for every PR (#78) (ad997f7)
  • contracts: add multisig_admin contract for 2-of-3 admin ops (#69) (740383b)
  • contracts: add version tracking and migration support (#70) (b057beb)
  • contracts: cargo-fuzz targets for mint, anchor, vote (30ffc81), closes #67
  • contracts: emit events for mint/retire/anchor/propose/vote (b4cc652), closes #60
  • cursor-based paginated certificate list at /certificates (1d55113)
  • energy_token: implement retire() for REC compliance (#54) (842042a)
  • env var validation at startup with @t3-oss/env-nextjs (#79) (f386b18)
  • governance: add contract upgrade mechanism with 48h timelock (f335d8c), closes #55
  • governance: add proposal execution timelock (#65) (e2ed39e)
  • health: comprehensive health check endpoint with DB + Stellar RPC checks (#45) (c0ebc47)
  • implement POST /api/certificates/[id]/retire (#34) (1d7e055)
  • implement SEP-41 token interface compliance for energy_token (#61) (d9788f9)
  • implement Supabase RLS for multi-operator isolation (#36) (5e7bdf2)
  • implement token transfer pause mechanism (#66) (e7fc62a)
  • infra: set up staging environment on Vercel (#89) (7ad4dae)
  • initial SolarProof — cryptographic renewable energy certification (404fce6)
  • integrate Sentry error monitoring in Next.js app (#83) (da4fe77)
  • load Stellar signing key from AWS Secrets Manager with rotation support (7b81c1a), closes #50
  • meters: add meter management UI and API routes (e379c87), closes #18
  • migrations: add rollback scripts and operator_sessions migration (#37) (d0e432c)
  • mobile responsive, skeleton loaders, dark mode, ARIA a11y (ae45c53)
  • monitoring: add uptime checks for /api/health and /verify (#84) (cd5d44e)
  • optimize audit_registry storage — hash-only on-chain (#59) (6f233cd)
  • overflow protection for energy_token mint arithmetic (#51) (9857d35)
  • pin Rust toolchain and harden CI for Soroban contracts (#77) (d61094a)
  • pre-flight account and trustline checks before mint (7de0635)
  • queue: async Stellar transaction queue with job status API (0fc6c1d), closes #42
  • rate limiting, meter name, tracer-sim, verify chain-of-custody (5b2f413), closes #27 #30 #32 #35
  • resolve issues #10 #15 #16 #17 — i18n, governance form, voting UI, verify stepper (b7ecc3b)
  • scripts: add idempotent deploy-testnet and deploy-mainnet scripts (e7c4855), closes #63
  • stellar: add 10s timeout and circuit breaker to all RPC calls (866fffe), closes #41
  • structured log aggregation via Logtail (Better Stack) (23bc6ac), closes #92
  • structured logging, API versioning, pagination, governance tests (7b74132), closes #33 #39 #47 #58
  • Supabase IaC migrations and CI validation (#95) (302f23e)
  • web: add custom 404 and 500 error pages (d8d9895), closes #22
  • web: make contract addresses and network config env-configurable (#62) (b393066)

Bug Fixes

  • #11: persist Freighter wallet connection state across page refreshes (32045d4), closes #11
  • a11y: improve keyboard accessibility on verify page (1751ba4)
  • add error boundaries to isolate component failures (39f715b)
  • add input validation to verify and retire API routes (#29) (4ea58a6)
  • add spinner and disable buttons during form submission (7ef2928), closes #21
  • audit-registry: add access control to anchor() (a042f18), closes #52
  • cargo fmt, Rust 1.88.0 toolchain, remove pnpm version conflict (ea5a393)
  • ci: commit pnpm lockfile for frozen-lockfile enforcement (#86) (0752cbd)
  • governance: add reentrancy guard to vote() (0e051d2), closes #53
  • regenerate lockfile, bump rust-toolchain.toml to 1.88.0 (158d740)
  • remove empty with: blocks from pnpm/action-setup steps (b8ebced)
  • resolve all build, type, and lint errors (8a67ea0)
  • resolve issues #19, #20, #24, #25 (78448aa)
  • secrets management - placeholder .env.example + secret scanning (#85) (17435bd)

Documentation

  • add API reference for all endpoints (#96) (d66dbe4)
  • add contract deployment guide and deployments.md (#108) (e084e5e)
  • add descriptions and examples to .env.example (#105) (e834f15)
  • add developer onboarding guide (#97) (3b77c50)
  • add end-user guide for public verifier (#106) (a151440)
  • adr: add ADR template, index, and 4 ADRs (#99) (28db52c)
  • contracts: add interface and error code docs for all three contracts (b6d39fd), closes #98
  • contracts: add NatSpec-style doc comments to all public functions (#68) (ed9a056)
  • expand CONTRIBUTING.md with branch naming, commit format, PR checklist, and review expectations (b26a136), closes #100
  • prepare contracts for security audit (#75) (295766b)

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Maintenance note: This file is updated automatically by semantic-release on every release from main. To add an entry manually, follow the format below and open a PR.


Added

  • STRIDE-based threat model (docs/THREAT_MODEL.md) covering 13 attack vectors across all 6 STRIDE categories (#110)
  • TSDoc comments and inline explanations on all exported functions in packages/stellar/src/index.ts, apps/web/src/lib/stellar.ts, and apps/web/src/lib/crypto.ts (#103)
  • Vitest unit tests for buildTransaction, anchorReading (build_anchor_tx), mintCertificates (build_mint_tx), and retireCertificate (build_retire_tx) with mocked Stellar RPC (#118)

1.0.0 — 2026-04-21

Added

  • End-to-end cryptographic proof pipeline: Ed25519 meter signing → on-chain anchor → certificate minting → retirement
  • Three Soroban smart contracts: energy_token (SEP-41), audit_registry, community_governance
  • packages/stellar shared utilities: buildTransaction, kwhToStroops, stroopsToKwh, addressToScVal, amountToScVal, bytesToScVal
  • Next.js 15 web app with dashboard, public verifier (/verify), and API routes
  • POST /api/readings endpoint: verifies Ed25519 signature, anchors hash, mints certificates
  • tracer-sim integration for automatic diagnosis of failed Soroban transactions
  • Supabase backend for off-chain reading storage and meter registry
  • Docker Compose stack (Next.js + Supabase + Redis) for local development
  • Meter simulation scripts (scripts/gen-meter-key.mjs, scripts/send-reading.mjs)
  • CI workflow with GitHub Actions (lint, type-check, build, contract tests)
  • Gitleaks secret-scanning workflow
  • semantic-release configuration for automated versioning and changelog generation
  • Architecture Decision Records (docs/adr/)
  • API reference (docs/API.md), deployment guide (docs/DEPLOYMENT.md), onboarding guide (docs/ONBOARDING.md)