Skip to content

Releases

v2.0.0

Choose a tag to compare

@devmc12 devmc12 released this 07 Nov 07:08

dir-tree v2.0.0

18 commits · 99 files changed · +8574 / -4961

Full Changelog: v1.0.5...v2.0.0

Overview

  • fix(reader): isolate state for each read
  • fix(reader): distinguish cleared excludes from defaults
  • refactor(api): separate structural nodes from browser sources
  • fix(metadata): share lookup indexes across package entries
  • feat(reader): distinguish source failures and metadata warnings
  • fix(parser): reject conflicting imported tree paths
  • perf(reader): index ZIPs and bound filesystem work per read
  • refactor(core): split implementation by module responsibility
  • docs(api): document the 2.0 reader and migration contracts
  • test(package): verify installed entries and the minimum Node runtime
  • fix(parser): accept displayed dot roots in tree text
  • fix(tree): share name invariants between edits and imports
  • fix(browser): read only reachable legacy ignore rules
  • fix(tree): preserve special path keys across tree operations
  • refactor(zip): isolate record parsing and verify producer fixtures
  • docs(v2): clarify contracts, migration status, and commit workflow
  • refactor(playground): migrate examples to the v2 reader contract
  • feat(reader): report per-read preparation and tree timings

Changelog

  • Add optional per-read onTiming reports for source preparation, tree processing, and measured total duration across built-in adapters, isolating synchronous timing callback failures from successful reads

  • Accept displayed dot roots in tree text and share structural name validation between editing and importing

  • Skip legacy directory ignore files outside the current read scope, loading parent rules first

  • Preserve special path keys across metadata, annotations, visibility, selection, and JSON transfer

  • Reuse the metadata index builder and verify ZIP record parsing with Python and .NET archive fixtures

  • Isolate read overrides and ignore rules per call, and let an explicit empty exclude list clear constructor defaults

  • Move browser directory adapters and dropped-entry types to the /browser entry

  • Keep file nodes structural and remove FileNode.handle and stripFileNodeHandles; adapters retain their sources for repeated reads

  • Share tree lookup metadata between independently loaded ESM and CommonJS entries

  • Report unreadable ignore files with stable error codes and expose optional metadata warnings through onWarning

  • Reject duplicate normalized paths and invalid node structures before publishing imported trees

  • Index ZIP trees without inflating ordinary entries, bound filesystem I/O per read, and apply batch annotation patches with one map copy

  • Resolve separate TypeScript declarations for ESM and CommonJS and verify the package on Node.js 18.18.1

v1.0.5

Choose a tag to compare

@devmc12 devmc12 released this 06 Nov 13:03

dir-tree v1.0.5

4 commits · 14 files changed · +482 / -24

Full Changelog: v1.0.4...v1.0.5

Overview

  • fix: reject conflicting tree moves and preserve reorder positions
  • fix: anchor legacy gitignore rules to the project root
  • fix: respect directory-only gitignore rules across adapters
  • fix: preserve content for decoded ZIP filenames

Changelog

  • Reject tree moves that would create duplicate sibling paths while preserving same-parent reordering
  • Anchor legacy directory picker gitignore rules to the selected project root consistently with other adapters
  • Preserve directory-only gitignore rules and prevent excluded parent directories from being restored by child negations
  • Match decoded ZIP filenames to their original content keys, preserving GBK and Unicode path metadata instead of returning empty file data

v1.0.4

Choose a tag to compare

@devmc12 devmc12 released this 18 Jul 16:22

dir-tree v1.0.4

4 commits · 23 files changed · +865 / -145

Full Changelog: v1.0.3...v1.0.4

Overview

  • fix: omit release commit from release notes
  • fix: improve annotation alignment and Unicode widths
  • fix: separate playground inline annotation gap
  • feat: polish playground interface

Changelog

  • Excluded generated release: vX.Y.Z commits from GitHub Release note counts and Overview entries
  • Improved annotated ASCII layouts with Unicode grapheme-aware terminal widths, annotation-only global and per-folder alignment, and an independent normalized inline gap

v1.0.3

Choose a tag to compare

@devmc12 devmc12 released this 16 Jul 16:11

dir-tree v1.0.3

3 commits · 13 files changed · +4140 / -92

Full Changelog: v1.0.2...v1.0.3

Overview

  • fix: complete remote repository tree reads
  • feat: add interactive release workflow
  • release: v1.0.3

Changelog

  • Fixed remote repository completeness by following all GitHub/GitLab branch pages and all GitLab repository-tree pages
  • Added GitHub truncated tree recovery through complete subtree traversal, including targeted subpath reads and explicit failure instead of partial results
  • Added an interactive release script with version and changelog preparation, full validation, annotated tags, atomic pushes, and optional GitHub Release publishing
  • Added generated GitHub Release notes with commit and diff statistics, compare links, commit subjects, and the current release changelog

v1.0.2

Choose a tag to compare

@devmc12 devmc12 released this 16 Jul 05:18

fix: parse default Unicode file branches

  • Fixed default Unicode ASCII output round-trip parsing for non-final file branches, including annotated whole-tree imports
  • Fixed npm 12 package smoke checks and pinned the release workflow npm version for reproducible publishing

v1.0.1

Choose a tag to compare

@devmc12 devmc12 released this 15 Jun 15:07

chore: add release workflow

v1.0.0

Choose a tag to compare

@devmc12 devmc12 released this 15 Jun 14:43

feat: refactor dir-tree headless core

  • Many sources — read local directories, ZIP archives, GitHub/GitLab repositories, imported text, or in-memory trees through a shared adapter interface
  • Configurable ASCII rendering — connector styles, indentation, line numbers, full paths, and file size / modified-time metadata
  • Pure tree editing — create, rename, move, delete, focus, visibility, and expansion helpers that return new trees instead of mutating your state
  • Import and export — parse JSON, XML, HTML, Markdown, or ASCII tree text, and export back to JSON or ASCII
  • Annotations — provider-agnostic request, diff, and patch helpers for per-node comments; bring your own AI or manual workflow
  • Isomorphic and modular — tree-shakeable subpath exports, ships ESM, CommonJS, and type declarations, runs in Node.js and the browser