pulpcore 3.63.35__tar.gz → 3.63.37__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.
Files changed (526) hide show
  1. {pulpcore-3.63.35 → pulpcore-3.63.37}/CHANGES.md +49 -0
  2. {pulpcore-3.63.35 → pulpcore-3.63.37}/PKG-INFO +1 -1
  3. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/app/__init__.py +1 -1
  4. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/app/models.py +2 -3
  5. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/api/test_rhsm_certguard.py +5 -5
  6. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/api/test_x509_certguard.py +3 -3
  7. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/app/__init__.py +1 -1
  8. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/app/modelresource.py +1 -0
  9. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/app/tasks/publishing.py +1 -2
  10. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/app/tasks/synchronizing.py +2 -3
  11. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/manifest.py +0 -2
  12. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/tests/functional/api/test_auto_publish.py +1 -2
  13. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/tests/functional/api/test_domains.py +4 -3
  14. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/tests/functional/api/test_download_policies.py +4 -4
  15. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/tests/functional/api/test_publish.py +4 -3
  16. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/tests/functional/api/test_pulp_export.py +3 -2
  17. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/tests/functional/api/test_rbac.py +3 -3
  18. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/tests/functional/api/test_sync.py +2 -4
  19. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/tests/unit/test_safe_paths.py +3 -1
  20. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/apps.py +4 -7
  21. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/authentication.py +1 -2
  22. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/checks.py +7 -1
  23. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/entrypoint.py +11 -5
  24. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/files.py +1 -2
  25. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/importexport.py +6 -6
  26. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/management/commands/add-signing-service.py +3 -7
  27. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/management/commands/analyze-publication.py +1 -1
  28. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/management/commands/datarepair-2327.py +2 -3
  29. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/management/commands/dump-publications-to-fs.py +4 -4
  30. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/management/commands/handle-artifact-checksums.py +3 -4
  31. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/management/commands/openapi.py +1 -3
  32. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/management/commands/remove-plugin.py +4 -5
  33. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/management/commands/remove-signing-service.py +2 -4
  34. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/management/commands/repository-size.py +3 -3
  35. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/management/commands/reset-admin-password.py +1 -2
  36. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/management/commands/rotate-db-key.py +1 -1
  37. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/modelresource.py +2 -1
  38. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/models/__init__.py +2 -0
  39. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/models/access_policy.py +2 -2
  40. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/models/acs.py +2 -1
  41. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/models/analytics.py +1 -2
  42. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/models/content.py +7 -9
  43. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/models/domain.py +2 -2
  44. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/models/fields.py +1 -0
  45. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/models/importer.py +1 -0
  46. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/models/publication.py +12 -13
  47. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/models/replica.py +2 -1
  48. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/models/repository.py +6 -7
  49. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/models/storage.py +1 -1
  50. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/models/task.py +3 -3
  51. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/models/upload.py +1 -2
  52. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/replica.py +5 -5
  53. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/response.py +1 -0
  54. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/role_util.py +4 -5
  55. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/serializers/__init__.py +2 -0
  56. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/serializers/acs.py +0 -1
  57. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/serializers/content.py +2 -2
  58. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/serializers/domain.py +4 -5
  59. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/serializers/publication.py +7 -8
  60. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/serializers/reclaim.py +0 -1
  61. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/serializers/replica.py +2 -2
  62. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/serializers/upload.py +2 -2
  63. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/serializers/user.py +7 -8
  64. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/settings.py +1 -2
  65. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/tasks/__init__.py +2 -0
  66. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/tasks/analytics.py +3 -3
  67. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/tasks/export.py +22 -12
  68. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/tasks/importer.py +15 -18
  69. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/tasks/migrate.py +2 -1
  70. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/tasks/orphan.py +0 -1
  71. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/tasks/purge.py +5 -5
  72. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/tasks/replica.py +4 -4
  73. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/tasks/repository.py +7 -9
  74. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/tasks/test.py +1 -0
  75. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/templatetags/pulp_urls.py +2 -1
  76. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/urls.py +3 -3
  77. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/util.py +8 -10
  78. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/views/__init__.py +2 -0
  79. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/views/importer.py +8 -7
  80. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/viewsets/__init__.py +2 -0
  81. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/viewsets/base.py +6 -5
  82. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/viewsets/custom_filters.py +6 -7
  83. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/viewsets/domain.py +4 -4
  84. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/viewsets/exporter.py +5 -8
  85. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/viewsets/importer.py +4 -4
  86. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/viewsets/publication.py +11 -11
  87. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/viewsets/replica.py +3 -3
  88. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/viewsets/repository.py +7 -8
  89. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/viewsets/task.py +7 -7
  90. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/viewsets/upload.py +2 -3
  91. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/viewsets/user.py +7 -9
  92. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/cache/__init__.py +1 -0
  93. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/cache/cache.py +7 -10
  94. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/content/__init__.py +11 -12
  95. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/content/authentication.py +5 -4
  96. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/content/entrypoint.py +1 -0
  97. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/content/handler.py +19 -23
  98. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/content/instrumentation.py +7 -8
  99. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/download/__init__.py +1 -0
  100. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/download/base.py +2 -3
  101. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/download/factory.py +6 -5
  102. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/download/file.py +0 -1
  103. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/download/http.py +3 -2
  104. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/exceptions/__init__.py +2 -0
  105. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/filters.py +11 -13
  106. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/middleware.py +4 -3
  107. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/migrations.py +4 -7
  108. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/openapi/__init__.py +2 -0
  109. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/__init__.py +1 -0
  110. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/authentication/__init__.py +1 -0
  111. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/cache/__init__.py +2 -0
  112. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/download/__init__.py +2 -0
  113. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/importexport.py +1 -0
  114. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/models/__init__.py +2 -0
  115. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/repo_version_utils.py +2 -2
  116. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/serializers/__init__.py +2 -0
  117. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/stages/__init__.py +2 -0
  118. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/stages/api.py +0 -1
  119. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/stages/content_stages.py +1 -2
  120. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/stages/declarative_version.py +1 -1
  121. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/stages/models.py +1 -2
  122. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/tasking.py +1 -2
  123. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/util.py +7 -8
  124. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/viewsets/__init__.py +2 -0
  125. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/viewsets/content.py +2 -3
  126. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/pytest_plugin.py +6 -7
  127. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tasking/_util.py +6 -5
  128. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tasking/entrypoint.py +2 -2
  129. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tasking/kafka.py +2 -3
  130. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tasking/tasks.py +3 -2
  131. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tasking/worker.py +16 -16
  132. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/test_api_docs.py +1 -0
  133. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/test_api_root_rewrite.py +3 -2
  134. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/test_artifact_distribution.py +2 -1
  135. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/test_crd_artifacts.py +1 -0
  136. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/test_filter.py +2 -1
  137. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/test_openapi_schema.py +2 -3
  138. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/test_replication.py +3 -4
  139. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/test_role.py +1 -0
  140. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/test_root_endpoint.py +1 -0
  141. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/test_task_purge.py +3 -4
  142. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/test_tasking.py +7 -7
  143. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/test_upload.py +3 -2
  144. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/test_users_groups.py +3 -1
  145. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/test_workers.py +2 -1
  146. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/using_plugin/test_content_path.py +1 -2
  147. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/using_plugin/test_distributions.py +3 -2
  148. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/using_plugin/test_migrate.py +3 -2
  149. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/using_plugin/test_orphans.py +1 -0
  150. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/using_plugin/test_prn.py +2 -2
  151. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/using_plugin/test_proxy.py +3 -2
  152. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/using_plugin/test_pulpimport.py +3 -4
  153. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/using_plugin/test_reclaim_disk_space.py +3 -4
  154. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/using_plugin/test_repair.py +3 -4
  155. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/using_plugin/test_repo_versions.py +2 -1
  156. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/content_with_coverage.py +1 -0
  157. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/conftest.py +2 -1
  158. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/content/test_handler.py +2 -2
  159. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/content/test_heartbeat.py +3 -3
  160. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/migration/test_0077_move_remote_url_credentials.py +3 -2
  161. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/models/test_base.py +4 -2
  162. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/models/test_content.py +2 -3
  163. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/models/test_remote.py +4 -4
  164. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/models/test_task.py +4 -2
  165. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/serializers/test_base.py +3 -4
  166. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/serializers/test_pulpexport.py +1 -0
  167. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/stages/test_artifactdownloader.py +5 -5
  168. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/stages/test_stages.py +3 -3
  169. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/test_cache.py +2 -1
  170. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/test_import_checks.py +0 -1
  171. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/test_pulp_urls.py +2 -1
  172. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/test_util.py +2 -1
  173. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore.egg-info/PKG-INFO +1 -1
  174. {pulpcore-3.63.35 → pulpcore-3.63.37}/pyproject.toml +29 -1
  175. {pulpcore-3.63.35 → pulpcore-3.63.37}/setup.py +1 -1
  176. {pulpcore-3.63.35 → pulpcore-3.63.37}/CODE_OF_CONDUCT.md +0 -0
  177. {pulpcore-3.63.35 → pulpcore-3.63.37}/COMMITMENT +0 -0
  178. {pulpcore-3.63.35 → pulpcore-3.63.37}/CONTRIBUTING.md +0 -0
  179. {pulpcore-3.63.35 → pulpcore-3.63.37}/COPYRIGHT +0 -0
  180. {pulpcore-3.63.35 → pulpcore-3.63.37}/LICENSE +0 -0
  181. {pulpcore-3.63.35 → pulpcore-3.63.37}/MANIFEST.in +0 -0
  182. {pulpcore-3.63.35 → pulpcore-3.63.37}/README.md +0 -0
  183. {pulpcore-3.63.35 → pulpcore-3.63.37}/ci_requirements.txt +0 -0
  184. {pulpcore-3.63.35 → pulpcore-3.63.37}/functest_requirements.txt +0 -0
  185. {pulpcore-3.63.35 → pulpcore-3.63.37}/manage.py +0 -0
  186. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/__init__.py +0 -0
  187. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/app/migrations/0001_initial.py +0 -0
  188. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/app/migrations/0002_alter_rhsmcertguard_contentguard_ptr_and_more.py +0 -0
  189. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/app/migrations/__init__.py +0 -0
  190. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/app/serializers.py +2 -2
  191. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/app/utils.py +0 -0
  192. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/app/viewsets.py +0 -0
  193. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/pytest_plugin.py +0 -0
  194. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/__init__.py +0 -0
  195. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/__init__.py +0 -0
  196. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/api/__init__.py +0 -0
  197. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/artifacts/rhsm/katello-default-ca.crt +0 -0
  198. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/artifacts/rhsm/katello-default-ca.key +0 -0
  199. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/artifacts/rhsm/trusted_but_expired.pem +0 -0
  200. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/artifacts/rhsm/uber.cert +0 -0
  201. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/artifacts/rhsm/untrusted_cert-key.pem +0 -0
  202. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/artifacts/rhsm/untrusted_cert.pem +0 -0
  203. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/artifacts/rhsm/v1/1514454871848760713-key.pem +0 -0
  204. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/artifacts/rhsm/v1/1514454871848760713.pem +0 -0
  205. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/artifacts/rhsm/v1/159442575569388840-key.pem +0 -0
  206. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/artifacts/rhsm/v1/159442575569388840.pem +0 -0
  207. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/artifacts/rhsm/v3/4260035510644027985-key.pem +0 -0
  208. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/artifacts/rhsm/v3/4260035510644027985.pem +0 -0
  209. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/artifacts/rhsm/v3/5527980418107729172-key.pem +0 -0
  210. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/artifacts/rhsm/v3/5527980418107729172.pem +0 -0
  211. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/artifacts/thirdparty_ca/certificates/ca.pem +0 -0
  212. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/artifacts/thirdparty_ca/genca.sh +0 -0
  213. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/artifacts/thirdparty_ca/keys/ca.pem +0 -0
  214. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/artifacts/x509/certificates/ca.pem +0 -0
  215. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/artifacts/x509/certificates/client.pem +0 -0
  216. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/artifacts/x509/certificates/server.pem +0 -0
  217. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/artifacts/x509/certificates/un_urlencoded_cert.txt +0 -0
  218. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/artifacts/x509/certificates/untrusted_client.pem +0 -0
  219. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/artifacts/x509/genall.sh +0 -0
  220. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/artifacts/x509/genca.sh +0 -0
  221. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/artifacts/x509/genclient.sh +0 -0
  222. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/artifacts/x509/gensrv.sh +0 -0
  223. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/artifacts/x509/keys/ca.pem +0 -0
  224. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/artifacts/x509/keys/client.pem +0 -0
  225. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/artifacts/x509/keys/server.pem +0 -0
  226. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/conftest.py +0 -0
  227. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/functional/constants.py +0 -0
  228. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/unit/__init__.py +0 -0
  229. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_certguard/tests/unit/test_models.py +0 -0
  230. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/__init__.py +0 -0
  231. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/app/migrations/0001_initial.py +0 -0
  232. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/app/migrations/0002_file_related_names.py +0 -0
  233. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/app/migrations/0003_auto_20191014_1721.py +0 -0
  234. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/app/migrations/0004_filefilesystemexporter.py +0 -0
  235. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/app/migrations/0005_filerepository.py +0 -0
  236. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/app/migrations/0006_delete_filefilesystemexporter.py +0 -0
  237. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/app/migrations/0007_filefilesystemexporter.py +0 -0
  238. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/app/migrations/0008_add_manifest_field.py +0 -0
  239. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/app/migrations/0009_move_data_to_new_master_distribution_model.py +0 -0
  240. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/app/migrations/0010_auto_publish.py +0 -0
  241. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/app/migrations/0011_fix_auto_publish.py +0 -0
  242. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/app/migrations/0012_delete_filefilesystemexporter.py +0 -0
  243. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/app/migrations/0013_file_acs.py +0 -0
  244. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/app/migrations/0014_new_rbac_permissions.py +0 -0
  245. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/app/migrations/0015_allow_null_manifest.py +0 -0
  246. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/app/migrations/0016_add_domain.py +0 -0
  247. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/app/migrations/0017_alter_filealternatecontentsource_alternatecontentsource_ptr_and_more.py +0 -0
  248. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/app/migrations/__init__.py +0 -0
  249. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/app/models.py +0 -0
  250. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/app/replica.py +2 -2
  251. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/app/serializers.py +1 -1
  252. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/app/tasks/__init__.py +0 -0
  253. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/app/viewsets.py +3 -3
  254. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/pytest_plugin.py +1 -1
  255. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/tests/__init__.py +0 -0
  256. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/tests/functional/__init__.py +0 -0
  257. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/tests/functional/api/__init__.py +0 -0
  258. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/tests/functional/api/test_acs.py +2 -2
  259. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/tests/functional/api/test_bad_sync.py +2 -2
  260. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/tests/functional/api/test_crud_content_unit.py +3 -3
  261. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/tests/functional/api/test_crud_remotes.py +0 -0
  262. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/tests/functional/api/test_generic_list.py +0 -0
  263. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/tests/functional/api/test_labels.py +0 -0
  264. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/tests/functional/api/test_mime_types.py +3 -3
  265. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/tests/functional/api/test_remote_settings.py +0 -0
  266. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/tests/unit/__init__.py +0 -0
  267. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulp_file/tests/unit/test_serializers.py +4 -4
  268. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/__init__.py +0 -0
  269. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/__init__.py +0 -0
  270. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/access_policy.py +0 -0
  271. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/global_access_conditions.py +0 -0
  272. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/loggers.py +0 -0
  273. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/manage.py +0 -0
  274. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/management/__init__.py +0 -0
  275. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/management/commands/__init__.py +0 -0
  276. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/management/commands/clean-up-progress-reports.py +0 -0
  277. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/management/commands/dump-permissions.py +4 -4
  278. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/management/commands/shell.py +0 -0
  279. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0001_initial.py +0 -0
  280. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0002_increase_artifact_size_field.py +0 -0
  281. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0003_remove_upload_completed.py +0 -0
  282. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0004_add_duplicated_reserved_resources.py +0 -0
  283. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0005_progressreport_code.py +0 -0
  284. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0006_repository_plugin_managed.py +0 -0
  285. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0007_delete_progress_proxies.py +0 -0
  286. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0008_published_metadata_as_content.py +0 -0
  287. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0009_remove_task_non_fatal_errors.py +0 -0
  288. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0010_pulp_fields.py +0 -0
  289. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0011_relative_path.py +0 -0
  290. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0012_auto_20191104_2000.py +0 -0
  291. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0013_repository_pulp_type.py +0 -0
  292. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0014_remove_repository_plugin_managed.py +0 -0
  293. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0015_auto_20191112_1426.py +0 -0
  294. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0016_charfield_to_textfield.py +0 -0
  295. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0017_remove_task_parent.py +0 -0
  296. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0018_auto_20191127_2350.py +0 -0
  297. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0019_add_signing_service_model.py +0 -0
  298. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0020_change_publishedartifact_constraints.py +0 -0
  299. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0021_add_signing_service_foreign_key.py +0 -0
  300. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0022_rename_last_version.py +0 -0
  301. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0023_change_exporter_models.py +0 -0
  302. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0024_use_local_storage_for_uploads.py +0 -0
  303. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0025_task_parent_task.py +0 -0
  304. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0026_task_group.py +0 -0
  305. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0027_export_backend.py +0 -0
  306. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0028_import_importer_pulpimporter_pulpimporterrepository.py +0 -0
  307. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0029_export_delete.py +0 -0
  308. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0030_taskgroup_all_tasks_dispatched.py +0 -0
  309. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0031_import_export_validate_params.py +0 -0
  310. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0032_export_to_chunks.py +0 -0
  311. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0033_increase_remote_artifact_size_field.py +0 -0
  312. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0034_groupprogressreport.py +0 -0
  313. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0035_content_upstream_id.py +0 -0
  314. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0036_unprotect_last_export.py +0 -0
  315. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0037_pulptemporaryfile.py +0 -0
  316. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0038_repository_remote.py +0 -0
  317. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0039_change_download_concurrency.py +0 -0
  318. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0040_set_admin_is_staff.py +0 -0
  319. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0041_accesspolicy.py +0 -0
  320. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0042_rbac_for_tasks.py +0 -0
  321. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0043_toc_attribute.py +0 -0
  322. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0044_temp_file_artifact_field.py +0 -0
  323. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0045_accesspolicy_permissions_allow_null.py +0 -0
  324. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0046_task__resource_job_id.py +0 -0
  325. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0047_improve_orphan_cleanup.py +0 -0
  326. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0048_fips_checksums.py +0 -0
  327. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0049_add_file_field_to_uploadchunk.py +0 -0
  328. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0050_namespace_access_policies.py +0 -0
  329. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0051_timeoutfields.py +0 -0
  330. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0052_tasking_logging_cid.py +0 -0
  331. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0053_remote_headers.py +0 -0
  332. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0054_add_public_key.py +0 -0
  333. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0055_label.py +0 -0
  334. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0056_remote_rate_limit.py +0 -0
  335. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0057_add_label_indexes.py +0 -0
  336. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0058_accesspolicy_customized.py +0 -0
  337. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0059_proxy_creds.py +0 -0
  338. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0060_data_migration_proxy_creds.py +0 -0
  339. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0061_call_handle_artifact_checksums_command.py +0 -0
  340. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0062_add_new_distribution_mastermodel.py +0 -0
  341. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0063_repository_retained_versions.py +0 -0
  342. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0064_add_new_style_task_columns.py +0 -0
  343. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0064_repository_user_hidden.py +0 -0
  344. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0065_merge_20210615_1211.py +0 -0
  345. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0066_download_concurrency_and_retry_changes.py +0 -0
  346. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0067_add_protect_to_task_reservation.py +0 -0
  347. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0068_add_timestamp_of_interest.py +0 -0
  348. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0069_update_json_fields.py +0 -0
  349. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0070_rename_retained_versions.py +0 -0
  350. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0071_filesystemexport_filesystemexporter.py +0 -0
  351. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0072_add_method_to_filesystem_exporter.py +0 -0
  352. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0073_encrypt_remote_fields.py +0 -0
  353. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0074_acs.py +0 -0
  354. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0075_rbaccontentguard.py +0 -0
  355. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0076_remove_reserved_resource.py +0 -0
  356. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0077_move_remote_url_credentials.py +0 -0
  357. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0078_grouprole_role_userrole.py +0 -0
  358. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0079_rename_permissions_assignment_accesspolicy_creation_hooks.py +0 -0
  359. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0080_proxy_group_model.py +0 -0
  360. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0081_reapplabel_group_permissions.py +0 -0
  361. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0082_add_manage_roles_permissions.py +0 -0
  362. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0083_alter_group_options.py +0 -0
  363. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0084_alter_rbaccontentguard_options.py +0 -0
  364. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0085_contentredirectcontentguard.py +0 -0
  365. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0086_task_json_fields.py +0 -0
  366. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0087_taskschedule.py +0 -0
  367. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0088_accesspolicy_queryset_scoping.py +0 -0
  368. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0089_alter_contentredirectcontentguard_options.py +0 -0
  369. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0090_char_to_text_field.py +0 -0
  370. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0091_systemid.py +0 -0
  371. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0092_alter_upload_options.py +0 -0
  372. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0093_add_info_field_repositoryversion.py +0 -0
  373. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0094_protect_repository_content.py +0 -0
  374. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0095_artifactdistribution.py +0 -0
  375. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0096_alter_task_logging_cid.py +0 -0
  376. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0097_remove_telemetry_task_schedule.py +0 -0
  377. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0098_pulp_labels.py +0 -0
  378. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0099_versions_field.py +0 -0
  379. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0100_upstreampulp.py +0 -0
  380. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0101_add_domain.py +0 -0
  381. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0102_add_domain_relations.py +0 -0
  382. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0103_alter_export_task.py +0 -0
  383. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0104_delete_label.py +0 -0
  384. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0105_abstract_uuid_gen.py +0 -0
  385. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0106_alter_artifactdistribution_distribution_ptr_and_more.py +0 -0
  386. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0107_distribution_hidden.py +0 -0
  387. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0108_task_versions.py +0 -0
  388. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0109_contentartifact_relative_path_index.py +0 -0
  389. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0110_apiappstatus.py +0 -0
  390. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0111_task_enc_args_task_enc_kwargs.py +0 -0
  391. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0112_alter_upstreampulp_options.py +0 -0
  392. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0113_headercontentguard.py +0 -0
  393. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0114_remove_task_args_remove_task_kwargs.py +0 -0
  394. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0115_compositecontentguard.py +0 -0
  395. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0116_alter_remoteartifact_md5_alter_remoteartifact_sha1_and_more.py +0 -0
  396. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0117_task_unblocked_at.py +0 -0
  397. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0118_task_core_task_unblock_2276a4_idx_and_more.py +0 -0
  398. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0119_grouprole_core_groupr_object__250e22_idx_and_more.py +0 -0
  399. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0120_get_url_removal.py +0 -0
  400. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0121_add_profile_artifacts_table.py +0 -0
  401. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0122_record_last_replication_timestamp.py +0 -0
  402. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/0123_upstreampulp_q_select.py +0 -0
  403. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/migrations/__init__.py +0 -0
  404. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/mime_types.py +0 -0
  405. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/models/base.py +1 -1
  406. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/models/exporter.py +0 -0
  407. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/models/generic.py +0 -0
  408. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/models/progress.py +0 -0
  409. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/models/role.py +0 -0
  410. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/models/status.py +0 -0
  411. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/protobuf/__init__.py +0 -0
  412. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/protobuf/analytics_pb2.py +0 -0
  413. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/pulp_hashlib.py +1 -1
  414. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/pulpcore_gunicorn_application.py +0 -0
  415. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/redis_connection.py +0 -0
  416. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/serializers/access_policy.py +0 -0
  417. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/serializers/base.py +11 -11
  418. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/serializers/exporter.py +1 -1
  419. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/serializers/fields.py +1 -1
  420. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/serializers/importer.py +0 -0
  421. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/serializers/orphans.py +0 -0
  422. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/serializers/progress.py +0 -0
  423. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/serializers/purge.py +0 -0
  424. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/serializers/repair.py +0 -0
  425. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/serializers/repository.py +2 -2
  426. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/serializers/status.py +0 -0
  427. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/serializers/task.py +1 -1
  428. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/tasks/base.py +0 -0
  429. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/tasks/reclaim_space.py +0 -0
  430. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/tasks/upload.py +0 -0
  431. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/templates/rest_framework/api.html +0 -0
  432. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/templatetags/__init__.py +0 -0
  433. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/views/orphans.py +0 -0
  434. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/views/repair.py +0 -0
  435. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/views/status.py +2 -2
  436. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/viewsets/access_policy.py +2 -2
  437. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/viewsets/acs.py +2 -2
  438. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/viewsets/content.py +1 -1
  439. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/viewsets/orphans.py +1 -1
  440. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/viewsets/reclaim.py +0 -0
  441. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/app/wsgi.py +0 -0
  442. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/backends.py +3 -3
  443. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/constants.py +0 -0
  444. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/exceptions/base.py +0 -0
  445. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/exceptions/plugin.py +0 -0
  446. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/exceptions/validation.py +0 -0
  447. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/openapi/hooks.py +0 -0
  448. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/access_policy.py +0 -0
  449. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/actions.py +0 -0
  450. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/apps.py +0 -0
  451. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/constants.py +2 -2
  452. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/content.py +0 -0
  453. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/exceptions.py +1 -1
  454. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/files.py +0 -0
  455. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/migrations.py +0 -0
  456. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/modelresources.py +0 -0
  457. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/models/role.py +0 -0
  458. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/publication_utils.py +1 -1
  459. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/pulp_hashlib.py +0 -0
  460. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/replica.py +0 -0
  461. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/responses.py +0 -0
  462. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/serializers/content.py +3 -3
  463. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/stages/artifact_stages.py +2 -2
  464. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/storage.py +0 -0
  465. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/plugin/sync.py +0 -0
  466. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/responses.py +0 -0
  467. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tasking/__init__.py +0 -0
  468. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tasking/storage.py +0 -0
  469. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/__init__.py +0 -0
  470. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/__init__.py +0 -0
  471. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/__init__.py +0 -0
  472. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/test_access_policy.py +0 -0
  473. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/test_auth.py +3 -3
  474. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/test_correlation_id.py +0 -0
  475. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/test_crud_domains.py +4 -4
  476. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/test_repos.py +2 -2
  477. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/test_scoping.py +0 -0
  478. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/test_signing_service.py +0 -0
  479. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/test_status.py +1 -1
  480. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/using_plugin/__init__.py +0 -0
  481. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/using_plugin/test_content_access.py +2 -2
  482. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/using_plugin/test_content_cache.py +4 -4
  483. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/using_plugin/test_content_delivery.py +0 -0
  484. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/using_plugin/test_content_directory.py +0 -0
  485. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/using_plugin/test_content_promotion.py +2 -2
  486. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/using_plugin/test_contentguard.py +4 -4
  487. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/using_plugin/test_crud_repos.py +4 -4
  488. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/using_plugin/test_filesystemexport.py +3 -3
  489. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/using_plugin/test_labels.py +0 -0
  490. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/using_plugin/test_pagination.py +0 -0
  491. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/using_plugin/test_tasks.py +1 -1
  492. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/api/using_plugin/test_unlinking_repo.py +0 -0
  493. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/assets/__init__.py +0 -0
  494. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/functional/utils.py +2 -2
  495. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/performance/__init__.py +0 -0
  496. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/performance/test_performance.py +2 -2
  497. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/__init__.py +0 -0
  498. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/content/__init__.py +0 -0
  499. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/download/__init__.py +0 -0
  500. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/download/test_downloader_base.py +0 -0
  501. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/download/test_downloader_factory.py +0 -0
  502. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/migration/__init__.py +0 -0
  503. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/models/__init__.py +0 -0
  504. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/models/test_repository.py +2 -2
  505. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/roles/__init__.py +0 -0
  506. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/roles/test_roles.py +2 -2
  507. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/serializers/__init__.py +0 -0
  508. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/serializers/test_domain.py +2 -2
  509. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/serializers/test_repository.py +2 -2
  510. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/stages/__init__.py +0 -0
  511. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/test_chunked_file.py +0 -0
  512. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/test_content_guard.py +3 -3
  513. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/test_files.py +0 -0
  514. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/test_settings.py +0 -0
  515. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/test_viewsets.py +0 -0
  516. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/viewsets/__init__.py +0 -0
  517. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore/tests/unit/viewsets/test_viewset_base.py +2 -2
  518. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore.egg-info/SOURCES.txt +0 -0
  519. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore.egg-info/dependency_links.txt +0 -0
  520. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore.egg-info/entry_points.txt +0 -0
  521. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore.egg-info/requires.txt +0 -0
  522. {pulpcore-3.63.35 → pulpcore-3.63.37}/pulpcore.egg-info/top_level.txt +0 -0
  523. {pulpcore-3.63.35 → pulpcore-3.63.37}/requirements.txt +0 -0
  524. {pulpcore-3.63.35 → pulpcore-3.63.37}/setup.cfg +0 -0
  525. {pulpcore-3.63.35 → pulpcore-3.63.37}/test_requirements.txt +0 -0
  526. {pulpcore-3.63.35 → pulpcore-3.63.37}/unittest_requirements.txt +0 -0
