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
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