Files
khadhroony-bot3/ks-wallet/CHANGELOG.md
2026-08-10 15:06:38 +02:00

83 lines
5.8 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: ks-wallet/CHANGELOG.md -->
<!-- version: 10 -->
# CHANGELOG — ks-wallet
## `0.5.2-pre.002`
- ajoute `WalletManager` pour la découverte non récursive des `.kswallet` dans le répertoire configuré et le lookup par alias ;
- ajoute `WalletManager::inspect_file()` pour inspecter explicitement un `.kswallet` situé hors du store sans modifier la configuration ni l'enregistrer automatiquement ;
- ajoute `WalletFileHandle`, handle opaque dont le chemin local reste privé et absent de `Debug` ;
- introduit le préambule d'identification natif minimal `KSWALLET` + version `u16` little-endian `1`, sans définir encore le payload, KDF ou AEAD ;
- ajoute `WalletIdentity` et `WalletPersistence`, et transforme `WalletSummary` en alias de compatibilité vers l'identité non sensible ;
- retire le chemin de stockage de `WalletSummary` et du `Debug` de `TemporaryWallet` ;
- conserve les wallets temporaires et la frontière `solana_signer::Signer` existante ;
- externalise la caractérisation du legacy dans `tests/legacy_characterization.rs` avec fixture synthétique, erreurs, permissions, symlink et refus d'écrasement ;
- ajoute `tests/public_api.rs` pour figer la façade crate-root multi-wallet et l'absence de chemin dans le `Debug` du handle ;
- ne crée encore aucun `.kswallet` réel et n'introduit aucun mot de passe ou chiffrement persistant.
## `0.5.2-pre.001`
- caractérise précisément le format legacy `<alias>.json`, ses permissions Unix, ses erreurs, sa publication directe dans le chemin final et ses limites datomicité/TOCTOU ;
- inventorie les consommateurs `ks-wallet`, les usages directs de `solana_keypair` / `solana_signer`, les variables/configurations wallet et les workflows CLI qui dépendent encore du keypair Solana brut ;
- définit le contrat fonctionnel `0.5.2` autour de la gestion multi-wallet par alias, des wallets temporaires/jetables, du mot de passe modifiable, de la signature sans exposition du secret et de limport/export explicite ;
- retient comme cible un conteneur natif binaire versionné `<alias>.kswallet`, sans fixer prématurément KDF/AEAD ou layout binaire ;
- impose un mot de passe valide pour tout export contenant ou permettant de reconstruire le secret ;
- définit la migration legacy comme import vers un nouveau `.kswallet` avec conservation de la pubkey, écriture atomique et rollback, sans réécriture destructive du `.json` ;
- corrige README/USAGE/TODO afin daligner les objectifs sur ce contrat simplifié ;
- ne modifie aucune API runtime, aucun fichier wallet et nintroduit encore aucun nouveau format persistant.
### `pre.001-delta-fix-001`
- corrige la version Cargo de `0.5.2-pre.001` vers le SemVer valide `0.5.2-pre.1` ;
- simplifie profondément le plan initial, retire lexclusion erronée de lexport privé contrôlé et supprime lhypothèse dun alias principal universel par profil ;
- formalise lextension native `.kswallet`, le wallet temporaire et lobligation de password pour tout export secret.
### `pre.001-delta-fix-002`
- précise que `ks-wallet` découvrira les wallets persistants par scan borné des `<alias>.kswallet` dans son répertoire résolu, sans faire confiance au seul nom de fichier ;
- distingue explicitement changement de password et rotation de keypair : le password rechiffre la même keypair, tandis quun nouveau secret Ed25519 implique une nouvelle pubkey ;
- rend obligatoires limport **et** lexport du format keypair JSON standard utilisé par les binaires Solana ;
- ajoute une matrice de compatibilité à établir pour Phantom, Solflare, Backpack, Trust Wallet, Coinbase/Base et les autres wallets Solana techniquement documentés ;
- borne `0.5.2` à un adaptateur wallet tiers dexemple en plus du format Solana CLI obligatoire, avec report des autres adaptateurs faisables au TODO pour une version ultérieure non déterminée ;
- interdit de synthétiser une recovery phrase supposée restaurer une keypair arbitraire lorsque la mnemonic/seed dorigine nest pas disponible.
## `0.5.1-pre.002`
- renomme `kb-wallet` en `ks-wallet` et `kb_wallet` en `ks_wallet` ;
- aligne le target racine de tracing et les consommateurs sans modifier le format persistant des wallets, réservé à `0.5.2`.
## `0.5.0-pre.002`
- caractérise le format persistant `0.4.8` comme format legacy à importer plutôt quà modifier in-place ;
- prépare pour `0.5.2` un conteneur versionné, une migration atomique/rollback et la séparation identité/secret/verrouillage/signature ;
- renforce le TODO sur labsence de propagation de secrets vers configuration, logs, erreurs, diagnostics ou Tauri.
## `0.4.8-pre.013`
- `pre.013-delta-fix-021` ajoute `TemporaryWallet::as_sync_signer()` afin de préserver le marqueur `Sync` du `solana_keypair::Keypair` lorsque le signataire traverse un futur async qui doit être `Send` ;
- conserve `as_signer()` inchangé pour les consommateurs historiques et nexpose toujours aucun octet secret.
## 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.071
- réécriture du README avec indication explicite du statut débauche ;
- ajout du TODO détaillant les fonctionnalités prévues pour `0.5.x` ;
- ajout du guide dutilisation et de plusieurs exemples publics ;
- clarification de la frontière entre signer, politique et exécution.
## 0.1.0-pre.062
- migration et renommage du wallet temporaire vers `ks-wallet` ;
- conservation des alias validés, keypairs temporaires et stockage local ;
- ajout des contrôles de permissions, type de fichier et effacement des buffers secrets ;
- adaptation aux normes Rust 2024 et Khadhroony bot3.