Changelog

2.5.0 (2021-04-08)

Features

  • Updated the catalog endpoint to show only repositories that users have permissions to pull from. #8068
  • Config blob is downloaded always, regardless of the remote’s settings. #8319

Bugfixes

  • Wrapped the repository version creation during blob upload commit in a task that will be waited on by issuing 429. #8151

Improved Documentation

  • Released container RBAC from tech-preview. #8527

2.4.0 (2021-03-18)

Features

  • Added pagination to the _catalog and the tags/list endpoint in the registry API. #7974
  • Added a fall back to use BasicAuth if TOKEN_AUTH_DISABLED is set. #8074
  • Added a new API endpoint that allows users to remove an image by a digest from a push repository. #8105
  • Added a namespace_is_username helper to decide whether the namespace matches the username of the requests user. Changed the namespace access_policy to allow users without permissions to create the namespace that matches their username. #8197

Bugfixes

  • Fixed the scope field returned by the registry when a user was accessing the catalong endpoint without a token. In addition to that, the field access returned by the token server for the root endpoint was fixed as well. #8045
  • Added missing error code that should be returned in the WWW-Authenticate header. #8046
  • Fixed a bug that caused the registry to fail during the schema conversion when there was not provided the field created_by. #8299
  • Prevent the registry pagination classes to fail if a negative page size is requested. #8318

2.3.1 (2021-02-15)

Bugfixes

  • Use get_user_model() to prevent pulp_container from crashing when running alongside other pulp plugins that override the default user authentication models. #8260

2.3.0 (2021-02-08)

Features

  • Added access policy and permission management to container repositories. #7706
  • Added access policy and permission management to the container remotes. #7707
  • Added access policy for ContainerDistributionViewSet and the Registry API. #7937
  • Added access policy and permission management to the container namespaces. #7967
  • Added RBAC to the push repository endpoint. #7968
  • Add RBAC to the repository version endpoints. #8017
  • Made the push and pull permission granting use the ContainerDistribution access policy. #8075
  • Added Owner, Collaborator, and Consumer groups and permissions for Namespaces and Repositories. #8101
  • Added a private flag to mark distributions global read accessability. #8102
  • Added support for tagging and untagging manifests for push repositories. #8104
  • Added RBAC for container content. #8142
  • Made the token expiration time configurable via the setting ‘TOKEN_EXPIRATION_TIME’. #8147
  • Decoupled permissions for registry live api and pulp api. #8153
  • Add description field to the ContainerDistribution. #8168

Bugfixes

  • Fixed a bug that caused the registry to advertise an invalid digest of a converted manifest. #7923
  • Fixed the way how the plugin verifies authenticated users in the token authentication. #8057
  • Adjusted the queryset filtering of ContainerDistribution to include private and Namespace permissions. #8206
  • Fixed bug experienced when pulling using docker 20.10 client. #8208

Deprecations and Removals

  • POST and DELETE requests are no longer available for /pulp/api/v3/repositories/container/container-push/. Push repositories are still automatically created via docker/podman push and deleted through container distributions. #8014

Misc


2.2.1 (2021-03-18)

Bugfixes


2.2.0 (2020-12-09)

Features

  • Added namespaces to group repositories and distributions. #7089
  • Refactored the registry’s push API to not store uploaded chunks in /var/lib/pulp, but rather in the shared storage. #7218

Bugfixes

  • Fixed the value of registry_path in a container distribution. #7385
  • Added validation for tags’ names. #7506
  • Fixed Renderer to handle properly Manifest and Blob responses. #7620
  • Updated models fields to not use settings directly. #7728
  • Fixed a bug where Artifacts were missing sha224 checksum after podman push. #7774

Improved Documentation

  • Updated scripts to correctly show the workflows. #7547

Misc


2.1.1 (2021-03-08)

Bugfixes


2.1.0 (2020-09-23)

Bugfixes

  • Fixed the unnecessary double redirect issued for the S3 storage #6826

Improved Documentation

  • Documented how include/exclude_tags options work with mirror=True/False. #7380

2.0.1 (2020-09-08)

Bugfixes

  • Fixed bug where users would get 403 response when pulling from the registry running behind an HTTPS reverse proxy. #7462

2.0.0 (2020-08-18)

