PackageTrack
Sign in Get early access

insta

A snapshot testing library for Rust

1.48.0 91M downloads/mo #852 most downloaded on crates.io mitsuhiko/insta

What this package is like to depend on

Last release 2 months ago

11 Jun 2026

Release timing varies

gaps range from 1 weeks to 4 months

Most releases are documented

notes for 83 of 117 stable releases

2 versions withdrawn

withdrawn after publishing

8 years old

121 releases · first in 2019

15 releases in the last 12 months

see the full history below

Release timeline

121 releases · Jan 2019 to Jun 2026
2020 2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 60 of 121
  1. 1.48.0 11 Jun 2026
    Release notes

    Release Notes

    • Add strip_ansi_escape_codes setting which removes ANSI escape sequences
      (color codes, cursor movement, etc.) from snapshot content before comparison.
      Requires the filters feature. #899 (@pierluigilenoci)
    • Add opt-in support for YAML literal blocks for multiline strings in snapshot
      metadata fields such as description and expression. Set
      INSTA_YAML_BLOCK_STYLE=1 to enable. #851 (@ivov)
    • Setting CI=true normally makes cargo insta test behave as though --check
      was passed. Explicit snapshot handling options such as --accept now take
      precedence over this environment variable, allowing users to override this
      behavior if they want to. #924
    • Fix cargo insta test --profile being forwarded to nextest as the nextest
      profile instead of the cargo build profile; it now translates to
      --cargo-profile for the nextest runner. Add --nextest-profile to select
      the nextest profile. #910
    • Fix cargo insta pending-snapshots printing unusable \\?\-prefixed paths
      on Windows. The --snapshot filter now also accepts partial paths: any
      trailing path suffix of the snapshot file matches, so a bare
      --snapshot my_test.snap works. #904
    • Accepting a binary snapshot no longer fails with os error 2 when its data
      file is missing (e.g. gitignored and not committed). #914

    Install cargo-insta 1.48.0

    Install prebuilt binaries via shell script

    curl --proto '=https' --tlsv1.2 -LsSf https://github.com/mitsuhiko/insta/releases/download/1.48.0/cargo-insta-installer.sh | sh

    Install prebuilt binaries via powershell script

    powershell -ExecutionPolicy Bypass -c "irm https://github.com/mitsuhiko/insta/releases/download/1.48.0/cargo-insta-installer.ps1 | iex"

    Download cargo-insta 1.48.0

    File Platform Checksum
    cargo-insta-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
    cargo-insta-x86_64-apple-darwin.tar.xz Intel macOS checksum
    cargo-insta-x86_64-pc-windows-msvc.zip x64 Windows checksum
    cargo-insta-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum
    cargo-insta-x86_64-unknown-linux-musl.tar.xz x64 MUSL Linux checksum
    Open source →
    Release notes
    • Add strip_ansi_escape_codes setting which removes ANSI escape sequences (color codes, cursor movement, etc.) from snapshot content before comparison. Requires the filters feature. #899 (@pierluigilenoci)
    • Add opt-in support for YAML literal blocks for multiline strings in snapshot metadata fields such as description and expression. Set INSTA_YAML_BLOCK_STYLE=1 to enable. #851 (@ivov)
    • Setting CI=true normally makes cargo insta test behave as though --check was passed. Explicit snapshot handling options such as --accept now take precedence over this environment variable, allowing users to override this behavior if they want to. #924
    • Fix cargo insta test --profile being forwarded to nextest as the nextest profile instead of the cargo build profile; it now translates to --cargo-profile for the nextest runner. Add --nextest-profile to select the nextest profile. #910
    • Fix cargo insta pending-snapshots printing unusable \\?\-prefixed paths on Windows. The --snapshot filter now also accepts partial paths: any trailing path suffix of the snapshot file matches, so a bare --snapshot my_test.snap works. #904
    • Accepting a binary snapshot no longer fails with os error 2 when its data file is missing (e.g. gitignored and not committed). #914
    Open source →
  2. 1.47.2 30 Mar 2026
    Release notes

    Release Notes

    • Restore Send + Sync on Settings, Redactions, and Redaction by
      reverting the Arc to Rc change from 1.47.0, which was semver-breaking.
      #873 #874
    • Add Send + Sync bounds to Comparator trait for consistency with
      Arc-based storage. #872
    • Add compile-time assertion to prevent future auto-trait regressions.

    Install cargo-insta 1.47.2

    Install prebuilt binaries via shell script

    curl --proto '=https' --tlsv1.2 -LsSf https://github.com/mitsuhiko/insta/releases/download/1.47.2/cargo-insta-installer.sh | sh

    Install prebuilt binaries via powershell script

    powershell -ExecutionPolicy Bypass -c "irm https://github.com/mitsuhiko/insta/releases/download/1.47.2/cargo-insta-installer.ps1 | iex"

    Download cargo-insta 1.47.2

    File Platform Checksum
    cargo-insta-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
    cargo-insta-x86_64-apple-darwin.tar.xz Intel macOS checksum
    cargo-insta-x86_64-pc-windows-msvc.zip x64 Windows checksum
    cargo-insta-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum
    cargo-insta-x86_64-unknown-linux-musl.tar.xz x64 MUSL Linux checksum
    Open source →
    Release notes
    • Restore Send + Sync on Settings, Redactions, and Redaction by reverting the Arc to Rc change from 1.47.0, which was semver-breaking. #873 #874
    • Add Send + Sync bounds to Comparator trait for consistency with Arc-based storage. #872
    • Add compile-time assertion to prevent future auto-trait regressions.
    Open source →
  3. 1.47.1 29 Mar 2026
    Release notes

    Release Notes

    • Revert sorting of sequences in sort_maps. The change in 1.47.0 sorted all
      Seq values (including Vec), not just non-deterministic collections like
      HashSet, which was a breaking change. #876

    Install cargo-insta 1.47.1

    Install prebuilt binaries via shell script

    curl --proto '=https' --tlsv1.2 -LsSf https://github.com/mitsuhiko/insta/releases/download/1.47.1/cargo-insta-installer.sh | sh

    Install prebuilt binaries via powershell script

    powershell -ExecutionPolicy Bypass -c "irm https://github.com/mitsuhiko/insta/releases/download/1.47.1/cargo-insta-installer.ps1 | iex"

    Download cargo-insta 1.47.1

    File Platform Checksum
    cargo-insta-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
    cargo-insta-x86_64-apple-darwin.tar.xz Intel macOS checksum
    cargo-insta-x86_64-pc-windows-msvc.zip x64 Windows checksum
    cargo-insta-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum
    cargo-insta-x86_64-unknown-linux-musl.tar.xz x64 MUSL Linux checksum
    Open source →
    Release notes
    • Revert sorting of sequences in sort_maps. The change in 1.47.0 sorted all Seq values (including Vec), not just non-deterministic collections like HashSet, which was a breaking change. #876
    Open source →
  4. 1.47.0 27 Mar 2026
    Release notes

    Release Notes

    • Add Comparator trait for customizing how snapshot values are compared. #872 (@dstu)
    • Sort sequences in sort_maps to fix non-deterministic HashSet snapshots. #876
    • Improve TOML serialization error message for unsupported types, suggesting assert_json_snapshot! or assert_yaml_snapshot! as alternatives. #880
    • Remove unnecessary Send + Sync bounds from Redaction, allowing non-Send closures in dynamic redactions. #874
    • Don't use Arc in Settings unnecessarily. #873 (@dstu)
    • Upgrade console to 0.16 and MSRV to 1.66. #885
    • Upgrade toml-edit to 0.25. #882 (@alexanderkjall)

    Install cargo-insta 1.47.0

    Install prebuilt binaries via shell script

    curl --proto '=https' --tlsv1.2 -LsSf https://github.com/mitsuhiko/insta/releases/download/1.47.0/cargo-insta-installer.sh | sh

    Install prebuilt binaries via powershell script

    powershell -ExecutionPolicy Bypass -c "irm https://github.com/mitsuhiko/insta/releases/download/1.47.0/cargo-insta-installer.ps1 | iex"

    Download cargo-insta 1.47.0

    File Platform Checksum
    cargo-insta-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
    cargo-insta-x86_64-apple-darwin.tar.xz Intel macOS checksum
    cargo-insta-x86_64-pc-windows-msvc.zip x64 Windows checksum
    cargo-insta-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum
    cargo-insta-x86_64-unknown-linux-musl.tar.xz x64 MUSL Linux checksum
    Open source →
    Release notes
    • Add Comparator trait for customizing how snapshot values are compared. #872 (@dstu)
    • Sort sequences in sort_maps to fix non-deterministic HashSet snapshots. #876
    • Improve TOML serialization error message for unsupported types, suggesting assert_json_snapshot! or assert_yaml_snapshot! as alternatives. #880
    • Remove unnecessary Send + Sync bounds from Redaction, allowing non-Send closures in dynamic redactions. #874
    • Don't use Arc in Settings unnecessarily. #873 (@dstu)
    • Upgrade console to 0.16 and MSRV to 1.66. #885
    • Upgrade toml-edit to 0.25. #882 (@alexanderkjall)
    Open source →
  5. 1.46.3 02 Feb 2026
    Release notes

    Release Notes

    • Fix inline escaped snapshots incorrectly stripping leading newlines when content contains control characters like carriage returns. The escaped format (used for snapshots with control chars) now correctly preserves the original content without stripping a non-existent formatting newline. #865

    Install cargo-insta 1.46.3

    Install prebuilt binaries via shell script

    curl --proto '=https' --tlsv1.2 -LsSf https://github.com/mitsuhiko/insta/releases/download/1.46.3/cargo-insta-installer.sh | sh

    Install prebuilt binaries via powershell script

    powershell -ExecutionPolicy Bypass -c "irm https://github.com/mitsuhiko/insta/releases/download/1.46.3/cargo-insta-installer.ps1 | iex"

    Download cargo-insta 1.46.3

    File Platform Checksum
    cargo-insta-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
    cargo-insta-x86_64-apple-darwin.tar.xz Intel macOS checksum
    cargo-insta-x86_64-pc-windows-msvc.zip x64 Windows checksum
    cargo-insta-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum
    cargo-insta-x86_64-unknown-linux-musl.tar.xz x64 MUSL Linux checksum
    Open source →
    Release notes
    • Fix inline escaped snapshots incorrectly stripping leading newlines when content contains control characters like carriage returns. The escaped format (used for snapshots with control chars) now correctly preserves the original content without stripping a non-existent formatting newline. #865
    Open source →
  6. 1.46.2 31 Jan 2026
    Release notes

    Release Notes

    • Fix inline snapshot corruption with carriage returns. The leading_space() function incorrectly treated \r as indentation, causing carriage returns to be stripped from snapshot content. #866
    • Remove < 0.4.17 upper bound on globset dependency. #864

    Install cargo-insta 1.46.2

    Install prebuilt binaries via shell script

    curl --proto '=https' --tlsv1.2 -LsSf https://github.com/mitsuhiko/insta/releases/download/1.46.2/cargo-insta-installer.sh | sh

    Install prebuilt binaries via powershell script

    powershell -ExecutionPolicy Bypass -c "irm https://github.com/mitsuhiko/insta/releases/download/1.46.2/cargo-insta-installer.ps1 | iex"

    Download cargo-insta 1.46.2

    File Platform Checksum
    cargo-insta-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
    cargo-insta-x86_64-apple-darwin.tar.xz Intel macOS checksum
    cargo-insta-x86_64-pc-windows-msvc.zip x64 Windows checksum
    cargo-insta-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum
    cargo-insta-x86_64-unknown-linux-musl.tar.xz x64 MUSL Linux checksum
    Open source →
    Release notes
    • Fix inline snapshot corruption with carriage returns. The leading_space() function incorrectly treated \r as indentation, causing carriage returns to be stripped from snapshot content. #866
    • Remove < 0.4.17 upper bound on globset dependency. #864
    Open source →
  7. 1.46.1 15 Jan 2026
    Release notes

    Release Notes

    • Fix inline snapshot corruption when multiple snapshots appear inside with_settings! macro. #858

    Install cargo-insta 1.46.1

    Install prebuilt binaries via shell script

    curl --proto '=https' --tlsv1.2 -LsSf https://github.com/mitsuhiko/insta/releases/download/1.46.1/cargo-insta-installer.sh | sh

    Install prebuilt binaries via powershell script

    powershell -ExecutionPolicy Bypass -c "irm https://github.com/mitsuhiko/insta/releases/download/1.46.1/cargo-insta-installer.ps1 | iex"

    Download cargo-insta 1.46.1

    File Platform Checksum
    cargo-insta-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
    cargo-insta-x86_64-apple-darwin.tar.xz Intel macOS checksum
    cargo-insta-x86_64-pc-windows-msvc.zip x64 Windows checksum
    cargo-insta-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum
    cargo-insta-x86_64-unknown-linux-musl.tar.xz x64 MUSL Linux checksum
    Open source →
    Release notes
    • Fix inline snapshot corruption when multiple snapshots appear inside with_settings! macro. #858
    Open source →
  8. 1.46.0 03 Jan 2026
    Release notes

    Release Notes

    • Add INSTA_PENDING_DIR environment variable for Bazel and other hermetic build systems. When set, pending snapshots are written to a separate directory while keeping the source tree read-only. We are very open to feedback on this feature. #852
    • Fix documentation for test.runner_fallback config key. #853

    Install cargo-insta 1.46.0

    Install prebuilt binaries via shell script

    curl --proto '=https' --tlsv1.2 -LsSf https://github.com/mitsuhiko/insta/releases/download/1.46.0/cargo-insta-installer.sh | sh

    Install prebuilt binaries via powershell script

    powershell -ExecutionPolicy Bypass -c "irm https://github.com/mitsuhiko/insta/releases/download/1.46.0/cargo-insta-installer.ps1 | iex"

    Download cargo-insta 1.46.0

    File Platform Checksum
    cargo-insta-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
    cargo-insta-x86_64-apple-darwin.tar.xz Intel macOS checksum
    cargo-insta-x86_64-pc-windows-msvc.zip x64 Windows checksum
    cargo-insta-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum
    cargo-insta-x86_64-unknown-linux-musl.tar.xz x64 MUSL Linux checksum
    Open source →
    Release notes
    • Add INSTA_PENDING_DIR environment variable for Bazel and other hermetic build systems. When set, pending snapshots are written to a separate directory while keeping the source tree read-only. We are very open to feedback on this feature. #852
    • Fix documentation for test.runner_fallback config key. #853
    Open source →
  9. 1.45.1 29 Dec 2025
    Release notes

    Release Notes

    • Fix backward compatibility with TOML format produced by insta < 1.45.0. #849 (@chitoku-k)

    Install cargo-insta 1.45.1

    Install prebuilt binaries via shell script

    curl --proto '=https' --tlsv1.2 -LsSf https://github.com/mitsuhiko/insta/releases/download/1.45.1/cargo-insta-installer.sh | sh

    Install prebuilt binaries via powershell script

    powershell -ExecutionPolicy Bypass -c "irm https://github.com/mitsuhiko/insta/releases/download/1.45.1/cargo-insta-installer.ps1 | iex"

    Download cargo-insta 1.45.1

    File Platform Checksum
    cargo-insta-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
    cargo-insta-x86_64-apple-darwin.tar.xz Intel macOS checksum
    cargo-insta-x86_64-pc-windows-msvc.zip x64 Windows checksum
    cargo-insta-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum
    cargo-insta-x86_64-unknown-linux-musl.tar.xz x64 MUSL Linux checksum
    Open source →
    Release notes
    • Fix backward compatibility with TOML format produced by insta < 1.45.0. #849 (@chitoku-k)
    Open source →
  10. 1.45.0 18 Dec 2025
    Release notes

    Release Notes

    • Add external diff tool support via INSTA_DIFF_TOOL environment variable. When set, insta uses the specified tool (e.g., delta, difftastic) to display snapshot diffs instead of the built-in diff. The tool is invoked as <tool> <old_file> <new_file>. #844
    • Add test.disable_nextest_doctest config option to insta.yaml, allowing users to silence the nextest doctest warning via config instead of passing --dnd every time. #842
    • Skip non-insta snapshot files in unreferenced detection. Projects using both insta and other snapshot tools (like vitest or jest) can now use --unreferenced=reject without false positives on .snap files from other tools. #846
    • Collect warnings from tests for display after run. Ensures deprecation warnings are visible even when nextest suppresses stdout/stderr from passing tests. #840
    • Update TOML serialization to be up-to-date and backwards-compatible. #834
    • Support clippy::needless_raw_strings lint by only using raw strings when content contains backslashes or quotes. #828

    Install cargo-insta 1.45.0

    Install prebuilt binaries via shell script

    curl --proto '=https' --tlsv1.2 -LsSf https://github.com/mitsuhiko/insta/releases/download/1.45.0/cargo-insta-installer.sh | sh

    Install prebuilt binaries via powershell script

    powershell -ExecutionPolicy Bypass -c "irm https://github.com/mitsuhiko/insta/releases/download/1.45.0/cargo-insta-installer.ps1 | iex"

    Download cargo-insta 1.45.0

    File Platform Checksum
    cargo-insta-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
    cargo-insta-x86_64-apple-darwin.tar.xz Intel macOS checksum
    cargo-insta-x86_64-pc-windows-msvc.zip x64 Windows checksum
    cargo-insta-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum
    cargo-insta-x86_64-unknown-linux-musl.tar.xz x64 MUSL Linux checksum
    Open source →
    Release notes
    • Add external diff tool support via INSTA_DIFF_TOOL environment variable. When set, insta uses the specified tool (e.g., delta, difftastic) to display snapshot diffs instead of the built-in diff. The tool is invoked as <tool> <old_file> <new_file>. #844
    • Add test.disable_nextest_doctest config option to insta.yaml, allowing users to silence the nextest doctest warning via config instead of passing --dnd every time. #842
    • Skip non-insta snapshot files in unreferenced detection. Projects using both insta and other snapshot tools (like vitest or jest) can now use --unreferenced=reject without false positives on .snap files from other tools. #846
    • Collect warnings from tests for display after run. Ensures deprecation warnings are visible even when nextest suppresses stdout/stderr from passing tests. #840
    • Update TOML serialization to be up-to-date and backwards-compatible. #834 (@spoutn1k)
    • Support clippy::needless_raw_strings lint by only using raw strings when content contains backslashes or quotes. #828
    Open source →
  11. 1.44.3 27 Nov 2025
    Release notes
    • Fix a regression in 1.44.2 where merge conflict detection was too aggressive, incorrectly flagging snapshot content containing ====== or similar patterns as conflicts. #832
    • Fix a regression in 1.42.2 where inline snapshot updates would corrupt the file when code preceded the macro (e.g., let output = assert_snapshot!(...)). #833
    Open source →
  12. 1.44.2 27 Nov 2025
    Release notes
    • Fix a rare backward compatibility issue where inline snapshots using an uncommon legacy format (single-line content stored in multiline raw strings) could fail to match after 1.44.0. #830
    • Handle merge conflicts in snapshot files gracefully. When a snapshot file contains git merge conflict markers, insta now detects them and treats the snapshot as missing, allowing tests to continue and create a new pending snapshot for review. #829
    • Skip nextest_doctest tests when cargo-nextest is not installed. #826
    • Fix functional tests failing under nextest due to inherited NEXTEST_RUN_ID environment variable. #824
    Open source →
  13. 1.44.1 20 Nov 2025
    Release notes
    • Add --dnd alias for --disable-nextest-doctest flag to make it easier to silence the deprecation warning. #822
    • Update cargo-dist to 0.30.2 and fix Windows runner to use windows-2022. #821
    Open source →
  14. 1.44.0 20 Nov 2025
    Release notes
    • Added non-interactive snapshot review and reject modes for use in non-TTY environments (LLMs, CI pipelines, scripts). cargo insta review --snapshot <path> and cargo insta reject --snapshot <path> now work without a terminal. Enhanced pending-snapshots output with usage instructions and workspace-relative paths. #815
    • Add --disable-nextest-doctest flag to cargo insta test to disable running doctests with nextest. Shows a deprecation warning when nextest is used with doctests without this flag, to prepare cargo insta to no longer run a separate doctest process when using nextest in the future. #803
    • Add ergonomic --test-runner-fallback / --no-test-runner-fallback flags to cargo insta test. #811
    • Apply redactions to snapshot metadata. #813
    • Remove confusing 'previously unseen snapshot' message. #812
    • Speed up JSON float rendering. #806 (@nyurik)
    • Allow globset version up to 0.4.16. #810 (@g0hl1n)
    • Improve documentation. #814 (@tshepang)
    • We no longer trim starting newlines during assertions, which allows asserting the number of leading newlines match. Existing assertions with different leading newlines will pass and print a warning suggesting running with --force-update-snapshots. They may fail in the future. (Note that we still currently allow differing trailing newlines, though may adjust this in the future). #563
    Open source →
  15. 1.43.2 04 Sep 2025
    Release notes
    • Fix panics when cargo metadata fails to execute or parse (e.g., when cargo is not in PATH or returns invalid output). Now falls back to using the manifest directory as the workspace root. #798 (@adriangb)
    • Fix clippy uninlined_format_args lint warnings. #801
    • Changed diff line numbers to 1-based indexing. #799
    • Preserve snapshot names with INSTA_GLOB_FILTER. #786
    • Bumped libc crate to 0.2.174, fixing building on musl targets, and increasing the MSRV of insta to 1.64.0 (released Sept 2022). #784
    • Fix clippy 1.88 errors. #783
    • Fix source path in snapshots for non-child workspaces. #778
    • Add lifetime to Selector in redaction iterator. #779
    Open source →
  16. 1.43.1 29 Apr 2025
    Release notes

    This release in identical in rust code to 1.43.0, but reruns the GitHub Actions workflows, which failed to create a release within GitHub for 1.43.0.

    Open source →
  17. 1.43.0 25 Apr 2025
    Release notes
    • Add uppercase keyboard shortcuts for bulk operations in cargo insta review: A to accept all, R to reject all, and S to skip all remaining snapshots. #745
    • --unreferenced=auto (or other relevant values) no longer cleans up pending snapshots. A bug where cargo insta test --unreferenced=auto would incorrectly pass on new pending snapshots has been fixed.
    • Support specifying cargo-nextest bin with INSTA_CARGO_NEXTEST_BIN. #721 (Louis Fruleux)
    • Allow setting INSTA_WORKSPACE_ROOT at compile time. This is useful for reproducible binaries so they don't contain references to CARGO_MANIFEST_DIR. #726 (Pascal Bach)
    • Qualify all references in macros to avoid name clashes. #729 (Austin Schey)
    • Remove linked-hash-map and pin-project dependencies. #742, #741, #738
    • cargo insta review fails with a helpful error message when run in a non-TTY environment.
    Open source →
  18. 1.42.2 02 Mar 2025
    Release notes
    • Support other indention characters than spaces in inline snapshots. #679
    • Fix an issue where multiple targets with the same root would cause too many pending snapshots to be reported. #730
    • Hide unseen option in CLI, as it's pending deprecation. #732
    • Stop \t and \x1b (ANSI color escape) from causing snapshots to be escaped. #715
    • Improved handling of inline snapshots within allow_duplicates! { .. }. #712
    Open source →
  19. 1.42.1 25 Jan 2025
    Release notes
    • Improved handling of control characters in inline snapshots. #713
    • Add pending deprecation warning for --accept-unseen. We've left an issue open at https://github.com/mitsuhiko/insta/issues/659 eliciting feedback on whether anyone uses this for a few months. A warning will now be printed when --accept-unseen is used, and we'll eventually remove the feature unless we get some feedback that it's useful. #668
    Open source →
  20. 1.42.0 05 Jan 2025
    Release notes
    • Text snapshots no longer contain snapshot_type: text in their metadata. For context, we originally added this in the prior release (1.41.0) to support binary snapshots, but some folks disliked the diff noise on any snapshot changes, and the maintainers' weighted votes favored reverting. I apologize that this will cause some additional churn for those who used cargo insta test --force-update-snapshots to update their snapshots to the 1.41 format; running this again with 1.42 will remove those metadata entries. To confirm: this doesn't affect whether snapshot tests pass or fail — the worst impact is some additional diffs in metadata. #690
    • Pending snapshots are no longer removed throughout the workspace by cargo-insta before running tests. Instead, running a test will overwrite or remove its own pending snapshot. To remove all pending snapshots, use cargo insta reject or run tests with --unreferenced=delete. #651
    • insta::internals::SettingsBindDropGuard (returned from Settings::bind_to_scope) no longer implements Send. This was incorrect and any tests relying on this behavior where not working properly. Fixes #694 in #695 by @jalil-salame
    Open source →
  21. 1.41.1 31 Oct 2024
    Release notes
    • Re-release of 1.41.1 to generate release artifacts correctly.
    Open source →
  22. 1.41.0 27 Oct 2024
    Release notes
    • Experimental support for binary snapshots. #610 (Florian Plattner)

    • --force-update-snapshots now causes cargo-insta to write every snapshot, regardless of whether snapshots fully match, and now implies --accept. This allows for --force-update-snapshots to update inline snapshots' delimiters and indentation.

      For the previous behavior of --force-update-snapshots, which limited writes to snapshots which didn't fully match, use --require-full-match. The main difference between --require-full-match and the existing behavior of --force-update-snapshots is a non-zero exit code on any snapshots which don't fully match.

      Like the previous behavior of --force-update-snapshots, --require-full-match doesn't track inline snapshots' delimiters or indentation, so can't update if those don't match. #644

    • Inline snapshots only use # characters as delimiters when required. #603

    • Warnings for undiscovered snapshots are more robust, and include files with custom snapshot extensions. #637

    • Insta runs correctly on packages which reference rust files in a parent path. #626

    • Warnings are printed when any snapshot uses a legacy format. #599

    • cargo insta --version now prints a version. #665

    • insta now internally uses INSTA_UPDATE=force rather than INSTA_FORCE_UPDATE=1. (This doesn't affect users of cargo-insta, which handles this internally.) #482

    • cargo-insta's integration tests continue to grow over the past couple of versions, and now offer coverage of most of cargo-insta's interface.

    Open source →
  23. 1.40.0 06 Sep 2024
    Release notes
    • cargo-insta no longer panics when running cargo insta test --accept --workspace on a workspace with a default crate. #532

    • MSRV for insta has been raised to 1.60, and for cargo-insta to 1.64.

    • Added support for compact debug snapshots (assert_compact_debug_snapshot). #514

    • Deprecate --no-force-pass in cargo-insta. The --check option covers the same functionality and has a clearer name. #513

    • Inline snapshots now use the required number of #s to escape the snapshot value, rather than always using ###. This allows snapshotting values which themselves contain ###. If there are no existing # characters in the snapshot value, a single # will be used. #540

    • Inline snapshots can now be updated with --force-update-snapshots. #569

    • cargo insta test accepts multiple --exclude flags. #520

    • test runner in insta's yaml config works. #544

    • Print a warning when encountering old snapshot formats. #503

    • Group the options in cargo insta --help, upgrade to clap from structopt. #518

    • No longer suggest running cargo insta message when running cargo insta test --check. #515

    • Print a clearer error message when accepting a snapshot that was removed. #516

    • Mark require-full-match as experimental, given some corner-cases are currently difficult to manage. #497

    • Add a new integration test approach for cargo-insta and a set of integration tests. #537

    • Enable Filters to be created from IntoIterator types, rather than just Vecs. #570

    • Implemented total sort order for an internal Key type correctly. This prevents potential crashes introduced by the new sort algorithm in Rust 1.81. #586

    Open source →
  24. 1.39.0 15 May 2024
    Release notes
    • Fixed a bug in require_full_match. #485

    • Fixed a bug that caused snapshot and module names to sometimes be inaccurate. #483

    • Insta will no longer error when attempting to remove snapshots that were already removed. #484

    • Added support for trailing commas in inline snapshots. #472

    • Don't pass --color in all cases to libtest any more to work around limitations with custom test harnesses. #491

    Open source →
  25. 1.38.0 28 Mar 2024
    Release notes
    • Filters is now constructible from IntoIterator. #400

    • Change std macro calls to be fully qualified. This fixes issues where the prelude was not used or the macros were overridden. #469

    Open source →
  26. 1.37.0 26 Mar 2024
    Release notes
    • All macros for file snapshots should now handle trailing commas (but not yet inline snapshots)

    • Vendored old yaml-rust dependency to avoid rustsec warnings. #465

    Open source →
  27. 1.36.1 04 Mar 2024
    Release notes
    • Fix an ownership issue introduced in 1.36 with snapshot assertions. #453
    Open source →
  28. 1.36.0 03 Mar 2024
    Release notes
    • Deprecate INSTA_FORCE_UPDATE_SNAPSHOTS env-var for INSTA_FORCE_UPDATE. The latter was documented, the former was implemented. #449

    • Add require_full_match option. #448

    • Deprecate assert_display_snapshot!. #385

    Open source →
  29. 1.35.1 19 Feb 2024
    Release notes
    • Fixed a bug with diffs showing bogus newlines.
    Open source →
  30. 1.35.0 19 Feb 2024
    Release notes
    • Fixed a crash when a file named .config was in the root.
    • Added new alternative match .. { ... } syntax to redactions for better rustfmt support. (#428)
    • The --package parameter can be supplied multiple times now. (#427)
    • Leading newlines in snapshots are now ignored to resolve issues with inline snapshots that were never able to match. (#444)
    • cargo insta test now accepts the --test parameter multiple times. (#437)
    Open source →
  31. 1.34.0 09 Oct 2023
    Release notes
    • Snapshots are now sorted in the UI on review. (#413)
    • Re-organized repository to move cargo-insta into a workspace. (#410)
    • Fixed handling of --manifest-path with regards to virtual workspaces. (#409)
    Open source →
  32. 1.33.0 28 Sep 2023
    Release notes
    • Added --all-targets parameter support to cargo insta test. (#408)
    Open source →
  33. 1.32.0 20 Sep 2023
    Release notes
    • Added --profile parameter support to cargo insta test.
    Open source →
  34. 1.31.0 14 Jul 2023
    Release notes
    • Fixed a bug that caused cargo insta test not to report test failures.
    • Suppress needless_raw_string_hashes clippy lint on inline snapshots. (#390)
    Open source →
  35. 1.30.0 22 Jun 2023
    Release notes
    • Resolved a bug on Windows that caused input_file not to be written into the snapshots. (#386)
    • Snapshots are accepted when running with --accept even if a test outside insta fails. (#358)
    • Mark settings drop guard as #[must_use].
    • Write inline snapshots with atomic rename to avoid some rare races. (#373)
    • Pass --color=... to libtest to propagate color choices in more situations. (#375)
    Open source →
  36. 1.29.0 23 Mar 2023
    Release notes
    • Fixed a rendering bug with snapshot display (lines were not rendered to the terminal width).
    • Added --exclude option to cargo insta test. (#360)
    • Inherit color option from a CARGO_TERM_COLOR environment variable (#361)
    Open source →
  37. 1.28.0 16 Feb 2023
    Release notes
    • Added allow_duplicates! to enable multiple assertions for a single snapshot. (#346)
    • Ensure that expressions formatted with rustfmt use unix newlines.
    • Added a way to disable diffing in review. (#348)
    • Added three argument version of glob! to set a different base path. (#347)
    • Added rounded_redaction to truncate floating point values. (#350)
    Open source →
  38. 1.26.0 06 Jan 2023
    Release notes
    • Make canonicalization in glob! optional to better support WASI.
    Open source →
  39. 1.24.1 04 Jan 2023
    Release notes
    • Fix non working --include-hidden flag (#331)
    • Fix incorrect mapping of review.include_ignored (#330)
    Open source →
  40. 1.24.0 03 Jan 2023
    Release notes
    • Added an insta tool config (.config/insta.yaml) to change the behavior of insta and cargo-insta. (#322)
    • Renamed --no-ignore to --include-ignored.
    • Added --include-hidden to instruct insta to also walk into hidden paths.
    • Added new --unreferenced option to cargo-insta test which allows fine tuning of what should happen with unreferenced files. It's now possible to ignore (default), warn, reject or delete unreferenced snapshots. (#328)
    • Resolved an error message about doc tests when using nextest with test targeting. (#317)
    Open source →
  41. 1.23.0 11 Dec 2022
    Release notes
    • Add a hint if snapshots might be skipped. (#314)
    • Avoid extra newline in YAML snapshots. (#311)
    Open source →
  42. 1.22.0 03 Dec 2022
    Release notes
    • Added support for rendering some invisibles in diffs. This now also should make sure that ANSI sequences in strings are no longer screwing up the terminal output. (#308)
    • Prevent inline snapshots to be used in loops. (#307)
    • Support the --target option to cargo insta test. (#309)
    • Globbing now adds directories as disambiguators into the snapshot suffixes. This allows patterns such as foo/*/*.txt without creating conflicts. (#310)
    Open source →
  43. 1.21.2 27 Nov 2022
    Release notes
    • Added missing parameters to cargo insta test. (#305)
    • Fixed a sorting issue in hash maps for compound keys. (#304)
    Open source →
  44. 1.21.1 14 Nov 2022
    Release notes
    • Fix incorrect handling of extra args to cargo insta test.
    Open source →
  45. 1.21.0 28 Sep 2022
    Release notes
    • Fixed an issue that broke support for older rust versions. (#292)
    • Added cargo insta show command to render a snapshot.
    • Added support for compact JSON snapshots. (#288)
    Open source →
  46. 1.20.0 17 Sep 2022
    Release notes
    • cargo insta now supports nextest as test runner. (#285)
    • The glob! macro now defers failures by default. (#284)
    Open source →
  47. 1.19.1 31 Aug 2022
    Release notes
    • Added support for numeric keys in JSON which regressed in 0.18.0. (#281)
    Open source →
  48. 1.19.0 21 Aug 2022
    Release notes
    • Removed backtrace feature.
    • Removed serialization feature.
    • assert_json_snapshot! and assert_yaml_snapshot! now require the json and yaml feature respectively.
    • Doctests now emit a warning that inline snapshot updating is not supported (#272)
    • Added support for INSTA_GLOB_FILTER to skip over tests expanded from a glob. (#274)
    Open source →
  49. 1.18.2 11 Aug 2022
    Release notes
    • Avoid the use of #[allow(unused)] in the macro. (#271)
    Open source →
  50. 1.18.1 09 Aug 2022
    Release notes
    • Fixed a regression in the JSON serialization format with newtypes and tuple variants. (#270)
    Open source →
  51. 1.18.0 08 Aug 2022
    Release notes
    • Settings::bind now can return a result.
    • Expose the drop guard type of bind_to_scope.
    • The serde dependency is now optional. While still enabled by default users need to opt into yaml and json features explicitly to regain support for it. To avoid the default serde dependency the default features just need to be disabled. (#255)
    • Deprecated unused serialization features.
    • Deprecated unused backtrace feature.
    • Removed deprecated Settings::bind_to_thread.

    Breaking Changes / Upgrading: If you are upgrading to serde 1.18.0 you will receive deprecating warnings if you are using the assert_yaml_snapshot! and assert_json_snapshot! macros. These macros will continue to function in the future but they will require explicit opting into the yaml and json features. To silence the warning add them to your insta dependency. Additionally the backtrace feature was deprecated. It is no longer needed so just remove it.

    Open source →
  52. 1.18.0-alpha.1 07 Aug 2022 pre-release

    Nothing published for this version

  53. 1.17.2 06 Aug 2022
    Release notes
    • Remove an accidentally debug print output.
    Open source →
  54. 1.17.1 30 Jul 2022
    Release notes
    • Added support for nextest. (#242)
    • Resolved an issue where inline snapshot tests in doctests refused to work. (#252)
    Open source →
  55. 1.17.0 27 Jul 2022
    Release notes
    • Fixed an issue in cargo-insta where sometimes accepting inline snapshots would crash with an out of bounds panic.
    • Added new filters feature. (#245)
    • Disallow unnamed snapshots in doctests. (#246)
    • with_settings! macro now inherits the former settings rather than resetting. (#249)
    • Added support for Settings::bind_to_scope and deprecated Settings::bind_to_thread. (#250)
    • Added support for minimal-versions builds.
    Open source →
  56. 1.16.0 21 Jul 2022
    Release notes
    • Added --no-quiet/-Q flag to cargo insta test to suppress the quiet flag. This works around limitations with custom test harnesses such as cucumber.
    • Update RON to 0.7.1.
    • Improved ergonomics around with_settings!. It's now a perfect match to the settings object's setter methods.
    • Added description and info to snapshots. (#239)
    • Added omit_expression setting. (#239)
    • Added improved support for running insta from doctests. (#243)
    Open source →
  57. 1.15.0 17 Jun 2022
    Release notes
    • Bump minimum version of Rust to 1.56.1. This was done because the used serde-yaml dependency no longer supports older versions of Rust.
    Open source →
  58. 1.14.1 31 May 2022
    Release notes
    • Update uuid crate to 1.0.0. (#228)
    • Use inline block format also for strings of form "foo\n". (#225)
    Open source →
  59. 1.14.0 26 Mar 2022
    Release notes
    • Fixed a bug that caused insta to panic if inline snapshot assertions moved since the time of the snapshot creation. (#220)
    • cargo insta test now returns non zero status code when snapshots are left for review. (#222)
    • Assertion failures now mention cargo insta test. (#223)
    Open source →
  60. 1.13.0 04 Mar 2022
    Release notes
    • Fixed a bug where an extra newline was emitted following the snapshot header.
    • assertion_line is no longer retained in snapshots. (#218)
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive