Skip to content

Releases: K1-R1/smoosh

smoosh v1.0.2

17 Mar 02:09
79733a7

Choose a tag to compare

Fixed

  • .gitignore auto-update no longer crashes on read-only repos when
    --output-dir points outside the repository root. The .gitignore write
    is now skipped (with a warning) since an external absolute path in
    .gitignore would be meaningless anyway.
  • README and install.sh header comment no longer pin curl install URLs to
    v1.0.0 — now reference main branch so users always get the latest
    install script.

Security

  • .gitignore auto-update skips symlinks with a warning, preventing the
    cp + mv pattern from overwriting the symlink target.
  • install.sh now warns before falling back to sudo for installation,
    making privilege escalation visible in curl | bash contexts.
  • README manual install instructions now include SHA256 checksum
    verification step.
  • Release workflow uses $RUNNER_TEMP instead of world-readable /tmp for
    intermediate files.

Added

  • Table of contents in README for quick navigation.
  • Uninstall section in README (Homebrew and manual paths, shadow binary
    note).
  • Agent/CI usage section in README with JSON schema example, recommended
    commands, and automation flags table.
  • --no-color flag documented in README configuration reference table.
  • Colour environment variable precedence documented (--no-color >
    NO_COLOR > FORCE_COLOR > CLICOLOR > TTY auto-detect).
  • install.sh environment variables documented in README (SMOOSH_VERSION,
    SMOOSH_INSTALL_DIR, SMOOSH_NO_CONFIRM, SMOOSH_NO_VERIFY).
  • Agent/CI example added to --help output.
  • 3 new bats tests: external --output-dir skips .gitignore, symlink
    .gitignore is not followed, --help includes agent example.

smoosh v1.0.1

15 Mar 19:08
af43c8d

Choose a tag to compare

Fixed

  • install.sh now aborts (exit 1) when the .sha256 checksum file is absent,
    rather than warning and continuing with an unverified binary. Set
    SMOOSH_NO_VERIFY=1 to opt out in restricted environments.
  • --all mode now exits with a clear error when the file command is not
    found, rather than silently including all files without MIME filtering.
  • Exit codes 4 and 130 added to --help output (were documented in README
    but missing from the inline reference).

Added

  • 30 golden file tests covering byte-for-byte output across all mode and
    format combinations (test/smoosh_golden.bats).
  • test/ACCEPTANCE.md — manual acceptance test scenarios for interactive
    mode, remote repos, AI tool integrations, and secrets detection.
  • MAINTAINING.md — operational guide covering release procedure, pinned
    dependency inventory, and periodic maintenance schedule.
  • Bash 3.2 syntax-check CI job on macOS (/bin/bash -n smoosh).
  • Dependabot configured for monthly GitHub Actions SHA updates.

Changed

  • CI and release workflow install shfmt via go install (Go module sum
    database) instead of a raw binary download, which had no integrity check.
  • Demo GIFs and VHS tape moved to assets/ directory.

smoosh v1.0.0

15 Mar 10:15

Choose a tag to compare

Added

  • Core file aggregation with smart chunking at configurable word limits (default: 450,000 words)
  • File type presets: --docs (md, rst, txt, adoc, org, tex), --code (adds all code extensions), --all
  • Flexible filtering: --include, --only, --exclude, --include-hidden
  • Interactive mode with repo scanning, category breakdown, and guided mode selection
  • Remote repository support — pass any HTTPS, SSH, or bare github.com/user/repo URL
  • Table of contents generation (--toc) with per-chunk file index and word counts
  • Line numbers in output (--line-numbers)
  • Multiple output formats: Markdown (default), plain text, XML with CDATA sections
  • Basic secrets detection with clear scope messaging (AWS keys, GitHub PATs, PEM blocks)
  • 100% file inclusion verification — exits 4 on any mismatch, never leaves partial output
  • Dry run preview (--dry-run) with accurate per-file word counts
  • Agent-native output: --json for structured JSON, --no-interactive for CI/scripts
  • Differentiated exit codes (0–7, 130) for programmatic consumption
  • Homebrew tap and curl installer (install.sh) with SHA256 verification
  • 198 tests across 8 bats files
  • CI: ShellCheck + shfmt lint + bats tests on Ubuntu and macOS
  • GitHub Actions release workflow — auto-publishes release artefacts on tag push
  • 256-colour sunset palette in interactive mode with box-drawing letter banner
  • Output path shown relative to repo root
  • Demo recordings: interactive mode flow and power-user flags