# changelog

author: Petr Šplíchal <psplicha@redhat.com> - 0.13-1
changelog:
  - Enable copr builds from master, simplify config
  - Adjust documentation for the new Context class
  - Add documentation for the new Context class
  - Add a new Tree.adjust() method for handling rules
  - Context: Better operator names, comments
  - Adjust the new Context implementation
  - Context implementation


author: Petr Šplíchal <psplicha@redhat.com> - 0.14-1
changelog:
  - Adjust context docs, fix typos, style cleanup
  - Left vs Right side in Context matches
  - Simplify deep merging, adjust test suite a bit
  - Implement recursive merging of data
  - Remove the duplicate build job from packit config
  - Adjust 'make test' to work under virtualenv
  - Update the adjust continue key default to True


author: Petr Šplíchal <psplicha@redhat.com> - 0.15-1
changelog:
  - Implement the new 'fmf clean' command
  - Functions to manipulate cache
  - Fetch the whole tree using utils.fetch_tree()
  - Raise FileException on duplicate YAML keys
  - Allow to set desired cache location
  - Adjust support for storing modified data to disk
  - Add support for storing modified metadata to disk
  - Prevent exploring tests in the tmt directory
  - Simplify special distro comparison examples
  - Store command output in run(), fetch() exceptions
  - Use filelock for locking, expand test coverage
  - Adjust locking for Tree.node() and utils.fetch()
  - Use locking to checkout/read tree
  - Enable integration testing with tmt, some cleanup
  - Implement a new method copy() for cloning nodes
  - Adjust fetch() with custom destination and env
  - Support calls fetch(destination, env) and run(env)
  - Use the origin default branch instead of master
  - Store commit hash if the tree is under a git repo


author: Petr Šplíchal <psplicha@redhat.com> - 0.16.0-1
changelog:
  - Add support for empty files and virtual nodes
  - Change outcome of CannotDecide operations
  - Enable copr builds from master for epel-7 as well
  - Define dict method to get child or data item
  - Keep original adjust rules when adjusting nodes
  - Use a deep copy when storing raw node data
  - Fix warnings in pytest


author: Petr Šplíchal <psplicha@redhat.com> - 1.0.0-1
changelog:
  - Migrate yaml parsing to ruamel.yaml
  - Drop support for Python 2
  - Add extra requires and enable readthedocs config (#143)
  - Filter accept value with a colon
  - Adjust style to fix issues revealed by pre-commit
  - Enable pre-commit, update contribution docs
  - Disable integration testing with tmt for centos-7


author: Packit <hello@packit.dev> - 1.0.0-3.20220531193404927913.pr166.10.gdc4ecb0
changelog:
  - DNM: Bump to 1.0.0-3 (Miroslav Vadkerti)
  - Support reference schemas in validation function (Evgeny Fedin)
  - Add JSON Schema validation method (Miroslav Vadkerti)
  - Create commit builds from the `main` branch (Tomas Tomecek)
  - Enable `epel-9` for copr builds and testing (Petr Šplíchal)
  - Fixes blocking with symbolic link loops. (#151) (pablo)
  - Use a better way to detect the default git branch (Petr Šplíchal)
  - Update links and refs after migration to `teemtee` (Petr Šplíchal)
  - Add unit tests for comma operator in context rules (Lukas Zachar)
  - Add examples demonstrating the context syntax (Petr Šplíchal)


author: Frantisek Zatloukal <fzatlouk@redhat.com> - 0.5.0-1
changelog:
  - Fix crash in _handle_connection_tip
  - Allow to create an instance without specifying a name
  - Fix instance.image_path
  - Make network working in qemu:///session


author: Frantisek Zatloukal <fzatlouk@redhat.com> - 0.6.0-1
changelog:
  - SPEC: Use pytest macro
  - Merge downstream spec changes
  - README: Let's believe in testcloud a bit more 😎
  - Simplify cli warning wording a bit
  - Remove forced reboot from cli for CentOS user sessions
  - API: Allow to specify pci network device
  - README: improve a tiny bit
  - Make url mandatory, cleanup cli instance create a bit
  - Allow to specify number of CPU cores to be assigned
  - Change cli layout for instance create a bit (A LOT 😱 )
  - get_debian_image_url: return None on fail
  - Add a way to shutdown vms in a graceful way
  - use if hasattr insteadd of try/except AttributeError
  - Use virtio-net-pci instead of e1000 for hostfwd in qemu user sessions
  - implement synchronization using file lock for user sessions
  - Don't directly alter config_object, use a copy of it
  - Fixup CentOS short handle
  - Support Ubuntu and Debian images
  - Update url for oraculum
  - Bunch of code shuffling
  - Bunch of improvements for get_fedora_image_url
  - Fixup traceback for unknown distributions on un-defined variable
  - Fixups around system x session instances handling
  - Dont blow out traceback on image download 404, fixup connection tooltip for CentOS
  - Support fetching the latest Fedora Rawhide iso as fedora:rawhide url
  - Support CentOS and CentOS Stream versions (hardcoded urls)
  - Support operating with Vagrant images
  - check whether the instance existing before do the prepare work
  - Make the code more robust
  - Make list and clean functions more robust to handle both system and user sessions
  - add coreos test function


author: Frantisek Zatloukal <fzatlouk@redhat.com> - 0.6.1-1
changelog:
  - Add wait and retry around dom.create()
  - lazy_refcounts=on and cache=unsafe
  - Bash completion (by lbrabec)
  - Let's have also short t7d binary
  - Add long project description for pypi
  - Style: Let's not have lines with hundreds of characters...
  - API: Add reboot function
  - FileLock: Make sure we don't overwrite config_data.DATA_DIR
  - Fix systems using systemd-networkd in user session mode


author: Frantisek Zatloukal <fzatlouk@redhat.com> - 0.6.2-1
changelog:
  - Workaround EL8 bug - waiting for sshd restart with user sessions
  - Add a basic integration test and plan for tmt
  - Fixes around backingstore cleanups
  - get_fedora_image_url: Proper support for branched, cleanups
  - get_fedora_image_url: Add info when user asks for wrong version
  - Don't use hammer solution to all Vagrant boxes, force-install cloud-init to known broken images
  - non-x86_64 support preparations and downloader code
  - Don't rely on working qemu://system


author: Frantisek Zatloukal <fzatlouk@redhat.com> - 0.6.3-1
changelog:
  - Drop Atomic Host
  - Simplify cli codepath, use cloud-user by default
  - cli: allow to spearate OS version by "-"
  - CentOS misc: improve error output on missing version
  - Disable UseDNS, GSSAPI for faster SSH, allow ssh for root
  - CentOS: Fix el7 based systems
  - CentOS: update 7 build, add CentOS Stream 9


author: Frantisek Zatloukal <fzatlouk@redhat.com> - 0.6.4-1
changelog:
  - fix selinux detection for image context (olichtne)
  - Drop dependency on python-mock
  - Drop coverage testing in rpm build


author: Frantisek Zatloukal <fzatlouk@redhat.com> - 0.7.0-1
changelog:
  - non-x86 support
  - cli: Fixup crash on vm start in connection tip
  - Handle missing testcloud group also while creating instances from local image


author: Petr Šplíchal <psplicha@redhat.com> - 1.13.0-1
changelog:
  - Add multiarch support to testcloud provision
  - Consistent summary for test export --nitrate
  - Allow dry mode for tests export --nitrate
  - Add a nice provisioning progress to Artemis plugin
  - Add support for the `where` keyword to `execute`
  - Adjust support for export of multiple tests
  - Add support for exporting multiple tests
  - Basic multihost test for the httpd web server
  - Update multihost specification with guest groups
  - Add a provision plugin for Artemis
  - Fix exclude option in fmf discover
  - Reduce the number of execute calls for reboot
  - Add support for reboot in interactive mode


author: Petr Šplíchal <psplicha@redhat.com> - 1.14.0-1
changelog:
  - Command 'tmt clean' should not run rsync at all
  - Dist-git-source for Discover (fmf, shell)
  - Adjust the new `id` key implementation
  - Add a new core key `id` for unique identifiers
  - Recommend qemu emulators for other architectures
  - Copy the whole git repo only if necessary
  - Reveal hidden errors during `testcloud` booting
  - Use time for timeout handling in Guest.reconnect()
  - Split `Guest` class to separate SSH-capable guests
  - Explicitly set the docs language in the config
  - Kill the running test when rebooting
  - Extend the reboot timeout to allow system upgrades
  - Allow selecting tasks directly from upgrade config
  - Adjust the new `upgrade` execute plugin
  - Allow specifying command for reboot
  - Implement upgrade execute plugin
  - Buildrequire python3-docutils, append plan adjust
  - Implement `tmt tests export --nitrate --link-runs`
  - Detect component from general plan during import
  - Adjust the support for steps in standalone mode
  - Add results method to ExecutePlugin
  - Implement a common ancestor for Action and Plugin
  - Allow abstractly excluding steps from runs
  - Correctly handle tests --name '.' shortcut
  - Rename WorkdirType to WorkdirArgumentType
  - Fix workdir parameter type for tmt.utils.Common
  - Allows importing jira issues as link-relates
  - Enables mypy coverage for empty-ish Python files
  - Adds type annotations to tmt.templates
  - Prevent infinite recursion if --id is set
  - Enable mypy check for Artemis provision plugin
  - Adjust provision dry mode propagation, add a test
  - Introduce new _options attribute to Common class
  - Add specification for remote plans referencing
  - Bootstrap type annotations
  - Execute script should not be used with discover
  - Add the `arch` key to the hardware specification
  - Fix pip install instructions
  - Disable network access when building in copr
  - Ignore list for dist-git-source
  - Remove the obsoleted `detach` execute method
  - Fix login during `execute` and `prepare` step
  - Import from Makefile with missing build target


author: Lukáš Zachar <lzachar@redhat.com> - 1.15.0-1
changelog:
  - Require fresh testcloud with coreos support
  - Bad substitution in tmt-reboot
  - Ignore "certificate verify failed" error when handling retries
  - Cache content of each loaded environment file
  - Initial polarion support for test export
  - Fixes names of Artemis API versions
  - Convert FmfIdType from TypedDict to a dataclass
  - Add CoreOS support to the testcloud provision
  - Run containers with root user
  - Retry getting environment file
  - Test import --general is default now
  - Add typing for steps/finish/shell.py
  - Enhance tmt.utils.retry_session with timeout support
  - Adjust the `rpm-ostree` install implementation
  - Add support for the `rpm-ostree` package manager
  - Add `environment-file` to possible Plan keys
  - Avoid Library url conflict if repo doesn't exist
  - Check changes are pushed before export nitrate
  - Add typing for beakerlib.py
  - Unbundle template from the report.html plugin
  - Rename `uuid` to `identifier` to prevent conflicts
  - Use `must` for all mandatory spec requirements
  - Fail import for packages starting with minus sign
  - Adds support for newer Artemis API versions
  - Disable the extra verbose progress in testcloud
  - Refactor internal executor scripts
  - Adds "missing" imports to help IDEs follow objects
  - Add typing for steps/__init__.py
  - Implement the test `result` attribute
  - Add typing for plugins/__init__.py
  - Detect legacy relevancy during import as well
  - Implement the new user story key `priority`
  - Implement new class `SerializableContainer`
  - Add schema for stories
  - Add typing for steps/prepare/shell.py
  - Add typing for steps/prepare/ansible.py
  - Require fmf >= 1.1.0 (we need validation support)
  - Package fmf root into the source tarball as well
  - Add JSON Schema for tests
  - Exclude namespaced backup in beakerlib
  - Use --depth=1 when cloning git repos by default
  - Handle missing nitrate user during export
  - Removes unused GuestContainer.container_id attribute
  - Every subpackage must require the main tmt package
  - Introduce dataclasses as a requirement
  - Avoid re-using image/instance for different values by testcloud plugin
  - Add typing for multihost.py
  - Except nitrate xmlrpc issues during import
  - Exclude beakerlib's backup dir from guest.pull()
  - Increase `duration` for the reboot-related tests
  - Several release-related tests and docs adjustments


author: Lukáš Zachar <lzachar@redhat.com> - 1.16.0-1
changelog:
  - Reboot has to check for boot time
  - Fix path inside pre-commit test
  - Cut circular dependency of libraries
  - Update 'Develop' section of contribution docs
  - Precommit hooks to call tmt * lint
  - Schema loading helpers
  - Package schemas in subdirectories too
  - Implement reboot reconnect timeout configuration
  - Add missing report specifications/docs
  - Print result for execute -v
  - Correct import assumption about script
  - Ask mypy to check whole tmt.steps.report package
  - Fixing the directory name escaping in 'cd' command
  - Add polarion report plugin
  - Add schemas for plans
  - Write extra-nitrate as soon as possible
  - Retry git clone without --depth=1 if it failed
  - Support to lint attribute 'id'
  - Do not apply test command filter in upgrade
  - Fix export.py typing issues
  - Refactor location and signature of Phase's go() method
  - Simplify abort handling
  - Backwards compatibility for rstrnt-abort
  - Add type annotations for tmt/cli.py
  - Add typing for tmt/export.py
  - add typing for steps/discover/__init__.py
  - Convert guest implementations to use serializable container for load/save
  - Detect plugins by entry_point as well
  - Add typing for `steps/execute/__init__.py`
  - Add typing for `tmt/convert.py`
  - Remove duplicated dist-git-source/dist-git-type
  - Add typing for `steps/report/junit.py`
  - Add typing for `steps/report/html.py`
  - add typing for steps/report/display.py
  - Add typing for steps/report/__init__.py
  - tmt-file-submit is a bash script
  - Add type annotations for tmt/options.py
  - Backwards compatibility for `rstrnt-report-log`
  - Support conditional requires with `pip` as well
  - Remove duplicated short option in tmt lint
  - Adjust the `rstrnt-report-result` implementation
  - Backwards compatibility for `rstrnt-report-result`
  - Set the `1777` permision for `/var/tmp/tmt`
  - Adjust the fix for the `rpm-ostree` intallation
  - Fix package installation using `rpm-ostree`
  - Handle empty fmf file as an empty dictionary
  - Fix distgit testsuite after tmt packaging change


author: Lukáš Zachar <lzachar@redhat.com> - 1.17.0-1
changelog:
  - Unify Polarion case searching
  - Error out if reboot timeout is exceeded
  - Initialize workdir thread-safe
  - Add support for remote playbooks in prepare
  - Add plan schema for errata and minute plugins
  - Correct rhts command names in stories file
  - Print escaped command suitable for manual debugging
  - Fix report plugin not getting arguments from fmf file
  - Less eager to disable nitrate case during export
  - Move `tag` and `tier` to common core attributes
  - Use `/bin/bash` instead of `/bin/sh` for execute
  - Reorder step and their base plugin classes
  - Fix prepare/multihost docs to match implementation
  - Teach schema validation tests to peek into other trees
  - Clarify motivation for creating `id` during export
  - Add link-polarion option and fix link searching bug
  - Ignore race in last-run symlink creation
  - Fix polarion tcmscaseid search
  - Force order of clean operations
  - Convert status/clean argument to option
  - Report enabled plans/tests/stories via option
  - Hint user if 'tmt init' creates nested root
  - Require `libvirt-daemon-config-network` as well
  - Add type annotation for /steps/prepare/install.py
  - Encapsulate created file within script's dataclass
  - Adds normalization layer to base classes based on fmf
  - Fixes data class used for local guest creation
  - Fixes Artemis guest data class link
  - Making tests/full more usable
  - Add typing for tmt/steps/provision/podman.py
  - Add typing for tmt/steps/provision/testcloud.py
  - Add typing for tmt/steps/provision/local.py
  - Remove unused keys parameter from wake() methods
  - Adds types describing tmt constructs when as stored in raw fmf data
  - Typing /steps/provision/connect.py
  - Allow raising an exception on validation errors
  - Inject logger object to base node classes inheritance
  - Fixes use of SSH keys in testcloud and connect plugins
  - Annotate tmt.steps.provision
  - Ask mypy to show error codes in its messages
  - Testcloud expects disk and memory to be int
  - Do not inherit classes from object
  - Use keyword-only init in base fmf-backed classes
  - Use decorator to register plugin methods
  - Demonstrate inheritance on a virtual test example
  - Add a simple hint how to write user messages
  - Add typing for `steps/finish/ansible.py`
  - Remove unneeded parameters for step load/save (#1428)
  - Normalize step data to be always stored a list internally
  - Display test/plan/story name in parametrized schema tests
  - Allow numbers and booleans to be values of environment
  - Give a reasonable error for old data format
  - Add typing for tmt/steps/finish/__init__.py
  - add typing for steps/discover/shell.py
  - Adds a fmf node validation layer to core classes (Test/Plan/Story)
  - Add missing keys `role` and `where` to schemas
  - Extend plan schema with all known step plugin schemas
  - Correcting rhts aliases & adding rhts opt.
  - Adds a generic "wait for condition" primitive
  - Disallow push/pull/execute if guest is unavailable
  - Rename "default how" step attribute to enhance its visibility
  - Use textwrap.dedent() to unindent docstrings


author: Petr Šplíchal <psplicha@redhat.com> - 1.18.0-1
changelog:
  - Fix recommended packages handling for rpm-ostree
  - Add EFI configuration to the `tmt-reboot` script
  - Fix adjust for precommit test
  - Fix provision for coreos image
  - Emit only non-default keys when constructing a test from `execute`
  - Add flake8 config file for easier integration with IDEs
  - Multiple scripts for CLI prepare -h shell
  - Allow mypy to cover the whole tmt.plugins and tmt.steps
  - Add typing for `steps/execute/upgrade.py`
  - Fix name & default value of polarion's upload field
  - Fixes enhancing of environment by local's guest implementation
  - Ignore plan -n when searching for upgrade path
  - Document & correct use of class conversion methods
  - Print fmf tree location when schema unit test fails
  - Custom results implementation
  - Refactors internal link handling and storage
  - Allow mypy to cover whole tmt.steps.prepare
  - Add typing for `steps/execute/internal.py`
  - Use workdir with safe names without special chars
  - Adjust support for installing remote packages
  - Support to install package from URL
  - Make sure short option '-x' is covered
  - Add Polarion as a source for test case import
  - Print path to the used ssh identity
  - Add typing for `steps/prepare/__init__.py`
  - Use generator instead of list comprehension with any/all
  - Fixes handling of default of --key in connect plugin
  - Update test data for the debuginfo install test
  - Add a helper for importing a member from a module
  - Fix plan schema to allow custom context dimensions
  - Allow mypy to cover whole tmt.steps.discover
  - Remove support for the obsoleted `detach` executor
  - Add typing for `steps/discover/fmf.py`
  - Fix importing for pylero
  - Allow mypy to cover whole tmt.steps.provision
  - Replace blank "type: ignore" with more specific waivers
  - Use the `SerializableContainer` for plugins' data
  - Enhance SerializableContainer with default key value inspection
  - Moves validation and normalization mixins to utils


author: Lukáš Zachar <lzachar@redhat.com> - 1.19.0-1
changelog:
  - Protect args in rsync call
  - Set tree root for the default plan tree as well
  - Properly set the `tmt` script shebang on `rhel-8`
  - Use image exists to check for container image
  - Updates docs with example on `adjust` & `prepare+`
  - Fix test duration enforcement
  - Skip missing debuginfo packages in `recommend`
  - Explicitly document extending the plan environment
  - Fix ownership of a tmp directory propagated to container
  - Support fetching remote repo for `shell` discover
  - Fix default `framework`, remove old execution methods
  - Add support for Artemis v0.0.46 upcoming release
  - Handle an fmf fetch error in remote plan clone
  - Do not truncate `RunError` output in verbose mode
  - Warn user about data erasing after prepare step
  - Formalize `data` package passed to the `Result` class
  - Change order of plugin and guest classes in files
  - Add `compatible` as a new hardware specification key
  - Add `tpm` as a new hardware specification key
  - Move the hardware specification into a separate page
  - Improve fmf-id processing
  - Add test for TTY state in test environment
  - Login after each test using the `--test` parameter
  - Mention version where important features were added
  - Handle dist-git-sources for gitlab
  - Fix getting CentOS via --how virtual
  - Capture uncaught exceptions when using testcloud
  - Update the overview of essential classes
  - When following command line --how, do not iterate over step data
  - Convert utils' Run unit tests to class-less tests
  - Enable variable expansion for dynamic references
  - Support beaker libraries as recommended packages
  - Add `SpecBasedContainer.to_minimal_spec()` method (#1637)
  - Enable context based plan parametrization
  - Coverage for tests defined under `discover.shell`
  - Fix `/tests/run/shell` access permission problem
  - Add step data classes for provisioning and report
  - Adjust support for the dynamic `ref` evaluation
  - Add support for dynamic `ref` evaluation
  - Add a test for fmf id parsing and normalization
  - Fix NO_COLOR not being honored by executed command output
  - Moves common command options into one place
  - Log full chain of exceptions, not just the first cause
  - Drop deprecated PluginIndex
  - Add message to failure tags in junit report
  - Update the pip installation plan
  - Remove pointless reimport of tmt.base in discover steps
  - Do not use f-string as a docstring
  - Fix use of variable before assignment in `Plan.go`
  - Fix variable redefinition in `discover/shell.py`
  - Fix guest distro detection, do not throw results away
  - Fix a typo in `cpu.sockets` hardware requirement
  - Make links relative for report html
  - Review all uses of `type: ignore` and link relevant issues
  - Enhance ClickOptionDecorator type to announce identity
  - Update `/tests/execute/upgrade/override` duration
  - Review all uses of `Any` and link relevant issues
  - Annotate all `cast()` calls with respective issues
  - Move the `Result` class into a separate file
  - Unblock mypy's follow-import setting
  - Use set comprehension instead of list-in-set sequence
  - Use `enumerate()` instead of `range(len())`
  - Use dict comprehension instead of tuple-in-list-in-dict
  - Replace two more list comprehensions with generators
  - Replace GeneralError's "origin" with Python's "raise from"
  - Fix normalization of the `Plan.context` key
  - Adds a missing import to polarion plugin
  - Update all linters to their most recent versions
  - Define CPU HW components with more granularity
  - Adjust the support for importing remote plans
  - Add import plan feature and tests
  - Add type annotations to `base.py`
  - Fix test depending on ordering of elements in junit XML
  - Adds type annotations to `tmt` itself
  - Remove custom yet same implementation of step's show()
  - Make sure `repo_copy` is gone before `make srpm`


author: Lukáš Zachar <lzachar@redhat.com> - 1.20.0-1
changelog:
  - Do not prune `html` and `junit` reports
  - Skip extending fmf context if cli context missing
  - Connect needs is_ready property as well
  - Cover setup.py with pre-commit Python checks
  - Do not leak "private" fields into export
  - Set guest hostname in testcloud provision
  - Capture provision error when login is used
  - Support `TMT_WORKDIR_ROOT` environment variable
  - Support step data definitions carrying CLI options
  - Adds flake8 coverage for bin/ directory
  - Prune irrelevant files during the `finish` step
  - Add junit plugin schema
  - Support to import empty key from Makefile
  - Deleting unsed and duplicite part of finish step
  - Support absolute paths in HTML reports
  - Capture exceptions when getting `image_url`
  - Enable verbose output for `provision` & `prepare`
  - Add support for Artemis v0.0.47 upcoming release
  - Remove unused variables
  - Initial support for passing ssh options from cli
  - Update specification of the `where` multihost key
  - Add a simple test demonstrating the upgrade testing
  - Use custom subclass of click.Context for better annotations
  - Extend the `duration` for tests using containers
  - Change common class constructors to use keyword arguments only
  - Make packit build with the next release.dev version
  - Add basic test coverage for `tmt story export`
  - Fix export of the story `priority` field
  - Read source from correct directory if ref is used


author: Lukáš Zachar <lzachar@redhat.com> - 1.21.0-1
changelog:
  - Fix tmt-reboot without custom command
  - Fix test /discover/libraries
  - Add serialization callbacks to data class fields
  - Use own private key for `provision.virtual`
  - Adds a template-backed export plugin
  - Polarion export fix component upload bug and upload id first
  - Convert story ReST export to use a Jinja2 template
  - Convert export-related code to plugins per format
  - Do not clone the whole remote plan in dry mode
  - Hardcode tmt git URL so test won't fail for PRs
  - Add py.typed marker for 3rd party type annotations
  - Fixes isort 5.10.1 installation issue
  - Improve logging by `tmt.utils.wait()`
  - Check packages are installed via debuginfo-install
  - Always ignore failures for recommended packages
  - Merge report plugins options into step data fields
  - Dynamically find the current Fedora release
  - Suggest using a pull request checklist template
  - Include a simple Python code among the examples
  - Apply normalization callback when updating data with CLI input
  - Bump pre-commit linters - Flake8, Mypy, JSON schema, YAML lint & pygrep
  - Use base implementation of provision plugin requirements
  - Relay 'interactive' value for podman call
  - Update Fedora versions in `upgrade` tests
  - Apply `ShellScript` for the custom reboot command
  - Update the `shell` discover specification
  - Enable to sync git repo to SUT in `shell` discover
  - Increase the default `utils.format()` indent a bit
  - Define pull request Copr build job in Packit config
  - Decouple logging from objects and base classes
  - Enable `url` and `ref` as `shell` discover options
  - Export `TMT_TREE` in other steps as well
  - Add a new key `system` to the `hardware` spec
  - Remove default for the dynamic `ref` evaluation
  - Schema update and test for order in discover step
  - Merge report plugins options into step data fields
  - Add a test for hardware schema coverage
  - Better type annotations of prepare/install scripts
  - Move `jinja2` require to the main `tmt` package
  - Define the new context dimension `initiator`
  - Respect `TMT_WORKDIR_ROOT` variable in `testcloud`
  - Annotate commands, command line elements and shell scripts
  - Adjust the `reportportal` plugin implementation
  - Implement the `reportportal` report plugin
  - Require the latest `testcloud` package
  - Define `srpm_build_deps` in the packit config
  - Include the new web link in verbose `show` mode
  - Add a clickable web link to test to polarion export
  - Enhance `Links` to allow checking for any links at all
  - Drop various guest `wake()` methods in favor of parent class
  - Catch `SystemExit` during module discovery


author: Packit <hello@packit.dev> - 1.22.dev-1.20230306120143758668.main.32.gb38838e
changelog:
  - Update log key content of results.yaml examples (#1834) (Miloš Prchlík)
  - Include guest name in execute phase data paths (Miloš Prchlík)
  - Adds "bootstrap logger" for logging before CLI options are recognized (#1839) (Miloš Prchlík)
  - Export `TMT_TEST_NAME` and `TMT_TEST_METADATA` (#1888) (Jiri Jaburek)
  - List supported operators in hardware requirement docs (#1867) (Miloš Prchlík)
  - Build tmt usable in inner guests for tests/full (Lukas Zachar)
  - Target test-complement for tests/full (Lukas Zachar)
  - Tag tests which are affected by how=full (Lukas Zachar)
  - Use PROVISION_METHODS in tests (Lukas Zachar)
  - Report individual test results in tests/full (Lukas Zachar)
  - Use Require* classes for collection & installation of plugin requirements (#1766) (Miloš Prchlík)
  - Disable tracebacks if default branch is not found (Vector Li)
  - Assign a data path and serial number to each test in discover (#1876) (Miloš Prchlík)
  - Convert log path for results:custom (Lukas Zachar)
  - Allow report result for itself in results:custom (Lukas Zachar)
  - Support to import Makefile having '\\\n' (Vector Li)
  - Require `pylero` for the `polarion` subpackage (Petr Šplíchal)
  - Fix forgotten guest when Artemis provisioning times out (Miloš Prchlík)
  - Turn `tests.yaml` into a list of tests (Miloš Prchlík)
  - Simplify the `Result` class implementation (Miloš Prchlík)
  - Use `Path` instead of `os.path` in export code (Miloš Prchlík)
  - Use `Path` when working with logfile path (Miloš Prchlík)
  - Fix use of old `os.path.symlink()` in discover/shell (Miloš Prchlík)
  - Add /root/.local/bin to PATH on Centos Stream 8 in CI (Miloš Prchlík)
  - Install jq/yq for more readable tests in tmt test suite (Miloš Prchlík)
  - Fix Common class ignoring other branches of multiple inheritance tree (Miloš Prchlík)
  - Use Path instead of os.path in prepare/install plugin (Miloš Prchlík)
  - Convert path-like strings to `pathlib.Path` objects (Miloš Prchlík)
  - Change `Plugin.go()` to accept logger and extra environment (Miloš Prchlík)
  - Artemis API version may contain multiple integers (Marcin Sobczyk)
  - Add logging `labels` used for prefixing messages (Miloš Prchlík)
  - Adds "full name" guest property for multihost logging (Miloš Prchlík)


