* Added a CI/CD pipeline for linting and functional tests via GitHub Actions. No more hip firing here!
* Fixed mutability issues when running clean tests in sequence. Now singleton state can be rest between runs.
* Added a `run` utility for executing shell commands inside test environment instances.
* Added a `systemd` utility for controlling services inside test environment instances.
* Added a `apt` utility for interfacing with the apt package manager on Ubuntu/Debian-based test environment instances.
* General quality of life refactors. Removed methods that did not need to be there.
* New module structure - I tried to further refine imports from version 0.3.0.
* PRELIMINARY MULTI-DISTRIBUTION SUPPORT!!! You can know launch Rocky, AlmaLinux instances and more, but robust support
is not fully there yet (i.e. package macros do not work yet).
* Fixed issue [21](https://github.com/NucciTheBoss/cleantest/issues/21).
* Introduction of _Archon_ and _Harness_ classes. Archon can be used to manually direct the test environment provider
and Harness is the new name for the legacy _Provider_ classes. _Harness_ is what wraps around testlets when
invoking the provider decorators. _Archon_ can be used to set up more complex cloud deployments such as
mini high-performance computing clusters.
* Enhanced documentation. There is now a News page (what you are reading currently), a reference page
(to be completed by 0.6.0), and a community page that routes to GitHub Discussions. I also cleaned up
the home page to make it more concise.
* An actual tutorial! I know I said I would not add them until 0.5.0, but I decided to share a sneak-peak ;)
What still needs to be done for 0.4.0?
I still need to do a bit of work before the final 0.4.0 release is ready. Here is what still needs to be done:
* Add a `dnf` utility for interfacing with the dnf package manager.
* Add a `pacman` utility for interfacing with the pacman package manager.
* Add a `passwd` utility for creating users and groups on test environment instances.
* Low-level refactor to improve LXD API socket interaction.
See issue [32](https://github.com/NucciTheBoss/cleantest/issues/32).
* Add some logging output to show cleantest's progress.
See issue [4](https://github.com/NucciTheBoss/cleantest/issues/4).
* Fix bug where cleantest will fail if using LXD virtual machines instead of containers.
See issue [12](https://github.com/NucciTheBoss/cleantest/issues/12).