From 0f31c1130413850ab3bdd83471cfb8dcdab9e790 Mon Sep 17 00:00:00 2001 From: senke Date: Tue, 3 Mar 2026 19:52:49 +0100 Subject: [PATCH] chore: regenerate CHANGELOG, bump VERSION to 0.991 for RC1 --- CHANGELOG.md | 28 ++++++++++++++ VERSION | 2 +- docs/SECURITY_SCAN_RC1.md | 52 +++++++++++++++++++++++++ docs/V1_SIGNOFF.md | 80 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 161 insertions(+), 1 deletion(-) create mode 100644 docs/SECURITY_SCAN_RC1.md create mode 100644 docs/V1_SIGNOFF.md diff --git a/CHANGELOG.md b/CHANGELOG.md index b62f498be..48ce69d2e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,33 @@ # Changelog - Veza +## [v0.991] - 2026-03-03 (RC1) + +### Added +- docs/V1_SIGNOFF.md: v1.0.0 release checklist (21 critères) +- docs/SECURITY_SCAN_RC1.md: security scan results (govulncheck, npm audit) +- Branche release/v1.0.0 pour code freeze RC + +### Changed +- OpenAPI spec régénérée (make openapi) +- PROJECT_STATE: prochaine v0.992 RC2 + +--- + +## [v0.982] - 2026-03-03 + +### Added +- docs/PERFORMANCE_BASELINE.md: section Lighthouse v0.982 (objectifs ≥90) +- docs/PWA_OFFLINE_VERIFICATION.md: checklist vérification mode offline +- docs/RGPD_CCPA_VERIFICATION.md: checklist export, suppression, opt-out + +### Fixed +- docs/BUG_BASH_V0981.md: critères release validés (0 P1/P2 ouverts) + +### Changed +- VERSION: 0.982 + +--- + ## [v0.981] - 2026-03-02 ### Added diff --git a/VERSION b/VERSION index fe2343bb1..61ac65bf0 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.982 +0.991 diff --git a/docs/SECURITY_SCAN_RC1.md b/docs/SECURITY_SCAN_RC1.md new file mode 100644 index 000000000..0f58cc391 --- /dev/null +++ b/docs/SECURITY_SCAN_RC1.md @@ -0,0 +1,52 @@ +# Security Scan — v0.991 RC1 + +**Date** : 2026-03-03 +**Objectif** : Valider l'absence de vulnérabilités CRITICAL bloquantes pour RC1 + +--- + +## Go (govulncheck) + +| ID | Module | Sévérité | Statut | Justification | +|----|--------|----------|--------|---------------| +| GO-2026-4337 | crypto/tls (stdlib) | | Accepté | Fix dans go1.25.7 — mise à jour Go planifiée | +| GO-2025-4233 | quic-go | | Accepté | QPACK DoS — impact limité, fix en v0.57.0 | +| GO-2025-4108 | containerd | | Accepté | Testcontainers uniquement — pas en production | +| GO-2025-4100 | containerd | | Accepté | Idem — usage tests uniquement | +| GO-2025-3528 | containerd | | Accepté | Idem — usage tests uniquement | + +**Actions** : Mettre à jour Go vers 1.25.7+ si disponible. Containerd vulnérabilités : testcontainers utilisé uniquement en CI/tests, pas exposé en production. + +--- + +## npm (apps/web) + +| Package | Sévérité | Statut | Note | +|---------|----------|--------|------| +| basic-ftp | CRITICAL | À traiter | Path Traversal — dépendance transitive, `npm audit fix` en conflit peer (Storybook/Vite) | +| minimatch | HIGH | À traiter | ReDoS | +| rollup | HIGH | À traiter | Path Traversal | +| storybook | HIGH | Accepté | WebSocket Hijacking — dev only, pas en production | +| ajv | MODERATE | Accepté | ReDoS, usage limité | + +**Actions** : Exécuter `npm audit fix --legacy-peer-deps` ou mise à jour manuelle des dépendances. Storybook : acceptable car outil de dev uniquement. + +--- + +## Rust (cargo audit) + +`cargo-audit` non installé. Commande : `cargo install cargo-audit && cargo audit` + +--- + +## Docker (Trivy) + +À exécuter sur les images finales : `trivy image :v0.991-rc1` + +--- + +## Verdict RC1 + +- [ ] Zéro vulnérabilité CRITICAL non documentée +- [ ] Vulnérabilités ÉLEVÉES documentées avec justification +- [ ] Plan de correction pour v1.0.1 si nécessaire diff --git a/docs/V1_SIGNOFF.md b/docs/V1_SIGNOFF.md new file mode 100644 index 000000000..1e21bacf1 --- /dev/null +++ b/docs/V1_SIGNOFF.md @@ -0,0 +1,80 @@ +# Sign-off Release v1.0.0 — Checklist + +**Document** : Validation des critères de release v1.0.0 +**Référence** : [ROADMAP_V09XX_TO_V1.md](ROADMAP_V09XX_TO_V1.md) section 15 +**Date de validation** : ___________ +**Validateur** : ___________ + +--- + +## Critères obligatoires + +| # | Critère | Statut | Preuve / Commande | +|---|---------|--------|-------------------| +| 1 | Zéro vulnérabilité CRITIQUE ou ÉLEVÉE | | `govulncheck ./...`, `cargo audit`, `npm audit` | +| 2 | Flux OAuth fonctionnel E2E (Google, GitHub) | | Test d'intégration OAuth | +| 3 | Flux paiement Hyperswitch vérifié E2E | | Test d'intégration paiement | +| 4 | Couverture tests Go — par package critique (auth > 80%, core > 70%, handlers > 50%, global > 55%) | | `go test -cover ./...` | +| 5 | Couverture tests Frontend > 50% global | | `cd apps/web && npm run test -- --coverage --run` | +| 6 | Couverture tests Rust > 30% global | | `cargo tarpaulin` | +| 7 | Tests passent sans skip excessif (< 50 skips Go, < 5 skips E2E) | | `go test -short ./...`, `grep -r "t.Skip" \| wc -l` | +| 8 | Load test : 1000 WebSocket simultanées | | Script loadtests | +| 9 | Load test : 500 req/s API | | k6 stress_500rps.js | +| 10 | P99 < 500ms endpoints critiques | | Prometheus ou rapport load test | +| 11 | Zéro TODO/FIXME dans le code | | `grep -rn "TODO\|FIXME\|HACK" --include="*.go" --include="*.ts" --include="*.tsx" --include="*.rs"` | +| 12 | Documentation API complète (OpenAPI validée) | | `swagger-cli validate openapi.yaml` | +| 13 | Runbook opérationnel (déploiement, rollback, incident) | | Fichiers `docs/runbooks/*.md` | +| 14 | Dashboard Grafana fonctionnel avec alertes | | Screenshot, test alerte | +| 15 | Migrations consolidées | | `000_full_schema.sql` ou équivalent | +| 16 | VERSION file synchronisé | | `cat VERSION` == `git describe --tags --abbrev=0` | +| 17 | Docker images sans vulnérabilité CRITICAL | | Trivy scan | +| 18 | Secrets : rotation documentée, aucun en dur | | `docs/runbooks/SECRET_ROTATION.md`, `grep` | +| 19 | RGPD/CCPA : export, suppression, opt-out | | [docs/RGPD_CCPA_VERIFICATION.md](RGPD_CCPA_VERIFICATION.md) | +| 20 | Accessibilité : Lighthouse > 90 | | [docs/PERFORMANCE_BASELINE.md](PERFORMANCE_BASELINE.md) section Lighthouse | +| 21 | PWA : mode dégradé offline | | [docs/PWA_OFFLINE_VERIFICATION.md](PWA_OFFLINE_VERIFICATION.md) | + +--- + +## Résumé + +| Statut | Count | +|--------|-------| +| PASS | | +| FAIL | | +| N/A (documenté) | | + +**Verdict** : [ ] GO [ ] NO-GO + +--- + +## Sign-off RC1 (v0.991) + +- [ ] Tous les critères PASS ou documentés +- [ ] Scan sécurité : zéro CRITICAL +- [ ] Code freeze effectif (branche `release/v1.0.0`) +- [ ] Images Docker production prêtes + +**Date** : ___________ +**Signataire** : ___________ + +--- + +## Sign-off RC2 (v0.992) + +- [ ] Zéro bug ouvert +- [ ] Sign-off final validé +- [ ] Release notes prêtes + +**Date** : ___________ +**Signataire** : ___________ + +--- + +## Sign-off v1.0.0 + +- [ ] Déploiement production réussi +- [ ] Smoke test post-déploiement OK +- [ ] Release notes publiées + +**Date** : ___________ +**Signataire** : ___________