Skip to content

v0.1.144

Choose a tag to compare

@github-actions github-actions released this 30 Aug 21:13
· 35 commits to main since this release
c5b019f

⚠️ Second train du même jour, et la raison est écrite plutôt que tue. 0.1.143 est partie à
15:10. La règle de cadence de docs/RELEASING.md dit « un train par jour au plus » avec trois
exceptions — sécurité, paquet cassé sur le registre, réparation de la chaîne de publication — et
celui-ci n'en est aucune. C'est une décision du mainteneur, dont le document dit qu'elle lui revient
(« ce qui est dans ce train, et s'il en vaut un »). Elle est consignée ici parce que le contraire a
déjà coûté : le 25/08, la règle annonçait deux exceptions, la pratique en utilisait une troisième, et
un audit externe a demandé laquelle des deux mentait. Un écart énoncé vaut mieux qu'un écart tu.

Changed

  • ⚠️ La carte publie un NOM de migration, plus un chemin — parce qu'une garde de sécurité d'hôte
    tirait dessus, et que la doctrine de ce dépôt dit que c'est à l'émetteur de céder.
    Une garde de
    la session STUDIO refuse toute carte d'identité contenant supabase|secret|key|token : un
    balayage de texte volontairement grossier, qui protège une réponse publique contre la fuite
    d'une URL de projet, d'une clé ou d'un jeton. Nos valeurs étaient préfixées
    supabase/migrations/… — faux positif sans ambiguïté, mais le refus était bien fondé.
    ⚠️ Le préfixe part, la garde reste. presenceJetons porte ce nom (et non presenceTokens)
    parce que cette même garde avait déjà tiré une fois, et le commentaire qui l'accompagne posait
    déjà la règle : le bon geste face à son refus est de changer ce qu'on émet, jamais de desserrer
    la garde
    . Nous avions donc la doctrine, et nous l'avons ratée à la première occasion où l'émetteur
    c'était nous sur une valeur plutôt que sur un nom de champ. Le répertoire ne se perd pas : il
    est dit une fois dans HOST-CONTRACT.md, et le journal de l'exploitant continue d'imprimer le
    chemin complet — ce message s'adresse à quelqu'un qui le lit, pas à un balayage.
    ⚠️ Le cas est instructif par la façon dont il s'est réveillé : manquant publiait ces chemins
    depuis toujours, mais restait [] chez cet hôte — la garde était donc verte depuis des mois dans
    une configuration où son sujet ne pouvait pas apparaître
    . Il a fallu connues, qui les liste
    sans condition, pour la faire tirer. Même motif que la carte qui disait « complet » sans couvrir
    une migration, sur une garde de sécurité cette fois.
    ⚠️ Et retirer le préfixe ne règle que la collision du jour, pas la classe — remarque du même
    hôte, et elle est juste : le nom de fichier reste une valeur que nous choisissons, donc
    0031-refresh-token-rotation.sql rouvrirait le même refus des mois plus tard, chez tous les hôtes
    à la fois. Deux bancs ferment ça, et convertissent une habitude de nommage en règle mesurée :
    l'un balaie supabase/migrations/ et refuse un nom fautif au moment où on l'écrit ; l'autre
    rend la carte réelle et passe le JSON sérialisé, clés comprises, au motif de l'hôte. Chacun a
    ses contrôles positifs : sans eux, ils passeraient aussi bien sur une carte vide ou un motif mort.

What changed in the package, by zone — 0.1.1430.1.144

Measured on the two tarballs, by the release workflow. Not written by hand.

Zone What it is Added Removed Changed
documents what a human reads 0 0 1
manifest package.json — version, exports, dependencies 0 0 1
server the code the host executes 0 0 1
context the injected-context implementations 0 0 0
browser-types the declarations the host's tsc reads for « ./bridge » — breaks a build, never a page 0 0 0
browser what the visitors' page executes 0 0 0
cli the command-line entry point 0 0 0
types declarations for the server and context entry points — breaks a build, never runtime 0 0 0
database the schema and the migrations the host applies itself 0 0 0
The files themselves
~ docs/HOST-CONTRACT.md
~ package.json
~ server/schema.js