- Redirected get on Manifest get to the content app to enable schema conversion. Repaired schema conversion to work with django-storage framework. #6824
- Added ContainerPushRepository type to back writeable container registries. #6825
- Added ContentRedirectContentGuard to redirect with preauthenticated urls to the content app. #6894
- Restricted push access to admin user. #6976
- Refactored token_authentication that now happens in pulpcore-api app #6894
- Fixed a crash when trying to access content with an unparseable token. #7124
- Fixed a runtime error which was triggered when a registry client sends an accept header with an inappropriate media type for a manifest and the conversion failed. #7125
- Fixed the client_max_body_size value in the nginx config. #6916
- Added REST APIs for handling docker/podman push. #5027
- Fixed 500 error when pulling by tag. #6776
- Ensure that all relations between content models are properly created #6827
- Auto create repos and distributions for the container push. #6878
- Fixed not being able to push tags with periods in them. #6884
- Improved the performance of the synchronization #6940
- Including requirements.txt on MANIFEST.in #6890
- Enable S3 as alternative storage. #4456
- Fixed webserver snippets config #6628
- Added a new section about using pull secrets #6315
- Added support for filtering tags using wildcards #6338
- Enable users to sync content in mirror mode #5771
- Provide apache and nginx config snippets to be used by the installer. #6292
- Building an image from a Containerfile no longer requires root access. #5895
- Let users fetch the list of all distributed repositories via the _catalog endpoint #5772
- Adds ability to build OCI images from Containerfiles. #5785
- The schema conversion cannot be applied for manifests with foreign layers #5646
- Adds operation_summaries for ContainerRepository operations #5956
- As a user, I can remove all repository container content with ["*"] #5756
- Enable users to disable the token authentication from the settings #5796
- As a user I can manage images in OCI format. #5816
- Allow users to provide fully qualified domain name of a token server with an associated port number #5779
- Add note about access permissions for private and public keys #5778
- No duplicated content can be present in a repository version. #3541
- Convert manifests of the format schema 2 to schema 1 #4244
- Add support for pulling content using token authentication #4938
- Store whitelisted tags in a list instead of CSV string #5515
- Make repositories "typed". Repositories now live at a detail endpoint. Sync is performed by POSTing to {repo_href}/sync/ remote={remote_href}. #5625
- Added v2s2 to v2s1 converter. #5635
- Fix using specified proxy for downloads. #5637
- Change the prefix of Pulp services from pulp-* to pulpcore-* #4554
Change _type to pulp_type #5454
Change _id, _created, _last_updated, _href to pulp_id, pulp_created, pulp_last_updated, pulp_href #5457
Remove "_" from _versions_href, _latest_version_href #5548
Removing base field: _type . #5550
Sync is no longer available at the {remote_href}/sync/ repository={repo_href} endpoint. Instead, use POST {repo_href}/sync/ remote={remote_href}.
Creating / listing / editing / deleting Container repositories is now performed on /pulp/api/v3/repositories/container/container/ instead of /pulp/api/v3/repositories/. Only Container content can be present in a Container repository, and only a Container repository can hold Container content. #5625
- Fix a bug that allowed arbitrary url prefixes for custom endpoints. #5486
- Add Docker-Distribution-API-Version header among response headers. #5527
- Add endpoint to recursively copy manifests from a source repository to a destination repository. #3403
- Add endpoint to recursively add docker content to a repository. #3405
- As a user I can sync from a docker repo published by Pulp2/Pulp3. #4737
- Add support for tagging and untagging manifests via an additional endpoint #4934
- Add endpoint for copying all tags from a source repository, or specific tags by name. #4947
- Add ability to filter Manifests and ManifestTags by media_type and digest #5033
- Add ability to filter Manifests, ManifestTags and Blobs by multiple media_types #5157
- Add endpoint to recursively remove docker content from a repository. #5179
- Allow Accept header to send multiple values. #5211
- Populate ManifestListManifest thru table during sync. #5235
- Fixed a problem where repeated syncs created invalid orphaned tags. #5252
- Add 'Docker-Content-Digest' header to the response headers. #4646
- Allow docker remote whitelist_tags to be unset to null. #5017
- Remove schema1 manifest signature when calculating its digest. #5037
- Switch to using towncrier for better release notes. #4875
- Add an example to the whitelist_tag help text #4994
- Add list of features to the docker landing page. #5030