Skip to content

release: v1.0.0 — first stable release#30

Merged
Guillain-RDCDE merged 1 commit into
mainfrom
release/v1.0.0
Jun 2, 2026
Merged

release: v1.0.0 — first stable release#30
Guillain-RDCDE merged 1 commit into
mainfrom
release/v1.0.0

Conversation

@Guillain-RDCDE
Copy link
Copy Markdown
Owner

🎉 v1.0.0 — Première release stable

Le cap 1.0 : engagement de stabilité de l'API publique, aucun changement de code vs v0.16.1. C'est l'aboutissement du parcours 0.x (checker heuristique FLAC-only → outil multi-format, assisté ML, validé sur le terrain).

Ce que 1.0 signifie

  • Formats : FLAC, WAV, ALAC (.m4a), APE (.ape). Détection agnostique au codec ; ffmpeg requis pour ALAC/APE uniquement.
  • Détection : 11 règles heuristiques (score 0–150 → AUTHENTIC / WARNING / SUSPICIOUS / FAKE_CERTAIN) + 12e règle ML optionnelle (CNN stéréo) qui affine la confiance et s'abstient sur le matériel band-limité.
  • Ingénierie : black + isort + flake8 + mypy clean & gatants ; arbre typé ; releases PyPI via trusted publishing.
  • Validé terrain : routage, analyse ALAC/APE bout-en-bout, fakes MP3→ALAC et résistance aux crashs vérifiés sur une vraie biblio ~72k (ml/field_validation.py).

API publique & SemVer (à partir de 1.0.0)

Suivent le versionnage sémantique : la CLI flac-detective et ses flags ; les exports top-level (FLACAnalyzer, ProgressTracker, find_flac_files, LOGO, __version__) ; les clés du dict résultat de analyze_file(). Les internes sous analysis/ restent libres d'évoluer en mineur.

Limites assumées (inchangées)

Transcodes AAC/Opus→lossless haut débit et masters réellement band-limités restent durs à juger ; spécificité mesurée ~80–87 % (cf. ml/README.md). 1.0 = engagement de stabilité, pas de perfection.

Changements

  • version 0.16.1 → 1.0.0 (pyproject ×2, __version__, CITATION)
  • classifier Beta → Production/Stable
  • CHANGELOG milestone + README statement de stabilité + refs version doc

Checks gatés verts en local : black, isort, flake8=0, version cohérente partout, import OK.

🤖 Generated with Claude Code

Tag the project as 1.0: stable public API commitment, no code change vs v0.16.1.

- version 0.16.1 -> 1.0.0 (pyproject x2, __version__, CITATION)
- classifier Development Status 4 - Beta -> 5 - Production/Stable
- CHANGELOG: 1.0.0 milestone entry — formats (FLAC/WAV/ALAC/APE), 11+1 ML rules,
  hardened CI (black/isort/flake8/mypy gating), field-validated on a real ~72k
  library; SemVer scope (CLI + top-level exports + analyze_file result keys);
  honest limits restated.
- README: "Latest release" -> v1.0 with the SemVer/public-API statement.
- docs: current-version refs bumped to 1.0.0 (index, user-guide example).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@Guillain-RDCDE Guillain-RDCDE merged commit 422e76e into main Jun 2, 2026
16 checks passed
@Guillain-RDCDE Guillain-RDCDE deleted the release/v1.0.0 branch June 2, 2026 18:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant