- Add support for Python 3.13.
- Drop support for Python 3.7. package-url#160
- Improve support for 3 path segments NPM URLs in
url2purl
. package-url#167
- Refine support for GitHub /archive/refs/tags/ URLs in
url2purl
. The whole tag is now captured as the version. This allows to properly reconstruct valid URLs inpurl2url
.
- Capture the whole git tag as the version for GutHub URL in
url2purl
instead of adding a version_prefix qualifier. Note that the version_prefix qualifier is still supported inpurl2url
for backward compatibility. package-url#159
- Add
with_package_url
,without_package_url
, andorder_by_package_url
to thePackageURLQuerySetMixin
contrib class.
- Add support for namespace in
build_npm_download_url
.
- Update GitHub generated Download URL for maximum compatibility. package-url#157
- Add support for Composer in
purl2url
andurl2purl
. package-url#144 - Add an option for
exact_match
purl QuerySet lookups in the ``PackageURLQuerySetMixin.for_package_url``method. package-url#118
- Add support to get PackageURL from
go_package
or go modulename version
string as seen in a go.mod file. package-url#148 - Add cran ecosystem support for url2purl package-url#149
- Add support for getting golang purl from go import. aboutcode-org/purldb#259
- Fix the "gem" type in the README docs. package-url#114
- Improve support for SourceForge URLs in url2purl. package-url#139
- Improve support for SourceForge URLs in url2purl. package-url#139
- Improve support for SourceForge URLs in url2purl. package-url#139
- Add support for Python 3.12 package-url#135
- Revert changes from package-url#115 In above PR we dropped namespaces for a golang purl and stored whole namespace and name in name itself, which was further discussed again and decided we will like to keep namespace back.
- Modified PackageURL.from_string to properly handle golang purls. package-url#115
- Improve support for PyPI URLs in url2purl. package-url#128
- Return the "gem" type instead of "rubygems" for "https://rubygems.org/" URLs in url2purl. The pkg:rubygems/ purls are backward-compatible in purl2url. package-url#114
- Add support for GitLab "/archive/" URLs in url2purl. package-url#133
- Remove deprecated purl_to_lookups and without_empty_values import compatibility from packageurl.contrib.django.models. Replace those functions import using packageurl.contrib.django.utils.
- Add download purl2url support for bitbucket and gitlab.
- Add support for the golang type in purl2url.get_repo_url() #107
- Apply typing
- Add support for Python 3.11
- Fix minor typos
- Drop Python 3.6
- Fixed PackageURL.from_string to properly handle npm purls with namespace.
- Refactor the purl2url functions and utilities #42
- Split purl2url into get_repo_url() and get_download_url() returning accordingly a "Repository URL" and a "Download URL".
- A new get_inferred_urls function is available to get return all inferred URLs (repository and download) values.
- Add support in purl2url for npm, pypi, hackage, and nuget.
- Package URL qualifiers can now be provided to purl_from_pattern().
- The download_url qualifier is returned in get_download_url() when available.
- Usage of purl2url.purl2url and purl2url.get_url is still available for backward compatibility but should be migrated to purl2url.get_repo_url.
- Include the version_prefix ("v" or "V") as a qualifier in build_github_purl #42 This allow to infer valid URLs in the context of purl2url.
- Fix named arguments in purl_to_lookups.
- Add encode option in purl_lookups #94 (purl_to_lookups, without_empty_values is moved from packageurl.contrib.django.models to packageurl.contrib.django.utils)
- Add ability to filter objects with EMPTY purls in PackageURLFilter #92
- Upgrade virtualenv.pyz to latest version #85
- Replace Travis CI by GitHub Actions #84
- Add black to the CI and apply formatting on whole codebase #91
- Improve url2purl support for nom URLs
- Improve url2purl support for rubygems.org URLs #89
- Update version to be semver compliant. No changes to the code have been made.
- Fix generic sourceforge PackageURL generation #79
- Do not create a generic PackageURL for URLs without a path in url2purl #72
- Use project name as the Package name when creating generic sourceforge PackageURLs #74
- Update PyPI route pattern in url2purl to handle different file name formats #76
- Create generic PackageURL for code.google.com archive URLs #78
- Capture more download types for bitbucket URLs
- Create a generic PackageURL for URLs that do not fit existing routes in url2purl #68
- Drop support for Python 2 #61
- Add support for new github URLs in url2purl #47
- Add support for "archive/refs/tags/" github URLs in url2purl #47
- Fix Python 2 compatibility issue #57
- Add QuerySet utils to lookup and filter along the PackageURLMixin Django class #48
- Add a PackageURLFilter class for Django FilterSet implementations #48
- Move the django_models module to django.models #48 Replace packageurl.contrib.django_models imports with packageurl.contrib.django.models.
- Document usage in README
- Adopt SPDX license identifier
- Add support for GitHub "raw" URLs in url2purl #43
- Improve GitHub support for "v" prefixed version in url2purl #43
- Add and improve URL <-> Package URL conversion for gitlab, github, cargo, bitbucket and hackage URL conversions
- Add new purl2url conversion utility
- Remove the null=True on Django CharField fields of the PackageURLMixin
- PackageURL.to_dict() now takes an optional "empty" argument with the value that empty values to have. It defaults to None which was the current behaviour. For some use cases, having an empty string may be a better option and this enables this.
- Make PackageURL hashable.
- Add cargo type or url2purl
- Increase the size of the Django model contrib version to 100 chars.
- Remove Python 3 idioms (f strings)
- Add max length validation to the Django model contrib.