Skip to content

Commit 1b1d07d

Browse files
ArthurDEV44claude
andcommitted
docs: add release notes for v0.8.0
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 1009110 commit 1b1d07d

File tree

1 file changed

+136
-0
lines changed

1 file changed

+136
-0
lines changed

RELEASE_NOTES_v0.8.0.md

Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
# Distill v0.8.0 - Release Notes
2+
3+
## Vue d'ensemble
4+
5+
Cette version majeure apporte des améliorations significatives sur trois axes principaux : **l'analyse de code AST**, **la sécurité et robustesse du SDK sandbox**, et **l'intelligence du résumé de logs**. Plus de 6 700 lignes de code ajoutées pour une expérience plus fiable et performante.
6+
7+
---
8+
9+
## Parsing AST enrichi pour 6 langages
10+
11+
### Nouvelles capacités d'extraction
12+
13+
Le parsing de code est maintenant considérablement plus détaillé. Pour tous les langages supportés (TypeScript, Python, Go, Rust, PHP, Swift), l'extraction inclut désormais :
14+
15+
- **Visibilité et modificateurs** : public/private/protected, static, abstract, final
16+
- **Génériques et paramètres de type** : support complet des types génériques avec contraintes
17+
- **Paramètres détaillés** : types, valeurs par défaut, paramètres optionnels, rest parameters
18+
- **Décorateurs et attributs** : extraction des annotations et métadonnées du code
19+
- **Enums** : nouveau type d'élément extrait (auparavant manquant)
20+
21+
### Améliorations par langage
22+
23+
**Rust** : Support des lifetimes, clauses `where`, fonctions `async/unsafe/const`, attributs `#[derive(...)]`, et ABI extern.
24+
25+
**Swift** : Support de Swift 6+ avec actors distribués, `async/await`, `Sendable`, typed throws, `@MainActor`, et le nouveau niveau d'accès `package`.
26+
27+
**Python** : Extraction améliorée des décorateurs, annotations de type, et classes avec héritage multiple.
28+
29+
**Go** : Meilleure gestion des interfaces, méthodes de receiver, et types embarqués.
30+
31+
**PHP** : Support des traits, interfaces, et namespaces amélioré.
32+
33+
---
34+
35+
## SDK Sandbox renforcé
36+
37+
### Gestion d'erreurs type-safe avec neverthrow
38+
39+
Toutes les API du SDK retournent maintenant des types `Result<T, Error>` au lieu de lever des exceptions. Cela permet :
40+
41+
- **Prévisibilité** : Impossible d'oublier de gérer une erreur - le compilateur vous rappelle à l'ordre
42+
- **Composition** : Chaînage d'opérations avec gestion d'erreurs intégrée
43+
- **Rétrocompatibilité** : Les anciennes API "legacy" qui lèvent des exceptions restent disponibles
44+
45+
### Types marqués (Branded Types)
46+
47+
Introduction de types marqués pour la sécurité à la compilation :
48+
49+
- `ValidatedPath` : Chemin de fichier validé contre les traversées de répertoire
50+
- `SafePattern` : Pattern glob vérifié comme sûr
51+
- `SanitizedGitArg` : Argument git nettoyé contre l'injection de commandes
52+
- `SanitizedCode` : Code utilisateur ayant passé l'analyse de sécurité
53+
54+
Ces types garantissent au niveau du compilateur TypeScript qu'une valeur a été validée avant utilisation.
55+
56+
### Ressources avec nettoyage automatique (Disposables)
57+
58+
Utilisation du nouveau pattern `using` de TypeScript 5.2+ pour la gestion automatique des ressources :
59+
60+
- Les timers d'exécution sont automatiquement nettoyés
61+
- Les sandboxes libèrent leurs ressources même en cas d'erreur
62+
- Code plus propre et moins de fuites de ressources
63+
64+
### Mode QuickJS (expérimental)
65+
66+
Nouveau mode d'exécution optionnel utilisant WebAssembly pour une isolation complète :
67+
68+
- Sandbox véritablement isolée du processus Node.js
69+
- Activable via `DISTILL_USE_QUICKJS=true`
70+
- Plus sécurisé pour les cas d'usage sensibles
71+
72+
---
73+
74+
## Résumé de logs intelligent
75+
76+
### Scoring multi-facteurs
77+
78+
Nouveau système de scoring inspiré de BM25/TF-IDF qui prend en compte :
79+
80+
- **Niveau de log** : Erreurs pondérées plus fortement que les warnings et infos
81+
- **Unicité du contenu** : Logs uniques valorisés par rapport aux répétitions
82+
- **Position** : Début et fin de session considérés plus importants
83+
- **Rareté** : Patterns inhabituels mis en avant
84+
85+
### Clustering sémantique
86+
87+
Regroupement automatique des logs similaires :
88+
89+
- Détection de patterns récurrents (ex: "Connection failed to X")
90+
- Sélection du représentant le plus pertinent par cluster
91+
- Réduction significative de la redondance dans les résumés
92+
93+
### Extraction de patterns
94+
95+
Identification automatique des templates de logs avec variables :
96+
97+
- Conversion de messages en patterns génériques (ex: `Error connecting to <IP>:<PORT>`)
98+
- Statistiques sur la fréquence de chaque pattern
99+
- Aide à identifier les problèmes récurrents
100+
101+
### Résumé hiérarchique
102+
103+
Nouveau mode de résumé pour les fichiers volumineux :
104+
105+
- Découpage temporel ou par taille en sections
106+
- Résumé de chaque section puis agrégation
107+
- Vision multi-niveaux : vue d'ensemble, sections, entrées critiques
108+
109+
---
110+
111+
## Pipeline Builder fluide
112+
113+
Nouvelle API chaînable pour les opérations multi-étapes :
114+
115+
- Interface immutable et type-safe
116+
- Méthodes fluides : `glob()`, `read()`, `parse()`, `filter()`, `map()`, `compress()`
117+
- Présets pour cas courants : analyse de code mort, extraction de signatures
118+
119+
---
120+
121+
## Nouvelles dépendances
122+
123+
- **neverthrow** : Gestion d'erreurs fonctionnelle type-safe
124+
- **@jitl/quickjs-ng-wasmfile-release-sync** : Sandbox QuickJS WebAssembly
125+
- **@sebastianwessel/quickjs** : Bridge hôte pour QuickJS
126+
127+
---
128+
129+
## Changements notables
130+
131+
- L'option `detailed` du parsing est maintenant dépréciée - l'extraction détaillée est toujours activée pour une meilleure qualité d'AST
132+
- Les API retournant des `Result` sont la nouvelle norme ; les versions "legacy" qui lèvent des exceptions restent disponibles pour la rétrocompatibilité
133+
134+
---
135+
136+
**Note** : Cette release est un travail en cours. D'autres améliorations sont prévues avant la version finale 0.8.0.

0 commit comments

Comments
 (0)