Skip to content

v0.14.0

Choose a tag to compare

@github-actions github-actions released this 26 Feb 04:54
· 78 commits to develop since this release
  • ci: trigger workflow after auto-format (5dc0023)
  • style: auto-format code with Prettier (dc26ab9)
  • test: add cross-platform OS-level as-reference clipboard e2e (70aa8df)
  • Merge pull request #103 from gregpriday/feature/issue-102-implement-proper-linux-file (60c80ef)
  • feat(clipboard): implement proper Linux file reference clipboard support (7d863bf)
  • test(e2e): normalize CopyTree version in SARIF golden files (7b6f0c2)
  • Merge release/0.14.0 back into develop (a54ce87)
  • Merge release/0.14.0 into main (d2c82f5)
  • chore(release): bump version to 0.14.0 (aa6a30f)
  • fix(deps): update minimatch to 10.2.4 to resolve ReDoS vulnerability (143e0ab)
  • fix(stream): escape basePath in JSON streaming output for Windows (909bfd9)
  • chore(ci): switch to OIDC trusted publishing via publish.yml (bebd0af)
  • Merge pull request #101 from gregpriday/feature/issue-28-add-convenience-filter-flags (9000096)
  • Merge pull request #100 from gregpriday/feature/issue-20-add-golden-file-tests-markdown (a21c32c)
  • Merge pull request #99 from gregpriday/feature/issue-21-add-performance-budget (7014dc0)
  • Merge pull request #98 from gregpriday/feature/issue-64-add-onprogress-callback-copy (d3279f7)
  • fix: resolve merge conflict — combine manifest definition with emitProgress for onProgress PR (935d22e)
  • Merge pull request #97 from gregpriday/feature/issue-90-surface-included-file-list (8829a3f)
  • Merge pull request #96 from gregpriday/feature/issue-87-windows-compat-gaps-case (8be5f31)
  • Merge pull request #95 from gregpriday/feature/issue-86-clipboard-file-reference (90043a4)
  • feat(cli): add convenience filter flags --ext, --max-depth, --min-size, --max-size (8965720)
  • test(e2e): add golden file tests for Markdown formatter variants (25a3142)
  • feat(perf): add performance budget enforcement and nightly CI benchmarks (68b8b1a)
  • feat(api): add onProgress callback to copy() and scan() APIs (411431e)
  • feat(api): add manifest field to CopyResult for lightweight file list (7b77c07)
  • fix(pipeline): Windows compat — nocase matching, CRLF normalization, SIGKILL (31e9f63)
  • fix(clipboard): fix Windows escaping, macOS/Linux shell injection, and Clipboard.copy typo (69bb9d6)
  • Merge pull request #93 from gregpriday/feature/issue-34-add-built-profiling-harness (7553a9d)
  • fix: resolve merge conflict — use logger.configure() for profiling mode (eea7fba)
  • Merge pull request #94 from gregpriday/feature/issue-30-add-structured-logging (c6f1b15)
  • Merge pull request #92 from gregpriday/bugfix/issue-48-test-suite-fails (d337419)
  • Merge pull request #91 from gregpriday/feature/issue-85-posix-path-normalization (be9b2f2)
  • style: auto-format code with Prettier (d6beb66)
  • Merge pull request #89 from gregpriday/bugfix/issue-84-stale-ignore-rule-cache-long (f429448)
  • feat(logger): add structured logging with configurable levels and formats (187f5e4)
  • feat(profiling): add built-in CPU/heap profiling harness (issue #34) (31c07ba)
  • fix(tests): replace Date.now() temp paths with randomUUID() to eliminate race conditions (fbbf68a)
  • docs(CLAUDE.md): add path handling rules and testing gotchas (e238def)
  • style: auto-format code with Prettier (cd30d69)
  • fix(core): normalize file paths to POSIX format across pipeline (87040b3)
  • fix(ignoreWalker): remove default rule cache to prevent stale rules in long-running processes (ead9b4d)
  • test(core): expand aggressive coverage and harden file processing (eb3dec8)
  • chore(deps): regenerate lockfile peer dependency metadata (a4f9c89)
  • Merge pull request #83 from gregpriday/dependabot/npm_and_yarn/production-dependencies-1ab58d65d4 (c75f742)
  • fix(logger): add debug() method alias for standard logger interface (8738203)
  • style: auto-format code with Prettier (4131fbc)
  • Merge pull request #81 from gregpriday/dependabot/npm_and_yarn/development-dependencies-00fb75d03b (7d41dc7)
  • chore(deps):(deps): bump the production-dependencies group across 1 directory with 14 updates (443c342)
  • chore(deps):(deps-dev): bump the development-dependencies group across 1 directory with 3 updates (b3993cb)
  • fix(git): correct logger method calls and option references (8496aa6)
  • style: auto-format code with Prettier (7d818e6)
  • fix: always exclude .git and node_modules directories (35aa983)
  • docs: remove profile and transformer documentation (6c2dd1f)
  • Fix file exclusion logic in Programmatic API and FileDiscoveryStage (459895c)
  • Fix: Suppress programmatic API deprecation warning in CLI (24c68ce)
  • fix: correct error class exports in index.js (c3abffe)
  • Merge pull request #70: Enhance TypeScript definitions for SDK usage (a811a08)
  • Merge pull request #69: feat: add streaming copy API for large outputs (1ef6b15)
  • Merge pull request #68: feat(electron): add Electron integration support (c8805bd)
  • fix(electron): add copytree dependency to test package (0f49654)
  • fix(types): correct type definitions based on Codex review (64dec15)
  • style: auto-format code with Prettier (d6e0a14)
  • feat: add streaming copy API for large outputs (c3ddafc)
  • feat(electron): add Electron integration support (d2de57b)
  • Merge pull request #67 from gregpriday/feature/issue-62-remove-singleton-configmanager (cec6b21)
  • refactor(config): remove singleton pattern for concurrent operations (04dbeb0)
  • style: auto-format code with Prettier (36d2742)
  • Merge develop into feature branch (dad0b0c)
  • style: auto-format code with Prettier (297ad61)
  • Merge pull request #61: chore(deps): bump inquirer from 12.10.0 to 13.0.1 (b212d01)
  • Merge pull request #60: chore(deps): bump production-dependencies group (c073773)
  • Merge pull request #59: chore(deps): bump eslint from 9.39.0 to 9.39.1 (b12c3a4)
  • Merge pull request #58: chore(ci): bump actions/checkout from 5 to 6 (d7e5f45)
  • test: fix GitUtils and Pipeline test failures (495a5e1)
  • refactor(config): remove singleton pattern for concurrent operations (be913bf)
  • chore(deps):(deps): bump inquirer from 12.10.0 to 13.0.1 (bd19b82)
  • chore(deps):(deps): bump the production-dependencies group with 2 updates (fc5eba5)
  • chore(deps):(deps-dev): bump eslint (17246e5)
  • chore(ci): bump actions/checkout from 5 to 6 (1fdc850)
  • perf: optimize memory usage in formatters and utilities (c2377b0)
  • refactor: remove advanced features and simplify codebase (661ed60)
  • style: auto-format code with Prettier (48259ba)
  • feat: improve temp file naming with project directory context (d84454d)
  • feat: add token optimization and config lazy-loading (64aadf6)
  • Merge pull request #57: feat(profiles): Implement folder-level profile configuration system (d879083)
  • test: fix folder profile E2E tests to use real filesystem (068ab22)
  • style: auto-format code with Prettier (018a302)
  • feat(profiles): add folder-level profile configuration system (469e3f1)
  • Merge pull request #56: Remove legacy profile system and unnecessary transformers (2d53769)
  • fix: address Codex code review feedback on PR #56 (d61a667)
  • test: optimize slow tests and skip problematic ones (adad078)
  • test: fix failing tests from profile system removal (ac882ba)
  • refactor: remove legacy profile system and unnecessary transformers (b0a75f4)
  • Merge pull request #53: Validate and document programmatic Node.js API (Phase 1) (8867824)
  • fix(linter): suppress eslint no-control-regex warning for XML sanitization (f6d0293)
  • Merge pull request #52: chore(deps):(deps): bump the production-dependencies group across 1 directory with 6 updates (add8916)
  • fix(linter): suppress eslint no-control-regex warning for XML sanitization (2df952f)
  • Merge pull request #51: chore(deps):(deps): bump marked from 16.4.1 to 17.0.0 (d7b169e)
  • Merge pull request #49: chore(deps):(deps-dev): bump eslint from 9.39.0 to 9.39.1 in the development-dependencies group (3639da6)
  • fix(linter): suppress eslint no-control-regex warning for XML sanitization (63c71bb)
  • test(api): fix flaky timing assertion in copy.test.js (8f84648)
  • chore(deps):(deps): bump the production-dependencies group across 1 directory with 6 updates (7589fcb)
  • chore(deps):(deps-dev): bump eslint (60d081d)
  • fix(xml): sanitize invalid control characters in XML output (d0dd432)
  • chore(deps):(deps): bump marked from 16.4.1 to 17.0.0 (0a61283)
  • fix(discovery): remove unreachable return statement in processEntry (157e447)
  • Merge branch 'feature/issue-23-secret-detection' into develop (4528020)
  • test(secrets): update SecretsGuardStage tests for multi-engine architecture (389ae88)
  • feat(discovery): implement parallel file discovery with bounded concurrency (#46) (5868be8)
  • style: auto-format code with Prettier (9293115)
  • feat(api): add programmatic Node.js API for library usage (8de4041)
  • feat(secrets): add built-in secret detection engine with comprehensive tests (3853a26)
  • docs: comprehensive documentation overhaul for accuracy and consistency (#44) (690139b)
  • Merge branch 'fix/ci-github-issues' into develop (f4bb56c)
  • fix(ci): fix E2E streaming tests and ensure cross-platform determinism (b728f5d)
  • style: auto-format code with Prettier (e582e6e)
  • Merge branch 'fix/comprehensive-test-improvements' into develop (2ca98a4)
  • test: fix critical test issues and improve ESM/CommonJS compatibility (146416e)
  • Fix windows golden tests (#42) (dc67f5e)
  • fix: apply code formatting after merge (7c85597)
  • Update package-lock.json after npm install (4171c23)
  • Merge remote-tracking branch 'origin/develop' into develop (7c54c6d)
  • fix(tests): resolve cross-platform JSON escape sequence normalization (661bfa5)
  • fix(tests): improve Windows path normalization in E2E tests (5b9936b)
  • chore(ci): temporarily disable 80% coverage threshold (fcecf15)
  • fix(ci): add .gitattributes to enforce LF line endings (a57ce0f)
  • fix(ci): resolve CI failures across platforms (e38fb0f)
  • Merge pull request #40 from gregpriday/feature/issue-29-resilient-fs-retry (3055845)
  • Merge pull request #39 from gregpriday/feature/issue-26-remove-install-command (e6107a4)
  • fix(tests): resolve cross-platform byte count differences in E2E tests (f60c68c)
  • docs(CLAUDE.md): clarify when to use format command (bcea75f)
  • fix(tests): resolve cross-platform byte count differences in E2E tests (452b9bd)
  • docs(CLAUDE.md): clarify when to use format command (497e60a)
  • test: fix integration and unit test failures (db1ae77)
  • fix(schema): add fs config to schema and skip flaky tests (e06f098)
  • fix(ci): resolve CI test failures and lint issues (a887de1)
  • style: auto-format code with Prettier (93625ab)
  • feat(fs): add resilient filesystem error handling with retry logic (7e88c2c)
  • style: auto-format code with Prettier (5f4eb16)
  • feat: remove deprecated install:copytree command (5ea49c4)
  • chore(deps): add babel-plugin-transform-import-meta dependency (c5e4a46)
  • fix(tests): resolve ESM compatibility issues in copy command tests (be69baf)
  • test(e2e): strip UI status messages from golden file outputs (1982fb3)
  • Merge pull request #38 from gregpriday/feature/issue-31-ndjson-sarif-formatters (fe4ffa7)
  • test: fix BaseTransformer test and update tree golden files (01b035a)
  • Merge branch 'develop' into feature/issue-31-ndjson-sarif-formatters (452cfe2)
  • fix(formatters): resolve SARIF bugs and add file extension auto-detection (235cd4c)
  • chore(deps): resolve npm deprecation warnings and fix test suite (54bf8e4)
  • chore: regenerate package-lock.json and clean up CI workflows (6b153a8)
  • chore: add package-lock.json and update CI to use npm ci (c5ea69a)
  • ci: remove npm cache from GitHub Actions workflows (7a81127)
  • fix(tests): resolve ESM compatibility and test failures (e129daa)
  • fix(formatters): resolve streaming, version, and extension issues (dfa4e85)
  • feat(formatters): add NDJSON and SARIF output formats (7fd0bf6)
  • style: apply prettier formatting to source and test files (cc53e27)
  • Merge pull request #35 from gregpriday/refactor/issue-27-purge-ai-remnants (c54fbb1)
  • Merge pull request #37 from gregpriday/feature/issue-19-e2e-golden-tests (53becc9)
  • Merge pull request #36 from gregpriday/feature/issue-18-fix-flaky-tests (aed8f3e)
  • test: add comprehensive E2E golden file tests for CLI output formats (1a5eb5b)
  • test: fix intermittent test failures from filesystem race conditions (3bb5b1a)
  • refactor: remove all AI feature remnants from codebase and docs (3fcfd6c)
  • docs: remove .github README that was shadowing main project README (d592784)
  • Merge pull request #9 from gregpriday/feature/issue-8-remove-env-support (0ee4c80)
  • test: remove deprecated environment variable tests (31ee191)
  • chore(ci): remove test coverage requirements (548c8f4)
  • chore(deps):(deps): bump chalk from 4.1.2 to 5.6.2 (#17) (cd627c3)
  • chore(deps):(deps): bump ora from 5.4.1 to 9.0.0 (#16) (5b1c1ed)
  • chore(deps):(deps-dev): bump @types/node from 22.18.13 to 24.9.2 (#15) (ab224ea)
  • chore(deps):(deps): bump ink from 4.4.1 to 6.4.0 (#14) (40e754b)
  • chore(deps):(deps): bump react from 18.3.1 to 19.2.0 (#13) (f5fda7a)
  • chore(ci): bump actions/setup-node from 4 to 6 (#12) (497a058)
  • chore(ci): bump codecov/codecov-action from 4 to 5 (#11) (b750462)
  • chore(ci): bump actions/checkout from 4 to 5 (#10) (c271594)
  • fix(ci): handle missing e2e tests gracefully (6816344)
  • fix(config): resolve ESLint and Prettier formatting conflicts (77f2ee5)
  • style: fix ESLint indentation errors across codebase (4b25922)
  • fix(ci): replace npm ci with npm install for lock-file-free workflow (2b694e2)
  • fix(ci): remove npm cache requirement from GitHub Actions workflow (d87ec92)
  • style: remove extra blank line in ConfigManager (4979fe6)
  • Merge remote-tracking branch 'origin/develop' into feature/issue-8-remove-env-support (bdfa705)
  • refactor: remove .env file and environment variable support (ab18b9d)
  • chore: add format command and fix logger mock formatting (32ce327)
  • style: format console.log statements in pipeline test (560e0f3)
  • refactor: simplify globalExcludedDirectories to only VCS folders (704240e)
  • fix: apply globalExcludedDirectories during file discovery (cd60a83)
  • ci: add GitHub workflows and automated code formatting (3a04787)
  • Merge pull request #6 from gregpriday/feature/secret-detection (40f0766)
  • Merge pull request #7 from gregpriday/feature/nested-copytreeignore (0e6608b)
  • test: add unit tests for ignoreWalker utility (7b48186)
  • fix: correct SecretsGuardStage pipeline order and improve robustness (2a30a44)
  • feat: add automatic secret detection and redaction (95c38f5)
  • fix: resolve version skew, config issues, and UX inconsistencies (ac28dc9)
  • feat: implement layered .copytreeignore support with gitignore semantics (82eee0d)
  • chore: untrack and ignore package-lock.json (34a36ae)
  • Merge pull request #5 from gregpriday/refactor/dead-code-audit (c49e25c)
  • Merge pull request #4 from gregpriday/docs/fix-default-format-xml (264f9af)
  • chore: remove dead code from commands and utilities (21c6a56)
  • docs: correct default output format to xml in documentation (7c1c2ec)
  • feat: add slash command for automated Git worktree creation (e4584f2)
  • docs: add Git Flow branch naming conventions to worktrees section (457f1e7)
  • feat: improve .copytreeinclude pattern handling and markdown image processing (a77ca7f)
  • Merge branch 'main' into develop (f349f6a)
  • Merge branch 'main' into develop (02f5f5a)
  • Merge release/0.13.0 into develop (7b6fc4b)
  • fix: resolve remaining ESLint indentation issues (1ddaa09)
  • fix: update dependencies and resolve compatibility issues (afcd31e)

What's Changed

  • docs: correct default output format to xml in documentation by @gregpriday in #4
  • chore: remove dead code from commands and utilities by @gregpriday in #5
  • Feature/nested copytreeignore by @gregpriday in #7
  • Feature/secret detection by @gregpriday in #6
  • chore(ci): bump actions/checkout from 4 to 5 by @dependabot[bot] in #10
  • chore(ci): bump codecov/codecov-action from 4 to 5 by @dependabot[bot] in #11
  • chore(ci): bump actions/setup-node from 4 to 6 by @dependabot[bot] in #12
  • chore(deps):(deps): bump react from 18.3.1 to 19.2.0 by @dependabot[bot] in #13
  • chore(deps):(deps): bump ink from 4.4.1 to 6.4.0 by @dependabot[bot] in #14
  • chore(deps):(deps-dev): bump @types/node from 22.18.13 to 24.9.2 by @dependabot[bot] in #15
  • chore(deps):(deps): bump ora from 5.4.1 to 9.0.0 by @dependabot[bot] in #16
  • chore(deps):(deps): bump chalk from 4.1.2 to 5.6.2 by @dependabot[bot] in #17
  • Refactor configuration to remove .env support by @gregpriday in #9
  • Fix intermittent test failures from filesystem race conditions by @gregpriday in #36
  • Add end-to-end golden file tests for all output formats by @gregpriday in #37
  • Remove AI feature remnants from code and documentation by @gregpriday in #35
  • feat(formatters): add NDJSON and SARIF output formats by @gregpriday in #38
  • Remove deprecated install:copytree command by @gregpriday in #39
  • Add resilient filesystem error handling with retry logic by @gregpriday in #40
  • Fix windows golden tests by @gregpriday in #42
  • docs: comprehensive documentation overhaul for accuracy and consistency by @gregpriday in #44
  • feat(discovery): implement parallel file discovery with bounded concurrency by @gregpriday in #46
  • Add built-in secret detection engine with comprehensive patterns by @gregpriday in #47
  • chore(deps):(deps-dev): bump eslint from 9.39.0 to 9.39.1 in the development-dependencies group by @dependabot[bot] in #49
  • chore(deps):(deps): bump marked from 16.4.1 to 17.0.0 by @dependabot[bot] in #51
  • chore(deps):(deps): bump the production-dependencies group across 1 directory with 6 updates by @dependabot[bot] in #52
  • Validate and document programmatic Node.js API (Phase 1) by @gregpriday in #53
  • Remove legacy profile system and unnecessary transformers by @gregpriday in #56
  • feat(profiles): Implement folder-level profile configuration system by @gregpriday in #57
  • chore(ci): bump actions/checkout from 5 to 6 by @dependabot[bot] in #58
  • chore(deps):(deps-dev): bump eslint from 9.39.0 to 9.39.1 in the development-dependencies group by @dependabot[bot] in #59
  • chore(deps):(deps): bump the production-dependencies group with 2 updates by @dependabot[bot] in #60
  • chore(deps):(deps): bump inquirer from 12.10.0 to 13.0.1 by @dependabot[bot] in #61
  • Remove singleton pattern from ConfigManager for concurrent operations by @gregpriday in #67
  • feat(electron): add Electron integration support by @gregpriday in #68
  • feat: add streaming copy API for large outputs by @gregpriday in #69
  • Enhance TypeScript definitions for SDK usage by @gregpriday in #70
  • chore(deps):(deps-dev): bump the development-dependencies group across 1 directory with 3 updates by @dependabot[bot] in #81
  • chore(deps):(deps): bump the production-dependencies group across 1 directory with 14 updates by @dependabot[bot] in #83
  • fix(ignoreWalker): remove default rule cache to prevent stale rules in long-running processes by @gregpriday in #89
  • fix(core): POSIX path normalization — fix filtering, git flags, and tree output on Windows by @gregpriday in #91
  • fix(tests): eliminate test race conditions by replacing Date.now() temp paths with randomUUID() by @gregpriday in #92
  • feat(logger): add structured logging with configurable levels and formats by @gregpriday in #94
  • feat(profiling): add built-in CPU/heap profiling harness by @gregpriday in #93
  • fix(clipboard): fix Windows escaping, macOS/Linux shell injection, and Clipboard.copy typo by @gregpriday in #95
  • fix(pipeline): Windows compat — nocase matching, CRLF normalization, SIGKILL by @gregpriday in #96
  • feat(api): add manifest field to CopyResult for lightweight file list by @gregpriday in #97
  • feat(api): add onProgress callback to copy() and scan() APIs by @gregpriday in #98
  • feat(perf): add performance budget enforcement and nightly CI benchmarks by @gregpriday in #99
  • test(e2e): add golden file tests for Markdown formatter variants by @gregpriday in #100
  • feat(cli): add convenience filter flags --ext, --max-depth, --min-size, --max-size by @gregpriday in #101
  • feat(clipboard): implement proper Linux file reference clipboard support by @gregpriday in #103

New Contributors

Full Changelog: v0.13.1...v0.14.0