Releases: undp/carbon-footprint-program
Releases · undp/carbon-footprint-program
Release list
Release 1.6.0
What's Changed
User Modules
- [Fullstack] Fix: maintainer cache invalidation (dependency keys) + subcategory delete cascade by @mrivas00 in #393
- [API] Fix: measurement-unit referenceCount excludes soft-deleted & superseded dependents (+ delete guard) by @mrivas00 in #400
- [Fullstack] Fix: cascade catalog soft-delete and block rename/re-parent of in-use profiling catalogs by @mrivas00 in #401
- [FRONT] Feat: optional comment on approving a submission by @mrivas00 in #409
- [Fullstack] Fix: clear 409 when a login email belongs to a different identity by @nivek0o0 in #432
- feat: chatbot foundation phase (v0) by @nicoalegria11 in #276
- [Fullstack] Feat: reduction-project DRAFT status & submit-for-recognition flow by @mrivas00 in #414
- [Fullstack] Feat: guided welcome home onboarding by @mrivas00 in #448
- fix(web): target in-flight assistant bubble by id in useChatStream by @nivek0o0 in #499
- fix(web): correct gender agreement in the RESTORE_ON_ACTIVE message by @nivek0o0 in #508
- fix(api): map concurrent position collisions to DimensionPositionAlreadyTakenError by @nivek0o0 in #519
- feat(web): expert-mode onboarding + session-agnostic completion by @mrivas00 in #526
General
- [Docs] Docs: clarify the country-agnostic principle (data + service ports) by @mrivas00 in #394
- [Fullstack] Feat: add provider-agnostic storage adapter (Azure Blob + MinIO) by @mrivas00 in #366
- [API] Feat: MinIO storage relay — serve presigned URLs through the API, keep MinIO internal by @mrivas00 in #406
- [Fullstack] Feat: generic OIDC authentication provider (replace MSAL) by @mrivas00 in #397
- [Docs] Docs: OpenSSF Best Practices badge self-assessments by @nivek0o0 in #413
- [Fullstack] Fix: remove transitive dependency vulnerabilities by @nivek0o0 in #412
- chore(deps): bump fastify-plugin from 5.1.0 to 6.0.0 by @dependabot[bot] in #429
- chore(deps): bump fastify-type-provider-zod from 6.1.0 to 7.0.0 by @dependabot[bot] in #431
- [Docs] Fix: streamline getting-started docs, fix stale references, add link-check CI by @nivek0o0 in #433
- [CI] Feat: add zizmor GitHub Actions static analysis gate by @nivek0o0 in #435
- chore(deps): bump the minor-and-patch group across 1 directory with 11 updates by @dependabot[bot] in #422
- [CI] Chore: bump all GitHub Actions and clear zizmor findings by @nivek0o0 in #440
- chore(deps-dev): bump @eslint/js from 9.39.4 to 10.0.1 by @dependabot[bot] in #430
- chore(deps): bump nginxinc/nginx-unprivileged from
ee7751ctodefdc1cin /apps/web by @dependabot[bot] in #419 - chore: ignore MUI Core major bumps in Dependabot until v9 upgrade by @nivek0o0 in #444
- [FRONT] Chore: bump MUI X packages (charts, data-grid, date-pickers) to v9 by @nivek0o0 in #442
- [Infra] Chore: bump Node runtime to 26-alpine (+ corepack & tsc-alias fixes) by @nivek0o0 in #441
- chore(deps): bump @fastify/swagger-ui from 5.2.6 to 6.0.0 by @dependabot[bot] in #445
- chore(deps): ignore eslint v10 major in dependabot (+ fix duplicate ignore key) by @nivek0o0 in #451
- [Infra] Chore: bump vitest to 4.1.10 via catalog and freeze eslint ecosystem majors by @nivek0o0 in #452
- [Infra] Chore: pin all external base images by version@digest by @nivek0o0 in #453
- [Infra] Chore: sync Dockerfile turbo pin to root + fix cooldown comment by @nivek0o0 in #455
- chore(deps): keep web nginx on stable branch, ignore mainline bumps by @nivek0o0 in #457
- chore: DPG readiness remediation (AGPL-3.0, governance, privacy, CI hardening) by @Nolski in #407
- chore(github): add issue/PR templates and SUPPORT.md by @nivek0o0 in #463
- ci: skip heavy jobs on docs-only PRs (deadlock-safe) by @nivek0o0 in #464
- test: per-file database isolation + parallel test files (prototype) by @nivek0o0 in #465
- docs(openssf): re-assess badge tiers after DPG readiness & public repo by @nivek0o0 in #469
- [Docs] Fix: drop stale AZURE_* auth vars from JWKS credentials note by @nivek0o0 in #470
- chore(github): add refactor issue template, extend label taxonomy, manage labels as code by @nivek0o0 in #471
- [CI] Chore: segment CI tests into base + per-provider storage legs by @mrivas00 in #468
- docs(change-workflow): document namespaced PR labels by @nivek0o0 in #479
- [DevX] Feat: opt-in per-worktree isolation for parallel git worktrees by @nivek0o0 in #478
- [Infra] Feat: add hardened Keycloak production stack (shared DB, unified docs) by @mrivas00 in #458
- fix(api): verify DB connectivity at startup with a real query by @nivek0o0 in #481
- chore(docker): bump node from
725aebatoe3bc686in /apps/web by @dependabot[bot] in #462 - chore(docker): bump node from
725aebatoe3bc686in /apps/api by @dependabot[bot] in #461 - chore(deps): bump @types/node from 26.0.1 to 26.1.0 by @dependabot[bot] in #459
- ci: add coverage gate, OpenSSF Scorecard, and Trivy image scanning by @nivek0o0 in #483
- fix(api): drop npm from runtime image to clear undici CVE-2026-12151 by @nivek0o0 in #484
- [Infra] Security: enforce HTTPS-only and TLS 1.2 on API App Service by @mrivas00 in #486
- infra(compose): add operator-invoked prod migrate/seed one-shot services by @nivek0o0 in #485
- fix(seed): require reachable object storage for the base seed by @nivek0o0 in #487
- chore(ci): bump lycheeverse/lychee-action from 2.8.0 to 2.9.0 by @dependabot[bot] in #491
- test(api): raise branch coverage to 80% and restore branch gate by @nivek0o0 in #494
- refactor(api): make @fastify/under-pressure thresholds env-configurable by @nivek0o0 in #495
- test(web): establish Vitest test convention and cover useChatStream by @nivek0o0 in #496
- test(web): add a global coverage floor and enforce it in CI by @nivek0o0 in #500
- docs: refresh system-architecture and add codebase-map by @nivek0o0 in #501
- test(web): cover the pure-function util layer and raise the coverage floor by @nivek0o0 in #507
- test(api): unit-test hard-to-reach modules; raise coverage gate to 90% by @nivek0o0 in #509
- test(web): cover access hooks and stores, raise the coverage floor by @nivek0o0 in #510
- test(web): cover the label/chip mappers, raise the coverage floor by @nivek0o0 in #513
- test(web): cover exporters, fuzzy search, file & role helpers; raise floor by @nivek0o0 in #516
- docs(web): reflect that apps/web is now unit-tested by @nivek0o0 in #517
- test(api): raise apps/api branch coverage to 90% and lift the gate by @nivek0o0 in #518
- chore(openspec...
Release 1.5.0
What's Changed
User Modules
- [FullStack]: implement bulk ZIP download for carbon inventory by @mrivas00 in #328
- [FRONT] Feat: consistent table action buttons for app screens by @mrivas00 in #343
- [FRONT] Feat: centralize status chips by @mrivas00 in #344
- [Fullstack] Fix: false error snackbar on successful soft-delete (ky empty-body .json()) by @mrivas00 in #374
- [FRONT] Fix: align reduction projects name column with Huella Organizacional standard by @mrivas00 in #382
- [FRONT] Fix: false error snackbar on carbon inventory workflow actions (ky empty-body .json()) by @mrivas00 in #383
General
- [Fullstack] Chore: upgrade low-risk dependencies (patch + minor) by @mrivas00 in #348
- [FRONT] Chore: upgrade react-hook-form and mui-x with emission-capture fixes by @mrivas00 in #365
- [Fullstack] Chore: upgrade medium-risk dependencies (scoped majors) by @mrivas00 in #371
- [Fullstack] Chore: upgrade high-risk dependencies (TS6, Vite8, MSAL5) by @mrivas00 in #373
- [Fullstack] Refactor: split database package into database, storage and seed by @mrivas00 in #376
- [API] Fix: intermittent login 401 on high-latency links (Node happy-eyeballs 250ms budget) by @mrivas00 in #381
- [Infra] Feat: production docker-compose with external database by @mrivas00 in #375
- [Infra] Refactor: Add custom domain configuration on deploy by @mrivas00 in #349
- [Chore] Refactor: split CLAUDE.md into on-demand skills + task agents by @mrivas00 in #380
Full Changelog: 1.4.2...1.5.0
Release 1.4.2
What's Changed
User Modules
- [FRONT] Chore: hide neutralization references until module is implemented by @mrivas00 in #369
- [Fullstack] Fix: show all active emission lines in the inventory summary by @mrivas00 in #370
Full Changelog: 1.4.1...1.4.2
Release 1.4.1
What's Changed
User Modules
- [FRONT] Fix: guard emission capture against id-less lines on total-mode toggle by @mrivas00 in #361
- [FRONT] Fix: warn when emission sources are incomplete on step navigation by @mrivas00 in #362
Admin Modules
- [FRONT] Feat: methodology maintainer edit-mode UX and collapsed sidebar fix by @mrivas00 in #363
- [DOCS] Update methodology maintainer explanation for configure action by @mrivas00 in #364
Full Changelog: 1.4.0...1.4.1
Release 1.4.0
What's Changed
User Modules
- [FRONT] Fix: Prevent emission line duplication on manual-mode toggle by @mrivas00 in #353
- [FRONT] Fix: add emission factors disclaimer to demo terms alert by @mrivas00 in #360
General
- [DB] Feat: Enhance standalone explanations and maintainers with detailed descriptions 🟣 by @mrivas00 in #340
- [INFRA] Feat: Dockerize web app and orchestrate full stack via docker-compose by @mrivas00 in #355
- [DB] Fix: align maintainer explanation field tables with user-visible columns by @mrivas00 in #356
- [DB] Refactor: skip seed when the database already has data by @mrivas00 in #358
- [API] Feat: serve a status page at the API root by @mrivas00 in #359
Full Changelog: 1.3.2...1.4.0
Release 1.3.2
Release 1.3.1
Release 1.3.0
What's Changed
User Modules
- Chore: inventory style adjustments by @mrivas00 in #331
- Feat: handle user authentication flow error by @luisdanielapa in #333
General
- Feat: add support custom domain by @mrivas00 in #334
- Feat: Add commuting and remote work subcategories by @mrivas00 in #335
- Refactor: update methodology factors and names by @mrivas00 in #336
- Feat: Update methodologies and explanations to include electricity as a fuel source by @mrivas00 in #337
- Fix: Remove under pressure plugin on tests by @mrivas00 in #341
- Refactor: pluralize measurement units in seed by @mrivas00 in #342
Full Changelog: 1.2.0...1.3.0
Release 1.2.0
What's Changed
User Modules
- Feat: Pre-fill organization data (sector & subsector selectors) at
BusinessProfilingScreen(step 1 of business profiling) by @mrivas00 in #320 - Feat: Implement association feature of free carbon inventories to specific organization at
CarbonInventoriesScreenby @luisdanielapa in #330 - Feat: implement file attachments per inventory line at
EmissionCaptureScreenby @mrivas00 in #332
Admin Modules
- Feat: add new
MagnitudesScreenby @nivek0o0 in #321 - Feat: add new
RateMeasurementUnitsScreenby @nivek0o0 in #323 - Feat: Allow to download full methodology data via excel file at
MethodologiesMaintainerScreenby @luisdanielapa in #325 - Feat: Implement data export feature on table at every maintainer screen by @luisdanielapa in #324
General
- Refactor: standarized all api endpoints definition and security syntax by @nivek0o0 in #326
- Fix: align postgres volume path mount with postgres 18 layout by @nicoalegria11 in #273
- Refactor: parametrize the year range value within organizations are considered to be "measuring carbon emissions", used for calculating KPI displayed at
AdminDashboardScreen&AdminOrganizationsScreenby @luisdanielapa in #327
New Contributors
- @nicoalegria11 made their first contribution in #273
Full Changelog: 1.1.2...1.2.0
Release 1.1.2
Changes
API:
- Temporally create new users with
SUPERADMINsystem role with the aim of facilitating the testing period