BACKWARD COMPATIBILITY:
- Replace
setup.py
withbuild
[#342]
ENHANCEMENTS:
- Lowered
LinuxDistribution._distro_release_info
method complexity [#327] - Added official support for Buildroot distribution [#329]
- Added official support for Guix distribution [#330]
- Added support for
/etc/debian_version
[#333] & [#349] - Fixed a typography in CONTRIBUTING.md [#340]
- Improved README.md "Usage" code block [#343]
RELEASE:
- Bumped black to v22.3.0 in pre-commit.ci configuration [#331]
- Enabled GitHub Dependabot to keep GitHub Actions up to date [#335]
BACKWARD COMPATIBILITY:
- Dropped support for EOL Pythons 2.7, 3.4 and 3.5 [#281]
- Dropped support for LSB and
uname
back-ends when--root-dir
is specified [#311] - Moved
distro.py
tosrc/distro/distro.py
[#315]
ENHANCEMENTS:
- Documented that
distro.version()
can return an empty string on rolling releases [#312] - Documented support for Python 3.10 [#316]
- Added official support for Rocky Linux distribution [#318]
- Added a shebang to
distro.py
to allow standalone execution [#313] - Added support for AIX platforms [#311]
- Added compliance for PEP-561 [#315]
BUG FIXES:
- Fixed
include_uname
parameter oversight [#305] - Fixed crash when
uname -rs
output is empty [#304] - Fixed Amazon Linux identifier in
distro.id()
documentation [#318] - Fixed OpenSuse >= 15 support [#319]
- Fixed encoding issues when opening distro release files [#324]
- Fixed
linux_distribution
regression introduced in [#230] [#325]
BACKWARDS COMPATIBILITY:
- Deprecated the
distro.linux_distribution()
function. Usedistro.id()
,distro.version()
anddistro.name()
instead [#296] - Deprecated Python 2.7, 3.4 and 3.5 support. Further releases will only support Python 3.6+
ENHANCEMENTS:
- Added type hints to
distro
module [#269] - Added
__version__
for checkingdistro
version [#292] - Added support for arbitrary rootfs via the
root_dir
parameter [#247] - Added the
--root-dir
option to CLI [#161] - Added fallback to
/usr/lib/os-release
when/etc/os-release
isn't available [#262]
BUG FIXES:
- Fixed
subprocess.CalledProcessError
when runninglsb_release
[#261] - Ignore
/etc/iredmail-release
file while parsing distribution [#268] - Use a binary file for
/dev/null
to avoidTextIOWrapper
overhead [#271]
RELEASE:
- Moved repository from
nir0s/distro
topython-distro/distro
on GitHub.
BACKWARD COMPATIBILITY:
- Keep output as native string so we can compatible with python2 interface [#248]
ENHANCEMENTS:
BUG FIXES:
- Fix detection of RHEL 6 ComputeNode [#255]
- Fix Oracle 4/5 lsb_release id and names [#250]
- Ignore /etc/plesk-release file while parsing distribution [#246]
TESTS:
- Test on MidnightBSD [#254]
RELEASE:
- Remove build testing on Python 3.3 and add pypy 3.5 and Python 3.7 and 3.8 [#244]
- Fix Windows build due to Appveyor not supporting builds on Python 2.7 anymore [#257]
Additionally, The Python2.6 branch was fixed to support distro version 1.4.0. It is now passing all tests. Thanks abadger!
BACKWARD COMPATIBILITY:
- Prefer the VERSION_CODENAME field of os-release to parsing it from VERSION [#230]
BUG FIXES:
- Return _uname_info from the uname_info() method [#233]
- Fixed CloudLinux id discovery [#234]
- Update Oracle matching [#224]
DOCS:
- Update Fedora package link [#225]
- Distro is the recommended replacement for platform.linux_distribution [#220]
RELEASE:
- Use Markdown for long description in setup.py [#219]
Additionally, The Python2.6 branch was fixed and rebased on top of master. It is now passing all tests. Thanks abadger!
ENHANCEMENTS:
- Added support for OpenBSD, FreeBSD, and NetBSD [#207]
TESTS:
- Add test for Kali Linux Rolling [#214]
DOCS:
- Update docs with regards to #207 [#209]
- Add Ansible reference implementation and fix arch-linux link [#213]
- Add facter reference implementation [#213]
BACKWARD COMPATIBILITY:
- Don't raise ImportError on non-linux platforms [#202]
ENHANCEMENTS:
- Lazily load the LinuxDistribution data [#201]
BUG FIXES:
- Stdout of shell should be decoded with sys.getfilesystemencoding() [#203]
TESTS:
- Explicitly set Python versions on Travis for flake [#204]
BACKWARD COMPATIBILITY:
TESTS:
RELEASE:
- Modify MANIFEST to include resources for tests and docs in source tarballs [97c91a1]
BUG FIXES:
- Guess common *-release files if /etc not readable [#175]
ENHANCEMENTS:
- Show keys for empty values when running distro from the CLI [#160]
- Add manual mapping for
redhatenterpriseserver
(previously only redhatenterpriseworkstation was mapped) [#148] - Race condition in
_parse_distro_release_file
[#163]
TESTS:
RELEASE:
- Update classifiers
- Update supported Python versions (with py36)
TESTS:
- Test on py33, py36 and py3 based flake8
RELEASE:
- Add MANIFEST file (which also includes the LICENSE as part of Issue [#139])
- Default to releasing using Twine [#121]
- Add setup.cfg file [#145]
- Update license in setup.py
ENHANCEMENTS:
- Prettify distro -j's output and add more elaborate docs [#147]
- Decode output of
lsb_release
as utf-8 [#144] - Logger now uses
message %s, string
form to not-evaulate log messages if unnecessary [#145]
TESTS:
RELEASE:
- Add CONTRIBUTING.md
BACKWARD COMPATIBILITY:
- raise exception when importing on non-supported platforms [#129]
ENHANCEMENTS:
- Use
bytes
invariantly [#135] - Some minor code adjustments plus a CLI [#134]
- Emit stderr if
lsb_release
fails
BUG FIXES:
- Fix some encoding related issues
TESTS:
- Add many test cases (e.g. Raspbian 8, CoreOS, Amazon Linux, Scientific Linux, Gentoo, Manjaro)
- Completely redo the testing framework to make it easier to add tests
- Test on pypy
RELEASE:
- Remove six as a dependency
This is the first release of distro
.
All previous work was done on ld
and therefore unmentioned here. See the release log in GitHub if you want the entire log.
BACKWARD COMPATIBILITY:
- No longer a package. constants.py has been removed and distro is now a single module
ENHANCEMENTS:
- distro.info() now receives best and pretty flags
- Removed get_ prefix from get_*_release_attr functions
- Codename is now passed in distro.info()
TESTS:
- Added Linux Mint test case
- Now testing on Python 3.4
DOCS:
- Documentation fixes