release: v0.2.0 — endpoint unifié et PIN de compte Pronote

Bump version 0.1.2 → 0.2.0.
CHANGELOG mis à jour : contrat ExternalEndpoint commun, unification
AI_BASE_URL, PIN de compte Pronote et durcissement sécurité.
This commit is contained in:
2026-09-13 18:43:02 +02:00
parent e5c14a9304
commit 202e787cf0
2 changed files with 30 additions and 1 deletions
+29
View File
@@ -5,6 +5,35 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.2.0] - 2026-09-13
### Added
- Prise en charge du PIN de compte Pronote (`PRONOTE_ACCOUNT_PIN`) pour l'authentification par mot de passe (#8).
- Contrat `ExternalEndpoint` commun (Pydantic v2 : `SecretStr`, `frozen`, `extra='forbid'`) pour les endpoints CalDAV, RSS et Pronote, avec nouvelles variables canoniques `CALDAV_ENDPOINT__URL`, `BLOG_ENDPOINT__URL`, `PRONOTE_ENDPOINT__URL`, `PRONOTE_ICAL_ENDPOINT__URL` (#16).
### Changed
- Unification du contrat `AI_BASE_URL` entre les fournisseurs de synthèse (#17).
- Les anciennes variables `CALDAV_URL`, `BLOG_RSS_URL`, `PRONOTE_URL` et `PRONOTE_ICAL_URL` restent acceptées comme alias dépréciés (`DeprecationWarning`).
- `hide_input_in_errors=True` sur les paramètres Pronote/CalDAV/Blog : les valeurs sensibles ne fuitent plus dans les erreurs de validation.
- Schéma `file://` retiré du contrat des endpoints réseau ; HTTP restreint au loopback explicitement autorisé.
- Documentation alignée (`README.LLM.md`, `.env.example`, `GUIDE_DEV_PYTHON.md`, `docs/pronote-auth.md`) et métadonnées de packaging (identité et URL Gitea réelles).
### Fixed
- Sécurité : détection des PIN `*_PIN` littéraux (#48), des PIN en query string (`?pin=`, #58) et des placeholders d'URL documentaires (#34) par `check_secrets.py`.
- Sécurité : neutralisation de `__context__` et du traceback des exceptions expurgées (`raise ... from None` sorti des handlers) (#50).
- `qr_token` : `get_informations()` ignorée en mode `qr_token` (erreur pronotepy 20 sur les instances HubEduConnect) (#21).
- RSS : état mémoire confirmé après remplacement atomique avant l'acquittement des GUID (#49) ; GUID acquittés après livraison XMPP (#12).
- CalDAV : devoirs rendus transparents (#11) ; événements gérés sans UID ignorés (#47).
- Configuration : fenêtres de synchronisation négatives refusées (#14).
- CLI : exécutions dégradées rendues observables (#13).
- Pronote : parsing iCal fiabilisé pour l'année scolaire 2026.
- XMPP : correction du timeout (mode TLS et timeouts de connexion/nettoyage).
- Dry-run : simulation garantie sans persistance ; sérialisation du cycle QR/token local.
- Documentation : commande `cd` corrigée après clonage du dépôt Gitea (#56).
## [0.1.2] - 2026-09-10
### Added
+1 -1
View File
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "pronote-sync"
version = "0.1.2"
version = "0.2.0"
description = "Synchronisation Pronote → CalDAV + XMPP"
license = {text = "MIT"}
readme = "README.md"