Change Log — ppklib - v0.2.0rc3 Documentation

# Change Log

- 0.2.0rc3 - Updates to metadata and vulnerability data accessors. by j_berendt at 2025-06-04 10:14:02

      The following changes were made to the query data accessors in support of
      adding these values to a database table, without the need for further
      parsing and/or re-configuration.

      PPKLIB-7: Update query object data accessors
      - PyPIAPIObject: Changed the 'upload_time_iso_8601' key to be a datetime
        object, rather than a string.
      - OSVAPIObject: Changed or added the following keys:
        - id: Renamed to 'vid' to avoid database table field clash.
        - aliases_str: Added to contain a comma-separated string of values from
          the 'aliases' field.
        - vector_cvss_v3: Added to contain the CVSS_V3 string.
        - vector_cvss_v4: Added to contain the CVSS_V4 string.

      Testing:
      - Tests updated for the PPKLIB-7 change.
      - All tests complete successfully with 100% code coverage.
      - Pylint completes successfully with all modules reporting 10/10.

      Released: 2025-06-04

- 0.2.0rc2 - Bug fix relating to relative imports and sys.path. by j_berendt at 2025-06-01 17:00:36

      PPKLIB-6: Fix relative imports without touching sys.path
      - Addressed an issue caused by ppklib setting sys.path to help with its
        own relative imports. This had negative side-effects (crashes) with
        projects which imported ppklib as their sys.path was set unexpectedly.
      - All sys.path adjustments have been removed.

      Testing:
      - All tests completed successfully with 100% code coverage.
      - Pylint run successfully with all modules reporting 10/10.

      Released: 2025-06-01

- 0.2.0rc1 - Minor fixes from post-integration testing. by j_berendt at 2025-05-29 09:46:01

      PPKLIB-4: Add hyphen to package search
      - A hyphen has been added to the package search name to ensure the target
        package is matched, rather than a package starting with the target's
        name.
      - Additionally, the return value from os.listdir is now sorted to help
        the target name be at the top of the filtered tuple, as the ordering
        from os.listdir is an artifact of the filesystem.

      PPKLIB-5: Add space between vulnerability title and version/alias
      - A space as been added between the title and the version/alias to help
        provide distinction for long titles.

      Testing:
      - All tests complete successfully with 100% code coverage.
      - Pylint run successfully with all modules reporting 10/10.

      Released: 2025-05-29

- 0.2.0.dev1 - Addition of the OSV vulnerability test. by j_berendt at 2025-05-20 12:40:07

      ** Development release for ppk integration **

      PPKLIB-2: Add an OSV-based vulnerability test
      - An OSV-based vulnerability test has been added to the vtests.VTests
        vulnerability testing class.

      Testing:
      - The testing suite has been updated to include the OSV vulnerability test.
      - All tests complete successfully with 100% code coverage.

      Released: 2025-05-20

- 0.1.0b1 - Initial release of the ppklib project. by j_berendt at 2025-04-13 13:16:09

      Current functionality:
      - Wrappers for interacting with 'pip download'.
      - Wrappers for fetching metadata from PyPI's JSON API.
      - Wrappers for fetching vulnerability data from OSV's API.
      - Security checks:
        - MD5 checksum for wheel files
        - Snyk vulnerability database checks
        - OSV (coming soon)

      Testing:
      - Testing completes successfully with 100% code coverage.
      - Pylint runs successfully with all modules reporting 10/10.

      Released: 2025-05-04

- 0.1.0 - Initial development of the ppklib library. by j_berendt at 2025-04-13 12:48:13

      PPK-27: Module transfer and refactoring
      - The following modules have been moved from the main ppk project into
        ppklib:
        - lib/pip.py
        - lib/utilities.py
        - lib/vtests.py
      - These modules have been refactored to be callable as library modules
        which can be called either individually or via the main ppk project.