pulpcore 3.111.2__tar.gz → 3.112.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pulpcore-3.111.2 → pulpcore-3.112.1}/CHANGES.md +155 -7
- {pulpcore-3.111.2 → pulpcore-3.112.1}/PKG-INFO +2 -2
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/app/__init__.py +1 -1
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/app/__init__.py +1 -1
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/app/viewsets.py +5 -1
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/tests/functional/api/test_crud_content_unit.py +35 -1
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/apps.py +1 -1
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/serializers/base.py +13 -1
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/views/status.py +2 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/middleware.py +4 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/stages/artifact_stages.py +5 -7
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/viewsets/__init__.py +2 -1
- pulpcore-3.112.1/pulpcore/tests/unit/test_middleware.py +35 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore.egg-info/PKG-INFO +2 -2
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore.egg-info/SOURCES.txt +1 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore.egg-info/requires.txt +1 -1
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pyproject.toml +3 -3
- {pulpcore-3.111.2 → pulpcore-3.112.1}/CODE_OF_CONDUCT.md +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/COMMITMENT +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/CONTRIBUTING.md +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/COPYRIGHT +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/LICENSE +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/MANIFEST.in +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/README.md +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/ci_requirements.txt +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/functest_requirements.txt +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/manage.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/app/migrations/0001_initial.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/app/migrations/0002_alter_rhsmcertguard_contentguard_ptr_and_more.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/app/migrations/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/app/models.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/app/serializers.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/app/viewsets.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/pytest_plugin.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/rhsm/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/rhsm/rhsm_check_path.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/api/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/api/test_rhsm_certguard.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/api/test_x509_certguard.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/artifacts/rhsm/katello-default-ca.crt +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/artifacts/rhsm/katello-default-ca.key +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/artifacts/rhsm/trusted_but_expired.pem +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/artifacts/rhsm/uber.cert +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/artifacts/rhsm/untrusted_cert-key.pem +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/artifacts/rhsm/untrusted_cert.pem +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/artifacts/rhsm/v1/1514454871848760713-key.pem +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/artifacts/rhsm/v1/1514454871848760713.pem +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/artifacts/rhsm/v1/159442575569388840-key.pem +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/artifacts/rhsm/v1/159442575569388840.pem +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/artifacts/rhsm/v3/4260035510644027985-key.pem +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/artifacts/rhsm/v3/4260035510644027985.pem +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/artifacts/rhsm/v3/5527980418107729172-key.pem +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/artifacts/rhsm/v3/5527980418107729172.pem +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/artifacts/thirdparty_ca/certificates/ca.pem +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/artifacts/thirdparty_ca/genca.sh +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/artifacts/thirdparty_ca/keys/ca.pem +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/artifacts/x509/certificates/ca.pem +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/artifacts/x509/certificates/client.pem +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/artifacts/x509/certificates/server.pem +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/artifacts/x509/certificates/un_urlencoded_cert.txt +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/artifacts/x509/certificates/untrusted_client.pem +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/artifacts/x509/genall.sh +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/artifacts/x509/genca.sh +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/artifacts/x509/genclient.sh +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/artifacts/x509/gensrv.sh +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/artifacts/x509/keys/ca.pem +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/artifacts/x509/keys/client.pem +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/artifacts/x509/keys/server.pem +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/conftest.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/constants.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/unit/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/unit/certdata.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/unit/test_rhsm_check_path.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/app/migrations/0001_initial_squashed_0016_add_domain.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/app/migrations/0017_alter_filealternatecontentsource_alternatecontentsource_ptr_and_more.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/app/migrations/0018_alter_filecontent_options.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/app/migrations/0019_add_filegitremote.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/app/migrations/0020_filerepository_last_sync_details.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/app/migrations/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/app/modelresource.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/app/models.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/app/replica.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/app/serializers.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/app/settings.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/app/tasks/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/app/tasks/publishing.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/app/tasks/synchronizing.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/manifest.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/pytest_plugin.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/tests/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/tests/functional/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/tests/functional/api/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/tests/functional/api/test_acs.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/tests/functional/api/test_auto_publish.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/tests/functional/api/test_bad_sync.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/tests/functional/api/test_content_labels.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/tests/functional/api/test_crud_remotes.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/tests/functional/api/test_distributed_publication.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/tests/functional/api/test_domains.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/tests/functional/api/test_download_policies.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/tests/functional/api/test_filesystem_export.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/tests/functional/api/test_generic_list.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/tests/functional/api/test_git_sync.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/tests/functional/api/test_labels.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/tests/functional/api/test_mime_types.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/tests/functional/api/test_overwrite_content.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/tests/functional/api/test_publish.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/tests/functional/api/test_pulp_export.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/tests/functional/api/test_rbac.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/tests/functional/api/test_remote_settings.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/tests/functional/api/test_sync.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/tests/unit/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/tests/unit/test_git_sync.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/tests/unit/test_safe_paths.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/tests/unit/test_serializers.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/tests/unit/test_sync_optimization.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/access_policy.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/authentication.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/checks.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/contexts.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/entrypoint.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/files.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/find_url.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/global_access_conditions.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/importexport.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/loggers.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/manage.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/management/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/management/commands/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/management/commands/add-signing-service.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/management/commands/analyze-publication.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/management/commands/clean-up-progress-reports.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/management/commands/datarepair-2327.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/management/commands/datarepair.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/management/commands/dump-permissions.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/management/commands/dump-publications-to-fs.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/management/commands/handle-artifact-checksums.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/management/commands/list-signing-services.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/management/commands/migrationstat.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/management/commands/openapi.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/management/commands/optimizemigration.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/management/commands/rebasemigrations.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/management/commands/remove-plugin.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/management/commands/remove-signing-service.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/management/commands/repository-size.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/management/commands/reset-admin-password.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/management/commands/rotate-db-key.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/management/commands/shell.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0001_squashed_0090_char_to_text_field.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0091_systemid.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0092_alter_upload_options.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0093_add_info_field_repositoryversion.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0094_protect_repository_content.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0095_artifactdistribution.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0096_alter_task_logging_cid.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0097_remove_telemetry_task_schedule.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0098_pulp_labels.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0099_versions_field.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0100_upstreampulp.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0101_add_domain.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0102_add_domain_relations.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0103_alter_export_task.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0104_delete_label.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0105_abstract_uuid_gen.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0106_alter_artifactdistribution_distribution_ptr_and_more.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0107_distribution_hidden.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0108_task_versions.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0109_contentartifact_relative_path_index.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0110_apiappstatus.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0111_task_enc_args_task_enc_kwargs.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0112_alter_upstreampulp_options.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0113_headercontentguard.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0114_remove_task_args_remove_task_kwargs.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0115_compositecontentguard.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0116_alter_remoteartifact_md5_alter_remoteartifact_sha1_and_more.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0117_task_unblocked_at.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0118_task_core_task_unblock_2276a4_idx_and_more.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0119_grouprole_core_groupr_object__250e22_idx_and_more.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0120_get_url_removal.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0121_add_profile_artifacts_table.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0122_record_last_replication_timestamp.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0123_upstreampulp_q_select.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0124_task_deferred_task_immediate.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0125_openpgpdistribution_openpgpkeyring_openpgppublickey_and_more.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0126_remoteartifact_failed_at.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0127_remove_upstreampulp_pulp_label_select.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0128_domain_pulp_labels.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0129_content_pulp_labels.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0130_upstreampulp_policy.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0131_distribution_checkpoint_publication_checkpoint.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0132_alter_content_options.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0132_task_profile_options.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0133_repositoryversion_content_ids.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0134_task_insert_trigger.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0135_task_pulp_task_resources_index.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0136_delete_basedistribution.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0137_appstatus.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0138_vulnerabilityreport.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0139_task_app_lock.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0140_require_appstatus_zdu.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0141_alter_appstatus_name.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0142_task_result.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0143_require_app_lock_zdu.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0144_delete_old_appstatus.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0145_domainize_import_export.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0146_repository_retain_checkpoints.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0147_content_pulp_labels_gin.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0148_artifact_artifact_domain_size_index.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0149_distributedpublication.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0150_taskschedule_task_kwargs.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/0151_upstreampulp_connect_timeout_and_more.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/migrations/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/mime_types.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/modelresource.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/models/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/models/access_policy.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/models/acs.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/models/analytics.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/models/base.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/models/content.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/models/domain.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/models/exporter.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/models/fields.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/models/generic.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/models/importer.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/models/openpgp.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/models/progress.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/models/publication.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/models/replica.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/models/repository.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/models/role.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/models/status.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/models/storage.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/models/task.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/models/upload.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/models/vulnerability_report.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/netutil.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/openpgp.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/protobuf/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/protobuf/analytics_pb2.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/pulp_hashlib.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/pulpcore_gunicorn_application.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/redis_connection.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/replica.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/response.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/role_util.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/serializers/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/serializers/access_policy.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/serializers/acs.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/serializers/content.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/serializers/domain.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/serializers/exporter.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/serializers/fields.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/serializers/importer.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/serializers/openpgp.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/serializers/orphans.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/serializers/progress.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/serializers/publication.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/serializers/purge.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/serializers/reclaim.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/serializers/repair.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/serializers/replica.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/serializers/repository.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/serializers/status.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/serializers/task.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/serializers/upload.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/serializers/user.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/serializers/vulnerability_report.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/settings.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/tasks/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/tasks/analytics.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/tasks/base.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/tasks/datarepair.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/tasks/export.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/tasks/importer.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/tasks/migrate.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/tasks/orphan.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/tasks/purge.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/tasks/reclaim_space.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/tasks/replica.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/tasks/repository.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/tasks/telemetry.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/tasks/test.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/tasks/upload.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/tasks/vulnerability_report.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/templates/rest_framework/api.html +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/templatetags/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/templatetags/pulp_urls.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/urls.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/util.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/views/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/views/datarepair.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/views/importer.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/views/orphans.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/views/repair.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/viewsets/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/viewsets/access_policy.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/viewsets/acs.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/viewsets/base.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/viewsets/content.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/viewsets/custom_filters.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/viewsets/domain.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/viewsets/exporter.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/viewsets/importer.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/viewsets/openpgp.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/viewsets/orphans.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/viewsets/publication.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/viewsets/reclaim.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/viewsets/replica.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/viewsets/repository.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/viewsets/task.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/viewsets/upload.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/viewsets/user.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/viewsets/vulnerability_report.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/app/wsgi.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/backends.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/cache/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/cache/cache.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/constants.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/content/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/content/authentication.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/content/entrypoint.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/content/handler.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/content/instrumentation.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/download/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/download/base.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/download/factory.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/download/file.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/download/http.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/exceptions/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/exceptions/base.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/exceptions/plugin.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/exceptions/validation.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/filters.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/metrics.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/migrations.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/openapi/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/openapi/hooks.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/access_policy.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/actions.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/apps.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/authentication/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/cache/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/constants.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/content.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/download/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/exceptions.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/files.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/find_url.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/importexport.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/migrations.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/modelresources.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/models/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/models/role.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/publication_utils.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/pulp_hashlib.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/replica.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/repo_version_utils.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/responses.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/serializers/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/serializers/content.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/stages/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/stages/api.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/stages/content_stages.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/stages/declarative_version.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/stages/models.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/storage.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/sync.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/tasking.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/util.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/plugin/viewsets/content.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/pytest_plugin.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/responses.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tasking/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tasking/_util.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tasking/entrypoint.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tasking/kafka.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tasking/redis_locks.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tasking/redis_tasks.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tasking/redis_worker.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tasking/storage.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tasking/tasks.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tasking/worker.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/test_access_policy.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/test_api_docs.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/test_api_root_rewrite.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/test_artifact_distribution.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/test_auth.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/test_correlation_id.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/test_crd_artifacts.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/test_crud_domains.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/test_filter.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/test_login.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/test_openapi_schema.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/test_openpgp.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/test_replication.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/test_repos.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/test_role.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/test_root_endpoint.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/test_scoping.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/test_signing_service.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/test_status.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/test_task_purge.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/test_tasking.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/test_upload.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/test_users_groups.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/test_workers.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/using_plugin/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/using_plugin/test_checkpoint.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/using_plugin/test_content_access.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/using_plugin/test_content_cache.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/using_plugin/test_content_delivery.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/using_plugin/test_content_directory.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/using_plugin/test_content_path.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/using_plugin/test_content_promotion.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/using_plugin/test_contentguard.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/using_plugin/test_crud_repos.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/using_plugin/test_distributions.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/using_plugin/test_filesystemexport.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/using_plugin/test_labels.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/using_plugin/test_migrate.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/using_plugin/test_orphans.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/using_plugin/test_pagination.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/using_plugin/test_prn.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/using_plugin/test_proxy.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/using_plugin/test_pulpimport.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/using_plugin/test_reclaim_disk_space.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/using_plugin/test_repair.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/using_plugin/test_repo_versions.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/using_plugin/test_tasks.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/api/using_plugin/test_unlinking_repo.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/assets/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/content_with_coverage.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/functional/utils.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/performance/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/performance/test_performance.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/conftest.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/content/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/content/test_handler.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/content/test_heartbeat.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/download/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/download/test_downloader_base.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/download/test_downloader_factory.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/metrics/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/metrics/conftest.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/metrics/test_aiohttp_instrumentation.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/metrics/test_django_instrumentation.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/migration/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/models/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/models/test_base.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/models/test_content.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/models/test_publication_retention.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/models/test_remote.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/models/test_repository.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/models/test_task.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/roles/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/roles/test_roles.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/serializers/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/serializers/test_base.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/serializers/test_domain.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/serializers/test_fields.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/serializers/test_orphans_cleanup.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/serializers/test_pulpexport.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/serializers/test_repository.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/serializers/test_user.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/stages/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/stages/test_artifactdownloader.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/stages/test_resource_budget.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/stages/test_stages.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/test_cache.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/test_chunked_file.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/test_content_guard.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/test_files.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/test_import_checks.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/test_list_signing_services_command.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/test_pulp_urls.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/test_settings.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/test_util.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/test_viewsets.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/test_vulnerability_report.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/viewsets/__init__.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore/tests/unit/viewsets/test_viewset_base.py +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore.egg-info/dependency_links.txt +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore.egg-info/entry_points.txt +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/pulpcore.egg-info/top_level.txt +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/setup.cfg +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/test_requirements.txt +0 -0
- {pulpcore-3.111.2 → pulpcore-3.112.1}/unittest_requirements.txt +0 -0
|
@@ -8,23 +8,59 @@
|
|
|
8
8
|
|
|
9
9
|
[//]: # (towncrier release notes start)
|
|
10
10
|
|
|
11
|
-
## 3.
|
|
11
|
+
## 3.112.1 (2026-06-03) {: #3.112.1 }
|
|
12
12
|
|
|
13
|
-
### REST API {: #3.
|
|
13
|
+
### REST API {: #3.112.1-rest-api }
|
|
14
14
|
|
|
15
|
-
#### Bugfixes {: #3.
|
|
15
|
+
#### Bugfixes {: #3.112.1-rest-api-bugfix }
|
|
16
16
|
|
|
17
|
-
-
|
|
17
|
+
- Optimized `QueryExistingArtifacts` by reducing database queries.
|
|
18
|
+
[#7558](https://github.com/pulp/pulpcore/issues/7558)
|
|
19
|
+
- Allow nested downloader_config to be passed json stringified.
|
|
20
|
+
[#7677](https://github.com/pulp/pulpcore/issues/7677)
|
|
21
|
+
|
|
22
|
+
### Plugin API {: #3.112.1-plugin-api }
|
|
23
|
+
|
|
24
|
+
#### Features {: #3.112.1-plugin-api-feature }
|
|
25
|
+
|
|
26
|
+
- Exposed ``StableOrderingFilter`` in the plugin API so pulp plugins can import it from ``pulpcore.plugin``.
|
|
18
27
|
|
|
19
|
-
###
|
|
28
|
+
### Pulp File {: #3.112.1-pulp-file }
|
|
20
29
|
|
|
21
30
|
No significant changes.
|
|
22
31
|
|
|
23
|
-
### Pulp
|
|
32
|
+
### Pulp Cert Guard {: #3.112.1-pulp-cert-guard }
|
|
24
33
|
|
|
25
34
|
No significant changes.
|
|
26
35
|
|
|
27
|
-
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## 3.112.0 (2026-05-19) {: #3.112.0 }
|
|
39
|
+
|
|
40
|
+
### REST API {: #3.112.0-rest-api }
|
|
41
|
+
|
|
42
|
+
#### Bugfixes {: #3.112.0-rest-api-bugfix }
|
|
43
|
+
|
|
44
|
+
- Decoupled the `/livez` liveness probe from the database so it returns 200 even when the database is unavailable.
|
|
45
|
+
[#7721](https://github.com/pulp/pulpcore/issues/7721)
|
|
46
|
+
- Fixed a bug where immediate tasks could be executed even if they were blocked by other tasks using the same resources.
|
|
47
|
+
|
|
48
|
+
### Plugin API {: #3.112.0-plugin-api }
|
|
49
|
+
|
|
50
|
+
#### Bugfixes {: #3.112.0-plugin-api-bugfix }
|
|
51
|
+
|
|
52
|
+
- Removed the `default=True` from the `overwrite` field on `NoArtifactContentSerializer` so it no
|
|
53
|
+
longer leaks into `validated_data`. This fixes plugins that splat content serializer data
|
|
54
|
+
(`**serializer.validated_data`).
|
|
55
|
+
|
|
56
|
+
### Pulp File {: #3.112.0-pulp-file }
|
|
57
|
+
|
|
58
|
+
#### Features {: #3.112.0-pulp-file-feature }
|
|
59
|
+
|
|
60
|
+
- Added `NAME_FILTER_OPTIONS` to the `relative_path` field in `FileContentFilter`, enabling contains, startswith, regex, and other lookup expressions.
|
|
61
|
+
[#7719](https://github.com/pulp/pulpcore/issues/7719)
|
|
62
|
+
|
|
63
|
+
### Pulp Cert Guard {: #3.112.0-pulp-cert-guard }
|
|
28
64
|
|
|
29
65
|
No significant changes.
|
|
30
66
|
|
|
@@ -102,6 +138,30 @@ No significant changes.
|
|
|
102
138
|
|
|
103
139
|
---
|
|
104
140
|
|
|
141
|
+
## 3.110.3 (2026-05-13) {: #3.110.3 }
|
|
142
|
+
|
|
143
|
+
### REST API {: #3.110.3-rest-api }
|
|
144
|
+
|
|
145
|
+
#### Bugfixes {: #3.110.3-rest-api-bugfix }
|
|
146
|
+
|
|
147
|
+
- Added a distributions lock to `finalize_replication` to prevent concurrent finalize tasks from different upstream servers from racing on the same distribution objects.
|
|
148
|
+
[#7614](https://github.com/pulp/pulpcore/issues/7614)
|
|
149
|
+
- Fixed cache forgetting the Content-Type header of ApiResponses
|
|
150
|
+
|
|
151
|
+
### Plugin API {: #3.110.3-plugin-api }
|
|
152
|
+
|
|
153
|
+
No significant changes.
|
|
154
|
+
|
|
155
|
+
### Pulp File {: #3.110.3-pulp-file }
|
|
156
|
+
|
|
157
|
+
No significant changes.
|
|
158
|
+
|
|
159
|
+
### Pulp Cert Guard {: #3.110.3-pulp-cert-guard }
|
|
160
|
+
|
|
161
|
+
No significant changes.
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
105
165
|
## 3.110.2 (2026-05-07) {: #3.110.2 }
|
|
106
166
|
|
|
107
167
|
### REST API {: #3.110.2-rest-api }
|
|
@@ -500,6 +560,28 @@ No significant changes.
|
|
|
500
560
|
|
|
501
561
|
---
|
|
502
562
|
|
|
563
|
+
## 3.105.7 (2026-05-13) {: #3.105.7 }
|
|
564
|
+
|
|
565
|
+
### REST API {: #3.105.7-rest-api }
|
|
566
|
+
|
|
567
|
+
#### Bugfixes {: #3.105.7-rest-api-bugfix }
|
|
568
|
+
|
|
569
|
+
- Fixed cache forgetting the Content-Type header of ApiResponses
|
|
570
|
+
|
|
571
|
+
### Plugin API {: #3.105.7-plugin-api }
|
|
572
|
+
|
|
573
|
+
No significant changes.
|
|
574
|
+
|
|
575
|
+
### Pulp File {: #3.105.7-pulp-file }
|
|
576
|
+
|
|
577
|
+
No significant changes.
|
|
578
|
+
|
|
579
|
+
### Pulp Cert Guard {: #3.105.7-pulp-cert-guard }
|
|
580
|
+
|
|
581
|
+
No significant changes.
|
|
582
|
+
|
|
583
|
+
---
|
|
584
|
+
|
|
503
585
|
## 3.105.6 (2026-05-05) {: #3.105.6 }
|
|
504
586
|
|
|
505
587
|
### REST API {: #3.105.6-rest-api }
|
|
@@ -1635,6 +1717,28 @@ No significant changes.
|
|
|
1635
1717
|
|
|
1636
1718
|
---
|
|
1637
1719
|
|
|
1720
|
+
## 3.85.21 (2026-05-13) {: #3.85.21 }
|
|
1721
|
+
|
|
1722
|
+
### REST API {: #3.85.21-rest-api }
|
|
1723
|
+
|
|
1724
|
+
#### Bugfixes {: #3.85.21-rest-api-bugfix }
|
|
1725
|
+
|
|
1726
|
+
- Fixed cache forgetting the Content-Type header of ApiResponses
|
|
1727
|
+
|
|
1728
|
+
### Plugin API {: #3.85.21-plugin-api }
|
|
1729
|
+
|
|
1730
|
+
No significant changes.
|
|
1731
|
+
|
|
1732
|
+
### Pulp File {: #3.85.21-pulp-file }
|
|
1733
|
+
|
|
1734
|
+
No significant changes.
|
|
1735
|
+
|
|
1736
|
+
### Pulp Cert Guard {: #3.85.21-pulp-cert-guard }
|
|
1737
|
+
|
|
1738
|
+
No significant changes.
|
|
1739
|
+
|
|
1740
|
+
---
|
|
1741
|
+
|
|
1638
1742
|
## 3.85.20 (2026-05-07) {: #3.85.20 }
|
|
1639
1743
|
|
|
1640
1744
|
### REST API {: #3.85.20-rest-api }
|
|
@@ -2873,6 +2977,28 @@ No significant changes.
|
|
|
2873
2977
|
|
|
2874
2978
|
---
|
|
2875
2979
|
|
|
2980
|
+
## 3.73.35 (2026-05-13) {: #3.73.35 }
|
|
2981
|
+
|
|
2982
|
+
### REST API {: #3.73.35-rest-api }
|
|
2983
|
+
|
|
2984
|
+
#### Bugfixes {: #3.73.35-rest-api-bugfix }
|
|
2985
|
+
|
|
2986
|
+
- Fixed cache forgetting the Content-Type header of ApiResponses
|
|
2987
|
+
|
|
2988
|
+
### Plugin API {: #3.73.35-plugin-api }
|
|
2989
|
+
|
|
2990
|
+
No significant changes.
|
|
2991
|
+
|
|
2992
|
+
### Pulp File {: #3.73.35-pulp-file }
|
|
2993
|
+
|
|
2994
|
+
No significant changes.
|
|
2995
|
+
|
|
2996
|
+
### Pulp Cert Guard {: #3.73.35-pulp-cert-guard }
|
|
2997
|
+
|
|
2998
|
+
No significant changes.
|
|
2999
|
+
|
|
3000
|
+
---
|
|
3001
|
+
|
|
2876
3002
|
## 3.73.34 (2026-05-07) {: #3.73.34 }
|
|
2877
3003
|
|
|
2878
3004
|
### REST API {: #3.73.34-rest-api }
|
|
@@ -4361,6 +4487,28 @@ No significant changes.
|
|
|
4361
4487
|
|
|
4362
4488
|
---
|
|
4363
4489
|
|
|
4490
|
+
## 3.63.39 (2026-05-13) {: #3.63.39 }
|
|
4491
|
+
|
|
4492
|
+
### REST API {: #3.63.39-rest-api }
|
|
4493
|
+
|
|
4494
|
+
#### Bugfixes {: #3.63.39-rest-api-bugfix }
|
|
4495
|
+
|
|
4496
|
+
- Fixed cache forgetting the Content-Type header of ApiResponses
|
|
4497
|
+
|
|
4498
|
+
### Plugin API {: #3.63.39-plugin-api }
|
|
4499
|
+
|
|
4500
|
+
No significant changes.
|
|
4501
|
+
|
|
4502
|
+
### Pulp File {: #3.63.39-pulp-file }
|
|
4503
|
+
|
|
4504
|
+
No significant changes.
|
|
4505
|
+
|
|
4506
|
+
### Pulp Cert Guard {: #3.63.39-pulp-cert-guard }
|
|
4507
|
+
|
|
4508
|
+
No significant changes.
|
|
4509
|
+
|
|
4510
|
+
---
|
|
4511
|
+
|
|
4364
4512
|
## 3.63.38 (2026-05-07) {: #3.63.38 }
|
|
4365
4513
|
|
|
4366
4514
|
### REST API {: #3.63.38-rest-api }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pulpcore
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.112.1
|
|
4
4
|
Summary: Pulp Django Application and Related Modules
|
|
5
5
|
Author-email: Pulp Team <pulp-list@redhat.com>
|
|
6
6
|
License-Expression: GPL-2.0-or-later
|
|
@@ -24,7 +24,7 @@ Requires-Dist: aiofiles<=25.1.0,>=22.1
|
|
|
24
24
|
Requires-Dist: aiohttp<3.14,>=3.10.10
|
|
25
25
|
Requires-Dist: asyncio-throttle<=1.0.2,>=1.0
|
|
26
26
|
Requires-Dist: backoff<2.3,>=2.1.2
|
|
27
|
-
Requires-Dist: click<8.
|
|
27
|
+
Requires-Dist: click<8.5,>=8.1.0
|
|
28
28
|
Requires-Dist: cryptography<49.0,>=44.0.3
|
|
29
29
|
Requires-Dist: Django!=5.0,!=5.1,<5.3,>=4.2.24
|
|
30
30
|
Requires-Dist: django-filter<=25.2,>=23.1
|
|
@@ -9,6 +9,7 @@ from rest_framework.exceptions import ValidationError
|
|
|
9
9
|
from rest_framework.generics import get_object_or_404
|
|
10
10
|
from rest_framework.response import Response
|
|
11
11
|
|
|
12
|
+
from pulpcore.app.viewsets.base import NAME_FILTER_OPTIONS
|
|
12
13
|
from pulpcore.plugin.actions import ModifyRepositoryActionMixin
|
|
13
14
|
from pulpcore.plugin.models import (
|
|
14
15
|
AlternateContentSource,
|
|
@@ -66,7 +67,10 @@ class FileContentFilter(ContentFilter):
|
|
|
66
67
|
|
|
67
68
|
class Meta:
|
|
68
69
|
model = FileContent
|
|
69
|
-
fields =
|
|
70
|
+
fields = {
|
|
71
|
+
"relative_path": NAME_FILTER_OPTIONS,
|
|
72
|
+
"digest": ["exact"],
|
|
73
|
+
}
|
|
70
74
|
|
|
71
75
|
|
|
72
76
|
class FileContentViewSet(SingleArtifactContentUploadViewSet):
|
{pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_file/tests/functional/api/test_crud_content_unit.py
RENAMED
|
@@ -34,6 +34,36 @@ def test_crud_content_unit(file_bindings, random_artifact, gen_object_with_clean
|
|
|
34
34
|
assert exc.value.args[0] == "'ContentFilesApi' object has no attribute 'update'"
|
|
35
35
|
|
|
36
36
|
|
|
37
|
+
@pytest.mark.parallel
|
|
38
|
+
def test_relative_path_filter_options(file_bindings, random_artifact, gen_object_with_cleanup):
|
|
39
|
+
"""Test that relative_path supports contains, startswith, and regex filters."""
|
|
40
|
+
path = f"packages/python/{uuid.uuid4()}/my-package-1.0.tar.gz"
|
|
41
|
+
content_unit = gen_object_with_cleanup(
|
|
42
|
+
file_bindings.ContentFilesApi,
|
|
43
|
+
artifact=random_artifact.pulp_href,
|
|
44
|
+
relative_path=path,
|
|
45
|
+
)
|
|
46
|
+
|
|
47
|
+
# contains
|
|
48
|
+
response = file_bindings.ContentFilesApi.list(relative_path__contains="my-package")
|
|
49
|
+
assert response.count >= 1
|
|
50
|
+
assert any(c.pulp_href == content_unit.pulp_href for c in response.results)
|
|
51
|
+
|
|
52
|
+
# startswith
|
|
53
|
+
response = file_bindings.ContentFilesApi.list(relative_path__startswith="packages/python/")
|
|
54
|
+
assert response.count >= 1
|
|
55
|
+
assert any(c.pulp_href == content_unit.pulp_href for c in response.results)
|
|
56
|
+
|
|
57
|
+
# regex
|
|
58
|
+
response = file_bindings.ContentFilesApi.list(relative_path__regex=r".*\.tar\.gz$")
|
|
59
|
+
assert response.count >= 1
|
|
60
|
+
assert any(c.pulp_href == content_unit.pulp_href for c in response.results)
|
|
61
|
+
|
|
62
|
+
# negative case — no match
|
|
63
|
+
response = file_bindings.ContentFilesApi.list(relative_path__startswith="nonexistent-prefix/")
|
|
64
|
+
assert not any(c.pulp_href == content_unit.pulp_href for c in response.results)
|
|
65
|
+
|
|
66
|
+
|
|
37
67
|
@pytest.mark.parallel
|
|
38
68
|
def test_same_sha256_same_relative_path_no_repo(file_bindings, random_artifact, monitor_task):
|
|
39
69
|
artifact_attrs = {"artifact": random_artifact.pulp_href, "relative_path": str(uuid.uuid4())}
|
|
@@ -266,7 +296,11 @@ def test_create_file_from_url(
|
|
|
266
296
|
):
|
|
267
297
|
# Test create w/ url
|
|
268
298
|
remote = file_remote_factory(manifest_path=basic_manifest_path)
|
|
269
|
-
body = {
|
|
299
|
+
body = {
|
|
300
|
+
"file_url": remote.url,
|
|
301
|
+
"relative_path": "PULP_MANIFEST",
|
|
302
|
+
"downloader_config": {"total_timeout": 5},
|
|
303
|
+
}
|
|
270
304
|
response = file_bindings.ContentFilesApi.create(**body)
|
|
271
305
|
task = monitor_task(response.task)
|
|
272
306
|
assert len(task.created_resources) == 1
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import functools
|
|
2
|
+
import json
|
|
2
3
|
import re
|
|
3
4
|
import traceback
|
|
4
5
|
from collections import namedtuple
|
|
@@ -80,7 +81,7 @@ class HrefPrnFieldMixin:
|
|
|
80
81
|
return super().to_internal_value(data)
|
|
81
82
|
|
|
82
83
|
|
|
83
|
-
class _MatchingRegexViewName
|
|
84
|
+
class _MatchingRegexViewName:
|
|
84
85
|
"""This is a helper class to help defining object matching rules for master-detail.
|
|
85
86
|
|
|
86
87
|
If you can be specific, please specify the `view_name`, but if you cannot, this allows
|
|
@@ -778,6 +779,17 @@ class RemoteNetworkConfigSerializer(serializers.Serializer):
|
|
|
778
779
|
"Invalid {} specified, error '{}'".format(which_cert, e.args)
|
|
779
780
|
)
|
|
780
781
|
|
|
782
|
+
def to_internal_value(self, data):
|
|
783
|
+
if isinstance(data, str):
|
|
784
|
+
try:
|
|
785
|
+
# Nested Serializers in from-urlencoded bodies are stringified as json by default.
|
|
786
|
+
data = json.loads(data)
|
|
787
|
+
except json.DecodeError:
|
|
788
|
+
raise serializers.ValidationError(
|
|
789
|
+
"Invalid json data for (nested) downloader config."
|
|
790
|
+
)
|
|
791
|
+
return super().to_internal_value(data)
|
|
792
|
+
|
|
781
793
|
def validate(self, data):
|
|
782
794
|
"""
|
|
783
795
|
Check that proxy credentials are only provided completely and if a proxy is configured.
|
|
@@ -145,6 +145,8 @@ class LivezView(APIView):
|
|
|
145
145
|
# allow anyone to access the liveness api
|
|
146
146
|
authentication_classes = []
|
|
147
147
|
permission_classes = []
|
|
148
|
+
# Skip domain DB lookup so this probe stays independent of the database
|
|
149
|
+
skip_domain_middleware = True
|
|
148
150
|
|
|
149
151
|
@extend_schema(
|
|
150
152
|
summary="Inspect liveness of Pulp's REST API.",
|
|
@@ -38,6 +38,10 @@ class DomainMiddleware:
|
|
|
38
38
|
|
|
39
39
|
def process_view(self, request, view_func, view_args, view_kwargs):
|
|
40
40
|
"""Remove the domain name if present, called right before view_func is called."""
|
|
41
|
+
view_class = getattr(view_func, "view_class", None) or getattr(view_func, "cls", None)
|
|
42
|
+
if view_class and getattr(view_class, "skip_domain_middleware", False):
|
|
43
|
+
view_kwargs.pop("pulp_domain", None)
|
|
44
|
+
return None
|
|
41
45
|
domain_name = view_kwargs.pop("pulp_domain", "default")
|
|
42
46
|
try:
|
|
43
47
|
domain = Domain.objects.get(name=domain_name)
|
|
@@ -200,17 +200,15 @@ class QueryExistingArtifacts(Stage):
|
|
|
200
200
|
"pulp_domain": self.domain,
|
|
201
201
|
}
|
|
202
202
|
existing_artifacts_qs = Artifact.objects.filter(**query_params)
|
|
203
|
-
existing_artifacts = sync_to_async_iterable(existing_artifacts_qs)
|
|
204
203
|
await sync_to_async(existing_artifacts_qs.touch)()
|
|
204
|
+
existing_by_digest = {}
|
|
205
|
+
async for result in sync_to_async_iterable(existing_artifacts_qs):
|
|
206
|
+
existing_by_digest[getattr(result, digest_type)] = result
|
|
205
207
|
for d_content in batch:
|
|
206
208
|
for d_artifact in d_content.d_artifacts:
|
|
207
209
|
artifact_digest = getattr(d_artifact.artifact, digest_type)
|
|
208
|
-
if artifact_digest:
|
|
209
|
-
|
|
210
|
-
result_digest = getattr(result, digest_type)
|
|
211
|
-
if result_digest == artifact_digest:
|
|
212
|
-
d_artifact.artifact = result
|
|
213
|
-
break
|
|
210
|
+
if artifact_digest and artifact_digest in existing_by_digest:
|
|
211
|
+
d_artifact.artifact = existing_by_digest[artifact_digest]
|
|
214
212
|
for d_content in batch:
|
|
215
213
|
await self.put(d_content)
|
|
216
214
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# ruff: noqa: F401
|
|
2
2
|
# isort: skip_file
|
|
3
|
-
from pulpcore.filters import BaseFilterSet
|
|
3
|
+
from pulpcore.filters import BaseFilterSet, StableOrderingFilter
|
|
4
4
|
|
|
5
5
|
# Allow plugin viewsets to return 202s
|
|
6
6
|
from pulpcore.app.response import OperationPostponedResponse, TaskGroupOperationResponse
|
|
@@ -55,6 +55,7 @@ from .content import (
|
|
|
55
55
|
|
|
56
56
|
__all__ = [
|
|
57
57
|
"BaseFilterSet",
|
|
58
|
+
"StableOrderingFilter",
|
|
58
59
|
"OperationPostponedResponse",
|
|
59
60
|
"TaskGroupOperationResponse",
|
|
60
61
|
"AlternateContentSourceViewSet",
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
from unittest.mock import MagicMock, patch
|
|
2
|
+
|
|
3
|
+
from django.test import TestCase
|
|
4
|
+
|
|
5
|
+
from pulpcore.middleware import DomainMiddleware
|
|
6
|
+
from pulpcore.plugin.find_url import find_api_root
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class TestLivezNoDatabaseAccess(TestCase):
|
|
10
|
+
"""Test that GET /livez/ makes zero database queries."""
|
|
11
|
+
|
|
12
|
+
def test_livez_makes_no_database_queries(self):
|
|
13
|
+
_, api_v3_path = find_api_root(set_domain=False, rewrite_header=False)
|
|
14
|
+
with self.assertNumQueries(0):
|
|
15
|
+
response = self.client.get(f"{api_v3_path}livez/")
|
|
16
|
+
self.assertEqual(response.status_code, 200)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class TestDomainMiddlewareSkip(TestCase):
|
|
20
|
+
"""Test that DomainMiddleware skips DB lookup for views with skip_domain_middleware=True."""
|
|
21
|
+
|
|
22
|
+
def setUp(self):
|
|
23
|
+
self.middleware = DomainMiddleware(get_response=MagicMock())
|
|
24
|
+
self.request = MagicMock()
|
|
25
|
+
|
|
26
|
+
@patch("pulpcore.middleware.Domain.objects")
|
|
27
|
+
@patch("pulpcore.middleware.set_domain")
|
|
28
|
+
def test_does_db_lookup_when_flag_not_set(self, mock_set_domain, mock_domain_objects):
|
|
29
|
+
view_class = type("NormalView", (), {})
|
|
30
|
+
view_func = MagicMock(view_class=view_class)
|
|
31
|
+
view_kwargs = {"pulp_domain": "default"}
|
|
32
|
+
|
|
33
|
+
self.middleware.process_view(self.request, view_func, [], view_kwargs)
|
|
34
|
+
|
|
35
|
+
mock_domain_objects.get.assert_called_once_with(name="default")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pulpcore
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.112.1
|
|
4
4
|
Summary: Pulp Django Application and Related Modules
|
|
5
5
|
Author-email: Pulp Team <pulp-list@redhat.com>
|
|
6
6
|
License-Expression: GPL-2.0-or-later
|
|
@@ -24,7 +24,7 @@ Requires-Dist: aiofiles<=25.1.0,>=22.1
|
|
|
24
24
|
Requires-Dist: aiohttp<3.14,>=3.10.10
|
|
25
25
|
Requires-Dist: asyncio-throttle<=1.0.2,>=1.0
|
|
26
26
|
Requires-Dist: backoff<2.3,>=2.1.2
|
|
27
|
-
Requires-Dist: click<8.
|
|
27
|
+
Requires-Dist: click<8.5,>=8.1.0
|
|
28
28
|
Requires-Dist: cryptography<49.0,>=44.0.3
|
|
29
29
|
Requires-Dist: Django!=5.0,!=5.1,<5.3,>=4.2.24
|
|
30
30
|
Requires-Dist: django-filter<=25.2,>=23.1
|
|
@@ -455,6 +455,7 @@ pulpcore/tests/unit/test_content_guard.py
|
|
|
455
455
|
pulpcore/tests/unit/test_files.py
|
|
456
456
|
pulpcore/tests/unit/test_import_checks.py
|
|
457
457
|
pulpcore/tests/unit/test_list_signing_services_command.py
|
|
458
|
+
pulpcore/tests/unit/test_middleware.py
|
|
458
459
|
pulpcore/tests/unit/test_pulp_urls.py
|
|
459
460
|
pulpcore/tests/unit/test_settings.py
|
|
460
461
|
pulpcore/tests/unit/test_util.py
|
|
@@ -7,7 +7,7 @@ build-backend = 'setuptools.build_meta'
|
|
|
7
7
|
|
|
8
8
|
[project]
|
|
9
9
|
name = "pulpcore"
|
|
10
|
-
version = "3.
|
|
10
|
+
version = "3.112.1"
|
|
11
11
|
description = "Pulp Django Application and Related Modules"
|
|
12
12
|
readme = "README.md"
|
|
13
13
|
authors = [
|
|
@@ -30,7 +30,7 @@ dependencies = [
|
|
|
30
30
|
"aiohttp>=3.10.10,<3.14", # SemVer https://docs.aiohttp.org/en/stable/faq.html#what-is-the-api-stability-and-deprecation-policy .
|
|
31
31
|
"asyncio-throttle>=1.0,<=1.0.2", # Unsure about versioning, but not released often anyway.
|
|
32
32
|
"backoff>=2.1.2,<2.3", # Looks like only bugfixes in z-Stream.
|
|
33
|
-
"click>=8.1.0,<8.
|
|
33
|
+
"click>=8.1.0,<8.5", # Uses milestone.feature.fix https://palletsprojects.com/versions .
|
|
34
34
|
"cryptography>=44.0.3,<49.0", # SemVer compatible https://cryptography.io/en/latest/api-stability/#versioning .
|
|
35
35
|
"Django>=4.2.24,<5.3, !=5.0, !=5.1", # LTS version, switch only if we have a compelling reason to".
|
|
36
36
|
"django-filter>=23.1,<=25.2", # Uses CalVer, not released often https://github.com/carltongibson/django-filter
|
|
@@ -207,7 +207,7 @@ ignore = [
|
|
|
207
207
|
[tool.bumpversion]
|
|
208
208
|
# This section is managed by the plugin template. Do not edit manually.
|
|
209
209
|
|
|
210
|
-
current_version = "3.
|
|
210
|
+
current_version = "3.112.1"
|
|
211
211
|
commit = false
|
|
212
212
|
tag = false
|
|
213
213
|
parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<alpha>0a)?(?P<patch>\\d+)(\\.(?P<release>[a-z]+))?"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/api/test_rhsm_certguard.py
RENAMED
|
File without changes
|
{pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/api/test_x509_certguard.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/artifacts/rhsm/uber.cert
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/artifacts/x509/genall.sh
RENAMED
|
File without changes
|
{pulpcore-3.111.2 → pulpcore-3.112.1}/pulp_certguard/tests/functional/artifacts/x509/genca.sh
RENAMED
|
File without changes
|