Release Notes

Unreleased (2025-03-18)

  • Changed Change Testplan exported JSON report structure to reduce report size.

    • Remove unused report entry fields.
      • fix_spec_path.

      • status_override and status_reason in case they are empty.

      • line_no, code_context and file_path if --code is not enabled.

      • env_status, part, strict_order and host depending on report category.

    • Remove unused assertion entry fields category and flag if they are DEFAULT.

    • Merge assertion entry fields utc_time and machine_time into a unix timestamp field timestamp, and store timezone info in parent Test-level report under key timezone.

    • Replace ISO 8601 time string with unix timestamp in all timer fields, and add a timezone field to Testplan-level report as well.

    • Update data structure of several serialized assertion entries.
      • Delta encode level info of flattened_dict fields of DictLog and FixLog entries.

      • Delta encode level info of comparison fields of DictMatch and FixMatch entries.

      • Delta encode level info of nested comparison fields of DictMatchAll and FixMatchAll entries, remove extra nesting of matches as well.

      • Preserve abbreviations of match status of DictMatch, FixMatch, DictMatchAll and FixMatchAll entries, i.e. p instead of Passed, f instead of Failed, i instead of Ignored.

      • Remove indices field of TableLog entries.

  • Changed Fix releaseherald documentation

  • Deprecated Support for Python 3.7 and 3.8 is deprecated and will be removed soon.

  • Changed Handle potential race condition during resource monitor termination

  • Changed Improve error logging for RemoteService; fix incorrect imitated workspace on remote due to leftover symlink from previous run.

  • Changed Remove Sphinx and other packages for building document from Testplan’s dependencies.

  • Changed Copy permission bits for the copied binary in App.

25.1.0 (2025-01-20)

  • Changed Checks if a process exists by reading the /proc/<pid>/stat.

  • Changed Support RemoteDriver in dependency graph of test environment (the dependencies parameter).

  • Changed Use lazy import for Matplotlib and move cache to runpath.

  • New Added --code flag to collect code context for the assertions. Code context one-liner will be displayed on the web UI if enabled. Note that file path information is no longer collected by default. To collect file path information, enable code context.

  • New Add a new summary page on resource view to show the task allocation per host.

  • Changed Refactor the stop logic of App driver for faster environment shutdown. Rename parameter sigint_timeout to stop_timeout. Add a new parameter stop_signal for custom stop signals, its default value None invokes terminate method to stop subprocess, i.e. sending SIGTERM signal to subprocess on Linux. Environment will fail to stop if subprocess doesn’t terminate within the default 5-second stop_timeout for graceful shutdown. Increase stop_timeout or change stop_signal (to maybe SIGKILL on Linux) could resolve this issue.

  • Changed Make sure when stop() is called on App type driver, we clean up all orphaned processes.

  • Changed If App driver times out during shutdown or leaves orphaned processes after shutdown, Testplan will now emit a warning and perform a forced cleanup instead of failing the tests.

  • Changed Increase the number of Remote worker setup thread.

  • Changed Fix interactive mode crashing issue when loading a namespace package. (It is still not supported to reload namespace packages.) SyntaxError will no longer be suppressed during interactive mode code reloading.

  • Changed Fix incorrect early stop detection logic.

  • Changed Swapped Run and Reload buttons on the interactive UI by user request.

  • Changed Use a new JSON library orjson to improve performance when using Python 3.8 or later versions.

  • Changed Limit the length of parameterization testcase name to 255 characters. If the name length exceeds 255 characters, index-suffixed names (e.g., {func_name} 1, {func_name} 2) will be used.

  • New Testplan now includes its own version in generated report.

  • Changed JSONExporter will log a “file not found” warning in the log instead of raising an exception.

  • Changed Fixed an issue where enabling Status icons crashed the report when a test was marked as XFAIL.

  • Changed Update orjson dumping option to allow serializing numpy objects.

24.9.2 (2024-09-12)

  • New First official pypi release.