Skip to Content
🎉 ShotSweep is live! Launched on NFSFU234 Open Source Day.
DocsChangelog

Changelog

All notable changes to the NFSFU234 ShotSweep Library will be documented in this file. The format is based on Keep a Changelog  and adheres to Semantic Versioning.

[1.3.0] — Scroll-reveal capture and hardening

Added

  • Scroll warm-up before full and sections captures, so scroll-reveal content and lazy-loaded images appear. Disable with --no-scroll.
  • --image-wait <ms>: wait for images still loading after the scroll, re-request images cancelled by a load timeout, and warn about any that never finish.
  • A page that times out on --wait-until but is already usable is captured with a warning; --strict-load restores failing.
  • --freeze-animations, --user-agent, --ignore-https-errors, and --headers-all-origins.
  • URLs without a scheme get https:// (http:// for localhost), and pasted Markdown links are unwrapped. All invalid URLs are reported together before capture starts.
  • Sitemap fetches have a timeout, a cycle guard, a depth limit, and .xml.gz support.
  • Comments (#) and UTF-8 BOMs are handled in URL, paths and CSV files.
  • Failure reasons and warnings are printed under the run summary.
  • diff reports screenshots it can’t read as error results.

Changed

  • --bearer and --header are sent only to the captured site and its subdomains.
  • manifest.json entries are replaced per job, use forward-slash paths, and are written atomically. A corrupt manifest is moved aside instead of overwritten.
  • Folder names include the port, and add a hash suffix for query-string, non-ASCII, or very long paths.
  • Screenshots, --wait selectors and retries respect --timeout.
  • --resume re-captures a job whose screenshot file was deleted.
  • diff counts error results as regressions and matches pages across path styles, trailing slashes, and moved manifests.

Fixed

  • --zip with --out . no longer writes ..zip or includes itself.
  • A single failing page no longer aborts the whole batch, and Chromium is always closed.
  • A broken shotsweep.config.json is reported instead of silently ignored.
  • Malformed --header and --cookie values are rejected instead of skipped.
  • Credentials embedded in URLs are masked in run-record.json.
  • Stale section-NN files from an earlier run are removed.

See Upgrading to 1.3 for behaviour changes that can affect existing baselines.

[1.2.0] — Element capture and run provenance

Added

  • --mode element with --selector to capture a single element, cropped to its own size.
  • run-record.json, written with every capture (skip with --no-record): tool, browser and OS versions, redacted resolved config, and SHA-256 hashes of the screenshots.
  • diff flags environment drift between two runs and records provenance, the pass/fail decision, and image hashes in diff-report.json.

[0.1.0] — NFSFU234 Open Source Day (2026-08-25)

Initial public release.

NFSFU234 ShotSweep is a command-line screenshot and visual regression tool built for developers who need repeatable website captures, automated visual comparisons, CI-friendly workflows, and reliable screenshot automation at scale.

This is the first public release of ShotSweep and is being launched as part of NFSFU234 Open Source Day, alongside the established NFSFU234 Tour Guide  and NFSFU234 Form Validation .

Added

  • Capture single URLs, arrays, CSVs, or complete sitemaps, including sitemap-index files.

  • Full-page and section-sliced screenshot modes.

  • Multiple viewport captures per run.

  • Named viewport presets:

    • desktop
    • tablet
    • mobile
  • Raw WxH viewport definitions.

  • --replace-origin for reusing production sitemaps against localhost or staging environments.

  • Generic authentication support:

    • saved sessions via shotsweep login
    • bearer tokens
    • custom headers
    • cookie injection
  • Authentication workflows verified against real authenticated captures.

  • shotsweep diff for pixel-comparing two capture runs by manifest.

  • Diff output includes:

    • old.png
    • new.png
    • diff.png
    • diff-report.json
  • --zip support for bundling diff output.

  • Non-zero exit codes when real visual changes are detected, allowing ShotSweep to gate CI pipelines.

  • --concurrency with CPU-aware warnings.

  • --timeout and --retries for real-world capture reliability.

  • Retry behavior verified against an actual transient failure.

  • --zip support on capture for bundling capture output.

  • --dry-run for previewing resolved targets without taking screenshots.

  • --json and --quiet for scriptable and CI-friendly output.

  • --debug for detailed diagnostic information.

  • --describe for generating an AI-ready summary of a completed capture run.

  • --resume for skipping URL/viewport pairs already captured in an existing output manifest.

  • --verbose for persistent per-job completion output, particularly useful with concurrent captures.

  • --limit and --offset for capturing a specific slice of resolved URLs.

  • --wait-until <domcontentloaded|load|networkidle> for controlling when a page is considered ready for capture.

  • --threshold supports:

    • raw ratios
    • percentages such as "0.1%"
    • named presets: strict, default, and loose
  • Configuration file support through:

    • shotsweep.config.json
    • .shotsweeprc.json
  • shotsweep diff reads the same configuration file as capture, with an optional diff section for diff-specific overrides.

  • Explicit CLI flags take precedence over configuration-file values.

  • CLI name, description, and version are now read from package.json at runtime rather than duplicated as hardcoded values.

  • Per-file manifest.json logging including:

    • URL
    • mode
    • viewport
    • file path
    • file size
    • timestamp

Release

NFSFU234 ShotSweep is launching as a new project for NFSFU234 Open Source Day on August 25, 2026.

It joins the NFORSHIFU234 Dev open-source ecosystem alongside NFSFU234 Tour Guide  and NFSFU234 Form Validation .

Learn more at the NFSFU234 ShotSweep website .

Part of the NFORSHIFU234 Dev open-source ecosystem, published for NFSFU234 Open Source Day.

Last updated on