3.28.0
3.28.0 (2026-03-27)
Note
Official changes are available on Pulp docs
Features
- Added the name_normalized field to PythonPackageContent model with a database index to replace
runtime regex normalization, reducing database load for package name lookups.
#1159 - Added a new
allow_package_substitutionboolean field to PythonRepository (default: True).
When set to False, any new repository version that would implicitly replace existing content
with content that has the same filename but a different sha256 checksum is rejected. This
applies to all repository version creation paths including uploads, modify, and sync. Content
with a matching checksum is allowed through idempotently.
#1162 - Added new setting PYPI_PATH_PREFIX to allow for customizing the path prefix for the PyPI API.