You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
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
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
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
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
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
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
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
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
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)
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.
Improved handling of control characters in inline snapshots. #713
Add pending deprecation warning for --accept-unseen. We've left an issue
open at #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
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
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
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.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
If you want to rebase/retry this PR, check this box
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
any of the package files in this branch needs updating, or
the branch becomes conflicted, or
you click the rebase/retry checkbox if found above, or
you rename this PR's title to start with "rebase!" to trigger it manually
The artifact failure details are included below:
File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path crates/hirola-kit/Cargo.toml --package insta@1.40.0 --precise 1.47.2
Updating crates.io index
error: failed to select a version for `once_cell`.
... required by package `insta v1.47.2`
... which satisfies dependency `insta = "^1.36.1"` of package `hirola-kit v0.1.1 (/tmp/renovate/repos/github/geofmureithi/hirola/crates/hirola-kit)`
versions that meet the requirements `^1.20.2` are: 1.21.4, 1.21.3, 1.21.2, 1.21.1, 1.21.0, 1.20.3, 1.20.2
all possible versions conflict with previously selected packages.
previously selected package `once_cell v1.19.0`
... which satisfies dependency `once_cell = "^1.13.0"` (locked to 1.19.0) of package `comrak v0.18.0`
... which satisfies dependency `comrak = "^0.18"` (locked to 0.18.0) of package `docs v0.1.0 (/tmp/renovate/repos/github/geofmureithi/hirola/examples/docs)`
failed to select a version for `once_cell` which could resolve this conflict
renovatebot
changed the title
chore(deps): update rust crate insta to v1.42.0
chore(deps): update rust crate insta to v1.42.1
Jan 26, 2025
renovatebot
changed the title
chore(deps): update rust crate insta to v1.42.1
chore(deps): update rust crate insta to v1.42.2
Mar 2, 2025
renovatebot
changed the title
chore(deps): update rust crate insta to v1.42.2
chore(deps): update rust crate insta to v1.43.0
Apr 25, 2025
renovatebot
changed the title
chore(deps): update rust crate insta to v1.43.0
chore(deps): update rust crate insta to v1.43.1
Apr 29, 2025
renovatebot
changed the title
chore(deps): update rust crate insta to v1.43.1
chore(deps): update rust crate insta to v1.43.2
Sep 4, 2025
renovatebot
changed the title
chore(deps): update rust crate insta to v1.43.2
chore(deps): update rust crate insta to v1.44.0
Nov 20, 2025
renovatebot
changed the title
chore(deps): update rust crate insta to v1.44.0
chore(deps): update rust crate insta to v1.44.1
Nov 20, 2025
renovatebot
changed the title
chore(deps): update rust crate insta to v1.44.1
chore(deps): update rust crate insta to v1.44.2
Nov 27, 2025
renovatebot
changed the title
chore(deps): update rust crate insta to v1.44.2
chore(deps): update rust crate insta to v1.44.3
Nov 28, 2025
renovatebot
changed the title
chore(deps): update rust crate insta to v1.44.3
chore(deps): update rust crate insta to v1.45.0
Dec 18, 2025
renovatebot
changed the title
chore(deps): update rust crate insta to v1.45.0
chore(deps): update rust crate insta to v1.45.1
Dec 29, 2025
renovatebot
changed the title
chore(deps): update rust crate insta to v1.45.1
chore(deps): update rust crate insta to v1.46.0
Jan 4, 2026
renovatebot
changed the title
chore(deps): update rust crate insta to v1.46.0
chore(deps): update rust crate insta to v1.46.1
Jan 15, 2026
renovatebot
changed the title
chore(deps): update rust crate insta to v1.46.1
chore(deps): update rust crate insta to v1.46.2
Jan 31, 2026
renovatebot
changed the title
chore(deps): update rust crate insta to v1.46.2
chore(deps): update rust crate insta to v1.46.3
Feb 2, 2026
renovatebot
changed the title
chore(deps): update rust crate insta to v1.46.3
chore(deps): update rust crate insta to v1.47.0
Mar 27, 2026
renovatebot
changed the title
chore(deps): update rust crate insta to v1.47.0
chore(deps): update rust crate insta to v1.47.1
Mar 29, 2026
renovatebot
changed the title
chore(deps): update rust crate insta to v1.47.1
chore(deps): update rust crate insta to v1.47.2
Mar 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.40.0→1.47.2Release Notes
mitsuhiko/insta (insta)
v1.47.2Compare Source
Send + SynconSettings,Redactions, andRedactionbyreverting the
ArctoRcchange from 1.47.0, which was semver-breaking.#873 #874
Send + Syncbounds toComparatortrait for consistency withArc-based storage. #872v1.47.1Compare Source
sort_maps. The change in 1.47.0 sorted allSeqvalues (includingVec), not just non-deterministic collections likeHashSet, which was a breaking change. #876v1.47.0Compare Source
Comparatortrait for customizing how snapshot values are compared. #872 (@dstu)sort_mapsto fix non-deterministicHashSetsnapshots. #876assert_json_snapshot!orassert_yaml_snapshot!as alternatives. #880Send + Syncbounds fromRedaction, allowing non-Sendclosures in dynamic redactions. #874ArcinSettingsunnecessarily. #873 (@dstu)consoleto 0.16 and MSRV to 1.66. #885toml-editto 0.25. #882 (@alexanderkjall)v1.46.3Compare Source
v1.46.2Compare Source
leading_space()function incorrectly treated\ras indentation, causing carriage returns to be stripped from snapshot content. #866< 0.4.17upper bound on globset dependency. #864v1.46.1Compare Source
with_settings!macro. #858v1.46.0Compare Source
INSTA_PENDING_DIRenvironment 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. #852test.runner_fallbackconfig key. #853v1.45.1Compare Source
v1.45.0Compare Source
INSTA_DIFF_TOOLenvironment 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>. #844test.disable_nextest_doctestconfig option toinsta.yaml, allowing users to silence the nextest doctest warning via config instead of passing--dndevery time. #842--unreferenced=rejectwithout false positives on.snapfiles from other tools. #846clippy::needless_raw_stringslint by only using raw strings when content contains backslashes or quotes. #828v1.44.3Compare Source
======or similar patterns as conflicts. #832let output = assert_snapshot!(...)). #833v1.44.2Compare Source
NEXTEST_RUN_IDenvironment variable. #824v1.44.1Compare Source
--dndalias for--disable-nextest-doctestflag to make it easier to silence the deprecation warning. #822v1.44.0Compare Source
(LLMs, CI pipelines, scripts).
cargo insta review --snapshot <path>andcargo insta reject --snapshot <path>now work without a terminal. Enhancedpending-snapshotsoutput with usage instructions and workspace-relative paths. #815--disable-nextest-doctestflag tocargo insta testto disable running doctests withnextest. Shows a deprecation warning when nextest is used with doctests without this flag, to prepare
cargo instato no longer runa separate doctest process when using nextest in the future. #803
--test-runner-fallback/--no-test-runner-fallbackflags tocargo insta test. #811the 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 stillcurrently allow differing trailing newlines, though may adjust this in the
future). #563
v1.43.2Compare Source
cargo metadatafails 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)uninlined_format_argslint warnings. #801INSTA_GLOB_FILTER. #786libccrate to0.2.174, fixing building on musl targets, and increasing the MSRV ofinstato1.64.0(released Sept 2022). #784v1.43.1Compare Source
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.
v1.43.0Compare Source
cargo insta review:Ato accept all,Rto reject all, andSto skip all remaining snapshots.#745
--unreferenced=auto(or other relevant values) no longer cleans up pendingsnapshots. A bug where
cargo insta test --unreferenced=autowouldincorrectly pass on new pending snapshots has been fixed.
cargo-nextestbin withINSTA_CARGO_NEXTEST_BIN. #721 (Louis Fruleux)INSTA_WORKSPACE_ROOTat compile time. This is useful for reproducible binariesso they don't contain references to
CARGO_MANIFEST_DIR. #726 (Pascal Bach)linked-hash-mapandpin-projectdependencies. #742, #741, #738cargo insta reviewfails with a helpful error message when run in a non-TTY environment.v1.42.2Compare Source
unseenoption in CLI, as it's pending deprecation. #732\tand\x1b(ANSI color escape) from causing snapshots to be escaped. #715allow_duplicates! { .. }. #712v1.42.1Compare Source
--accept-unseen. We've left an issueopen at #659 eliciting feedback on
whether anyone uses this for a few months. A warning will now be printed when
--accept-unseenis used, and we'll eventually remove the feature unless weget some feedback that it's useful. #668
v1.42.0Compare Source
snapshot_type: textin their metadata. Forcontext, 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-snapshotsto 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
cargo-instabefore running tests. Instead, running a test will overwrite orremove its own pending snapshot. To remove all pending snapshots, use
cargo insta rejector run tests with--unreferenced=delete. #651insta::internals::SettingsBindDropGuard(returned fromSettings::bind_to_scope) no longer implementsSend. This was incorrect andany tests relying on this behavior where not working properly. Fixes #694 in
#695 by @jalil-salame
v1.41.1Compare Source
v1.41.0Compare Source
Experimental support for binary snapshots. #610 (Florian Plattner)
--force-update-snapshotsnow causescargo-instato write every snapshot, regardless of whethersnapshots fully match, and now implies
--accept. Thisallows for
--force-update-snapshotsto update inline snapshots'delimiters and indentation.
For the previous behavior of
--force-update-snapshots, which limited writes tosnapshots which didn't fully match, use
--require-full-match.The main difference between
--require-full-matchand the existing behavior of--force-update-snapshotsis a non-zero exit code on any snapshots which don't fully match.
Like the previous behavior of
--force-update-snapshots,--require-full-matchdoesn'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. #603Warnings 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 --versionnow prints a version. #665instanow internally usesINSTA_UPDATE=forcerather thanINSTA_FORCE_UPDATE=1. (This doesn't affect users ofcargo-insta, whichhandles 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.Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.