build(deps): Upgrade all dependencies and eliminate unsound chain #1

Merged
herel merged 1 commits from update-deps into main 2026-08-28 13:05:46 +00:00
Owner

Contexte

Passage de cargo audit avant et après mise à jour complète des dépendances afin d'évaluer les CVEs existantes.

Avant (92 dépendances) : 0 vulnérabilité, mais 1 avertissement — RUSTSEC-2023-0086 (unsound : problèmes de soundness multiples) dans lexical-core 0.7.6, hérité via nom 5imap-proto 0.10imap 2.4.1.

Après (76 dépendances) : 0 vulnérabilité, 0 avertissement — la chaîne nom 5 / lexical-core / arrayvec / bitflags 1.x est entièrement éliminée.

Solution

Mises à jour des dépendances directes :

Dépendance Avant Après Remarque
clap 4.5.53 4.6.6 compatible sémantique
imap 2.4.1 3.0.0-alpha.15 élimine la chaîne unsound ; native-tls reste le backend TLS par défaut
native-tls 0.2.14 0.2.18 toujours utilisé par le client POP3 custom
imap-proto 0.16.6 supprimée inutilisée dans le code (reste présente transitivement via imap)
dotenvy 0.15.7 inchangée déjà à jour

Plus cargo update pour toutes les dépendances transitives (ex. openssl 0.10.76, chrono 0.4.45, security-framework 3.7.0).

Migration du code dans src/imap_client/mod.rs (changements d'API d'imap 3.x) :

  • imap::connect(...)imap::ClientBuilder::new(host, port).connect()
  • Type de session : imap::Session<imap::Connection> (connexion boxed)
  • append(...) retourne désormais un builder : .finish()

⚠️ Point d'attention : imap 3.0.0-alpha.15 est une pré-release (fév. 2025, le crate cherche des mainteneurs). C'était la seule voie pour éliminer la chaîne de dépendances unsound en restant sur ce crate. Un test de fumée contre le serveur IMAP réel est recommandé avant déploiement (l'outil ajoute/supprime des mails).

Vérifications

  • cargo build --release : OK
  • cargo test : 8/8 OK
  • cargo clippy : uniquement les warnings préexistants
  • cargo audit : propre
## Contexte Passage de `cargo audit` avant et après mise à jour complète des dépendances afin d'évaluer les CVEs existantes. **Avant** (92 dépendances) : 0 vulnérabilité, mais 1 avertissement — `RUSTSEC-2023-0086` (unsound : problèmes de soundness multiples) dans `lexical-core 0.7.6`, hérité via `nom 5` ← `imap-proto 0.10` ← `imap 2.4.1`. **Après** (76 dépendances) : **0 vulnérabilité, 0 avertissement** — la chaîne `nom 5` / `lexical-core` / `arrayvec` / `bitflags 1.x` est entièrement éliminée. ## Solution Mises à jour des dépendances directes : | Dépendance | Avant | Après | Remarque | |------------|-------|-------|----------| | `clap` | 4.5.53 | 4.6.6 | compatible sémantique | | `imap` | 2.4.1 | 3.0.0-alpha.15 | élimine la chaîne unsound ; `native-tls` reste le backend TLS par défaut | | `native-tls` | 0.2.14 | 0.2.18 | toujours utilisé par le client POP3 custom | | `imap-proto` | 0.16.6 | supprimée | inutilisée dans le code (reste présente transitivement via `imap`) | | `dotenvy` | 0.15.7 | inchangée | déjà à jour | Plus `cargo update` pour toutes les dépendances transitives (ex. `openssl` 0.10.76, `chrono` 0.4.45, `security-framework` 3.7.0). Migration du code dans `src/imap_client/mod.rs` (changements d'API d'imap 3.x) : - `imap::connect(...)` → `imap::ClientBuilder::new(host, port).connect()` - Type de session : `imap::Session<imap::Connection>` (connexion boxed) - `append(...)` retourne désormais un builder : `.finish()` ⚠️ **Point d'attention** : `imap 3.0.0-alpha.15` est une pré-release (fév. 2025, le crate cherche des mainteneurs). C'était la seule voie pour éliminer la chaîne de dépendances unsound en restant sur ce crate. Un test de fumée contre le serveur IMAP réel est recommandé avant déploiement (l'outil ajoute/supprime des mails). ### Vérifications - `cargo build --release` : OK - `cargo test` : 8/8 OK - `cargo clippy` : uniquement les warnings préexistants - `cargo audit` : propre
herel added 1 commit 2026-08-28 13:05:34 +00:00
Bump clap to 4.6.6, imap to 3.0.0-alpha.15 and native-tls to 0.2.18.
The imap upgrade removes the unsound lexical-core 0.7.6 dependency
inherited via nom 5 (RUSTSEC-2023-0086), leaving cargo audit clean.
Drop the unused imap-proto dependency and migrate to the imap 3.x
ClientBuilder and AppendCmd APIs.
herel merged commit dc28f8ed65 into main 2026-08-28 13:05:46 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: herel/rs-pop-imap-importer#1