Releases: s3dev/utils4
v1.8.2
v1.8.1
Changes
There are no changes between this version and v1.8.0 (which has been pulled).
A new version was created so the source archive on PyPI could be a reasonable
size, rather than 64MB; as PyPI does not allow re-uploads.
Note:
From this version, only Python versions 3.10-3.13 are (officially)
supported, with pre-built wheels supplied.
UTL4-9: Add new file signatures
- The following file signature tests have been added to the futils module,
with aliases added to the utils module:- is7zip
- isgzip
- ispdf
Other changes:
- References to Python 3.7 changed to 3.10.
Testing:
- Testing completes successfully with all modules passing and 100% code
coverage. - Pylint completes successfully with all modules reporting 10/10.
Released: 2025-09-22
v1.7.0
Changes
NOTE:
This is the last version which officially support Python 3.7-3.9. All
future updates will be focused on 3.10+ support. Wheels will no longer be
built for Python <3.10.
UTL4-6: Integrate new functionality from badsnakes.
- A new C module (_futils) has been introduced, whose functions are
wrapped by the current utils.py module for easy access and documentation. - The functions are C implementations of the file-checking utilities from
badsnakes and include: isascii, isbinary and iszip. - Added the exclude_dirs function from badsnakes to the utils module.
UTL4-7: Wrong badge links.
- Addressed an issue where some badge links in the README file pointed to
preqs, rather than to utils4.
Compatibility warning:
- Some functions have had keyword parameters enforced, which may break
backwards compatibility.
Testing:
- All test cases pass for Python 3.12, with 100% code coverage.
- Note: A couple tests fail for Python 3.7 - 3.9 owing to a reduction in
underlying library support (e.g. matplotlib, cryptography) and the use
of the walrus operator.
- Note: A couple tests fail for Python 3.7 - 3.9 owing to a reduction in
- Pylint completes successfully with 10/10 for all modules.
Released: 2025-01-04
v1.6.0
Changes
UTL4-1:
- Added a 'get_removable_drives' function to the utils module.
- This is a Windows-only function. If run on Linux, a NotImplementedError
is raised.
- This is a Windows-only function. If run on Linux, a NotImplementedError
UTL4-4:
- Added a 'strip_ansi_colour' function to the utils module to strip
colour ANSI escape sequences from a string.
UTL4-5: Snyk vulnerability
- Addressed a Snyk vulnerability issue with the cryptography library.
- Installed cryptography v43.0.3 into the development venv. The build
script will generate a new requirements.txt file with this upgraded
installation.
- Installed cryptography v43.0.3 into the development venv. The build
Testing:
- Test cases added for the new strip_ansi_colour and get_removable_drives
functions. - Testing completes successfully with 100% code coverage.
- Pylintr completes successfully with all modules reporting 10/10.
Released: 2024-11-13
v1.5.0
v1.5.0rc3
Changes
Changes for release candidate 3 (relative to rc2)
Changes:
- Addressed a bug in setup.cfg where the new [build] table worked for
Windows, but not Linux.- The [build] table is now added dynamically for Windows only.
- Updated the homepage of the documentation to include a more accurate
build instruction for Windows.
Changes for release candidate 2 (relative to rc1)
Changes:
- Added a compiler entry to setup.cfg (for Windows building).
- Minor accuracy updates to the README file.
- Updated the release checklist.
- Updated minimum Python version to 3.7.
- Updated references to Python 3.6 to Python 3.7.
- Removed Python 3.6 from the documentation.
Python 3.6 deprecation:
- Although Python 3.6 is no longer officially supported, the library
will still work on 3.6 in most cases. The reason for pulling official
support is due to the difficulty in getting hold of a build environment
for 3.6 as it's no longer supported.
Changes for release candidate 1 (relative to dev1)
Changes:
- Added a README file for GitHub and PyPI.
- Migrated the build from setup.py to pyproject.toml.
- Minor documentation updates, primarily on the homepage.
Testing:
- Python 3.8 testing and coverage completed successfully at 100%.
- Python 3.11 testing and coverage completed successfully at 100%.
Released: 2024-08-14