~output_file of Regression.register is now optional and has been renamed into ?file. Previously, ~output_file was automatically prefixed by the value given to --regression-dir. Now, files are put in a directory named expected next to the test itself, and the default filename is a sanitized version of the test title.--regression-dir command-line parameter.tezt Dune library was split into tezt.core and tezt. Library tezt.core contains the parts that can run both on UNIX and using Node.js. It does not contain Test.run though so it cannot be used on its own. Library tezt is the UNIX backend. It also includes tezt.core, so this is not a breaking change.tezt.js is a partial backend for Node.js. Compared to tezt, it does not contain modules Process, Temp and Runner.--resume (short-hand: -r) and --resume-file, which allow to resume a previous run. For instance, if the previous run stopped after a failed test, and if that previous run was itself ran with --resume or --resume-file, resume from this run to avoid running the tests that already succeeded again.--match (short-hand: -m) to select tests with a title that match a regular expression.?timeout argument to Process.terminate and Process.clean_up. These functions send SIGTERM to processes. If this timeout is reached without the process actually terminating, Process.terminate also sends SIGKILL.Diff which allows to compare two sequences. It is used internally by the Regression module to compare test outputs between runs.Main with function Main.run, which is the same as Test.run. In practice you can still use Test.run, which now delegates to Main.run. But Test.run is not available in tezt.core, only in tezt and tezt.js. This is not a breaking change since existing applications would use tezt, not tezt.core directly.Base.project_root which is the path to the root of the current dune project according to environment variable DUNE_SOURCEROOT, falling back to the current directory if unavailable.Base.span to split a list in two sublists given a predicate.Base.rexf, a short-hand for rex @@ sf.Check.file_exists, Check.file_not_exists, Check.directory_exists and Check.directory_not_exists.Check.is_true and Check.is_false.Check.json and Check.json_u, type definitions for JSON.t and JSON.u respectively.int32 in the JSON module.JSON.merge_objects, JSON.filter_map_object and JSON.filter_object.JSON.equal and JSON.equal_u, equality predicates on JSON.t and JSON.u respectively.Temp.set_pid. The Temp module no longer calls Unix.getpid directly, this is done by Test.run instead, which calls Temp.set_pid. This allows backends where Unix.getpid cannot be used, like JS.Test.run_with_scheduler, and the Test.SCHEDULER signature. Added Test.get_test_by_title and Test.run_one. Those functions are used internally to provide different backends (UNIX / JS), but users usually would not have any use for them.--record became optional, with default values. New records may not be compatible with old versions of Tezt.Process_hooks which contains the type definition for Process.hooks.Temp.clean_up no longer follows symbolic links, it just deletes the links themselves.--junit which no longer worked when using -j.--loop-count 0 which did not actually run zero loops.--on-unknown-regression-files delete or --on-unknown-regression-files fail.Temp module.--help.Tezt 2.0.0 was the first announced release and as such it had no changelog. Tezt 1.0.0 was released in opam but was not announced.