AI Chat Exporter
Changelog
Every update, improvement, and fix — all in one place.
v1.5.1 — Provider detection & descriptive filenames
- Added automatic provider detection by URL.
- Showed dynamic provider in popup header.
- Used conversation title and provider for downloaded filename.
v1.5.0 — New conversation capture & UX improvements
- Added capture for new ChatGPT conversations using SSE streaming.
- Reconstructed user and assistant messages from stream deltas.
- Ignored internal model_editable_context messages.
- Adapted existing conversation capture to the new paginated schema.
- Added real download confirmation using chrome.downloads.onChanged.
- Added notifications when a download finishes.
- Added update notification banner in the popup.
- Added progress feedback during export.
- Modularized extension scripts by responsibility.
- Updated extension build with esbuild for inject, content, and background.
v1.4.2 — Popup refactor and conversation recovery
- Modularized popup code into reusable handlers (DOM helpers, language management, export flow, format toggle, version handler).
- Converted popup.js into a lightweight orchestrator.
- Fixed consecutive exports without page reload by recovering the conversation from the page if the Service Worker loses state.
- Removed debug logs from inject.js, content.js, and background.js.
- Kept existing functionality unchanged for the user.
- Updated project documentation.
v1.4.1 — Reload warning before export
- Added an optional warning that appears when clicking Export if no saved preference exists.
- The warning pauses the export and allows continuing with the same selected options.
- Added a checkbox to not show the warning again, persisted in chrome.storage.local.
- Added a contextual link to the Troubleshooting section of the FAQ inside the warning.
- Added a discreet help link (?) in the popup footer that also points to the FAQ.
- During the warning, export options are temporarily hidden to avoid layout overflow.
- Updated project documentation.
v1.4.0 — Official website & multi-language system
- Created the official project website, hosted on GitHub Pages, with the same cyberpunk visual identity as the extension.
- Implemented the following pages:
-
- Landing page.
- Privacy policy page.
- FAQ page.
- CLI documentation page.
- Changelog page.
- Sitemap page as navigation fallback.
- Added a multi-language system (Spanish / English) to all website pages, including translation helpers per page, reusable language handlers, visual language toggle with SVG flags, preference persistence in localStorage, and automatic browser language detection.
- Modularized the site's CSS and JavaScript by responsibility.
- Added complete SEO, Open Graph, and Twitter Card meta tags across all pages.
- Created the social preview image and its HTML template.
- Added Google Search Console verification meta tag.
- Implemented page transitions using the View Transitions API.
- Improved active section detection in the sidebar during scroll.
- Fixed multiple responsive, style, and navigation issues.
- Updated general and extension documentation to reflect the new website.
v1.3.1 — Multi-language system & publication prep
- Multi-language translation system in the popup:
-
- Translation helper (languages.js) with Spanish and English support.
- Decoupled error messages: background sends error codes (errorCode) and the popup translates them.
- Automatic browser language detection on popup load (languageSettings.js) .
- Visual toggle with inline SVG flags (Spain / UK) to switch languages.
- Language preference persistence via chrome.storage.local .
- Added storage permission to manifest.json for saving language preference.
- Prepared materials for Chrome Web Store publication:
-
- Short and long descriptions.
- Privacy policy.
- Permissions justification.
- Reorganized popup scripts into js/ folder ( popup.js , languages.js , languageSettings.js ).
- Updated extension build to copy js/ folder to dist/ .
- Updated general and extension documentation.
v1.3.0 — Stable release with visual redesign & distribution prep
- Published stable version 1.3.0 on GitHub.
- Includes all features from the 1.2.x series:
-
- Popup with advanced options (format, compact, roles) .
- Cyberpunk redesign with CSS token system .
- Automated ZIP build.
- Final icons in all sizes.
- Progress indicator and UX improvements.
- Updated documentation and preparation for Chrome Web Store publication.
v1.2.4 — Visual redesign & UX improvements in the popup
- Added contextual header to the popup showing the conversation provider (Exporting from ChatGPT) , ready for future models.
- Implemented animated CSS spinner as a progress indicator during export, replacing the "Processing..." text.
- Disabled the Export button during processing to prevent multiple clicks.
- Improved the error message when no conversation is captured, including the provider name.
- Added dynamic extension version in the popup footer, retrieved from chrome.runtime.getManifest() .
- Applied a complete cyberpunk redesign to the popup:
-
- Dark background with radial gradient.
- Glassmorphism effects on surfaces.
- Switch and radio buttons with physical hardware look (raised/pressed).
- Native select styled with the new appearance: base-select API.
- Implemented a CSS token system (design variables) with color palette derived from the extension icon.
- Modularized popup CSS by responsibility into independent files (variables.css, base.css, selector.css, options.css, button.css, footer.css) .
- Fixed compact mode tests that expected quote formatting (>) , which was removed in v1.2.2.
- Updated general and extension documentation.
v1.2.3 — Compact mode & role filters in the extension
- Added advanced options to the extension popup:
-
- Checkbox for compact mode.
- Radio buttons to filter by role (all, user, assistant) .
- Markdown-specific options hidden when JSON is selected.
- Extracted popup CSS to an independent file (popup.css) .
- Updated background.js to propagate compact and roleFilter to the pipeline.
- Updated extension build to include popup.css .
- Updated general and extension documentation.
v1.2.2 — Role filter & compact mode improvements in CLI
- Extended filter.js to accept an optional targetRole parameter to filter messages by user, assistant, or keep all.
- Integrated role filter into pipeline.js via config.roleFilter .
- Added --role / -r option to CLI with validation in validator.js .
- Improved compact mode in the Markdown generator:
-
- Now preserves horizontal rules (---) and lists (- , 1. ) that require specific spacing in Markdown.
- Implemented a placeholder technique (protect → process → restore) to handle edge cases like list-to-paragraph transitions.
- Added automated tests for role filtering.
- Updated general documentation.
Older versions
For the complete history from v0.5.0 to v1.2.1, see the full changelog in the project repository.
View full changelog on GitHub