AMC NumériqueAMC Business OS

Journal produit

Versionning

Historique complet depuis le premier commit : chaque livraison git est une version semver (x.y.z), classée majeure, mineure ou correctif.

Version actuelle

v1.76.5

Correctif · 13 août 2026 · ed0f304

Versions
95
Majeures
1
Mineures
77
Correctifs
17

Convention : démarrage en 0.1.0, passage en 1.0.0 à la livraison socle production. Les évolutions suivantes sont des mineures (fonctionnalités, durcissements) ou des correctifs. Régénération : npx tsx scripts/generate-versions.ts.

  1. v1.76.5CorrectifCourante

    · ed0f304

    chore(versionning): régénérer le journal après les livraisons post-1.70.1

    régénérer le journal après les livraisons post-1.70.1. Inclut les mineures 1.71–1.76 (export CSV, monitoring, RBAC, templates email, runbook, domaine d’envoi) et correctifs SEO/onboarding/tests jusqu’à 1.76.4.

  2. v1.76.4Correctif

    · 1a7e78a

    test(e2e): ajouter Playwright register → devis → facture → paiement

    Couvre le parcours critique staff et fait échouer la CI (workflow e2e.yml + Postgres) en cas de régression.

  3. v1.76.3Correctif

    · 6cee8e4

    fix(seo): livrer l’audit claims vs modules stub

    Aligner catalogue COMING_SOON, copy marketing et robots/noindex pour éviter la survente des pages stub.

  4. v1.76.2Correctif

    · 64e1267

    test(billing): cover facturation server actions happy and edge paths

    test(billing): cover facturation server actions happy and edge paths. Gate CI on create/update/issue/pay/cancel/convert regressions without DB via mocked Vitest suite.

  5. v1.76.1Correctif

    · 192025c

    fix(seo): aligner claims marketing sur modules stub

    Évite la survente : stubs catalogue en COMING_SOON, copy landing/metadata honnête, robots/noindex sur l’app privée.

  6. v1.76.0Mineure

    · f840c40

    feat(email): domaine d’envoi org vérifié SPF/DKIM/DMARC

    domaine d’envoi org vérifié SPF/DKIM/DMARC. Permet à chaque organisation de configurer et vérifier son domaine Resend sur /email, puis d’envoyer les emails métier depuis ce From une fois VERIFIED.

  7. v1.75.0Mineure

    · 8b90bf7

    feat(ops): runbook incident restore et rollback

    Procédure GO/NO-GO + scripts gardés (rollback app via worktree/deploy, restore Postgres prod avec confirmation et pré-dump) pour un go-live commercial opérable.

  8. v1.74.0Mineure

    · 457e63e

    feat(email): catalogue templates transactionnels devis/facture/relance

    Expose sur /email (module gated) le catalogue V1 avec aperçu HTML/texte des templates déjà branchés aux fiches devis et factures.

  9. v1.73.0Mineure

    · 259ddde

    feat(security): RBAC fin MEMBER vs ADMIN vs OWNER

    Empêche les MEMBER de suspendre les modules ou de modifier les paramètres critiques, avec garde serveur et tests anti-IDOR.

  10. v1.72.0Mineure

    · ac3bde3

    feat(ops): monitoring uptime UptimeRobot / Better Stack

    Procédure reproductible sur /api/health, smoke ops:monitoring et garde verify — tokens SaaS hors git.

  11. v1.71.0Mineure

    · 8ac18a4

    feat(comptabilite): export CSV cabinet pour expert-comptable

    export CSV cabinet pour expert-comptable. Exporte factures émises et avoirs d’une période (client, SIRET, montants signés, paiements) via /api/comptabilite/export-csv, gated par le module Comptabilité.

  12. v1.70.3Correctif

    · 55edc1e

    fix(onboarding): casser la boucle de redirection middleware en prod

    /onboarding n’est plus traité comme le shell staff : un user sans org peut ouvrir le wizard, et le layout (DB) reste la source de vérité si le JWT hasStaffAccess est encore faux.

  13. v1.70.2Correctif

    · 32adde2

    chore(versionning): aligner le journal sur HEAD

    Met à jour versions.generated.ts pour inclure le commit de régénération précédent (1.70.1).

  14. v1.70.1Correctif

    · bc10dc2

    chore(versionning): régénérer le journal après duplication et PDP

    régénérer le journal après duplication et PDP. Inclut les mineures 1.69.0 (dupliquer devis/facture) et 1.70.0 (décision PDP partenaire).

  15. v1.70.0Mineure

    · 8ab08f7

    feat(efacture): encoder la décision PDP partenaire (stub + fail-closed)

    encoder la décision PDP partenaire (stub + fail-closed). Fixe le choix V1 (PDP agréée à contracter, Chorus Pro hors B2G) sans nommer de vendeur, avec factory stub par défaut et refus d’envoi si transmission réelle sans adapter.

  16. v1.69.0Mineure

    · 641c58a

    feat(facturation): dupliquer un devis ou une facture en brouillon

    dupliquer un devis ou une facture en brouillon. Permet de réutiliser lignes et totaux (centimes) sans recopier paiements, e-facture ni lien devis, avec nouveau numéro et audit CREATE.

  17. v1.68.2Correctif

    · ce6f79c

    chore(versionning): aligner le journal sur HEAD

    Met à jour versions.generated.ts pour inclure le commit de régénération précédent.

  18. v1.68.1Correctif

    · 82ad44b

    chore(versionning): régénérer le journal après la page /versionning

    régénérer le journal après la page /versionning. Inclut le commit du journal semver comme version courante 1.68.0.

  19. v1.68.0Mineure

    · c70a2f0

    feat(docs): journal /versionning semver depuis l’historique git

    Chaque commit devient une version classée majeure/mineure/correctif, avec page publique, génération maintenable et lien footer.

  20. v1.67.0Mineure

    · 1e5aade

    feat(ops): pipeline migrations Prisma prod (safe)

    Dump préalable + prisma migrate deploy uniquement, branché sur deploy.sh, avec runbook et verify anti-régression.

  21. v1.66.0Mineure

    · 45c4925

    feat(ops): backups Postgres automatiques + restore testé

    backups Postgres automatiques + restore testé. Industrialise le dump quotidien (rétention, cron, env hors git) et le lie au restore drill isolé pour un go-live vérifiable.

  22. v1.65.0Mineure

    · f5de375

    feat(payments): Checkout Stripe facture portail (compte unique)

    Checkout Stripe facture portail (compte unique). Remplace le stub PORTAL_STUB par une session Checkout TTC, confirmation.

  23. v1.64.0Mineure

    · 0aeb70e

    feat(ops): alertes disque / RAM / certificat TLS

    Surveillance host reproductible (cron + webhook hors git) pour anticiper saturation et expiry TLS avant go-live.

  24. v1.63.0Mineure

    · 41dc57d

    feat(security): invitation collaborateurs staff (email + rôle)

    invitation collaborateurs staff (email + rôle). Permet aux OWNER/ADMIN d’inviter des collaborateurs via /parametres, avec acceptation publique /invite/accept et isolation multi-tenant anti-IDOR.

  25. v1.62.0Mineure

    · 9632631

    feat(einvoice): webhooks statut → maj Invoice (ACCEPTED/REJECTED)

    webhooks statut → maj Invoice (ACCEPTED/REJECTED). Expose POST /api/webhooks/einvoice (flag + secret, stub provider-agnostic),.

  26. v1.61.0Mineure

    · cd3dcc4

    feat(ops): exercice restore backup isolé vérifiable

    exercice restore backup isolé vérifiable. Permet de prouver un dump→restore hors prod (Postgres éphémère + smoke) avant go-live commercial.

  27. v1.60.0Mineure

    · fa9c0d8

    feat(perf): pagination server-side sur toutes les listes

    Limite les findMany non bornés via ?page= (skip/take Prisma) pour.

  28. v1.59.0Mineure

    · e0bec4b

    feat(legal): publier politique de rétention factures FR

    publier politique de rétention factures FR. Page publique /retention-factures (délai comptable 10 ans, rôles, pas de purge auto), lien footer et cockpit lg-retention.

  29. v1.58.0Mineure

    · a1d2dbc

    feat(legal): publier CGU SaaS V1 complètes

    publier CGU SaaS V1 complètes. Contrat d'utilisation structuré pour le go-live commercial, avec vérification anti-régression et item cockpit lg-cgu marqué livré.

  30. v1.57.1Correctif

    · a3022ae

    chore(todo): marquer lg-privacy livré dans le cockpit

    marquer lg-privacy livré dans le cockpit. Aligne checklist-data avec verify:lg-privacy et la politique publiée.

  31. v1.57.0Mineure

    · 1168bd2

    feat(legal): publier politique de confidentialité RGPD V1

    publier politique de confidentialité RGPD V1. Enrichit /confidentialite avec sections RGPD complètes, doc et script verify:lg-privacy pour le go-live commercial.

  32. v1.56.0Mineure

    · 83ec052

    feat(emails): reçu de paiement transactionnel après enregistrement

    reçu de paiement transactionnel après enregistrement. Complète em-payment-receipt : template FR, deliverPaymentReceiptEmail (Resend/log),.

  33. v1.55.0Mineure

    · 606382f

    feat(emails): rappel manuel facture échue avec template FR et PDF

    rappel manuel facture échue avec template FR et PDF. Permet d'envoyer un email de relance depuis la fiche facture lorsque l'échéance est dépassée, avec garde anti-doublon concurrent et audit dédié.

  34. v1.54.0Mineure

    · c313775

    feat(seo): consolider pages légales indexables pour go-live V1

    consolider pages légales indexables pour go-live V1. Centralise la metadata SEO (index, canonical, OG) et ajoute verify:seo-legal-pages pour garantir la cohérence sitemap/robots.

  35. v1.53.0Mineure

    · 739a8ed

    feat(security): durcir uploads contre traversal et spoof MIME

    Centralise upload-security (noms sûrs, sniff magic bytes, confinement tenant), sert les fichiers via GET /api/uploads avec contrôle membership, et bloque l’accès statique direct /uploads/.

  36. v1.52.0Mineure

    · fadba0d

    feat(emails): template et envoi invitation collaborateur staff

    template et envoi invitation collaborateur staff. Livre renderStaffInviteEmail, deliverStaffInviteEmail (Resend/log, anti-doublon, lien /invite/accept) pour branchement sec-invite-staff.

  37. v1.51.0Mineure

    · 2ec3444

    feat(marketplace): aligner prix catalogue landing et billing V1

    aligner prix catalogue landing et billing V1. Centralise les tarifs module dans module-pricing.ts, unifie l’affichage landing/in-app et précise l’activation gratuite tant que Stripe n’est pas actif.

  38. v1.50.0Mineure

    · 209bcb1

    feat(comptabilite): récap TVA collectée par période avec export CSV

    récap TVA collectée par période avec export CSV. Permet aux tenants avec le module Comptabilité d'agréger la TVA par taux sur factures émises et avoirs, avec filtre mensuel ou plage personnalisée.

  39. v1.49.0Mineure

    · a7149dc

    feat(portail): rate-limit accept invite et login portail

    rate-limit accept invite et login portail. Protège le portail client contre le brute-force sur les jetons d’invitation.

  40. v1.48.0Mineure

    · b306b1d

    feat(portail): emails notification facture, message et invitation

    emails notification facture, message et invitation. Compléter por-notif-email : templates FR, destinataires scoped org/client, envoi best-effort à l’émission et sur les messages staff↔client.

  41. v1.47.0Mineure

    · e9dd1a1

    feat(efacture): mentions légales facture électronique 2026

    mentions légales facture électronique 2026. Couvrir SIREN client, nature d’opération, adresse de livraison distincte et option TVA sur les débits sur PDF, UI et Factur-X, sans brancher de PDP réel.

  42. v1.46.1Correctif

    · 00b9021

    fix(efacture): saisir la catégorie B2B dans Paramètres

    saisir la catégorie B2B dans Paramètres. Réintègre le sélecteur et l’alerte calendrier e-facture dans le formulaire.

  43. v1.46.0Mineure

    · 9503a14

    feat(efacture): calendrier obligation B2B et alertes UX

    calendrier obligation B2B et alertes UX. Affiche les échéances 2026/2027 selon la catégorie d’entreprise déclarée.

  44. v1.45.0Mineure

    · cb76fb3

    feat(facturation): finaliser logo PDF et migration taille e-facture

    finaliser logo PDF et migration taille e-facture. Marque fac-logo livré au cockpit, évite d’effacer eInvoiceEnterpriseSize.

  45. v1.44.0Mineure

    · 723259d

    feat(facturation): CGV et mentions légales en pied de PDF

    CGV et mentions légales en pied de PDF. Permet de configurer les CGV en paramètres org et d’afficher les mentions.

  46. v1.43.0Mineure

    · 740e477

    feat(clients): état invitation portail + renvoyer / révoquer

    état invitation portail + renvoyer / révoquer. Affiche la synthèse et l’historique des invitations sur la fiche client, avec actions Renvoyer (rotation token) et Révoquer (PENDING→REVOKED), audit et isolation org.

  47. v1.42.0Mineure

    · 881a7ac

    feat(launch): footer légal landing complet avec pages publiques

    footer légal landing complet avec pages publiques. Ajoute Mentions / CGU / Confidentialité / Cookies au pied de page, pages LCEN V1 et verify:legal-footer pour le go-live commercial.

  48. v1.41.0Mineure

    · 88b5a0a

    feat(facturation): remises ligne et globale (€ / %) en centimes

    remises ligne et globale (€ / %) en centimes. Permet de saisir une remise par ligne et une remise document (% ou montant HT).

  49. v1.40.0Mineure

    · cd84116

    feat(facturation): allow decimal line quantities (hours, m²)

    allow decimal line quantities (hours, m²). Store Quote/Invoice/CreditNote line quantities as Decimal(14,4) while keeping HT/VAT/TTC in integer cents via scaled lineTotals.

  50. v1.39.1Correctif

    · 297af83

    Ensure the external Postgres volume exists before remote compose up.

    Garantit l’existence du volume Postgres externe avant compose up distant.

  51. v1.39.0Mineure

    · fa64d72

    Persist Production Cockpit progress in Postgres with a durable Docker volume.

    Persistance du cockpit Production dans Postgres (volume Docker durable).

  52. v1.38.0Mineure

    · 72aca63

    feat(facturation): factures d'acompte et de solde sur un devis

    factures d'acompte et de solde sur un devis. Permet plusieurs factures liées au même devis (quoteId non unique), avec pourcentage d'acompte, reste à facturer visible et conversion totale inchangée.

  53. v1.37.0Mineure

    · 47cf25e

    Add Factur-X EN16931 generation (PDF/A-3 + CII XML).

    Génération Factur-X EN16931 (PDF/A-3 + XML CII).

  54. v1.36.0Mineure

    · 79e0a8f

    Add credit notes (avoirs) for paid invoices.

    Avoirs (notes de crédit) pour factures payées.

  55. v1.35.0Mineure

    · 9d99e2f

    Enforce EMAIL_FROM on verified amcnumerique.fr for Resend prod.

    EMAIL_FROM contraint au domaine amcnumerique.fr vérifié (Resend).

  56. v1.34.0Mineure

    · edd7f0a

    Add indelible view-as banner with 1h support timeout.

    Bannière view-as indelible avec timeout support 1 h.

  57. v1.33.0Mineure

    · bbdb092

    Allow staff to revoke client portal access from the customer sheet.

    Révocation de l’accès portail depuis la fiche client.

  58. v1.32.0Mineure

    · 3376122

    Enforce MIME whitelist and 10 MB cap on document uploads.

    Whitelist MIME et plafond 10 Mo sur les uploads.

  59. v1.31.0Mineure

    · 9636eac

    Require valid issuer and recipient SIRET before e-invoice transmission.

    SIRET émetteur/destinataire requis avant transmission e-facture.

  60. v1.30.0Mineure

    · 9ad563b

    Harden server actions against cross-tenant IDOR.

    Durcissement anti-IDOR des server actions.

  61. v1.29.0Mineure

    · c54b24c

    Add IBAN, BIC and account holder on invoice PDFs.

    IBAN, BIC et titulaire de compte sur les PDF facture.

  62. v1.28.0Mineure

    · 6865b7b

    Add automated cross-tenant isolation tests and PDF guards.

    Tests d’isolation multi-tenant et gardes PDF.

  63. v1.27.0Mineure

    · 39a7415

    Add French late-fee legal mentions on invoices and org settings.

    Mentions légales pénalités de retard FR sur factures et paramètres.

  64. v1.26.0Mineure

    · 63fa94f

    Add CI workflow for lint, typecheck, and build.

    Workflow CI : lint, typecheck et build.

  65. v1.25.0Mineure

    · 1ccbd9b

    Add Vitest unit tests for money, numbering, and VAT.

    Tests unitaires Vitest (money, numérotation, TVA).

  66. v1.24.0Mineure

    · fd064e3

    Add dedicated invoice-sent email template with PDF.

    Template email dédié « facture envoyée » avec PDF.

  67. v1.23.0Mineure

    · b374fdd

    Add dedicated quote-sent email template with PDF.

    Template email dédié « devis envoyé » avec PDF.

  68. v1.22.0Mineure

    · be4d329

    Enforce login rate-limit in NextAuth authorize.

    Rate-limit de connexion dans NextAuth authorize.

  69. v1.21.0Mineure

    · 338af83

    Enforce org/user suspension across PDF, API, and portal.

    Suspension org/utilisateur appliquée sur PDF, API et portail.

  70. v1.20.0Mineure

    · 54e1946

    Harden forgot-password reset with hashed tokens and anti-IDOR checks.

    Reset mot de passe : tokens hashés et anti-IDOR.

  71. v1.19.0Mineure

    · 5d684e2

    Harden session gates with safe callbackUrl and route matrix.

    Gates de session : callbackUrl sûr et matrice de routes.

  72. v1.18.0Mineure

    · 38936ac

    Isolate portal sessions from the staff shell.

    Isolation des sessions portail par rapport au shell staff.

  73. v1.17.0Mineure

    · 713401a

    Prevent invoice/quote number gaps with row-level locks.

    Numérotation sans trou via verrous niveau ligne.

  74. v1.16.0Mineure

    · 8213910

    Enforce strict quote/invoice status transitions server-side.

    Transitions de statut devis/facture strictes côté serveur.

  75. v1.15.0Mineure

    · 04ecb92

    Send quotes and invoices by email with PDF attachment.

    Envoi devis et factures par email avec PDF joint.

  76. v1.14.0Mineure

    · fbc99e0

    Add reproducible post-deploy smoke procedure for critical paths.

    Procédure smoke post-déploiement reproductible.

  77. v1.13.0Mineure

    · b4ff216

    Add demo-account audit for go-live weak password checks.

    Audit des comptes démo pour le go-live.

  78. v1.12.0Mineure

    · 99dec70

    Harden prod NEXTAUTH_URL, APP_URL, and SECRET checks.

    Contrôles NEXTAUTH_URL, APP_URL et SECRET en production.

  79. v1.11.2Correctif

    · 3ec818b

    Warn and block demo seed passwords in production.

    Blocage des mots de passe démo en production.

  80. v1.11.1Correctif

    · 8420dff

    Document production env checklist and keep .env.example in sync.

    Checklist env prod et synchronisation de .env.example.

  81. v1.11.0Mineure

    · 524f4c1

    Add transactional password-reset email with valid reset link.

    Email transactionnel de réinitialisation de mot de passe.

  82. v1.10.0Mineure

    · 8b7734d

    Add typecheck script and GitHub Actions gate for tsc --noEmit.

    Script typecheck et gate GitHub Actions (tsc --noEmit).

  83. v1.9.0Mineure

    · 14d9b49

    Add /api/health route with PostgreSQL ping for ops checks.

    Route /api/health avec ping PostgreSQL pour le monitoring.

  84. v1.8.0Mineure

    · b18aa68

    Add branded HTML portal invite email template.

    Template HTML d’invitation portail client.

  85. v1.7.0Mineure

    · d5d04d5

    Harden production secrets handling and keep them out of git.

    Durcissement des secrets production et exclusion du git.

  86. v1.6.0Mineure

    · f5d8cd5

    Add security response headers (CSP, HSTS, XFO, Referrer).

    En-têtes de sécurité HTTP (CSP, HSTS, X-Frame-Options, Referrer-Policy).

  87. v1.5.0Mineure

    · 8f0ff2b

    Allow portal clients to download their invoice PDFs.

    Téléchargement PDF des factures depuis le portail client.

  88. v1.4.1Correctif

    · d090f3d

    Centralize active-only product picker for quote selectors.

    Sélecteur produits : uniquement les articles actifs dans les devis.

  89. v1.4.0Mineure

    · 8b72c1e

    Show customer balance (outstanding + overdue) on the client fiche.

    Encours et impayés visibles sur la fiche client.

  90. v1.3.0Mineure

    · 6d6e47e

    Surface remaining due on portal and invoice PDFs.

    Affichage du reste dû sur le portail client et les PDF facture.

  91. v1.2.1Correctif

    · c59055c

    Improve partial payment UX on invoices.

    Amélioration UX des paiements partiels sur les factures.

  92. v1.2.0Mineure

    · be055cd

    Add French VAT presets (0 / 5.5 / 10 / 20) and exemption.

    Catalogue TVA français (0 / 5,5 / 10 / 20) et exonération.

  93. v1.1.0Mineure

    · 884a39a

    Ship payment terms MVP and mark fac-due-terms done in the cockpit.

    Conditions de paiement (à réception, 30 j, fin de mois +45) sur schéma, UI et PDF.

  94. v1.0.0Majeure

    · 5c09ab4

    Ship AMC Business OS for production deploy.

    Première livraison complète pour déploiement production (app, Prisma, Docker/rsync, cockpit /todo).

  95. v0.1.0Mineure

    · 2daa871

    first commit

    Initialisation du dépôt AMC Business OS.