Skip to content

Conversation

@depfu
Copy link
Contributor

@depfu depfu bot commented Jan 9, 2026

Here is everything you need to know about this update. Please take a good look at what changed and the test results before merging this pull request.

What changed?

✳️ minitest (5.25.1 → 6.0.1) · Repo · Changelog

Release Notes

6.0.1 (from changelog)

  • 1 minor enhancement:

    • Added new rake task ‘test:fu` to Minitest::TestTask, to only run tests with FU (focused units?) in their name. This should mostly obviate the need for the minitest-focus plugin.

  • 5 bug fixes:

    • Fixed –help and –version exiting 1. (grosser)

    • Fixed method signature of Minitest::Benchmark.run. (flavorjones)

    • Flush stdout/stderr before exit./bin/minitest -Ilib ./bug1046.rb:1 < /dev/null (grosser)

    • Improved usage banner output by reordering and reformatting.

    • Normalize paths while processing file.rb:line args.

6.0.0 (from changelog)

This is a major release. Read this.

Please give feedback here: github.com/minitest/minitest/issues/1040

Oh god… here we go… (again)

  • 8 deaths in the family(!!):

    • Deleted MiniTest and MiniTest::Unit::TestCase compatibility namespaces.

    • Deleted all use of Marshal for serialization.

    • Deleted maglev? and rubinius? guard methods. LOL.

    • Deleted all minitest/spec expectations from Object. Use _/value/expect.

    • Dropped minitest/mock.rb. This has been extracted to the minitest-mock gem.

    • assert_equal(nil, value) no longer allowed. Use assert_nil to be explicit.

    • Removed assert_send. Use assert_predicate or assert_operator.

    • Removed Minitest::Test#class_name.

  • 7 major (oft incompatible) changes:

    • Big: Major refactored MT6’s run path!

      • Minitest.__run -> Minitest.run_all_suites

      • Runnable.run -> Runnable.run_suite & Runnable.filter_runnable_methods

      • Runnable.run_one_method -> Runnable.run

      • Removed Minitest.run_one_method (might bring it back to raise?)

    • Removed deprecated ENV["N"] to specify number of parallel tests. Use MT_CPU.

    • Renamed options[:filter] to options[:include], added --include cmdline option.

      • --name is still handled, but that will be removed in the future.

    • Renamed Minitest::Runnable#test_order to #run_order.

    • If #message is passed a proc then that proc overrides all other output.

      • They are no longer chained!

      • And it does less for formatting of your output.

    • Removed reporter arg from with_info_handler as it has never(?) been used. (HACK?)

    • Plugin loading is now opt-in!

      • Require the plugin in your test_helper.

      • Or use Minitest.load :x

      • Or call Minitest.load_plugins for the old autoloading behavior.

  • 5 additions:

    • Added minitest-sprint’s minitest cmdline, now with line support!

    • Added minitest-bisect. Run with minitest –bisect or -b.

    • Added minitest-server.

    • Added minitest/complete to help with shell’s tab-completion of tests.

    • Vendored latest version of path_expander.

  • 5 other:

    • Bumped to ruby 3.2+.

    • Removed obsolete conditional for CompositeReporter#prerecord.

    • Removed obsolete version guards around Minitest::Result in reporters.

    • assert_operator and assert_predicate both call assert_respond_to first.

    • Assertions reuse themselves a lot more. Bumps assertion count in some places.

5.27.0 (from changelog)

  • 1 major enhancement:

    • Adding post install message announcing the EOL for minitest 5!

  • 2 minor enhancements:

    • Removed TestTask::Work#initialize since Queue can now initialize with an Enumerable! AMAZING!

    • Use Kernel#warn uplevel argument for nicer warnings. (byroot)

  • 5 bug fixes:

    • Cleaned up option aliasing a tad.

    • Removed obsolete conditional for prerecord

    • Removed obsolete guards around Warning.

    • Removed obsolete version guards for pattern matching assertions.

    • Switched all internal requires to require_relative.

5.26.2 (from changelog)

  • 5 bug fixes:

    • Bumped minimum ruby to 3.1.

    • Alias Spec#name to #inspect for cleaner output in repls.

    • Fix pathing for Hoe::Minitest initialization to be more generic.

    • Fixed refute_in_epsilon to use min of abs values. (wtn)

    • Improved options processing and usage output to be more clear.

5.26.1 (from changelog)

The Ocean Shores, Slightly Less Tipsy Edition!

  • 3 bug fixes:

    • Add links to API doco in README.

    • Add missing require thread.

    • Bumped ruby version to include 4.0 (trunk). (hsbt) (see also 5.14.2)

5.26.0 (from changelog)

The Seattle.rb Nerd Party, Slightly Tipsy Edition!

  • 2 minor enhancements:

    • Added extra documentation to Minitest::TestTask options.

    • Make parallelize_me! a no-op when n_threads=1.

  • 9 bug fixes:

    • Bypass parallel_executor entirely when n_threads=1.

    • Don’t require rubygems in Rakefile… it is 2025.

    • Ensure that minitest exits non-zero on Interrupt. (tavianator)

    • Fix Minitest.run sequence rdoc to include loop vars and read consistently.

    • Fix call to parallel_executor.shutdown when it isn’t defined.

    • Removed some 1.8/1.9-based code from the assertions and expectations.

    • Still fighting with rdoc? Yup. Still fighting with rdoc…

    • Switched assert_equal’s diff from Tempfile.open to Tempfile.create.

    • Use Regexp.escape for BASE_RE in case pwd has special chars. (astra_1993)

5.25.5 (from changelog)

  • 4 bug fixes:

    • Bumped minimum ruby to 2.7.

    • Fixed expectation docs for must/wont_pattern_match. (jaredcwhite)

    • Reorder Minitest::Test.ancestors to allow reaching Minitest::Assertions#skipped? (Edouard-chin)

    • Update the ruby and rails compatibility tables. (bquorning)

5.25.4 (from changelog)

  • 1 bug fix:

    • Fix for must_verify definition if only requiring minitest/mock (but why?).

5.25.3 (from changelog)

  • 5 bug fixes:

    • Fixed assert_mock to fail instead of raise on unmet mock expectations.

    • Fixed assert_mock to take an optional message argument.

    • Fixed formatting of unmet mock expectation messages.

    • Fixed missing must_verify expectation to match assert_mock.

    • minitest/pride: Fixed to use true colors with *-direct terminals (bk2204)

5.25.2 (from changelog)

  • 4 bug fixes:

    • Include class name in spec name. (thomasmarshall)

    • Fixed ‘redefining object_id’ warning from ruby 3.4. (mattbrictson)

    • Minitest top-level namespace no longer includes entire contents of README.rdoc. Too much!

    • Refactored spec’s describe to more cleanly determine the superclass and name

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

🆕 prism (added, 1.7.0)


Depfu Status

Depfu will automatically keep this PR conflict-free, as long as you don't add any commits to this branch yourself. You can also trigger a rebase manually by commenting with @depfu rebase.

All Depfu comment commands
@​depfu rebase
Rebases against your default branch and redoes this update
@​depfu recreate
Recreates this PR, overwriting any edits that you've made to it
@​depfu merge
Merges this PR once your tests are passing and conflicts are resolved
@​depfu cancel merge
Cancels automatic merging of this PR
@​depfu close
Closes this PR and deletes the branch
@​depfu reopen
Restores the branch and reopens this PR (if it's closed)
@​depfu pause
Ignores all future updates for this dependency and closes this PR
@​depfu pause [minor|major]
Ignores all future minor/major updates for this dependency and closes this PR
@​depfu resume
Future versions of this dependency will create PRs again (leaves this PR as is)

@depfu depfu bot added the depfu label Jan 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants