9.8 KiB
CHANGELOG — ks-config
0.5.3-pre.002-delta-fix-001
- aligne tous les contrats/types publics de
ks-configsur la règle workspace imposantcrate::Itemdepuis leur crate propriétaire, y compris dans leur module de déclaration et dans les tests ; - aligne les appels aux fonctions publiques réexportées sur le crate-root et ajoute le canari
KH_CFG015pour empêcher le retour d'une référence locale non qualifiée à un type public de configuration.
0.5.3-pre.002
- remplace les contrats runtime
PostgresConfig/SqliteConfigparDatabaseConfig { enabled, backend, backend_options }afin queks-configne connaisse plus les paramètres d'un moteur non sélectionné ; - limite la validation store à la structure backend-agnostique et laisse
ks-storeinterpréter/valider les options concrètes, sans modifier les conventionsKS_SECRET_*ni la résolution des placeholders ; - aligne
store.config.json, son exemple, le schéma spécialisé, le schéma runtime et les fixtures de configuration sur ce contrat opaque.
0.5.2-pre.006-delta-fix-007
- corrige le test de séparation des répertoires wallet afin qu’il résolve d’abord
${KS_WALLETS_DIRECTORY:-wallets}comme le chemin de chargement runtime ; - rend le test indépendant d’un éventuel override
KS_WALLETS_DIRECTORYen vérifiant la relationtemporary_wallet_dir = wallet_dir/temporary/local_devnetplutôt qu’une racine littérale.
0.5.2-pre.006-delta-fix-006
- réinclut dans le delta
config/wallet.config.jsonetconfig/exemples/example.wallet.config.json, omis par erreur dansfix-005, afin que leurs sous-répertoires temporairestemporary/...correspondent au contrat runtime résolu ; - précise dans le schéma wallet que
wallets_directoryest la racine persistante.kswalletet queprofile.directorydésigne les wallets/fixtures temporaires du profil.
0.5.2-pre.006-delta-fix-005
- sépare le store natif persistant
wallet_dirdetemporary_wallet_dir: les.kswalletutilisent désormais directement la racinewallets_directory, tandis que les wallets et keypairs de fixtures restent sous le sous-répertoire temporaire du profil ; - propage les deux chemins dans le contrat runtime résolu et son schéma sans déplacer automatiquement les fichiers existants.
0.5.2-pre.006
- ajoute
wallet_aliasaux profils du document wallet comme sélection optionnelle/nullable d'un wallet natif persistant, sans password ni matériau secret dansks-config; - propage cette sélection non sensible vers le contrat runtime
WalletConfiget valide l'alias avec les mêmes bornes queks-wallet; - garde les documents
0.5.1compatibles lorsquewallet_aliasest omis, conservenullcomme absence explicite de sélection et documente un exemple de sélection persistante.
0.5.1-pre.009
- réconcilie schémas, exemples sous
config/exemples/, guide de configuration et documentation de crate avant archivage du plan0.5.1; - retire du TODO la tâche de clôture
pre.009désormais terminée, sans modifier les contrats runtime.
0.5.1-pre.008
-
Fix: use
Result::is_err()for execution and wallet schema validation checks, removing the Clippy redundant-pattern warnings without changing fail-closed behavior. -
retire
ts-rsdeks-config, supprime ses bindings TypeScript générés et réserve les projections frontend aux DTO des applications propriétaires ; -
rend les contrats source/runtime susceptibles de contenir des valeurs résolues non sérialisables et non
Debugpar défaut, et retire les sérialiseurs publics deAppConfig; -
ajoute la classification
Secret > Internal > Public, y compris pour les chaînes composées contenant plusieurs placeholders d'environnement, ainsi qu'une représentation diagnostic générique qui ne révèle jamais les valeurs secret/internal ; -
rend la section
applicationdes compositions opaque pourks-configet fournit un helper générique de validation JSON Schema pour les fragments possédés par les binaires ; -
durcit les erreurs de validation/décodage afin de ne plus recopier les valeurs rejetées, notamment pour les URLs et fragments contenant potentiellement des secrets ;
-
ajoute un test d'API externe et des canaris de non-divulgation pour les helpers de sensibilité.
0.5.1-pre.007
- extrait store, wallet et execution vers
config/store.config.json,config/wallet.config.jsonetconfig/execution.config.json, chacun avec schéma, exemple etdefault_profile; - place
wallets_directoryhors profils wallet et déplace les autorisations*_send_enableddans la politique execution ; - remplace
app.auto_reconnect_defaultpar des classes de defaults WebSocket nommées dans le transport, avec overrides propres à chaque endpoint ; - permet la composition directe des defaults partagés sans fichier applicatif et valide les références de profils d’une composition avant production du contrat runtime ;
- supprime la nécessité d’une composition par défaut propre à
ks-pipeline-demo-scenarios.
0.5.1-pre.006
- remplace le document source monolithique
app.config.jsonpar des compositions propres aux binaires, dontconfig/kb-app-demo-desktop.default.config.jsonetconfig/ks-pipeline-demo-scenarios.default.config.json; - extrait les endpoints HTTP/WebSocket vers
config/transport.config.jsonet les listeners versconfig/listeners.config.json, chacun avec schéma et exemple dédiés sousconfig/schemas//config/; - conserve
AppConfig/ProfileConfigcomme contrat runtime résolu transitoire, reconstruit depuis la composition et les documents partagés ; - ajoute les APIs typées de chargement, validation et sélection de profils de composition, transport et listeners ;
- ajoute un test d’API externe garantissant que composition, transport et listeners restent accessibles uniquement via les exports crate-root ;
- réserve le split store/data, wallet, execution et configuration spécifique des binaires à
pre.007, avant les surfaces publiques sûres depre.008.
0.5.1-pre.005
- retire définitivement le bloc
loggingdeProfileConfiget du schéma général ; - aligne le contrat général et le desktop sur
config/app.config.json, validé parconfig/schemas/app.config.schema.json; - conserve des profils applicatifs indépendants du document logging possédé par
ks-logging; - ajoute
config/example.app.config.jsoncomme exemple minimal conforme.
0.5.1-pre.004
- migre le sélecteur d'environnement vers
KS_ENV_FILEet les placeholders PostgreSQL/Helius versKS_SECRET_*; - aligne
.env.example,config/example.config.json, les tests et la documentation sur le namespace Khadhroony Solana ; - ne met pas encore en œuvre le camouflage ou la propagation de sensibilité, réservés à la frontière runtime/public après le split config/logging.
0.5.1-pre.003
- aligne
config/example.config.jsonsur les identités hiérarchiquesks-lib-*afin que les routes de logging de référence suivent les producteurs renommés ; - ne modifie ni le schéma de configuration ni les variables d'environnement, réservées aux prereleases suivantes.
0.5.1-pre.002
- renomme
kb-configenks-configet l'identifiant Rustkb_configenks_config; - met à jour les chemins TS-RS source vers
frontend/ts/bindings/ks_configsans livrer les bindings générés ; - conserve le format de configuration et les variables d'environnement historiques jusqu'aux prereleases dédiées.
0.5.0-pre.002
- confirme pour
0.5.1le split de la configuration générale et du logging en documents et schémas distincts ; - fixe la convention cible
KS_SECRET_*/KS_PUBLIC_*/KS_*pour les variables d’environnement propres au projet ; - documente la séparation future source/runtime/public et interdit l’usage diagnostic du JSON résolu complet ;
- précise les tâches de migration, tests externes et non-divulgation sans modifier encore le contrat runtime
0.4.8.
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.075
- validation statique que
ks-configreste l’unique propriétaire direct dedotenvy;
0.1.0-pre.073
- ajout du guide transversal
docs/guides/CONFIGURATION.md;
0.1.0-pre.072
- reclassement du TODO selon les blocants avant
0.4.6, les travaux0.4.7, les versions ultérieures et les dépendances conditionnelles.
0.1.0-pre.070
- enrichissement de
USAGE.mdavec plusieurs exemples couvrant les familles d’API publiques significatives.
0.1.0-pre.069
Documentation
- création de
TODO.md,USAGE.mdet du changelog détaillé ; - réécriture du README selon l’architecture bot3 ;
- suppression de la section
Non publié, incompatible avec le rôle chronologique du changelog ; - retrait des limitations et travaux futurs, désormais maintenus dans
TODO.mdouUSAGE.mdselon leur nature ; - clarification de la séparation entre historique de prerelease et objectifs futurs ;
- réécriture de
TODO.mdsous forme de tâches uniquement ; - correction des exemples de
USAGE.mdafin de ne pas utiliser l’opérateur?.
0.1.0
Migré
- migration et consolidation de la configuration typée bot2 dans
ks-config; - conservation du schéma JSON, des profils, endpoints, listeners, paramètres de stockage, logging, wallet et exécution.
Modifié
- adoption des règles Rust 2024 et Khadhroony ;
- export TypeScript contrôlé des types destinés au frontend ;
- validation structurée par
ks_core::Error.
Validation
- validation de l’exemple contre le schéma ;
- tests de round-trip, profils actifs, placeholders, URLs, rôles et invariants opérationnels.