Files
khadhroony-bot3/kb-lib/CHANGELOG.md
2026-08-05 19:36:17 +02:00

122 lines
6.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- file: kb-lib/CHANGELOG.md -->
<!-- version: 21 -->
# CHANGELOG — kb-lib
## 0.4.8-pre.005 — instructions Solana Program Metadata
- active `DcMetadataSolanaProgramMetadataDecoder` pour les neuf discriminants stables `0..8` ;
- décode les arguments, comptes positionnels, signers, flags writable et sources inline ou Buffer avec des bornes explicites ;
- conserve les formes runtime actuelles non produites par le SDK, notamment `SetData` sur trois octets et les suffixes ignorés de `SetImmutable`, `Trim` et `Close` ;
- distingue comptes restants acceptés par le runtime et longueurs de comptes exactes ;
- documente le nom pré-stable `WithdrawExcessLamports` du tag `5` sans créer une entrée historique distincte de `Trim` ;
- ajoute la matrice dinstructions, laudit historique, les tests positifs/négatifs et le test de façade publique ;
- retire le décodeur Solana Program Metadata de linventaire des décodeurs réservés.
- aligne la structure du composant sur les règles du workspace : façade limitée aux sous-modules et réexports, implémentation déplacée dans `decoder.rs`, constantes centralisées dans `constants.rs` et accès internes via `crate::`.
- corrige les vecteurs négatifs `Initialize` afin de placer explicitement les valeurs invalides après les 16 octets du seed et de vérifier séparément `Encoding`, `Compression`, `Format` et `DataSource`.
## 0.4.8-pre.004 — comptes Solana Program Metadata
- ajoute les décodeurs publics bornés des comptes `Buffer` et `Metadata` ainsi que leur sélection par discriminateur ;
- valide le propriétaire `ProgM6…`, la borne Solana de 10 MiB et les headers fixes de 96 octets ;
- valide les PDA metadata canonical et non-canonical sans inventer de PDA stable pour les Buffers à autorité mutable ou alloués par keypair ;
- décode les sources `Direct`, `Url` et `External` sans lecture off-chain ni lecture implicite du compte référencé ;
- distingue `data_length` de la capacité allouée restante, compatible avec linstruction `Extend` ;
- ajoute une matrice contractuelle machine-readable, les tests de bornes, de données malformées et de façade publique ;
- applique le retour explicite requis par Clippy dans le test de longueur wire du modèle externe.
- corrige lombre portée de `metadata_program` dans trois tests de comptes afin déviter linférence récursive `Option<_>` signalée par `E0275`.
## 0.4.8-pre.003 — modèles Solana Program Metadata
- ajoute les constantes publiques des layouts fixes `Buffer`, `Metadata`, seed et référence externe ;
- ajoute les enums wire fermées, les cinq erreurs custom officielles et les conversions fail-closed ;
- ajoute les modèles bornés du seed, des données directes, URL et externes sans résolution off-chain ;
- ajoute les sérialisations wire sûres, les représentations JSON stables et les tests de façade publique ;
- conserve le décodeur Solana Program Metadata au statut réservé jusquaux phases comptes et instructions.
## 0.4.7-pre.016 — clôture documentaire Metaplex
- généralise la documentation dusage de la surface Metaplex ;
- reporte explicitement les validations Devnet spécialisées sans dégrader le statut des builders et tests existants.
## 0.4.7-pre.011 — réouverture des validations réseau
### Documentation
- réorganisation de `README.md`, `USAGE.md`, `TODO.md` et du changelog selon leur rôle documentaire ;
- suppression des tâches Metaplex terminées du TODO ;
- maintien des campagnes réseau hors du TODO de `kb-lib`, la surface de builders étant achevée.
## 0.4.7-pre.006 — fermeture de lexécuteur Metaplex
- fermeture des 35 opérations officiellement constructibles : 20 courantes et 15 dépréciées ;
- ajout des éditions, use authority, escrow, mint, migrate, use, collect, print et resize ;
- conservation des 22 instructions remplacées en decode-only et de Bubblegum comme frontière externe ;
- extension des tests unitaires dintent, builder, capability, PDA et signers.
## 0.4.7-pre.005 — programmable NFTs et délégations
- ajout des wrappers officiels `Burn`, `Delegate`, `Revoke`, `Lock`, `Unlock`, `Transfer` et `CloseAccounts` ;
- validation des comptes Token Authorization Rules et maintien de la simulation obligatoire.
## 0.4.7-pre.004 — collections, créateurs et autorités
- ajout des wrappers courants `Verify` et `Unverify` ;
- ajout de `SetCollectionSize` comme opération dépréciée soumise à approbation explicite.
## 0.4.7-pre.003 — fondations de lexécuteur Metaplex
- remplacement de lexécuteur réservé par une surface typée ;
- ajout des builders `Create`, `Update`, `PuffMetadata` et `SetTokenStandard` ;
- correction des dépendances Solana modulaires, suppression des opérateurs `?` introduits et ajout des tests de parité ;
- classification des opérations courantes, remplacées et obsolètes constructibles.
## 0.4.7-pre.002 — contrat Metaplex fermé
- classification exhaustive des 58 discriminants ;
- propriété unique des faits metadata, admin, lifecycle et risk/compliance ;
- séparation contractuelle avec Token-2022.
## 0.4.6
- alignement de la crate sur la version fonctionnelle bot3 `0.4.6` ;
- clôture des tâches de migration applicables et report explicite des évolutions ultérieures dans le TODO.
## 0.1.0-pre.072
- reclassement du TODO selon les blocants avant `0.4.6`, les travaux `0.4.7`, les versions ultérieures et les dépendances conditionnelles.
## 0.1.0-pre.070
- enrichissement de `USAGE.md` avec plusieurs exemples couvrant les familles dAPI publiques significatives.
## 0.1.0-pre.069
### Documentation
- ajout de `README.md`, `TODO.md`, `USAGE.md` et du présent changelog selon les normes bot3 ;
- suppression de la section `Non publié`, incompatible avec le rôle chronologique du changelog ;
- retrait des limitations et travaux futurs du changelog ;
- correction de la frontière entre historique, TODO et limites durables dutilisation ;
- réécriture de `TODO.md` sous forme de tâches uniquement ;
- correction des exemples de `USAGE.md` afin de ne pas utiliser lopérateur `?`.
## 0.1.0
### Migré
- consolidation des modèles, décodeurs, exécuteurs et matérialisateurs issus de nombreuses crates bot2 dans une façade unique ;
- migration des surfaces Solana Core, SPL Memo, SPL Token, SPL ATA, Token-2022, registre ElGamal et du décodeur Metaplex Token Metadata ;
- migration des contrats de replay, de sécurité et de matérialisation.
### Modifié
- adoption de Rust 2024, de `#![forbid(unsafe_code)]`, `#![deny(unreachable_pub)]` et des conventions strictes dexports, derreurs et de tracing ;
- remplacement des anciennes frontières de crates par des modules privés et des réexports publics contrôlés.
### Validation
- tests unitaires des décodeurs, exécuteurs, matérialisateurs et contrats consolidés ;
- matrices contractuelles chargées par les tests concernés ;
- validations Devnet conservées pour les scénarios explicitement couverts pendant la migration.