⚙️

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