All configuration changes across the project are documented here.
Format: [version] YYYY-MM-DD – component – description
Initial versioned configuration baseline.
- Introduced
CONFIG_VERSIONconstant andCONFIG_CHANGELOGregistry - Captured baseline keys:
PORT,NODE_ENV,HTTPS_ENABLED,NETWORK,CONTRACT_ID_TESTNET/MAINNET,RPC_URL_TESTNET/MAINNET,NETWORK_PASSPHRASE_TESTNET/MAINNET,ALLOWED_ORIGINS,FRONTEND_URL,ADMIN_SECRET_KEY(presence-only),API_KEY(presence-only),TIER_RATE_LIMITS
- Added startup config snapshot capture with SHA-256 hash
- Diffs logged via Winston when hash changes between restarts
- Snapshot persisted to
logs/config-snapshot.json(gitignored) - Secrets are never written to the snapshot (replaced with
[SET]/[MISSING])
GET /api/config/version– public endpoint returning version + changelogGET /api/config/snapshot– API-key-protected endpoint returning live sanitised snapshot
- Introduced
FRONTEND_CONFIG_VERSIONconstant initFrontendConfigTracking()called at app startup; warns in console on config drift- Snapshot stored in
sessionStoragefor cross-reload comparison
- Make your configuration change (add/remove/rename env var, change a default).
- Increment
CONFIG_VERSIONinbackend/src/config/configVersion.tsandFRONTEND_CONFIG_VERSIONinfrontend/src/utils/configVersion.tsas appropriate. - Add a new entry at the top of
CONFIG_CHANGELOGinconfigVersion.ts. - Add a section to this file describing what changed and why.
- Update
.env.examplefiles to reflect the new keys/defaults.