# CHANGELOG — kb-lib ## 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 historiques constructibles, 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 ; - construction des instructions restantes depuis le contrat IDL exact, avec comptes, signers, mutabilité et arguments Borsh officiels ; - extension des tests unitaires d’intent, builder et capability ; - fermeture de la matrice des 58 discriminants avant l’intégration pipeline. ## 0.4.7-pre.005 — programmable NFTs et délégations - ajout des wrappers officiels `Burn`, `Delegate`, `Revoke`, `Lock`, `Unlock`, `Transfer` et `CloseAccounts` ; - validation du couplage des comptes Token Authorization Rules et maintien de la simulation obligatoire ; - exposition des codes d’opération, bindings TS-RS et capacités exactes correspondantes ; - ajout de tests unitaires dans `intent.rs`, `builder.rs` et `executor.rs` ; - maintien des versions remplacées en decode-only avec renvoi vers leur wrapper canonique. ## 0.4.7-pre.004 — collections, créateurs et autorités - ajout des wrappers courants `Verify` et `Unverify` pour les créateurs et collections ; - ajout de `SetCollectionSize` comme opération officiellement constructible mais dépréciée, soumise à approbation opérateur explicite ; - validation des combinaisons de comptes creator/collection et des PDA collection metadata/master edition ; - ajout des codes d’opération, exports publics, bindings et tests unitaires correspondants ; - maintien des anciennes instructions de vérification remplacées en decode-only. ## 0.4.7-pre.003 — fondations de l’exécuteur Metaplex ### Correctif `0.4.7-pre.003-delta-fix-003` - ajout de tests unitaires dans `intent.rs`, `builder.rs` et `executor.rs` pour la surface Metaplex introduite en `pre.003` ; - vérification des codes d’opération, de la partition des opérations dépréciées, des politiques fail-closed, des PDA metadata/edition, du builder `PuffMetadata`, des capacités exactes et de la parité entre dispatch typé et générique. ### Correctif `0.4.7-pre.003-delta-fix-002` - suppression de la dépendance directe inutile à `solana-program` dans le workspace et `kb-lib` ; - utilisation des types modulaires `solana_instruction::Instruction` et `solana_pubkey::Pubkey` pour le contrat interne ; - conversion locale des types de compatibilité retournés par `mpl-token-metadata 5.1.1`, sans exposer ni dépendre directement de `solana-program` ; - suppression de tous les opérateurs `?` introduits par la surface Metaplex `pre.003` ; - ajout des TODO de réaudit des exécuteurs Solana Core/SPL et de leur orchestration pipeline selon la nouvelle règle des opérations remplacées et obsolètes. - remplacement de l’exécuteur réservé par une surface typée initiale ; - builders courants `Create` et `UpdateAsUpdateAuthorityV2` fondés sur `mpl-token-metadata` ; - validation des PDA metadata/edition, des signers autorisés, des comptes de rule set et des plafonds de coût ; - simulation et dry-run obligatoires pour cette première tranche ; - correction de la classification des instructions remplacées et obsolètes. ## 0.4.7-pre.002 — contrat Metaplex fermé - classification exhaustive des 58 discriminants Metaplex Token Metadata ; - comptes positionnels et signers importés de l’IDL archivée `V1_14_0` ; - propriété unique des faits metadata, admin, lifecycle et risk/compliance ; - exposition directe des créateurs, collection, uses, token standard et programmable config dans le snapshot metadata autoritatif ; - tests contractuels d’exhaustivité, d’unicité et de séparation 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.