# CHANGELOG — kb-lib ## 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 l’instruction `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 l’ombre portée de `metadata_program` dans trois tests de comptes afin d’éviter l’infé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é jusqu’aux phases comptes et instructions. ## 0.4.7-pre.016 — clôture documentaire Metaplex - généralise la documentation d’usage 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 l’exé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 d’intent, 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 l’exécuteur Metaplex - remplacement de l’exé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 d’API 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 d’utilisation ; - réécriture de `TODO.md` sous forme de tâches uniquement ; - correction des exemples de `USAGE.md` afin de ne pas utiliser l’opé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 d’exports, d’erreurs 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.