v1.0.7
- Fix licence and version pinning in release configuration

v1.0.6
---------------------

- New Features & CLI Enhancements
    - File Aliasing: Added support for host:container path mapping in profiles and the execute command.
    - Config Command: Introduced a new config command to list, get, and set internal configuration values.
    - Argument Passthrough: Updated MPI launchers to pass all user arguments directly to the underlying binaries.
    - Demo Runner: Added a new step-by-step interactive demo script for easier onboarding and testing. Includes docker container generation and download/build of SHA checked OSU benchmark code.
- MPI & Wi4MPI Improvements
    - Artifact Filtering: Implemented intelligent filtering to discard libraries from conflicting MPI stacks during profile detection.
    - Wi4MPI Verification: Added installation verification, PPC64LE support, and improved handling of missing install directories.
    - Library Binding: Automated binding for graphics and interconnect driver directories (e.g., ibverbs, Vulkan) to prevent loader errors.
    - SONAME Aliasing: Added dynamic aliasing (e.g., libmpich.so → libmpi.so) for Wi4MPI "fake" libraries to ensure guest binary compatibility.
    - Environment Fixes: Explicitly imported Wi4MPI target environment variables into containers to resolve "file too short" loader errors.
    - Library Recognition: Added support for OpenMPI so.41 libraries and improved detection of alternate SONAMEs on guest systems.
- Stability & Robustness
    - Multi-node Reliability: Improved handling of missing files on remote nodes and added Slurm/PMI version compatibility checks.
    - Process Tracing: Updated the tracer to correctly handle process exits in multi-process MPI runs to prevent hangs.
    - Input Scrubbing: Added logic to scrub bogus spaces and Unicode characters from command-line arguments.
    - Error Reporting: Redirected stderr to the console for better visibility into underlying execution errors.
    - Timeout Support: Added timeouts to internal subprocesses to prevent hangs during profile detection.
- Maintenance & Security
    - Pinned completion builds to Rust 1.92.0 to resolve upstream dependency security issues.
    - Dropped support for Python 3.7
    - CI workflows trigger only on pushes.

v1.0.5
---------------------
Check for libmpi.so.0.0.0 to support MVAPICH-Plus 4.x

v1.0.4 (Aug 26 2024)
---------------------

- Changed default value of preload_root_libraries from false to true,
restablishing srun support
- Added libmpi_cray.so.12 to the list of accepted libmpi.so files in
the `e4s-cl-mpi-tester` script, for library detection, restablishing
cray mpich support
- Fixed verbosity issue when implicitely using launch command where
verbosity was asked for the runned application that would propagate
to e4s-cl's verbosity status

v1.0.3 (Apr 16 2024)
---------------------

- Introduced barebones backend, which runs in local environment
    - Is implemented as an alternative backend
    - Creates symlinks to files in centralised folder instead of binding them
- Introduced python bindings for MPI libraries in script
    - Script is `e4s-cl-mpi-tester`
    - Runs with MPICH ABI or OpenMPI
    - Obsoletes the compiler detection, and the precompiled binary database
- Sort the detected libraries and files in init

v1.0.2 (Mar 31 2023)
---------------------

- Added configuration options for container backends
- Added environment variable options for container backends
- Added default configuration output from command line
- Improved podman support for container version detection
- Fixed termcolor error on container failure
- Add check to ensure symlinks are not bound twice
- Added configuration options for wi4mpi
- Added support for wi4mpi interface mode

v1.0.1 (Nov 10 2022)
---------------------

- Wi4MPI installation on a per-requirement basis

v1.0 (Nov 04 2022)
---------------------

- Wi4MPI support expanded

v1.0rc6 (Mar 09 2022)
---------------------

- Restructured project to better fit python guidelines
- Added compatibility with python3.6 and up
- Added the ability to run a command without containers
- Improved completion capabilities

v1.0rc5 (Feb 17 2022)
---------------------

Additions:

- Added automatic profile naming based on used MPI vendor and version 
- Added built-in profiles
- Added sample binaries to profile distribution without compilers
- Singularity features:
    - Prevented system-specific rules from altering execution via --contain
    - Ensured the PWD is conserved in containers (fixed #30)
- Added ALPS support
    - aprun launcher now supported
    - e4s-cl package resolving now bypasses ALPS quarantine
- Added barebones module awareness
- Added logging output in dedicated logging folders
- Added docker backend module
- Added podman backend module

Removed:

- Removed tree output in profile show
- Exported library module to standalone package (python-sotools)

v1.0rc4 (Sep 23 2021)
---------------------

- Added WI4MPI support

v1.0rc3 (Jun 22 2021)
---------------------

- Refactored library handling to account for ELF header data

v1.0rc2 (Mar 19 2021)
---------------------

- Automatic version detection and embed at install
- Updated help strings

v1.0rc1 (Jan 20 2021)
---------------------

- Added launch and execute command model
- Added profile definiton and storage 
- Added profile management commands
- Added system-call tracing for dependency detection
- Added initialization wrapper
- Added tests
- Added completion script
- Added licence
- Added documentation
