2.0.0 - CLI exit codes and Python 3.14 Support
Released October 11, 2025
Big number, small changes
Exosphere now uses consistent and documented exit codes across all of its CLI components. Since, strictly speaking, this is a backwards incompatible change (although it is unlikely to affect many people), the version has been incremented to 2.0.0 to communicate this, in accordance with the holy texts of Semantic Versioning.
Return Codes
Exosphere now consistently returns the following exit codes:
0 - Success
1 - Execution error (something went wrong during processing)
2 - Argument error (something wrong with an option or argument you provided)
3 - Special - Used sparingly to communicate specific scenarios
Using 2 for argument errors is a consistent behavior with the Typer library (which we use extensively for CLI commands) and multiple Unix utilities, such as grep.
Status 3 is used very sparingly, and so far only returned by exosphere version check to communicate that a new version is available, as well as by inventory status whenever any of its filtering options (--updates-only etc) do not match any hosts.
This is documented in our Lovely Documentation in its Appropriate Section
Python 3.14 Compatibility
Python 3.14 is now officially supported with this release.
Internally, the test suite for Exosphere has been put in a Matrix that runs against both 3.13 and 3.14, to prevent regressions across supported versions. The uv lockfile has been updated with versions of main dependencies and dev tools that support both, but the minimum required versions have been left alone.
This should ensure compatibility between 3.13 and 3.14, and lays the groundwork to support upcoming versions without too much hassle.
New detailed version command
In order to make diagnostics and debugging easier, the version command now has a details subcommand that will return information about the current Python environment, venv, and host system.
What's Changed
Github: Add test matrix for ci workflow
Additional Python 3.14 Compatibility
Uniformize return codes across application
Bump version to 2.0.0 for release