PackageTrack
Sign in Get early access

snapbox

Snapshot testing toolbox

1.2.2 11M downloads/mo #2897 most downloaded on crates.io assert-rs/snapbox

What this package is like to depend on

Last release 2 months ago

26 May 2026

Ships unpredictably

gaps range from 8 days to 10 months

Most releases are documented

notes for 67 of 80 stable releases

Nothing withdrawn

no release was ever pulled

4 years old

80 releases · first in 2022

10 releases in the last 12 months

see the full history below

Release timeline

80 releases · Mar 2022 to May 2026
2023 2024 2025 2026
Release Pre-release

Releases

latest 60 of 80
  1. 1.2.2 26 May 2026
    Release notes

    chore: Release snapbox version 1.2.2

    Open source →
    Release notes

    Performance

    • Default to the old tempfile behavior for faster builds
    Open source →
  2. 1.2.1 02 Apr 2026
    Release notes

    chore: Release snapbox version 1.2.1

    Open source →
    Release notes

    Features

    • Add cmd::Command::cargo_bin
    Open source →
  3. 1.2.0 23 Mar 2026
    Release notes

    chore: Release snapbox version 1.2.0

    Open source →
    Release notes

    Compatibility

    • Update MSRV to 1.85
    Open source →
  4. 1.1.0 10 Mar 2026
    Release notes

    Compatibility

    • Change cmd::cargo_bin bad paths to panics

    Features

    • Add cmd::cargo_bins
    • Add cmd::cargo_bin_opt
    Open source →
  5. 1.0.2 10 Mar 2026
    Release notes

    Fixes

    • Un-deprecate cargo_bin
    Open source →
  6. 1.0.1 03 Mar 2026
    Release notes

    Internal

    • Update dependencies
    Open source →
  7. 1.0.0 11 Feb 2026

    Nothing published for this version

  8. 0.6.24 09 Jan 2026
    Release notes

    Fixes

    • Update fn cargo_bin() to use the upcoming runtime CARGO_BIN_EXE_*
    • Add #[must_use] to Command::assert to ensure assertions are ade
    Open source →
  9. 0.6.23 29 Oct 2025

    Nothing published for this version

  10. 0.6.22 15 Oct 2025
    Release notes

    Fixes

    • Allow additional nesting of extensions when inferring data formats from a path

    Compatibility

    • Bump MSRV to 1.66
    Open source →
  11. 0.6.21 16 Dec 2024
    Release notes

    Features

    • In-source directory fixtures
    Open source →
  12. 0.6.20 07 Nov 2024
    Release notes

    Features

    • Expose Redactions::clear_unused
    Open source →
  13. 0.6.19 29 Oct 2024
    Release notes

    Fixes

    • Pull in escargot fix
    Open source →
  14. 0.6.18 04 Oct 2024
    Release notes

    Fixes

    • Take redactions into account when finding the end of an elided structured, unordered array
    Open source →
  15. 0.6.17 14 Aug 2024
    Release notes

    Fixes

    • Take redactions into account when finding the end of an elided structured array
    Open source →
  16. 0.6.16 25 Jul 2024

    Nothing published for this version

  17. 0.6.15 24 Jul 2024
    Release notes

    Features

    • Provide Assert::redactions
    Open source →
  18. 0.6.14 23 Jul 2024
    Release notes

    Compatibility

    • Deprecated IntoData::json in favor of IntoData::is_json
    • Deprecated IntoData::json_lines in favor of IntoData::is_jsonlines
    • Deprecated IntoData::term_svg in favor of IntoData::is_termsvg

    Features

    • Added IntoData::against, with shortcuts for json and jsonlines, for different actual and expected formats
    Open source →
  19. 0.6.13 12 Jul 2024

    Nothing published for this version

  20. 0.6.12 10 Jul 2024

    Nothing published for this version

  21. 0.6.11 10 Jul 2024
    Release notes

    Fixes

    • str![]: fail, rather than panic, on divergent overlapping overwrites
    Open source →
  22. 0.6.10 10 Jun 2024
    Release notes

    Features

    • Expose Assert::normalize
    Open source →
  23. 0.6.9 07 Jun 2024
    Release notes

    Fixes

    • Allow overwriting if Data::is fails
    Open source →
  24. 0.6.8 07 Jun 2024
    Release notes

    Features

    • Add data format helpers to IntoData
    Open source →
  25. 0.6.7 29 May 2024
    Release notes

    Fixes

    • Allow _ in redaction placeholder
    Open source →
  26. 0.6.6 29 May 2024
    Release notes

    Fixes

    • Don't stop redacting on first mismatch
    Open source →
  27. 0.6.5 27 May 2024
    Release notes

    Fixes

    • Don't stop .term.svg redactions just because the document widths are different
    Open source →
  28. 0.6.4 25 May 2024
    Release notes

    Fixes

    • data.unordered() should be additive and not clear other filters
    Open source →
  29. 0.6.3 24 May 2024
    Release notes

    Fixes

    • Make diff headers consistent line str's showing relative paths like file-backed expected
    Open source →
  30. 0.6.2 24 May 2024
    Release notes

    Compatibility

    • Deprecated Assert::substitutions in favor of Assert::redact_with
    Open source →
  31. 0.6.1 24 May 2024
    Release notes

    Fixes

    • Apply redactions to .term.svg files
    Open source →
  32. 0.6.0 23 May 2024
    Release notes

    Compatibility

    Breaking

    • Removed deprecated functionality
    • Removed str![[]] indent support
    • Added trailing newline to str![[]]
    • Made DataFormat future-proof
    • ... / [..] processing has been tweaked
    • Redactions no longer normalize the value (except the new Path redactions)
    • Change FilterRedactions into NormalizedToExpected

    Other

    • Deprecate eq_ fn's in favor of eq

    Features

    • jsonlines support
    • Regex redactions
    • Path redactions
    • Json "all keys" wildcard support
    • Unordered lines / json array support

    Fixes

    • Handle more cases with ...
    • Be smarter about which redactions are processed first
    • Redact json values on mismatch
    • Filter and redact json keys
    Open source →
  33. 0.5.14 23 May 2024
    Release notes

    Compatibility

    • Deprecated filter::NormalizePaths in favor of filter::FilterPaths
    • Deprecated filter::NormalizeNewlines in favor of filter::FilterNewlines
    Open source →
  34. 0.5.13 21 May 2024
    Release notes

    Documentation

    • Fix deprecation message
    Open source →
  35. 0.5.12 17 May 2024
    Release notes

    Compatibility

    • Deprecated Harness in favor of the tryfn crate
    Open source →
  36. 0.5.11 17 May 2024
    Release notes

    Compatibility

    • Deprecated Assert::eq(expected, actual) in favor of Assert::eq_(actual, expected.raw())
    • Deprecated Assert::matches(expected, actual) in favor of Assert::eq_(actual, expected)
    • Deprecated OutputAssert::stdout_eq(expected, actual) in favor of OutputAssert::stdout_eq_(actual, expected.raw())
    • Deprecated OutputAssert::stdout_matches(expected, actual) in favor of OutputAssert::stdout_eq_(actual, expected)
    • Deprecated OutputAssert::stderr_eq(expected, actual) in favor of OutputAssert::stderr_eq_(actual, expected.raw())
    • Deprecated OutputAssert::stderr_matches(expected, actual) in favor of OutputAssert::stderr_eq_(actual, expected)
    • Deprecated data::Data::normalize in favor of filter::Filter::filter
    • Deprecated data::Normalize::normalize in favor of filter::Filter::filter
    • Deprecated data::NormalizeNewlines in favor of filter::NormalizeNewlines
    • Deprecated data::NormalizePaths in favor of filter::NormalizePaths
    • Deprecated data::NormalizeMatches in favor of filter::FilterRedactions
    • Deprecated data::Substitutions in favor of filter::Redactions
    • Deprecated path feature / mod in favor of dir feature / mod
    • Deprecated path::PathFixture in favor of dir::DirRoot
    • Deprecated Error in favor of assert::Error
    • Deprecated Result in favor of assert::Result
    • Deprecated Action in favor of assert::Action
    • Deprecated DEFAULT_ACTION_ENV in favor of assert::DEFAULT_ACTION_ENV
    • Deprecated utils::normalize_lines in favor of filter::normalize_lines
    • Deprecated utils::normalize_paths in favor of filter::normalize_paths
    • Deprecated utils::normalize_text

    Features

    • Add Assert::eq_(actual, expected)
    • Add OutputAssert::stdout_eq_(actual, expected)
    • Add OutputAssert::stderr_eq_(actual, expected)
    • Add assert_data_eq!(actual, expected)
    • Add prelude for easier access to IntoData, IntoJson, and ToDebug
    • Add IntoData for easier data conversions
    • Add IntoJson for easier data conversions
    • Add Data::raw to disable filters on expected values
    • Add Harness::with_assert for greater customization
    • Add Assert::try_eq for non-panicking asserts
    • Add Assert::selected_action to see whats chosen
    Open source →
  37. 0.5.10 15 May 2024

    Nothing published for this version

  38. 0.5.9 13 Mar 2024
    Release notes

    Fixes

    • Don't strip on str![].indent(false) to work with lines with indentation
    Open source →
  39. 0.5.8 01 Mar 2024
    Release notes

    Fixes

    • Make auto-path snapshots more deterministic
    Open source →
  40. 0.5.7 27 Feb 2024
    Release notes

    Fixes

    • Respect Assert::normalize_paths(false) when running subset_matches
    Open source →
  41. 0.5.6 22 Feb 2024
    Release notes

    Fixes

    • (term-svg) Reduce noise in SVG snapshots
    Open source →
  42. 0.5.5 22 Feb 2024

    Nothing published for this version

  43. 0.5.4 22 Feb 2024

    Nothing published for this version

  44. 0.5.3 22 Feb 2024
    Release notes

    Fixes

    • (term-svg) Correctly coerce "actual" to this type on when the snapshot doesn't yet exist
    • (term-svg) Ignore irrelevant details when checking for failuress
    • (term-svg) Don't show irrelevant details in the diff
    Open source →
  45. 0.5.2 19 Feb 2024
    Release notes

    Features

    • Add term-svg feature for snapshotting of terminal styling by ending files with .term.svg
    Open source →
  46. 0.5.1 15 Feb 2024
    Release notes

    Fixes

    • Fixed regression where you couldn't overwrite a snapshot that doesn't exist yet
    Open source →
  47. 0.5.0 14 Feb 2024
    Release notes

    Breaking Change

    • _path assertions have been replaced by regular assertions accepting and updating Data::read_from / file![]
    • Renamed Data::try_coerce to Data::coerce_to
    • Normalization types and DataFormat were moved to the data mod

    Features

    • str![] macro for inline snapshots
      • coerce_to for specifying the structure of the snapshot
    • file!["<path-relative-to-rs>"] macro for test-relative snapshots
      • _ placeholder can be used for auto-generated file names
      • : Json (see DataFormat) type ascriptions for specifying the structure of the snapshot
    • ToDebug extension trait for easier snapshot testing of debug output
    • Help catch swapped parameters to assertions by panicking if the "actual" has a source to update but not the "expected"
    • Allow inserting multiple values for the same variable, to handle multiple forms of the same value (like UNC paths vs regular paths)
    • path::current_rs!() macro for an absolute path of std::fs::file!
    • path::current_dir!() macro to get the absolute path to std::fs::file!
    • path::cargo_rustc_current_dir() macro as a polyfill for the unstable CARGO_RUSTC_CURRENT_DIR
    Open source →
  48. 0.4.17 08 Feb 2024

    Nothing published for this version

  49. 0.4.16 12 Jan 2024
    Release notes

    Internal

    • Update dependency
    Open source →
  50. 0.4.15 08 Dec 2023
    Release notes

    Fixes

    • Actually match standard diff colors
    Open source →
  51. 0.4.14 02 Oct 2023
    Release notes

    Fixes

    • Match standard diff colors
    Open source →
  52. 0.4.13 28 Sep 2023
    Release notes

    Internal

    • Update anstream
    Open source →
  53. 0.4.12 24 Aug 2023
    Release notes

    Compatibility

    • MSRV bumped to 1.70.0

    Performance

    • Improved build-times by dropping the is-terminal dependency

    Features

    • Wildcard support for structured data
    Open source →
  54. 0.4.11 13 Apr 2023
    Release notes

    Internal

    • Dependency update
    Open source →
  55. 0.4.10 16 Mar 2023
    Release notes

    Internal

    • Dependency update
    Open source →
  56. 0.4.9 15 Mar 2023
    Release notes

    Compatibility

    • Update MSRV to 1.64.0
    • Deprecated color-auto feature, its now automatic
    Open source →
  57. 0.4.8 01 Mar 2023
    Release notes

    Internal

    • Update dependencies
    Open source →
  58. 0.4.7 20 Feb 2023
    Release notes

    Internal

    • Reduce dependencies
    Open source →
  59. 0.4.6 19 Feb 2023
    Release notes

    Features

    • Added examples feature to expose example-compilation functions in the cmd module
    Open source →
  60. 0.4.5 15 Feb 2023
    Release notes

    Internal

    • Dependency updates
    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