ENHANCEMENTS:
- Refactor distro.info() method to return an InfoDict [#360]
- Ignore the file '/etc/board-release' [#353]
- Ignore the file '/etc/ec2_version' [#359]
RELEASE:
- Run Python 3.6 on Ubuntu 20.04 for CI and bump isort [#355]
TESTS:
- Test on modern versions of CPython and PyPy and macOS [#362]
- Add support for ALT Linux Server 10.1 distribution [#354]
- Add Debian Testing to the tests [#356]
- Update archlinux resource for tests [#352]
BACKWARD COMPATIBILITY:
- Replace
setup.pywithbuild[#342]
ENHANCEMENTS:
- Lowered
LinuxDistribution._distro_release_infomethod 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
unameback-ends when--root-diris specified [#311] - Moved
distro.pytosrc/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.pyto allow standalone execution [#313] - Added support for AIX platforms [#311]
- Added compliance for PEP-561 [#315]
BUG FIXES:
- Fixed
include_unameparameter oversight [#305] - Fixed crash when
uname -rsoutput 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_distributionregression 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
distromodule [#269] - Added
__version__for checkingdistroversion [#292] - Added support for arbitrary rootfs via the
root_dirparameter [#247] - Added the
--root-diroption to CLI [#161] - Added fallback to
/usr/lib/os-releasewhen/etc/os-releaseisn't available [#262]
BUG FIXES:
- Fixed
subprocess.CalledProcessErrorwhen runninglsb_release[#261] - Ignore
/etc/iredmail-releasefile while parsing distribution [#268] - Use a binary file for
/dev/nullto avoidTextIOWrapperoverhead [#271]
RELEASE:
- Moved repository from
nir0s/distrotopython-distro/distroon 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_releaseas utf-8 [#144] - Logger now uses
message %s, stringform 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
bytesinvariantly [#135] - Some minor code adjustments plus a CLI [#134]
- Emit stderr if
lsb_releasefails
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