Skip to content

Releases: s3dev/utils4

v1.8.2

08 Feb 16:13

Choose a tag to compare

Changes

Note: There are no changes to the code in this release.

Changes:

  • Addition of Python 3.14 wheels and classifier tags.
  • Addition of manylinux tagged wheels (for PyPI).

Released: 2026-02-07

v1.8.1

22 Sep 11:36

Choose a tag to compare

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

04 Jan 17:08

Choose a tag to compare

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.
  • Pylint completes successfully with 10/10 for all modules.

Released: 2025-01-04

v1.6.0

13 Nov 14:58

Choose a tag to compare

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.

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.

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

18 Sep 12:16

Choose a tag to compare

Changes

Wheel files:

  • All applicable wheels embedded into the dist directory for upload to
    PyPI.

Testing:

  • Testing completes successfully with 100% code coverage.
  • Pylintr completes successfully at 100%.

Released: 2024-09-18

v1.5.0rc3

14 Aug 17:16

Choose a tag to compare

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