I have just released the latest version of my GetDevInfo Python module. I follow a semi-standard version scheme, so as you might expect, GetDevInfo 2.0.0 comes with some breaking changes.
Breaking Changes in GetDevInfo 2.0.0
- GetDevInfo must now be called from the commandline with
"-m getdevinfo"
. “-m getdevinfo.getdevinfo"
will no longer work. - Unicode strings are now used for the BootRecord and BootRecordStrings values, instead of bytestrings.
- Error logging has been implemented:
- When run from the commandline with -m, GetDevInfo now reports errors after the device information output.
- When run imported from another script/module, errors are logged to /tmp/getdevinfo.errors. This means they can now be debugged and handled by the calling program.
- The API documentation is now available under the GFDL1.3+ (with no invariant sections) instead of the GPLv3+.
Other changes and features in GetDevInfo 2.0.0
Below is a list of the remaining changes in GetDevInfo 2.0.0.
- Python 3.10 is now officially supported.
- Security improved by avoiding all use of shell=True with the subprocess module.
- General code clean up for macOS and Cygwin code.
- Various code quality improvements.
- General improvements to error handling on all platforms.
- Various improvements to both code and API documentation.
- Disk descriptions improved on macOS.
- “loop”, “zram”, and “nbd” devices are now ignored on Linux.
- Filesystem detection improved on Linux.
- Fix: Disk size can be reported incorrectly for LVM disks on Linux.
Summary
As always, there are quite a lot of changes. This version of GetDevInfo takes into account all the feedback I’ve had with the macOS and Windows versions of DDRescue-GUI, and is by far and away the most robust version ever released.
There are no critically-important fixes for this version of GetDevInfo, but I still recommend you upgrade. Updated versions of DDRescue-GUI for macOS and Windows will be provided soon with GetDevInfo 2.0.0, as well as a variety of other improvements.