Zigzag LogoZigZagDocs

Changelog

v0.18.0

v0.18.0

  • Support up to 18 languages with AST
  • Remove dead code
  • Reorganize code
  • Rewrite architecture and write AGENTS.md for contributors.

Full Changelog: https://github.com/Zagforge-Org/zigzag/compare/v0.17.0...v0.18.0

v0.17.0

v0.17.0

What's new

AST-based chunking for LLM output

The --llm report now uses tree-sitter to parse source files and split them into semantically meaningful chunks — functions, classes, and decorated definitions — rather than arbitrary line ranges.

Supported languages: Python (.py)

Files with unsupported extensions fall back to the previous line-range behaviour.

Changes

  • AST chunker powered by tree-sitter (Python: function_definition, class_definition, decorated_definition)
  • Bundled tree-sitter C sources compiled directly into the binary — no external dependencies
  • Fixed CI test pipeline stalling on all platforms (Linux, macOS, Windows)

Full Changelog: https://github.com/Zagforge-Org/zigzag/compare/v0.16.0...v0.17.0

Full Changelog: https://github.com/Zagforge-Org/zigzag/compare/v0.16.0...v0.17.0

v0.16.0

v0.16.0

Upload Improvements and Reliability Enhancements

Features

  • Added upload: true/false option in zig.conf.json to allow enabling or disabling uploads via configuration
  • Upload now runs once during the initial scan in watch mode to ensure the remote state is synchronized from the start

Improvements

  • Introduced a 30-second timeout for HTTP upload requests to prevent hanging under poor network conditions
  • Running with --upload without run now shows a warning message to guide correct usage

Notes

  • No breaking changes
  • Existing behavior remains unchanged unless upload is explicitly configured

Full Changelog: https://github.com/LegationPro/zigzag/compare/v0.15.2...v0.16.0

v0.15.2

v0.15.2

What's Changed

  • Version 0.15.2 by @LegationPro in https://github.com/LegationPro/zigzag/pull/19

Full Changelog: https://github.com/LegationPro/zigzag/compare/v0.15.1...v0.15.2

v0.15.1

v0.15.1

Summary

This pull request introduces several improvements to configuration handling, default behavior, and CLI controls. It enhances flexibility, fixes inconsistencies between modes, and ensures clearer precedence between config and CLI flags.


Changes

1. Flexible --chunk-size in zig.conf.json

  • Updated FileConf.llm_chunk_size from ?usize to ?std.json.Value
    • Now accepts both:
      • Numeric values (e.g., 500000)
      • String values with suffixes (e.g., "500k", "2m")
  • Updated applyFileConf:
    • Integer → directly cast
    • String → parsed with K / M suffix logic
  • Default template value changed to null

Backward compatibility:

  • Existing numeric values continue to work
  • Previous 0 (disabled) should now be replaced with null

2. Ignore zig.conf.json by Default

  • Added "zig.conf.json" to DEFAULT_SKIP_DIRS in:
    • src/utils/skip_dirs/skip_dirs.zig
  • Uses existing substring matching
  • No scanner logic changes required

3. Fix Missing llm_description in Chunked Mode

  • Added ## Project Description section to chunked output
    • Inserted after the chunk-1 header in llm.zig
  • Ensures consistency with non-chunked mode, where this section was already present

4. New --no-watch CLI Flag

  • Implemented handler:
    • src/cli/handlers/no_watch.zig
    • Sets:
      • watch = false
      • _no_watch_set_by_cli = true

Precedence behavior:

  • CLI arguments are applied after file configuration
  • --no-watch always overrides "watch": true in zig.conf.json

Registered in:

  • flags.zig
  • root.zig test aggregator

Notes

  • These changes maintain backward compatibility while improving usability and predictability
  • CLI precedence is now explicit and consistent
  • Configuration parsing is more flexible and user-friendly

Testing

  • Verified existing configurations with numeric llm_chunk_size
  • Validated string-based chunk sizes (k and m suffixes)
  • Confirmed zig.conf.json is excluded during scanning
  • Verified --no-watch overrides config file settings
  • Ensured llm_description appears in both chunked and non-chunked modes

