View Source Changelog
This project adheres to Semantic Versioning.
v0-3-0-rc-0
v0.3.0-rc.0
breaking-changes
Breaking changes
auto_assert
now uses<-
when comparing against falsy values instead of==
. Support for comparisons using==
has been removed.
enhancements
Enhancements
- Add
auto_assert_receive
andauto_assert_received
. - Add
auto_assert_raise
. - Existing auto-assertions will now run even when
Mneme.start()
is not called, but new auto-assertions will fail (#32). - Generate patterns for ranges will now use
..
and..//
syntax instead of%Range{}
.
fixes
Fixes
- Fix a configuration precedence bug that caused options set in application config to always override options local to the test module, describe block, or test.
- Fix a confusing diff result that could occur with some binary operations (#11).
- Don't display preceding comments in diffs (#26).
- Fix a number of diffing errors related to structs.
- Fix a compatibility issue with Ecto ~> 3.9.4 (#34).
notes
Notes
- Upgrade to Elixir v1.14.4 or later to fix a diff syntax highlighting bug related to escaped string interpolations (#30).
v0-2-7-2023-03-29
v0.2.7 (2023-03-29)
fixes-1
Fixes
- Fix a crash related to escaped string interpolation characters (#29).
v0-2-6-2023-03-27
v0.2.6 (2023-03-27)
enhancements-1
Enhancements
- Auto-assertion prompts can now be skipped (
s
) in addition to accepted (y
) or rejected (n
). This allows the test clause to continue so that later assertions might be run, but fails the test run once the suite finishes. - Updated formatting for semantic diffs:
- Diffs will be displayed side-by-side if terminal width allows. To always display diffs stacked, use the
diff_style: :stacked
option; see the "Configuration" section of theMneme
module doc for more. - Both
:stacked
and:side_by_side
diffs have updated, more consistent formatting.
- Diffs will be displayed side-by-side if terminal width allows. To always display diffs stacked, use the
fixes-2
Fixes
- Don't overwrite test files if their content changes after starting the test run (#23).
- Fix a crash that occurred when a value contained nested strings with newlines, e.g.
{:ok, "hello\nworld"}
(#25). - The
j/k
options will no longer be rendered when prompting if there is only a single pattern option.
v0-2-4-v0-2-5-2023-03-25
v0.2.4, v0.2.5 (2023-03-25)
fixes-3
Fixes
- Remove unnecessary files from Hex package. This cuts the package size down drastically.
v0-2-3-2023-03-25
v0.2.3 (2023-03-25)
fixes-4
Fixes
- Fix diffing for certain sigil variations.
- Fix
dbg
-related error when runningMIX_ENV=test iex -S mix
(#20). - Fix ETS-related error when calling
Mneme.start/1
multiple times (#20).
v0-2-2-2023-03-20
v0.2.2 (2023-03-20)
fixes-5
Fixes
- Disable a semantic diffing optimization that caused poor diff results in certain cases, usually manifesting as incorrect branches being compared.
v0-2-1-2023-03-19
v0.2.1 (2023-03-19)
enhancements-2
Enhancements
- More consistent formatting between
:semantic
and:text
diffs.
v0-2-0-2023-03-18
v0.2.0 (2023-03-18)
breaking
Breaking
- Mneme now requires Elixir v1.14 or later.
enhancements-3
Enhancements
- Adds semantic diffs which selectively highlight only meaningful changes when updating an assertion. This can be disabled with the
diff: :text
option; see the "Configuration" section of theMneme
module doc for more.
fixes-6
Fixes
- Invalid options now cause a warning instead of crashing test process.
- Internal errors now show an error instead of crashing test process.
- Fix bug causing multiple identical choices to be presented in some cases where empty lists were a part of the value.
v0-1-6-2023-03-04
v0.1.6 (2023-03-04)
enhancements-4
Enhancements
- Improved compile-time error message when
auto_assert
is used outside of atest
block (#9).
v0-1-5-2023-02-25
v0.1.5 (2023-02-25)
enhancements-5
Enhancements
- More consistent handling of charlists: lists of integers will now generate themselves as a pattern as well as a charlist if the list is ASCII printable (#6).
v0-1-4-2023-02-23
v0.1.4 (2023-02-23)
fixes-7
Fixes
- Fix a bug that could cause
auto_assert
expressions to revert to the previous value when usingMneme.start(restart: true)
(#7).
v0-1-3-2023-02-22
v0.1.3 (2023-02-22)
enhancements-6
Enhancements
- Add a
:default_pattern
configuration option for auto-assertions which controls the pattern that should be selected by default when prompted.
fixes-8
Fixes
- When converting an auto-assertion to an ExUnit assertion, select the identical pattern when the
:default_pattern
is:infer
(set by default).
v0-1-2-2023-02-21
v0.1.2 (2023-02-21)
enhancements-7
Enhancements
- Add a
:restart
option toMneme.start/1
to restart Mneme if called multiple times.
v0-1-1-2023-02-20
v0.1.1 (2023-02-20)
enhancements-8
Enhancements
- Dramatically reduce the performance gap between
auto_assert
and ExUnit'sassert
.
v0-1-0-2023-02-19
v0.1.0 (2023-02-19)
First release.