Releases: Avnsx/Export2AI
Export2AI v1.2.9
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
excludePathsentries no longer exclude the workspace root, WindowsexcludePathsmatching is case-insensitive, symlink entries are skipped instead of followed, and local auth files such as.npmrc,.pypirc,.netrc,_netrc,.dockercfg, and.docker/config.jsonare treated as credential material.
Install
From the VSIX (this release):
- Download
export2ai-1.2.9.vsixfrom the assets below. - 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.vsixLicensed under the GNU General Public License v3.0.
Export2AI v1.2.8
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-revswhile keeping unsafe local.gitinternals out of the archive. - Editable safe defaults —
export2ai.excludePatternsis 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-backedexport2ai.disabledBuiltInExcludePatternssetting so they remain manually editable. - Permanent context policy —
AGENTS.md,README.md,pyproject.toml,docs/**,tests/**, andtools/**are preserved for AI debugging and repository validation even when broad ignore rules would otherwise hide them.
Changed
- Safer
.gitmarker layout — the default artificial marker is now_EXPORT2AI_PLACEHOLDERS/git/EXPORT2AI_SOFT_DELETE_PLACEHOLDER.txt, outside.git, so exported zips do not makePath(".git").exists()true. Advanced users can opt back into.git/EXPORT2AI_SOFT_DELETE_PLACEHOLDER.txtwithexport2ai.softDeleteGitMetadata.realGitPathPlaceholder. - Cleaner archive manifest —
_EXPORT2AI_MANIFEST.txtnow records only the source folder name plusSource 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 rungit ...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):
- Download
export2ai-1.2.8.vsixfrom the assets below. - 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.vsixLicensed under the GNU General Public License v3.0.
Export2AI v1.2.7
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 ...orfolder ...), plus model, token count, and exact/approx status. - Explorer token badges stay opt-in —
export2ai.showExplorerTokenBadgesremains defaultfalse; 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:criticalsmoke 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 test —
npm run test:explorer-badgesverifies badges are off by default, opt-in only, clear on outside-workspace selections, and keep scoped status-bar tooltips. - Targetable smoke matrix —
tests/adds 10 critical release targets vianpm run test:criticalandnpm run test:critical:<target>.
Install
From the VSIX (this release):
- Download
export2ai-1.2.7.vsixfrom the assets below. - 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.vsixLicensed under the GNU General Public License v3.0.
Export2AI v1.2.6
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.pngfor Cursor, VS Code Marketplace, and Open VSX, and the README starts with the packagedicons/gh_banner.pngbanner 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 folder —
npm run packagenow writes release packages tobuild/export2ai-{version}.vsixinstead 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-assetsagainst the embedded manifest icon path and PNG dimensions. - Copy structure default format —
export2ai.outputFormatnow defaults toplaintextinstead ofmarkdown. - 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 andaggregateDirectoryEstimates()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.provideFileDecorationis now a synchronous cache read (the same approach VS Code's built-in Git decoration provider uses). - Full-extension debug logging —
export2ai.debugnow 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.debugis 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 visibledebug: enabledmarker is written. - Debug scope handling — checking
export2ai.debugat User scope now enables diagnostics even if a workspace setting still containsexport2ai.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.debugis off. Debug defaults tofalseand logging starts only after the User or Workspace setting is checked. - Published extension identity — marketplace builds now use publisher
avnsx, nameexport2ai, and extension IDavnsx.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.debugis 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):
- Download
export2ai-1.2.6.vsixfrom the assets below. - 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.vsixLicensed under the GNU General Public License v3.0.
Export2AI v1.2.4
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
markdownDescriptionfor implementation detail. Humane intro for Remove comments is synced at compile viaREMOVE_COMMENTS_USER_DESCRIPTIONincommentProfiles.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 compactYYYY-MM-DD-HHMMSStimestamp. Example:WinMGT-gpt-5.5-context-2026-05-30-182617.zip. Folder segment capped at 40 characters. Helpers:formatFolderNameSegment()andformatCompactTimestamp()inmodelFormat.ts. - Safer export defaults —
export2ai.compressCodeandexport2ai.removeCommentsdefault tofalseso 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)viaformatTokenUsageLabel(); 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 respectsremoveCommentsdefault (false: comments preserved;true: stripped).- Documentation — README,
AGENTS.md, anddocs/synced with current token UI, zip naming, settings copy, and defaults.
Install
From the VSIX (this release):
- Download
export2ai-1.2.4.vsixfrom the assets below. - 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.vsixLicensed under the GNU General Public License v3.0.
Export2AI v1.2.3
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 manifestlicensetoGPL-3.0-only. - Automated releases —
.github/workflows/release.ymlbuilds the VSIX on everyv*.*.*tag, attaches it to a GitHub Release, and generates human-friendly notes from this changelog viascripts/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 bloatedpackage.jsonto ~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 keys —
export2ai.tokenBucket,export2ai.tokenCountExact,export2ai.tokenCountFormatted,export2ai.activeLlmModel,export2ai.llmModelKnown(no menu consumed them). RemovedactiveModelContext.ts; theTarget model: …rows readconfig.export2ai.llmModeldirectly. - Dead helpers —
estimateTokensForFolder()(zipService.ts) andformatZipMenuTitle()(tokenFormat.ts/TokenCounter).
Fixed
package.jsonsize — ~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 withwhen: "false"(added inmerge-package.js). maxDepthclamp — copy-structure depth is clamped to ≥ 0.
Changed
- Build pipeline simplified:
generate-all-menus.jsnow generates only the model-target layer;slim-package.jsstrips all generated command prefixes;test:menu-mergereplacestest:zip-buckets;test:tokensnow 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):
- Download
export2ai-1.2.3.vsixfrom the assets below. - 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.vsixLicensed under the GNU General Public License v3.0.