Skip to content

Releases: Avnsx/Export2AI

Export2AI v1.2.9

02 Jun 20:09

Choose a tag to compare

Export2AI v1.2.9

Released 2026-06-02.

Export2AI turns any workspace folder into a clean, AI-ready .zip — it skips junk like node_modules, optionally strips comments and compresses code, and shows an offline token estimate for your target model (exact for OpenAI, approximate for others).

What's in this release

Fixed

  • Collection hardening — malformed scalar settings now fall back to documented defaults, empty excludePaths entries no longer exclude the workspace root, Windows excludePaths matching is case-insensitive, symlink entries are skipped instead of followed, and local auth files such as .npmrc, .pypirc, .netrc, _netrc, .dockercfg, and .docker/config.json are treated as credential material.

Install

From the VSIX (this release):

  1. Download export2ai-1.2.9.vsix from the assets below.
  2. In Cursor / VS Code: Extensions → ⋯ → Install from VSIX… and pick the file.
    Or from a terminal: code --install-extension export2ai-1.2.9.vsix

From source:

npm install
npm run package   # builds build/export2ai-1.2.9.vsix

Licensed under the GNU General Public License v3.0.

Export2AI v1.2.8

01 Jun 01:06

Choose a tag to compare

Export2AI v1.2.8

Released 2026-06-01.

Export2AI turns any workspace folder into a clean, AI-ready .zip — it skips junk like node_modules, optionally strips comments and compresses code, and shows an offline token estimate for your target model (exact for OpenAI, approximate for others).

What's in this release

