From 32a5357cb469378cac76e3abcd62c9a7b0b12c20 Mon Sep 17 00:00:00 2001 From: Void Freud Date: Sat, 28 Mar 2026 00:52:48 +0200 Subject: [PATCH] Release v1.0.0 - Bump version to 1.0.0 (Production/Stable) - Add CHANGELOG.md with full feature summary - Update description and classifiers for PyPI Co-Authored-By: Claude Opus 4.6 --- CHANGELOG.md | 29 +++++++++++++++++++++++++++++ pyproject.toml | 7 ++++--- 2 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..8d83a34 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,29 @@ +# Changelog + +## 1.0.0 + +First stable release. + +### Features + +- **Markdown output** as the default format — `#` headings, `**bold**` metadata, `>` blockquoted context, `---` turn separators +- **Three output formats:** Markdown (`.md`), plain text (`.txt`), JSON (`.json`) +- **Four split modes:** single file, one-per-subject, date folders, ID-based +- **Streaming parser** via `ijson` — handles 100MB+ exports without loading them into memory +- **Structural field filtering** with `--fields` — include/exclude/groups modes +- **Metadata filtering** with `--include`/`--exclude` — glob pattern support +- **Transcript-oriented export** — follows the active conversation branch, not the full tree +- **TOML configuration** for persistent defaults — format, split mode, transcript visibility, text layout +- **Analyze command** — conversation count, message count, file size, date range, field coverage +- **ChatGPT artifact stripping** — removes citation/navigation artifacts from text output +- **Horizontal rule stripping** in Markdown mode — `---` only appears as turn separators, never inside message content +- **UTC timestamps** throughout for reproducible exports +- **Configurable date formats** for both conversation headers and analysis output +- **217 tests** with CI on Python 3.10 through 3.13 + +### Architecture + +- Modular core: filtering, formatting, splitting, and writing are independent subsystems +- Subpackages by concern: `config/`, `transcript/`, `validation/`, `output/` +- Clean CLI with `analyze` and `export` subcommands +- Semantic config validation with clear error messages diff --git a/pyproject.toml b/pyproject.toml index accfb5c..3d431d7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "chatgpt-export-tool" -version = "0.5" -description = "A Python tool for exporting and analyzing ChatGPT conversations.json export files" +version = "1.0.0" +description = "Stream, analyze, and export ChatGPT conversations to Markdown, text, or JSON" readme = "README.md" license = "MIT" requires-python = ">=3.10" @@ -10,8 +10,9 @@ authors = [ ] keywords = ["chatgpt", "json", "export", "conversations", "parser"] classifiers = [ - "Development Status :: 3 - Alpha", + "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", + "Intended Audience :: End Users/Desktop", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11",