77 lines
4.7 KiB
Markdown
77 lines
4.7 KiB
Markdown
<!-- file: ks-onchain-transport/CHANGELOG.md -->
|
||
<!-- version: 21 -->
|
||
|
||
# CHANGELOG — ks-onchain-transport
|
||
|
||
## `0.5.1-pre.008`
|
||
|
||
- Fix: retire complètement les URLs résolues des snapshots HTTP/WS/session, conserve ces snapshots backend-only et non sérialisables directement, sanitise le `Debug` de `WsSession`/`RpcEndpoint`, et ne recopie plus les erreurs brutes de connexion HTTP/WS susceptibles d’inclure une URL résolue. Les corps HTTP non-success et messages JSON-RPC distants ne sont plus recopiés dans les erreurs/logs afin qu’un fournisseur ne puisse pas y réinjecter une URL ou un credential. Le getter d’URL HTTP inutilisé est supprimé et le getter WS nécessaire à la session devient `pub(crate)`.
|
||
|
||
- remplace les dérivations `Debug` de `HttpClient` et `WsClient` par des implémentations manuelles sanitisées qui ne recopient aucune chaîne issue de la configuration d’endpoint et utilisent un marqueur `<redacted>` ;
|
||
- conserve ainsi `Debug` sur les clients et pools sans réintroduire `Debug` sur `ks_config::HttpEndpointConfig` / `WsEndpointConfig`, et ajoute des tests canaris HTTP/WS de non-divulgation.
|
||
|
||
## `0.5.1-pre.007`
|
||
|
||
- aligne les fixtures d’exécution sur le déplacement des autorisations `*_send_enabled` vers `ExecutionConfig` ; le comportement RPC reste inchangé.
|
||
|
||
## `0.5.1-pre.006`
|
||
|
||
- permet de construire directement les pools HTTP et WebSocket depuis `ks_config::TransportProfileConfig` ;
|
||
- conserve temporairement les constructeurs `from_profile` sur le contrat runtime résolu pour compatibilité pendant la décomposition de configuration.
|
||
|
||
## `0.5.1-pre.002`
|
||
|
||
- renomme `kb-onchain-transport` en `ks-onchain-transport` et `kb_onchain_transport` en `ks_onchain_transport` ;
|
||
- aligne le target racine de tracing et les consommateurs sans modifier les contrats HTTP/WS/RPC.
|
||
|
||
## `0.4.8-pre.011`
|
||
|
||
- propage le champ JSON-RPC `returnData` de `simulateTransaction` vers le résultat commun d’exécution sans interprétation fournisseur.
|
||
|
||
|
||
## 0.4.8-pre.010
|
||
|
||
- documente que les limites de rôles doivent être additionnées pour respecter le quota global d’un endpoint public et que le quota par méthode peut être plus strict que le quota global ;
|
||
- aligne l’exemple `local_devnet` sur un pacing conservateur pour `api.devnet.solana.com` : `3 r/s` pour les lectures et `1 r/s` pour les transactions, avec bursts bornés et cooldown de `10 s` ;
|
||
|
||
- applique réellement `requests_per_second`, `burst_capacity` et `max_concurrent_requests` au rôle HTTP sélectionné avant chaque tentative réseau ;
|
||
- partage le token bucket, le sémaphore de concurrence et le cooldown distant entre tous les clones d’un même endpoint ;
|
||
- conserve le retry réactif `429` comme seconde ligne de défense lorsque le quota distant est plus strict ou partagé avec d’autres clients ;
|
||
- remplace les trois opérateurs `?` accidentels du parseur `Retry-After` par des branches explicites conformes aux règles du workspace ;
|
||
- expose la borne publique `MAX_COMPLETE_ACCOUNT_DATA_BYTES = 65536` pour réconcilier les pipelines stateful avec le contrat réel de `getAccountInfo` ;
|
||
- ajoute un retry borné avec backoff exponentiel sur les statuts HTTP `429` et les erreurs JSON-RPC `429` ;
|
||
- respecte `Retry-After` lorsqu’il contient un délai en secondes et utilise sinon `pause_after_rate_limit_ms` des rôles configurés ;
|
||
- conserve le même payload et la même transaction signée lors des retries, ce qui maintient l’idempotence de `sendTransaction` ;
|
||
|
||
## 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.074
|
||
|
||
- clôture de la tâche documentaire préalable à `0.4.6` après publication du guide transversal RPC/backfill/WebSocket ;
|
||
|
||
## 0.1.0-pre.073
|
||
|
||
- ajout du guide transversal [`docs/guides/RPC_BACKFILL_AND_WEBSOCKET.md`](../docs/guides/RPC_BACKFILL_AND_WEBSOCKET.md) ;
|
||
|
||
## 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 du `USAGE.md` avec plusieurs exemples couvrant les principales familles d’API publiques ;
|
||
- ajout du contrat documentaire de la crate ;
|
||
- description des APIs publiques HTTP, WebSocket, JSON-RPC et exécution ;
|
||
- clarification de la séparation entre transport, pipeline, décodage et stockage ;
|
||
- classement des travaux futurs de streaming et résilience dans le TODO.
|
||
|
||
## 0.1.0-pre.062
|
||
|
||
- migration et consolidation des anciennes crates RPC de bot2 ;
|
||
- renommage en `ks-onchain-transport` ;
|
||
- conservation des transports HTTP, WebSocket, acquisition canonique, simulation, soumission et confirmation ;
|
||
- adaptation aux normes Rust 2024 et Khadhroony bot3.
|