Features

  • Added ‘exclude_tags’ to support e.g. skipping source containers in sync. #6922
  • Push repositories will be deleted together with their attached distribution. #7172

Bugfixes

  • Updated the sync machinery to not store an image manifest as a tag’s artifact #6816
  • Added a validation, that a push repository cannot be distributed by specifying a version. #7012
  • Forbid the REST API methods PATCH and PUT to prevent changes to repositories created via docker/podman push requests #7013
  • Fixed the rendering of errors in the container registry api. #7054
  • Repaired broken registry with TOKEN_AUTH_DISABLED=True #7304

Improved Documentation

  • Updated docs for 2.0 GA. #7317

Deprecations and Removals

  • Renamed ‘whitelist_tags’ to ‘include_tags’. #7070

2.0.0b3 (2020-07-16)

Features

  • 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

Bugfixes

  • 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

Misc


2.0.0b2 (2020-06-08)

Bugfixes

  • Fixed the client_max_body_size value in the nginx config. #6916

2.0.0b1 (2020-06-03)

Features

  • Added REST APIs for handling docker/podman push. #5027

Bugfixes

  • 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

1.4.2 (2020-07-13)

Bugfixes

  • Improved the performance of the synchronization #6940

1.4.1 (2020-06-04)

Bugfixes

  • Including requirements.txt on MANIFEST.in #6890

1.4.0 (2020-05-28)

Features

  • Enable S3 as alternative storage. #4456

Bugfixes

  • Fixed webserver snippets config #6628

Improved Documentation

  • Added a new section about using pull secrets #6315

1.3.0 (2020-04-23)

Features

  • Added support for filtering tags using wildcards #6338

Misc


1.2.0 (2020-03-05)

Features

  • Enable users to sync content in mirror mode #5771
  • Provide apache and nginx config snippets to be used by the installer. #6292

Bugfixes

  • Building an image from a Containerfile no longer requires root access. #5895

Misc


1.1.0 (2020-01-22)

Features

  • Let users fetch the list of all distributed repositories via the _catalog endpoint #5772
  • Adds ability to build OCI images from Containerfiles. #5785

Bugfixes

  • The schema conversion cannot be applied for manifests with foreign layers #5646
  • Adds operation_summaries for ContainerRepository operations #5956

Misc


1.0.0 (2019-12-12)

Features

  • 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

Bugfixes

  • Allow users to provide fully qualified domain name of a token server with an associated port number #5779

Improved Documentation

  • Add note about access permissions for private and public keys #5778

1.0.0rc1 (2019-11-18)

Features

  • 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

Bugfixes

  • Fix using specified proxy for downloads. #5637

Improved Documentation

  • Change the prefix of Pulp services from pulp-* to pulpcore-* #4554

Deprecations and Removals

  • 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


4.0.0b7 (2019-10-02)

Bugfixes

  • Fix a bug that allowed arbitrary url prefixes for custom endpoints. #5486
  • Add Docker-Distribution-API-Version header among response headers. #5527

Misc


4.0.0b6 (2019-09-05)

Features

  • 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

Bugfixes

  • 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

4.0.0b5 (2019-07-04)

Bugfixes

  • 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

Improved Documentation

  • 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

Misc


4.0.0b4

  • Enable sync from registries that use basic auth or have private repos
  • Enable on_demand or streamed sync
  • Enable whitelist tags specification when syncing
  • Compatibility with pulpcore-plugin-0.1.0rc2

Comprehensive list of changes and bugfixes for beta 4.

4.0.0b3

  • Enable sync from gcr and quay registries
  • Enable support to handle pagination for tags/list endpoint during sync
  • Enable support to manage a docker image that has manifest schema v2s1
  • Enable docker distribution to serve directly latest repository version

Comprehensive list of changes and bugfixes for beta 3.

4.0.0b2

  • Compatibility with pulpcore-plugin-0.1.0rc1
  • Performance improvements and bug fixes
  • Add support for syncing repo with foreign layers
  • Change sync pipeline to use Futures to handle nested content
  • Make Docker distributions asyncronous
  • Add support to create publication directly

4.0.0b1

  • Add support for basic sync of a docker repo form a V2Registry
  • Add support for docker/podman pull from a docker distbution served by Pulp