@@ -8,6 +8,55 @@
8
8
 
9
9
  [//]: # (towncrier release notes start)
10
10
 
11
+ ## 3.63.37 (2026-05-05) {: #3.63.37 }
12
+
13
+ ### REST API {: #3.63.37-rest-api }
14
+
15
+ #### Bugfixes {: #3.63.37-rest-api-bugfix }
16
+
17
+ - Set default ``--max-requests 10000`` and ``--max-requests-jitter 500`` for API workers
18
+ to prevent unbounded RSS growth from glibc heap fragmentation over long-lived worker processes.
19
+ [#7482](https://github.com/pulp/pulpcore/issues/7482)
20
+ - Fixed `TypeError: 'str' object has no attribute 'tolower'` in `_ensure_bool` during incremental content exports. Changed `.tolower()` to `.lower()`.
21
+ [#7678](https://github.com/pulp/pulpcore/issues/7678)
22
+
23
+ ### Plugin API {: #3.63.37-plugin-api }
24
+
25
+ No significant changes.
26
+
27
+ ### Pulp File {: #3.63.37-pulp-file }
28
+
29
+ No significant changes.
30
+
31
+ ### Pulp Cert Guard {: #3.63.37-pulp-cert-guard }
32
+
33
+ No significant changes.
34
+
35
+ ---
36
+
37
+ ## 3.63.36 (2026-04-28) {: #3.63.36 }
38
+
39
+ ### REST API {: #3.63.36-rest-api }
40
+
41
+ #### Bugfixes {: #3.63.36-rest-api-bugfix }
42
+
43
+ - Replace use of the deprecated distutils. The module has been removed in Python 3.12 .
44
+ [#7571](https://github.com/pulp/pulpcore/issues/7571)
45
+
46
+ ### Plugin API {: #3.63.36-plugin-api }
47
+
48
+ No significant changes.
49
+
50
+ ### Pulp File {: #3.63.36-pulp-file }
51
+
52
+ No significant changes.
53
+
54
+ ### Pulp Cert Guard {: #3.63.36-pulp-cert-guard }
55
+
56
+ No significant changes.
57
+
58
+ ---
59
+
11
60
  ## 3.63.35 (2026-04-14) {: #3.63.35 }
12
61
 
13
62
  ### REST API {: #3.63.35-rest-api }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pulpcore
3
- Version: 3.63.35
3
+ Version: 3.63.37
4
4
  Summary: Pulp Django Application and Related Modules
5
5
  Home-page: https://pulpproject.org
6
6
  Author: Pulp Team
@@ -6,6 +6,6 @@ class PulpCertGuardPluginAppConfig(PulpPluginAppConfig):
6
6
 
7
7
  name = "pulp_certguard.app"
8
8
  label = "certguard"
9
- version = "3.63.35"
9
+ version = "3.63.37"
10
10
  python_package_name = "pulpcore"
11
11
  domain_compatible = True
@@ -1,11 +1,10 @@
1
- from logging import getLogger
2
- from gettext import gettext as _
3
1
  import re
2
+ from gettext import gettext as _
3
+ from logging import getLogger
4
4
  from urllib.parse import unquote
5
5
 
6
6
  from django.conf import settings
7
7
  from django.db import models
8
-
9
8
  from OpenSSL import crypto as openssl
10
9
 
11
10
  from pulpcore.plugin.models import ContentGuard
@@ -1,29 +1,29 @@
1
- import pytest
2
1
  import uuid
2
+ from urllib.parse import quote, urljoin
3
3
 
4
+ import pytest
4
5
  import requests
5
- from urllib.parse import urljoin, quote
6
6
  from django.conf import settings
7
7
 
8
8
  from pulp_certguard.tests.functional.constants import (
9
9
  RHSM_CA_CERT_FILE_PATH,
10
10
  RHSM_CLIENT_CERT_FROM_UNTRUSTED_CA,
11
11
  RHSM_CLIENT_CERT_TRUSTED_BUT_EXPIRED,
12
- THIRDPARTY_CA_CERT_FILE_PATH,
13
12
  RHSM_UBER_CERT_BASE_PATH_ONE,
14
13
  RHSM_UBER_CERT_BASE_PATH_TWO,
15
14
  RHSM_UBER_CLIENT_CERT,
16
15
  RHSM_V1_ONE_AND_TWO_VAR_CLIENT_CERT,
17
16
  RHSM_V1_ONE_VAR_BASE_PATH,
18
17
  RHSM_V1_TWO_VAR_BASE_PATH,
19
- RHSM_V1_ZERO_VAR_CLIENT_CERT,
20
18
  RHSM_V1_ZERO_VAR_BASE_PATH,
19
+ RHSM_V1_ZERO_VAR_CLIENT_CERT,
21
20
  RHSM_V3_INVALID_BASE_PATH,
22
21
  RHSM_V3_ONE_AND_TWO_VAR_CLIENT_CERT,
23
22
  RHSM_V3_ONE_VAR_BASE_PATH,
24
23
  RHSM_V3_TWO_VAR_BASE_PATH,
25
- RHSM_V3_ZERO_VAR_CLIENT_CERT,
26
24
  RHSM_V3_ZERO_VAR_BASE_PATH,
25
+ RHSM_V3_ZERO_VAR_CLIENT_CERT,
26
+ THIRDPARTY_CA_CERT_FILE_PATH,
27
27
  )
28
28
 
29
29
  if settings.DOMAIN_ENABLED:
@@ -1,15 +1,15 @@
1
- import pytest
2
1
  import uuid
2
+ from urllib.parse import quote, urljoin
3
3
 
4
+ import pytest
4
5
  import requests
5
- from urllib.parse import urljoin, quote
6
6
 
7
7
  from pulp_certguard.tests.functional.constants import (
8
8
  X509_BASE_PATH,
9
9
  X509_CA_CERT_FILE_PATH,
10
10
  X509_CLIENT_CERT_FILE_PATH,
11
- X509_UNTRUSTED_CLIENT_CERT_FILE_PATH,
12
11
  X509_UN_URLENCODED_CLIENT_CERT_FILE_PATH,
12
+ X509_UNTRUSTED_CLIENT_CERT_FILE_PATH,
13
13
  )
14
14
 
15
15
 
@@ -8,6 +8,6 @@ class PulpFilePluginAppConfig(PulpPluginAppConfig):
8
8
 
9
9
  name = "pulp_file.app"
10
10
  label = "file"
11
- version = "3.63.35"
11
+ version = "3.63.37"
12
12
  python_package_name = "pulpcore"
13
13
  domain_compatible = True
@@ -1,5 +1,6 @@
1
1
  from pulpcore.plugin.importexport import BaseContentResource
2
2
  from pulpcore.plugin.modelresources import RepositoryResource
3
+
3
4
  from pulp_file.app.models import FileContent, FileRepository
4
5
 
5
6
 
@@ -1,15 +1,14 @@
1
1
  import logging
2
2
  import tempfile
3
-
4
3
  from gettext import gettext as _
5
4
 
6
5
  from django.core.files import File
7
6
 
8
7
  from pulpcore.plugin.models import (
9
8
  ContentArtifact,
10
- RepositoryVersion,
11
9
  PublishedMetadata,
12
10
  RemoteArtifact,
11
+ RepositoryVersion,
13
12
  )
14
13
 
15
14
  from pulp_file.app.models import FilePublication
@@ -1,12 +1,11 @@
1
1
  import logging
2
2
  import os
3
-
4
3
  from gettext import gettext as _
5
4
  from urllib.parse import quote, urlparse, urlunparse
6
5
 
7
6
  from django.core.files import File
8
7
 
9
- from pulpcore.plugin.models import Artifact, ProgressReport, Remote, PublishedMetadata
8
+ from pulpcore.plugin.models import Artifact, ProgressReport, PublishedMetadata, Remote
10
9
  from pulpcore.plugin.stages import (
11
10
  DeclarativeArtifact,
12
11
  DeclarativeContent,
@@ -14,7 +13,7 @@ from pulpcore.plugin.stages import (
14
13
  Stage,
15
14
  )
16
15
 
17
- from pulp_file.app.models import FileContent, FileRemote, FileRepository, FilePublication
16
+ from pulp_file.app.models import FileContent, FilePublication, FileRemote, FileRepository
18
17
  from pulp_file.manifest import Manifest
19
18
 
20
19
  log = logging.getLogger(__name__)
@@ -1,7 +1,5 @@
1
1
  from collections import namedtuple
2
-
3
2
  from gettext import gettext as _
4
-
5
3
  from re import fullmatch
6
4
 
7
5
  Line = namedtuple("Line", ("number", "content"))
@@ -2,11 +2,10 @@
2
2
 
3
3
  import pytest
4
4
 
5
- from pulpcore.tests.functional.utils import get_files_in_manifest
6
-
7
5
  from pulpcore.client.pulp_file import (
8
6
  RepositorySyncURL,
9
7
  )
8
+ from pulpcore.tests.functional.utils import get_files_in_manifest
10
9
 
11
10
 
12
11
  @pytest.fixture
@@ -1,12 +1,13 @@
1
- import pytest
2
- import uuid
3
1
  import json
2
+ import uuid
3
+
4
+ import pytest
4
5
 
5
6
  from pulpcore.app import settings
6
7
  from pulpcore.client.pulp_file import ApiException
7
8
  from pulpcore.client.pulpcore import ApiException as CoreApiException
8
9
  from pulpcore.client.pulpcore import Repair
9
- from pulpcore.tests.functional.utils import generate_iso, download_file
10
+ from pulpcore.tests.functional.utils import download_file, generate_iso
10
11
 
11
12
  pytestmark = pytest.mark.skipif(not settings.DOMAIN_ENABLED, reason="Domains not enabled.")
12
13
 
@@ -1,17 +1,17 @@
1
1
  """Tests for Pulp`s download policies."""
2
2
 
3
- from aiohttp.client_exceptions import ClientResponseError
4
- from bs4 import BeautifulSoup
5
3
  import hashlib
6
4
  import os
7
- import pytest
8
5
  import subprocess
9
6
  import uuid
10
7
  from urllib.parse import urljoin
11
8
 
12
- from pulpcore.tests.functional.utils import get_files_in_manifest, download_file
9
+ import pytest
10
+ from aiohttp.client_exceptions import ClientResponseError
11
+ from bs4 import BeautifulSoup
13
12
 
14
13
  from pulpcore.client.pulp_file import FileFilePublication, RepositorySyncURL
14
+ from pulpcore.tests.functional.utils import download_file, get_files_in_manifest
15
15
 
16
16
  OBJECT_STORAGES = (
17
17
  "storages.backends.s3boto3.S3Boto3Storage",
@@ -1,13 +1,14 @@
1
1
  """Tests that publish file plugin repositories."""
2
2
 
3
- from aiohttp import BasicAuth
4
3
  import json
5
- import pytest
6
4
  from urllib.parse import urljoin
7
5
 
6
+ import pytest
7
+ from aiohttp import BasicAuth
8
+
8
9
  from pulpcore.client.pulp_file import (
9
- RepositorySyncURL,
10
10
  FileFilePublication,
11
+ RepositorySyncURL,
11
12
  )
12
13
  from pulpcore.client.pulp_file.exceptions import ApiException
13
14
  from pulpcore.tests.functional.utils import download_file
@@ -1,8 +1,9 @@
1
- import pytest
2
1
  import uuid
3
2
 
4
- from pulpcore.client.pulpcore.exceptions import ApiException
3
+ import pytest
4
+
5
5
  from pulpcore.app import settings
6
+ from pulpcore.client.pulpcore.exceptions import ApiException
6
7
  from pulpcore.constants import TASK_STATES
7
8
 
8
9
  pytestmark = [
@@ -1,8 +1,8 @@
1
- import pytest
2
1
  import uuid
3
2
 
4
- from pulpcore.client.pulp_file import ApiException
5
- from pulpcore.client.pulp_file import AsyncOperationResponse
3
+ import pytest
4
+
5
+ from pulpcore.client.pulp_file import ApiException, AsyncOperationResponse
6
6
 
7
7
 
8
8
  @pytest.fixture()
@@ -2,14 +2,12 @@
2
2
 
3
3
  import os
4
4
  import uuid
5
-
6
- import pytest
7
-
8
5
  from urllib.parse import urljoin
9
6
 
10
- from pulpcore.tests.functional.utils import PulpTaskError
7
+ import pytest
11
8
 
12
9
  from pulpcore.client.pulp_file import RepositorySyncURL
10
+ from pulpcore.tests.functional.utils import PulpTaskError
13
11
 
14
12
 
15
13
  def test_sync_file_protocol_handler(
@@ -1,5 +1,7 @@
1
- import pytest
2
1
  from unittest import mock
2
+
3
+ import pytest
4
+
3
5
  from pulp_file.app.tasks.synchronizing import _get_safe_path
4
6
 
5
7
 
@@ -1,5 +1,4 @@
1
1
  import random
2
-
3
2
  from collections import defaultdict
4
3
  from gettext import gettext as _
5
4
  from importlib import import_module
@@ -164,8 +163,8 @@ class PulpPluginAppConfig(apps.AppConfig):
164
163
  def import_viewsets(self):
165
164
  # TODO do not include imported ViewSets
166
165
  # circular import avoidance
166
+ from pulpcore.app.models import Content, Repository
167
167
  from pulpcore.app.viewsets import NamedModelViewSet
168
- from pulpcore.app.models import Repository, Content
169
168
 
170
169
  self.named_viewsets = defaultdict(list)
171
170
  if module_has_submodule(self.module, VIEWSETS_MODULE_NAME):
@@ -243,7 +242,7 @@ class PulpAppConfig(PulpPluginAppConfig):
243
242
  label = "core"
244
243
 
245
244
  # The version of this app
246
- version = "3.63.35"
245
+ version = "3.63.37"
247
246
 
248
247
  # The python package name providing this app
249
248
  python_package_name = "pulpcore"
@@ -286,10 +285,8 @@ def _clean_app_status(sender, apps, verbosity, **kwargs):
286
285
  except LookupError:
287
286
  if verbosity >= 1:
288
287
  print(
289
- _(
290
- "{app_name} model does not exist. Skipping initialization.".format(
291
- app_name=app_name
292
- )
288
+ _("{app_name} model does not exist. Skipping initialization.").format(
289
+ app_name=app_name
293
290
  )
294
291
  )
295
292
  else:
@@ -1,11 +1,10 @@
1
1
  import json
2
- import jq
3
2
  import logging
4
-
5
3
  from base64 import b64decode
6
4
  from binascii import Error as Base64DecodeError
7
5
  from gettext import gettext as _
8
6
 
7
+ import jq
9
8
  from django.contrib.auth import authenticate
10
9
  from django.contrib.auth.backends import RemoteUserBackend
11
10
  from rest_framework.authentication import BaseAuthentication, RemoteUserAuthentication
@@ -3,11 +3,17 @@ from pathlib import Path
3
3
  from django.conf import settings
4
4
  from django.core.checks import (
5
5
  Debug as CheckDebug,
6
+ )
7
+ from django.core.checks import (
6
8
  Error as CheckError,
7
- Warning as CheckWarning,
9
+ )
10
+ from django.core.checks import (
8
11
  Tags,
9
12
  register,
10
13
  )
14
+ from django.core.checks import (
15
+ Warning as CheckWarning,
16
+ )
11
17
  from django.db.models import Q
12
18
 
13
19
  from pulpcore import constants
@@ -1,13 +1,13 @@
1
- from contextvars import ContextVar
2
- from logging import getLogger
3
1
  import os
4
2
  import socket
3
+ from contextvars import ContextVar
4
+ from logging import getLogger
5
5
 
6
6
  import click
7
7
  import django
8
8
  from django.conf import settings
9
9
  from django.db import connection
10
- from django.db.utils import InterfaceError, DatabaseError
10
+ from django.db.utils import DatabaseError, InterfaceError
11
11
  from gunicorn.workers.sync import SyncWorker
12
12
 
13
13
  from pulpcore.app.apps import pulp_plugin_configs
@@ -88,6 +88,13 @@ class PulpcoreApiApplication(PulpcoreGunicornApplication):
88
88
  PulpApiWorker.__module__ + "." + PulpApiWorker.__qualname__,
89
89
  enforced=True,
90
90
  )
91
+ # Gunicorn's default for max_requests is 0 (unlimited worker lifetime). Apply Pulp defaults
92
+ # only when the user did not pass --max-requests on the pulpcore-api CLI. An explicit
93
+ # --max-requests 0 means "disable recycling" and must not be replaced.
94
+ if self.cfg.max_requests == 0 and self.options.get("max_requests") is None:
95
+ self.cfg.set("max_requests", 10000)
96
+ if self.options.get("max_requests_jitter") is None:
97
+ self.cfg.set("max_requests_jitter", 500)
91
98
 
92
99
  def load(self):
93
100
  using_pulp_api_worker.set(True)
@@ -119,8 +126,7 @@ class PulpcoreApiApplication(PulpcoreGunicornApplication):
119
126
  "--access-logformat",
120
127
  "access_log_format",
121
128
  default=(
122
- "pulp [%({correlation-id}o)s]: "
123
- '%(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s"',
129
+ 'pulp [%({correlation-id}o)s]: %(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s"',
124
130
  ),
125
131
  )
126
132
  @click.option("--error-logfile", "--log-file", "errorlog")
@@ -5,8 +5,7 @@ from django.core.files.uploadedfile import TemporaryUploadedFile
5
5
  from django.core.files.uploadhandler import TemporaryFileUploadHandler
6
6
  from pygtrie import StringTrie
7
7
 
8
- from pulpcore.app import models
9
- from pulpcore.app import pulp_hashlib
8
+ from pulpcore.app import models, pulp_hashlib
10
9
 
11
10
 
12
11
  class PulpTemporaryUploadedFile(TemporaryUploadedFile):
@@ -1,23 +1,23 @@
1
- import os
2
1
  import io
3
2
  import json
3
+ import logging
4
+ import os
4
5
  import tarfile
5
6
  import tempfile
6
- import logging
7
7
 
8
8
  from django.conf import settings
9
9
  from django.db.models.query import QuerySet
10
10
 
11
11
  from pulpcore.app.apps import get_plugin_config
12
- from pulpcore.app.models.content import Artifact
13
- from pulpcore.app.models.progress import ProgressReport
14
- from pulpcore.app.models.repository import Repository
15
12
  from pulpcore.app.modelresource import (
16
13
  ArtifactResource,
17
14
  ContentArtifactResource,
18
15
  RepositoryResource,
19
16
  )
20
- from pulpcore.constants import TASK_STATES, EXPORT_BATCH_SIZE
17
+ from pulpcore.app.models.content import Artifact
18
+ from pulpcore.app.models.progress import ProgressReport
19
+ from pulpcore.app.models.repository import Repository
20
+ from pulpcore.constants import EXPORT_BATCH_SIZE, TASK_STATES
21
21
 
22
22
  log = logging.getLogger(__name__)
23
23
 
@@ -1,14 +1,10 @@
1
1
  import os
2
-
3
- import gnupg
4
-
5
- from pathlib import Path
6
-
7
2
  from gettext import gettext as _
3
+ from pathlib import Path
8
4
 
9
- from django.core.management import BaseCommand, CommandError
10
-
5
+ import gnupg
11
6
  from django.apps import apps
7
+ from django.core.management import BaseCommand, CommandError
12
8
  from django.db.utils import IntegrityError
13
9
 
14
10
  from pulpcore.app.models.content import SigningService as BaseSigningService
@@ -3,7 +3,7 @@ from gettext import gettext as _
3
3
  from django.core.management import BaseCommand, CommandError
4
4
  from django.urls import reverse
5
5
 
6
- from pulpcore.app.models import Publication, Artifact, Distribution
6
+ from pulpcore.app.models import Artifact, Distribution, Publication
7
7
  from pulpcore.app.util import get_view_name_for_model
8
8
 
9
9
 
@@ -1,13 +1,12 @@
1
1
  from gettext import gettext as _
2
2
 
3
- from django.db import connection
3
+ import cryptography
4
4
  from django.conf import settings
5
5
  from django.core.management import BaseCommand
6
+ from django.db import connection
6
7
  from django.db.models import Q
7
8
  from django.utils.encoding import force_bytes, force_str
8
9
 
9
- import cryptography
10
-
11
10
  from pulpcore.app.models import Remote
12
11
 
13
12
 
@@ -1,15 +1,15 @@
1
- from gettext import gettext as _
2
1
  import logging
3
2
  import os
3
+ from gettext import gettext as _
4
4
 
5
5
  from django.core.exceptions import ObjectDoesNotExist
6
6
  from django.core.management import BaseCommand, CommandError
7
7
 
8
- from pulpcore.app.models import Publication, Distribution
8
+ from pulpcore.app.models import Distribution, Publication
9
9
  from pulpcore.app.tasks.export import (
10
- _export_publication_to_file_system,
11
- _export_location_is_clean,
12
10
  UnexportableArtifactException,
11
+ _export_location_is_clean,
12
+ _export_publication_to_file_system,
13
13
  )
14
14
  from pulpcore.app.viewsets.base import NamedModelViewSet
15
15
  from pulpcore.constants import FS_EXPORT_METHODS
@@ -1,10 +1,11 @@
1
+ import logging
1
2
  import os
2
-
3
3
  from gettext import gettext as _
4
4
 
5
5
  from django.conf import settings
6
6
  from django.core.management import BaseCommand, CommandError
7
7
  from django.db.models import Q, Sum
8
+
8
9
  from pulpcore import constants
9
10
  from pulpcore.app import pulp_hashlib
10
11
  from pulpcore.plugin.models import (
@@ -15,8 +16,6 @@ from pulpcore.plugin.models import (
15
16
  RepositoryVersion,
16
17
  )
17
18
 
18
- import logging
19
-
20
19
  log = logging.getLogger("")
21
20
 
22
21
  CHUNK_SIZE = 1024 * 1024 # 1 Mb
@@ -136,7 +135,7 @@ class Command(BaseCommand):
136
135
  restored = True
137
136
  break
138
137
  if not restored:
139
- self.stdout.write(_("Deleting unrepairable file {}".format(file_path)))
138
+ self.stdout.write(_("Deleting unrepairable file {}").format(file_path))
140
139
  artifact.file.delete(save=False)
141
140
  else:
142
141
  break
@@ -4,12 +4,10 @@ from django.core.management.base import BaseCommand, CommandError
4
4
  from django.http import HttpRequest
5
5
  from django.utils import translation
6
6
  from django.utils.module_loading import import_string
7
-
8
- from rest_framework.request import Request
9
-
10
7
  from drf_spectacular.renderers import OpenApiJsonRenderer, OpenApiYamlRenderer
11
8
  from drf_spectacular.settings import patched_settings
12
9
  from drf_spectacular.validation import validate_schema
10
+ from rest_framework.request import Request
13
11
 
14
12
  from pulpcore.openapi import PulpSchemaGenerator
15
13
 
@@ -1,14 +1,13 @@
1
1
  import time
2
-
3
2
  from gettext import gettext as _
4
3
 
5
4
  from django.apps import apps
6
- from django.db import connection, IntegrityError
7
- from django.db.migrations.exceptions import IrreversibleError
8
- from django.db.models.signals import post_migrate
9
5
  from django.conf import settings
10
6
  from django.contrib.contenttypes.models import ContentType
11
- from django.core.management import BaseCommand, call_command, CommandError
7
+ from django.core.management import BaseCommand, CommandError, call_command
8
+ from django.db import IntegrityError, connection
9
+ from django.db.migrations.exceptions import IrreversibleError
10
+ from django.db.models.signals import post_migrate
12
11
 
13
12
  from pulpcore.app.apps import pulp_plugin_configs
14
13
  from pulpcore.app.models import AccessPolicy, ContentAppStatus, Worker
@@ -1,10 +1,8 @@
1
1
  from gettext import gettext as _
2
2
 
3
- from django.core.management import BaseCommand, CommandError
4
-
5
- from django.core.exceptions import ObjectDoesNotExist
6
-
7
3
  from django.apps import apps
4
+ from django.core.exceptions import ObjectDoesNotExist
5
+ from django.core.management import BaseCommand, CommandError
8
6
  from django.db.utils import IntegrityError
9
7
 
10
8
  from pulpcore.app.models.content import SigningService as BaseSigningService
@@ -1,14 +1,14 @@
1
1
  import json
2
2
  import re
3
3
  import sys
4
+ from argparse import RawDescriptionHelpFormatter
4
5
  from gettext import gettext as _
5
6
 
6
- from argparse import RawDescriptionHelpFormatter
7
- from django.core.management import BaseCommand, CommandError
8
7
  from django.conf import settings
8
+ from django.core.management import BaseCommand, CommandError
9
9
 
10
10
  from pulpcore.app.models import Repository
11
- from pulpcore.app.util import get_url, extract_pk
11
+ from pulpcore.app.util import extract_pk, get_url
12
12
 
13
13
 
14
14
  def gather_repository_sizes(repositories, include_versions=False, include_on_demand=False):
@@ -1,6 +1,5 @@
1
- import string
2
1
  import secrets
3
-
2
+ import string
4
3
  from getpass import getpass
5
4
  from gettext import gettext as _
6
5