Added

  • Repository-aware soft-delete — exports now keep real repository control files such as .github/**, .gitignore, .gitattributes, .gitmodules, .mailmap, .gitkeep, and .git-blame-ignore-revs while keeping unsafe local .git internals out of the archive.
  • Editable safe defaultsexport2ai.excludePatterns is now a compact additional-pattern list, while Export2AI: Manage Built-in Exclude Patterns opens an IDE checklist for the 40 built-in excludes. Unchecked built-ins are stored in the enum-backed export2ai.disabledBuiltInExcludePatterns setting so they remain manually editable.
  • Permanent context policyAGENTS.md, README.md, pyproject.toml, docs/**, tests/**, and tools/** are preserved for AI debugging and repository validation even when broad ignore rules would otherwise hide them.

Changed

  • Safer .git marker layout — the default artificial marker is now _EXPORT2AI_PLACEHOLDERS/git/EXPORT2AI_SOFT_DELETE_PLACEHOLDER.txt, outside .git, so exported zips do not make Path(".git").exists() true. Advanced users can opt back into .git/EXPORT2AI_SOFT_DELETE_PLACEHOLDER.txt with export2ai.softDeleteGitMetadata.realGitPathPlaceholder.
  • Cleaner archive manifest_EXPORT2AI_MANIFEST.txt now records only the source folder name plus Source path redacted: true, and clearly states that .git, credentials, and private key material were intentionally omitted because the archive is for code-context analysis, not publishing.
  • Broader junk and secret defaults — default excludes now cover cache folders (__pycache__, .pytest_cache, .cache, .tmp), build/site output, .env*, private keys, token/credential filenames, out*.json, and previous Export2AI context zips.

Fixed

  • False validation failures from missing repo files — CI workflows, Dependabot config, .gitignore, .gitattributes, docs, tests, and tools stay available in exported zips so AI agents and repository tests no longer mistake a safe handoff archive for an incomplete source tree.
  • False Git-repository detection.git/ is no longer created by default, avoiding test suites that conditionally run git ... commands against a placeholder directory.
  • Settings edge cases — malformed built-in exclude settings are normalized, unknown values are ignored, failed QuickPick/settings updates are surfaced, and Explorer token badges remain opt-in only.

Install

From the VSIX (this release):

  1. Download export2ai-1.2.8.vsix from the assets below.
  2. In Cursor / VS Code: Extensions → ⋯ → Install from VSIX… and pick the file.
    Or from a terminal: code --install-extension export2ai-1.2.8.vsix

From source:

npm install
npm run package   # builds build/export2ai-1.2.8.vsix

Licensed under the GNU General Public License v3.0.

Export2AI v1.2.7

31 May 09:49

Choose a tag to compare

Export2AI v1.2.7

Released 2026-05-31.

Export2AI turns any workspace folder into a clean, AI-ready .zip — it skips junk like node_modules, optionally strips comments and compresses code, and shows an offline token estimate for your target model (exact for OpenAI, approximate for others).

What's in this release

Changed

  • Clearer token tooltip — the status-bar hover now says what was counted (workspace ... or folder ...), plus model, token count, and exact/approx status.
  • Explorer token badges stay opt-inexport2ai.showExplorerTokenBadges remains default false; disabled/outside-workspace paths clear stale decorations and never reintroduce automatic badges.
  • Token estimate hardening — selected folders in multi-root workspaces use that workspace's model, and stale in-flight estimates are dropped before they can republish old UI.
  • Release CI parity — the tagged release workflow now runs the same npm run test:critical smoke matrix used locally.
  • VSIX hygiene — backup banner source and dependency test folders are excluded from packaged extensions; the VSIX ships only runtime code plus marketplace/README assets.

Added

  • Badge regression testnpm run test:explorer-badges verifies badges are off by default, opt-in only, clear on outside-workspace selections, and keep scoped status-bar tooltips.
  • Targetable smoke matrixtests/ adds 10 critical release targets via npm run test:critical and npm run test:critical:<target>.

Install

From the VSIX (this release):

  1. Download export2ai-1.2.7.vsix from the assets below.
  2. In Cursor / VS Code: Extensions → ⋯ → Install from VSIX… and pick the file.
    Or from a terminal: code --install-extension export2ai-1.2.7.vsix

From source:

npm install
npm run package   # builds build/export2ai-1.2.7.vsix

Licensed under the GNU General Public License v3.0.

Export2AI v1.2.6

31 May 01:56

Choose a tag to compare

Export2AI v1.2.6

Released 2026-05-31.

Export2AI turns any workspace folder into a clean, AI-ready .zip — it skips junk like node_modules, optionally strips comments and compresses code, and shows an offline token estimate for your target model (exact for OpenAI, approximate for others).

What's in this release

Added

  • Single-file copy command — right-click a file in Explorer and choose Export2AI: Copy Content to Clipboard to copy exact UTF-8 text without creating a zip. The command rejects folders, multi-selects, binary files, invalid UTF-8, read failures, and clipboard failures with visible Export2AI messages instead of quiet no-ops.
  • Packaged extension artwork — the VSIX manifest now points at icons/icon-1254x1254.png for Cursor, VS Code Marketplace, and Open VSX, and the README starts with the packaged icons/gh_banner.png banner at its native aspect ratio.

Changed

  • Marketplace README spacing — moved the README heading and summary above the banner image and removed fixed banner dimensions so Open VSX / Cursor render the Overview tab without large blank vertical gaps.
  • VSIX output foldernpm run package now writes release packages to build/export2ai-{version}.vsix instead of the repository root. Release automation, docs, and release notes now use the same path.
  • Marketplace asset validation — release automation packages the VSIX before upload/publish and runs test:marketplace-assets against the embedded manifest icon path and PNG dimensions.
  • Copy structure default formatexport2ai.outputFormat now defaults to plaintext instead of markdown.
  • Instant Explorer folder badges (single-pass aggregation) — token badges for every folder are now computed from one workspace walk instead of a separate subtree scan per folder. TokenCounter.countFilesPerPath() tokenizes each file once and aggregateDirectoryEstimates() sums those counts up each file's ancestor directories, caching the root and every folder in a single pass before firing one decoration-refresh event. provideFileDecoration is now a synchronous cache read (the same approach VS Code's built-in Git decoration provider uses).
  • Full-extension debug loggingexport2ai.debug now covers activation, command registration, settings navigation, zip creation, copy-structure, single-file copy, token-estimate refreshes, ignore setup, and file collection. Output lines use the Export2AI channel and a compact local-PC timestamp instead of UTC ISO strings.
  • Visible debug startup — Export2AI now activates after workbench startup, so when export2ai.debug is already enabled the Export2AI Output channel is revealed with the activation log; when debug is turned on while the extension is running, the channel is revealed and a visible debug: enabled marker is written.
  • Debug scope handling — checking export2ai.debug at User scope now enables diagnostics even if a workspace setting still contains export2ai.debug: false; configuration reads no longer emit resource-scope warnings for window-scoped settings.
  • Lazy debug channel creation — the Export2AI Output channel is not created while export2ai.debug is off. Debug defaults to false and logging starts only after the User or Workspace setting is checked.
  • Published extension identity — marketplace builds now use publisher avnsx, name export2ai, and extension ID avnsx.export2ai.

Fixed

  • Redundant token scanning — the old design re-read and re-tokenized each file once per ancestor folder (O(depth × files)), so badges appeared one folder at a time and large repos paid repeated I/O. Files are now read and tokenized exactly once per refresh; per-folder on-demand scans remain only as a fallback during the initial ~5 s deferred-scan window (and for non-primary roots in multi-root workspaces).
  • Stale estimates after edits — a workspace refresh now performs a fresh walk and rebuilds the folder cache, so saving, creating, deleting, or renaming files updates the status bar and badges (previously the cached root short-circuited the refresh).
  • Debug setting respected — routine settings-navigation diagnostics no longer write to Output when export2ai.debug is off, including delayed cooldown messages.
  • Zip completion hardening — token-estimate refresh failures no longer abort zip creation or hide the created zip notification, and zip-path clipboard failures now show a visible Export2AI error.

Install

From the VSIX (this release):

  1. Download export2ai-1.2.6.vsix from the assets below.
  2. In Cursor / VS Code: Extensions → ⋯ → Install from VSIX… and pick the file.
    Or from a terminal: code --install-extension export2ai-1.2.6.vsix

From source:

npm install
npm run package   # builds build/export2ai-1.2.6.vsix

Licensed under the GNU General Public License v3.0.

Export2AI v1.2.4

30 May 19:41

Choose a tag to compare

Export2AI v1.2.4

Released 2026-05-30.

Export2AI turns any workspace folder into a clean, AI-ready .zip — it skips junk like node_modules, optionally strips comments and compresses code, and shows an offline token estimate for your target model (exact for OpenAI, approximate for others).

What's in this release

Added

  • Clearer Settings copy — plain-language descriptions under Compress code, Remove comments, and ZIP compression level (Zip archive / Comments categories). Each keeps a Technical: block in markdownDescription for implementation detail. Humane intro for Remove comments is synced at compile via REMOVE_COMMENTS_USER_DESCRIPTION in commentProfiles.ts.

Changed

  • Shorter, cleaner zip names — the archive name uses only the selected folder's basename (not the full nested path; no more y--HOST_ROOT-… clutter) and a compact YYYY-MM-DD-HHMMSS timestamp. Example: WinMGT-gpt-5.5-context-2026-05-30-182617.zip. Folder segment capped at 40 characters. Helpers: formatFolderNameSegment() and formatCompactTimestamp() in modelFormat.ts.
  • Safer export defaultsexport2ai.compressCode and export2ai.removeComments default to false so zips preserve full source unless you opt in to trimming or comment stripping.
  • Token estimate UI — status bar label uses (est. ~N tokens) / (est. N tokens) via formatTokenUsageLabel(); status-bar hover tooltip is compact (active model + exact/approx offline estimate + settings footer). Explorer decoration badges are badge-only (no per-folder tooltip).
  • Status bar stability — workspace-root token estimate is published from the root scan only, so the status bar no longer jumps when Explorer folder decoration scans finish.

Fixed

  • scripts/live-test.js — comment assertion respects removeComments default (false: comments preserved; true: stripped).
  • Documentation — README, AGENTS.md, and docs/ synced with current token UI, zip naming, settings copy, and defaults.

Install

From the VSIX (this release):

  1. Download export2ai-1.2.4.vsix from the assets below.
  2. In Cursor / VS Code: Extensions → ⋯ → Install from VSIX… and pick the file.
    Or from a terminal: code --install-extension export2ai-1.2.4.vsix

From source:

npm install
npm run package   # builds export2ai-1.2.4.vsix

Licensed under the GNU General Public License v3.0.

Export2AI v1.2.3

30 May 18:17

Choose a tag to compare

Export2AI v1.2.3

Released 2026-05-30.

Export2AI turns any workspace folder into a clean, AI-ready .zip — it skips junk like node_modules, optionally strips comments and compresses code, and shows an offline token estimate for your target model (exact for OpenAI, approximate for others).

What's in this release

Added

  • GNU General Public License v3.0 — added LICENSE.txt (full GPL-3.0 text) and set the manifest license to GPL-3.0-only.
  • Automated releases.github/workflows/release.yml builds the VSIX on every v*.*.* tag, attaches it to a GitHub Release, and generates human-friendly notes from this changelog via scripts/release-notes.js. Optional VS Code Marketplace (VSCE_PAT) and Open VSX / Cursor (OVSX_PAT) publish steps activate automatically once those secrets are added.

Removed

  • Token-bucket command system (~10,900 commands) — deleted export2ai.zip.bucket.* generation and all supporting code (tokenBuckets.ts, zipBucketCommands.ts, zipBucketRegistry.ts, generate-token-menu.js, token-bucket-config.js). VS Code cannot set menu titles at runtime, so the old design pre-generated one command per token range — which bloated package.json to ~1.9–4 MB, flooded the Command Palette, and was the root cause of Cursor activate/settings hangs. The token estimate was already shown in the status bar, the Explorer decoration badge, and the post-zip notification, so nothing user-facing was lost.
  • Dead context keysexport2ai.tokenBucket, export2ai.tokenCountExact, export2ai.tokenCountFormatted, export2ai.activeLlmModel, export2ai.llmModelKnown (no menu consumed them). Removed activeModelContext.ts; the Target model: … rows read config.export2ai.llmModel directly.
  • Dead helpersestimateTokensForFolder() (zipService.ts) and formatZipMenuTitle() (tokenFormat.ts / TokenCounter).

Fixed

  • package.json size — ~1.9 MB → ~32 KB (~39 commands instead of ~10,939). Settings UI, manifest parse, and npm task detection are no longer at risk of hanging.
  • Command Palette pollution — generated modelTarget.* / zipFor.* commands are now hidden from the palette with when: "false" (added in merge-package.js).
  • maxDepth clamp — copy-structure depth is clamped to ≥ 0.

Changed

  • Build pipeline simplified: generate-all-menus.js now generates only the model-target layer; slim-package.js strips all generated command prefixes; test:menu-merge replaces test:zip-buckets; test:tokens now asserts manifest hygiene (zero bucket commands, palette hides present).
  • Docs (AGENTS.md, docs/agent-chokepoints.md, architecture.md, target-model-ui.md, source-modules.md, build-and-test.md) rewritten to explain why the bucket system must not be reintroduced.

Install

From the VSIX (this release):

  1. Download export2ai-1.2.3.vsix from the assets below.
  2. In Cursor / VS Code: Extensions → ⋯ → Install from VSIX… and pick the file.
    Or from a terminal: code --install-extension export2ai-1.2.3.vsix

From source:

npm install
npm run package   # builds export2ai-1.2.3.vsix

Licensed under the GNU General Public License v3.0.