Changes for version 2.24 - 2026-01-26

  • Imported all PURL type definition files from https://package-url/purl-spec
  • Added "URI::PackageURL::Type" helper class for normalize components, validation and load the using PURL type definition schema file, generate repository or download URLs and more
  • Added "validate" param in "URI::PackageURL->new"
  • Added "--validate" option to "purl-tool(1)" for check if the provided PURL string is valid using the exit code ("0" - valid, "1" not valid)
  • Added "--info TYPE" option to "purl-tool(1)" for display information about provided PURL type (allowed components, repository, examples, etc.)
  • Improved man pages for "purl-tool(1)" and "vers-tool(1)"
  • Added PURL test cases from https://github.com/package-url/purl-spec (package-url/purl-spec#514)
  • Added VERS test cases from https://github.com/package-url/vers-spec (package-url/vers-spec#28)
  • Improved 'name' and 'namespace' parsing (package-url/purl-spec#582 - package-url/purl-spec#583)
  • FIX NPM PURL string parser
  • Writes some debug messages when checksums are not formatted correctly and if there are unknown qualifiers.
  • Added "URI::VersionRange->from_native" method
  • Added "PURL" and "VERS" package alias for "URI::PackageURL" and "URI::VersionRange"
  • Sync with PURL v1.0.0 spec
  • Sync with VERS main spec

Documentation

Package URL tool
Version Range tool

Modules

Perl extension for PURL (Package URL)
PURL type definition class for URI::PackageURL
Utility for URI::PackageURL
Perl extension for VERS (Version Range Specifier)
URI::VersionRange (vers) Command Line Interface
Version Constraint for Version Range Specification
Utility for URI::VersionRange
Version scheme helper class

Provides

in lib/URI/PackageURL/App.pm