What's Changed

  • chore: fix windows compatability by @LegationPro in https://github.com/LegationPro/zigzag/pull/11
  • Dev by @LegationPro in https://github.com/LegationPro/zigzag/pull/12
  • Dev by @LegationPro in https://github.com/LegationPro/zigzag/pull/13
  • Dev by @LegationPro in https://github.com/LegationPro/zigzag/pull/14
  • Dev by @LegationPro in https://github.com/LegationPro/zigzag/pull/15
  • Version 0.14.2 by @LegationPro in https://github.com/LegationPro/zigzag/pull/16
  • Version 0.15.0 by @LegationPro in https://github.com/LegationPro/zigzag/pull/17
  • Version 0.15.1 by @LegationPro in https://github.com/LegationPro/zigzag/pull/18

Full Changelog: https://github.com/LegationPro/zigzag/compare/v0.15.0...v0.15.1

v0.15.0

v0.15.0

What's Changed

Features

  • LLM chunked output — large codebases are now split across multiple LLM reports via --llm-chunk-size / llm_chunk_size in zig.conf.json
  • Benchmark command — new zigzag bench CLI command with built-in benchmark suite
  • Progress bar — real-time progress display during scanning
  • Multi-path combined HTML report — --html with multiple --path args generates a combined dashboard
  • --open flag — automatically opens the HTML report in your browser after generation
  • serve command — built-in HTTP server for serving the HTML report
  • Multiple paths & ignores — --path and --ignore now accept comma-separated lists
  • Time-based path scanning — improved UX with scan timing display

Improvements

  • Refactored runner into scan.zig + reports.zig sub-modules
  • Refactored logger into modular utilities (phase, print, summary, cpu, file_logger)
  • Migrated colors, skip_dirs, and fmt into src/utils/
  • Improved cache handling for large files (fixes crash on files >10MiB index)
  • Better UX fixes (common bugs, ignore list, stats display)
  • Virtual table scroll for combined dashboard
  • Architecture docs added (docs/ARCHITECTURE.md)

Bug Fixes

  • Fix opening large files not being processed or crashing
  • Fix Windows-specific compatibility issues
  • Fix CSS scroll anchoring and virtual viewer correctness

Full Changelog: https://github.com/LegationPro/zigzag/compare/v0.13.0...v0.15.0

v0.14.2

v0.14.2

What's Changed

  • Version 0.14.0 by @LegationPro in https://github.com/LegationPro/zigzag/pull/8
  • fix: Windows watcher overlapped I/O and stop-event by @LegationPro in https://github.com/LegationPro/zigzag/pull/9
  • fix: Homebrew formula sed patterns by @LegationPro in https://github.com/LegationPro/zigzag/pull/10

Full Changelog: https://github.com/LegationPro/zigzag/compare/v0.13.0...v0.14.2

v0.14.1

v0.14.1

Full Changelog: https://github.com/LegationPro/zigzag/compare/v0.12.11...v0.14.1

Full Changelog: https://github.com/LegationPro/zigzag/compare/v0.14.0...v0.14.1

What's Changed

  • Version 0.14.0 by @LegationPro in https://github.com/LegationPro/zigzag/pull/8
  • fix: Windows watcher overlapped I/O and stop-event by @LegationPro in https://github.com/LegationPro/zigzag/pull/9
  • fix: Homebrew formula sed patterns by @LegationPro in https://github.com/LegationPro/zigzag/pull/10

Full Changelog: https://github.com/LegationPro/zigzag/compare/v0.13.0...v0.14.1

v0.14.0

v0.14.0

What's Changed

  • Version 0.14.0 by @LegationPro in https://github.com/LegationPro/zigzag/pull/8
  • fix: Windows watcher overlapped I/O and stop-event by @LegationPro in https://github.com/LegationPro/zigzag/pull/9

Full Changelog: https://github.com/LegationPro/zigzag/compare/v0.13.0...v0.14.0

What's Changed

  • Version 0.14.0 by @LegationPro in https://github.com/LegationPro/zigzag/pull/8
  • fix: Windows watcher overlapped I/O and stop-event by @LegationPro in https://github.com/LegationPro/zigzag/pull/9
  • fix: Homebrew formula sed patterns by @LegationPro in https://github.com/LegationPro/zigzag/pull/10

Full Changelog: https://github.com/LegationPro/zigzag/compare/v0.13.0...v0.14.0

v0.13.0

v0.13.0

What's Changed

  • Version 0.13.0 by @LegationPro in https://github.com/LegationPro/zigzag/pull/7

Full Changelog: https://github.com/LegationPro/zigzag/compare/v0.12.11...v0.13.0

What's Changed

  • Version 0.13.0 by @LegationPro in https://github.com/LegationPro/zigzag/pull/7

Full Changelog: https://github.com/LegationPro/zigzag/compare/v0.12.11...v0.13.0