Changelog¶
3.16.2 (2021-12-22)¶
Bugfixes¶
- Fixed sync of repositories using ‘sha’ as an alias for the sha1 checksum-type. (backported from #9580) #9624
- In case that only a subtree is synced, it can happen that the PRIMARY_REPO key does not exists in repo_sync_results and the sync failed with accessing a not existing key at the end. (backported from #9565) #9628
- Ensured that RPM plugin uses only a worker working directory and not /tmp which could have caused the out-of-disc-space issue since it’s not expected that Pulp uses /tmp. (backported from #9551) #9629
- Fixed FileNotFoundError during sync and Pulp 2 to Pulp 3 migration when a custom repo metadata has its checksum as a filename. (backported from #9636) #9650
- Fix HTTP-proxy support for ULN-remotes (backported from #9647) #9653
3.16.1 (2021-10-27)¶
Bugfixes¶
- Fixed a bug that could result in incomplete repo metadata when “mirror_complete” sync policy is combined with the “optimize” option. (backported from #9535) #9536
- Fixed a regression dealing with downloads of filenames containing special characters. Specifically, synching Amazon linux repositories with RPMs like uuid-c++. (backported from #9529) #9537
3.16.0 (2021-10-20)¶
Features¶
- Added a sync_policy parameter to the /sync/ endpoint which will replace the mirror parameter and provides additional options and flexibility about how the sync should be carried out. The mirror parameter is now deprecated but for backwards compatibility it will remain present. #9316
- Make sync optimization less sensitive to remote changes which wouldn’t have any impact on the sync outcomes, and fix some situations where the sync should not be skipped. #9398
Bugfixes¶
Fixed metadata generation after changing ALLOWED_CONTENT_CHECKSUMS. #8571
For certain repos which use a rare feature of RPM metadata, “mirroring” would lead to a surprising / suboptimal result for most Pulp users. We now reject syncing these repos with mirroring enabled. #9303
Fix an error that could occur when performing a non-mirror sync while using the skip_types option. #9308
For certain repos which use a rare feature of RPM metadata, “mirroring” would lead to a broken repo. We now reject syncing these repos with mirroring enabled. #9328
Fixes a regression in support for syncing from mirrorlists. #9329
Fix an edge case where the repo gpg key URL would be calculated incorrectly if CONTENT_PREFIX was set to “/”. #9350
Vastly improved copy-with-depsolving performance. #9387
For certain repos which use Delta RPMs (which Pulp 3 does not and will not support) we now reject syncing these repos with mirroring enabled to avoid confusing clients with unusable Delta metadata. #9407
Generated .repo file now includes the “name” field. #9438
Use checksum type of a package for publication if it’s not configured. #9448
Restored the functionality of specifying basic-auth parameters in a remote’s URL.
NOTE: it’s much better to specify username/pwd explcitly on the Remote, rather than relying on embedding them in the URL. This fix will probably be deprecated in the future. #9464
Fixed an issue where some repositories were unnecessarily prevented from using mirror-mode sync. #9486
Disallowed adding simultaneously multiple advisories with the same id to a repo. Resolved the case when two or more advisories were already in a repo version. #9503
3.15.0 (2021-08-27)¶
Features¶
- Enable reclaim disk space for packages. This feature is available with pulpcore 3.15+. #9176
Bugfixes¶
- Taught pulp_rpm to be more lenient in the face of non-standard repos. #7208
- Fixed multiple bugs in distribution tree metadata generation regarding “variant” and “variants” metadata. #8622
- Fixed Pulp 3 to Pulp 2 sync for the package groups with empty packagelist, e.g. RHEL8 Appstream repository. #8713
- Taught downloader to be handle rpms with special characters in ways Amazon likes. #8875
- Fixed some errors that can occur on occasions when identical content is being synced from multiple sources at once. #9029
- Comply with orphan clean up changes introduced in pulpcore 3.15 #9151
- Unpublished content is no longer available for consumption. #9223
- Fixed an issue where mirror-mode syncs would not provide all of the files described in the .treeinfo metadata. #9230
- Taught copy-depsolving to behave better in a multiarch environment. #9238
- Fixed bug where sync tasks would open a lot of DB connections. #9253
- Improved the parallelism of copy operations. #9255
- Taught copy/ API to only do depsolving once when asked for. #9287
3.14.7 (2021-10-18)¶
3.14.6 (2021-10-05)¶
3.14.5 (2021-09-29)¶
Bugfixes¶
Generated .repo file now includes the “name” field. (backported from #9438) #9439
Use checksum type of a package for publication if it’s not configured.
(backported from #9448) #9449
Restored the functionality of specifying basic-auth parameters in a remote’s URL.
NOTE: it’s much better to specify username/pwd explcitly on the Remote, rather than relying on embedding them in the URL. This fix will probably be deprecated in the future. (backported from #9464) #9472
3.14.4 (2021-09-22)¶
Bugfixes¶
- Fixed metadata generation after changing ALLOWED_CONTENT_CHECKSUMS. (backported from #8571) #9332
- Vastly improved copy-with-depsolving performance. (backported from #9387) #9388
- For certain repos which use a rare feature of RPM metadata, “mirroring” would lead to a broken repo. We now reject syncing these repos with mirroring enabled. (backported from #9328) #9392
- Fixes a regression in support for syncing from mirrorlists. (backported from #9329) #9394
- For certain repos which use Delta RPMs (which Pulp 3 does not and will not support) we now reject syncing these repos with mirroring enabled to avoid confusing clients with unusable Delta metadata. (backported from #9407) #9408
- Fix an edge case where the repo gpg key URL would be calculated incorrectly if CONTENT_PREFIX was set to “/”. (backported from #9350) #9429
3.14.3 (2021-08-31)¶
Bugfixes¶
- Taught copy-depsolving to behave better in a multiarch environment. (backported from #9238) #9293
- Taught copy/ API to only do depsolving once when asked for. (backported from #9287) #9298
- Fix an error that could occur when performing a non-mirror sync while using the skip_types option. (backported from #9308) #9312
- For certain repos which use a rare feature of RPM metadata, “mirroring” would lead to a surprising / suboptimal result for most Pulp users. We now reject syncing these repos with mirroring enabled. (backported from #9303) #9315
3.14.1 (2021-08-11)¶
Bugfixes¶
- Taught pulp_rpm to be more lenient in the face of non-standard repos. (backported from #7208) #9192
- Fixed Pulp 3 to Pulp 2 sync for the package groups with empty packagelist, e.g. RHEL8 Appstream repository. (backported from #8713) #9193
- Taught downloader to be handle rpms with special characters in ways Amazon likes. (backported from #8875) #9198
- Fixed multiple bugs in distribution tree metadata generation regarding “variant” and “variants” metadata. (backported from #8622) #9218
- Unpublished content is no longer available for consumption. (backported from #9223) #9226
3.14.0 (2021-07-24)¶
Bugfixes¶
- Taught pulp_rpm how to deal with timestamp and filename oddities of SUSE repos. #8275
- Updated the signing service code to be compatible with pulpcore 3.10+. #8608
- Fixed inclusion by package group of an additional version of packages already selected to be copied #9055
- User proxy auth credentials of a Remote when syncing content. #9064
- Fixed server error when accessing /config.repo while using auto-distribute #9071
- Fixed a SUSE sync-error involving repomd-extra files with ‘-’ in their filename. #9096
- Fix repository “mirroring” for repositories with Kickstart metadata / “Distribution Trees”. #9098
- The fix for a previous issue resulting in incorrect metadata (#8995) was still regressing in some circumstances. Implemented a complete fix and added tests to ensure it never recurs. #9107
- Fixed an issue where mirrored syncs could fail if extra_files.json declared a checksum of a type that was disallowed in the Pulp settings. #9111
3.13.3 (2021-07-07)¶
Bugfixes¶
Bugfixes¶
- Taught sync to process modulemd before packages so is_modular can be known. (backported from #8952) #8964
3.13.1 (2021-06-23)
Bugfixes¶
- Fix filelists and changelogs not always being parsed correctly. (backported from #8955) #8961
- Fix an AssertionError that could occur when processing malformed (but technically valid) metadata. (backported from #8944) #8962
3.13.0 (2021-06-17)
Features¶
- A sync with mirror=True will automatically create a publication using the existing metadata downloaded from the original repo, keeping the repository signature intact. #6353
- Allow the checksum types for packages and metadata to be unspecified, and intelligently decide which ones to use based on context if so. #8722
- Auto-publish no longer modifies distributions.
Auto-distribute now only requires setting a distribution’s
repository
field. #8759 - Substantially improved memory consumption while processing extremely large repositories. #8864
Bugfixes¶
3.12.0 (2021-05-19)¶
Features¶
Bugfixes¶
- Fixed advisory upload-and-merge of already-existing advisories. #7282
- Taught pulp_rpm to order resources on export to avoid deadlocking on import. #7904
- Reduce memory consumption when syncing extremely large repositories. #8467
- Fix error when updating a repository. #8546
- Fixed sync/migration of the kickstart repositories with floating point build_timestamp. #8623
- Fixed a bug where publication used the default metadata checksum type of SHA-256 rather than the one requested by the user. #8644
- Fixed advisory-upload so that a failure no longer breaks uploads forever. #8683
- Fixed syncing XZ-compressed modulemd metadata, e.g. CentOS Stream “AppStream” #8700
- Fixed a workflow where two identical advisories could ‘look different’ to Pulp. #8716
3.11.2 (2021-08-24)¶
Bugfixes¶
- Taught pulp_rpm how to deal with timestamp and filename oddities of SUSE repos. (backported from #8275) #9113
- Fixed Pulp 3 to Pulp 2 sync for the package groups with empty packagelist, e.g. RHEL8 Appstream repository. (backported from #8713) #9195
- Taught pulp_rpm to be more lenient in the face of non-standard repos. (backported from #7208) #9285
3.11.1 (2021-05-31)¶
3.11.0 (2021-05-18)¶
Bugfixes¶
- Fixed syncing XZ-compressed modulemd metadata, e.g. CentOS Stream “AppStream” (backported from #8700) #8751
- Fixed a bug where publication used the default metadata checksum type of SHA-256 rather than the one requested by the user. (backported from #8644) #8752
- Reduce memory consumption when syncing extremely large repositories. (backported from #8467) #8753
3.10.0 (2021-03-25)¶
Features¶
Added the ALLOW_AUTOMATIC_UNSAFE_ADVISORY_CONFLICT_RESOLUTION configuration option.
When set to True, overrides Pulp’s advisory-merge logic regarding ‘suspect’ advisory collisions at sync and upload time and simply processes the advisory. #8250
Bugfixes¶
Taught pulp_rpm how to handle remotes whose URLs do not end in ‘/’.
Specifically, some mirrors (e.g. Amazon2) return remotes like this. #7995
Caught remaining places that needed to know that ‘sha’ is an alias for ‘sha1’.
Very old versions of createrepo used ‘sha’ as a checksum-type for ‘sha-1’. The recent ALLOWED_CHECKSUMS work prevented repositories created this way from being synchronized or published. #8052
Fixed DistributionTree parsing for boolean fields which could cause a failure at sync or migration time. #8245
Taught advisory-conflict-resolution how to deal with another edge-case. #8249
Fixed regression in advisory-upload when pkglist included in advisory JSON. #8380
Fixed the case when no package checksum type cofiguration is provided for publications created outside, not by RPM plugin endpoints. E.g. in pulp-2to3-migration plugin. #8422
3.9.1 (2021-03-11)¶
3.9.0 (2021-02-04)¶
Features¶
Bugfixes¶
- Fixed content serialization so it displays content checksums. #8002
- Fixing OpenAPI schema for on demand Distribution Trees #8050
- Fix a mistake in RPM copy that could lead to modules being copied when they should not be. #8091
- Fixed a mistake in dependency calculation code which could result in incorrect copy results and errors. #8114
- Fixed a bug that occurs when publishing advisories without an “updated” date set, which includes SUSE advisories. #8162
Improved Documentation¶
3.8.0 (2020-11-12)¶
Features¶
- Added new fields allowing users to customize gpgcheck signature options in a publication. #6926
Bugfixes¶
- Fixed re-syncing of custom repository metadata when it was the only change in a repository. #7030
- User should not be able to remove distribution trees, custom repository metadata and comps if they are used in repository. #7431
- Raise ValidationError when other type than JSON is provided during Advisory upload. #7468
- Added handling of HTTP 403 Forbidden during DistributionTree detection. #7691
- Fixed the case when downloads were happening outside of the task working directory during sync. #7698
Improved Documentation¶
3.6.2 (2020-09-04)¶
Bugfixes¶
- Fixed a bug where dependency solving did not work correctly with packages that depend on files, e.g. depending on /usr/bin/bash. #7202
- Fixed crashes while copying SRPMs with depsolving enabled. #7290
- Fix sync using proxy server. #7321
- Fix sync from mirrorlist with comments (like fedora’s mirrorlist). #7354
- Copying advisories/errata no longer fails if one of the packages is not present in the repository. #7369
- Fixing OpenAPI schema for Variant #7394
3.6.0 (2020-08-17)¶
Features¶
- Taught advisory-merge to proactively avoid package-collection-name collisions. #5740
- Added the ability for users to import and export distribution trees. #6739
- Added import/export support for remaining advisory-related entities. #6815
- Allow a Remote to be associated with a Repository and automatically use it when syncing the Repository. #7159
- Improved publishing performance by around 40%. #7289
3.5.1 (2020-08-11)¶
3.5.0 (2020-07-24)¶
Features¶
- Add a retention policy feature - when specified, the latest N versions of each package will be kept and older versions will be purged. #5367
- Add support for comparing Packages by EVR (epoch, version, release). #5402
- Added support for syncing from a mirror list feed #6225
- Comps types (PackageCategory, PackageEnvironment, PackageGroup) can copy its children. #6316
- Added support for syncing Suse enterprise repositories with authentication token. #6729
Bugfixes¶
- Fixed the sync issue for repositories with the same metadata files but different filenames. E.g. productid in RHEL8 BaseOS and Appstream. #5847
- Fixed an issue with an incorrect copy of a distribution tree. #7046
- Fixed a repository deletion when a distribution tree is a part of it. #7096
- Corrected several viewset-filters to be django-filter-2.3.0-compliant. #7103
- Allow only one distribution tree in a repo version at a time. #7115
- API is able to show modular data on advisory collection. #7116
Deprecations and Removals¶
3.4.0 (2020-06-01)¶
Features¶
- Distributions now serves a config.repo, and when signing is enabled also a public.key, in the base_path. #5356
Bugfixes¶
- Fixed the duplicated advisory case when only auxiliary fields were updated but not any timestamp or version. #6604
- Fixed dependency solving issue where not all RPM dependencies were coped. #6820
- Make ‘last_sync_revision_number’ nullable in all migrations. #6861
- Fixed a bug where the behavior of RPM advanced copy with dependency solving differed depending on the order of the source-destination repository pairs provided by the user. #6868
Improved Documentation¶
3.3.2 (2020-05-18)¶
3.3.0 (2020-04-21)¶
Features¶
- Add dependency solving for modules and module-defaults. #4162
- Add dependency solving for RPMs. #4761
- Add incremental update – copying an advisory also copies the RPMs that it references. #4768
- Enable users to publish a signed Yum repository #4812
- Add a criteria parameter to the copy api that can be used to filter content to by copied. #6009
- Added REST API for copying content between repositories. #6018
- Add a content parameter to the copy api that accepts a list of hrefs to be copied. #6019
- Functional test using bindings. #6061
- Added the field ‘sha256’ to the public API and enabled users to filter content by this field #6187
- Added a config param to copy api which maps multiple sources to destinations. #6268
- Default publish type is alphabetical directory structure under ‘Packages’ folder. #4445
- Enabled checksum selection when publishing metadata #4458
- Advisory version is considered at conflict resolution time. #5739
- Added support for opensuse advisories. #5829
- Optimize sync to only happen when there have been changes. #6055
- Store the checksum type (sum_type) for advisory packages as an integer, but continue displaying it to the user as a string. This brings the internal representation closer to createrepo_c which uses integers. #6442
- Add support for import/export processing #6473
Bugfixes¶
- Fix sync for repositories with modular content. #6229
- Properly compare modular content between the versions. #6303
- Deserialize treeinfo files in a scpecific order #6322
- Fixed the repo revision comparison and sync optimization for sub-repos #6367
- Fixed repository metadata that was pointing to wrong file locations. #6399
- Fixed modular advisory publication. #6440
- Fixed advisory publication, missing auxiliary fields were added. #6441
- Fixed publishing of module repodata. #6530
3.2.0 (2020-03-02)¶
Features¶
Bugfixes¶
- Fix absolute path error when parsing packages stored in S3 #5904
- Fix advisory conflict resolution to check current version first. #5924
- Handling float timestamp on treeinfo file #5989
- Raise error when content has overlapping relative_path on the same version #6152
- Fixed an issue causing module and module-default metadata to be stored incorrectly, and added a data migration to fix existing installations. #6191
- Fix REST API for Modulemd “Package” list - instead of returning PKs, return Package HREFs as intended. #6196
- Replace RepositorySyncURL with RpmRepositorySyncURL #6204
- Modulemd dependencies are now stored corectly in DB. #6214
3.1.0 (2020-02-03)¶
3.0.0 (2019-12-12)¶
Bugfixes¶
- Providing a descriptive error message for RPM repos with invalid metadata #4424
- Improve memory performance on syncing. #5688
- Improve memory performance on publishing. #5689
- Resolve the issue which disallowed users to publish uploaded content #5699
- Provide a descriptive error for invalid treeinfo files #5709
- Properly handling syncing when there is no treeinfo file #5732
- Fix comps.xml publish: missing group attributes desc_by_lang, name_by_lang, and default now appear properly. #5741
- Fix error when adding/removing modules to/from a repository. #5746
- Splitting content between repo and sub-repo #5761
- Allow empty string for optional fields for comps.xml content. #5856
- Adds fields from the inherited serializer to comps.xml content types’ displayed fields #5857
- Assuring uniqueness on publishing. #5861
Improved Documentation¶
- Document that sync must complete before kicking off a publish #5006
- Add requirements to docs. #5228
- Update installation docs to use system-wide-packages. #5564
- Remove one shot uploader references and info. #5747
- Add ‘Rest API’ to menu. #5749
- Refactor workflow commands to small scripts. #5750
- Rename ‘Errata’ to ‘Advisory’ for consistency. #5751
- Update docs to include modularity and comps support to features. Include core-provided browseable distributions in features. #5752
- Update docs to include Tech Preview section #5753
- Update Quickstart page #5754
- Rearrange installation page and add missing information #5755
- Rearrange workflows section to have individual menu items for each content type. #5758
- Add content type descriptions and their specifics. #5759
- Document python build dependencies that must be installed on CentOS / RHEL. #5841
3.0.0rc1 (2019-11-19)¶
Features¶
Support for advisory upload. #4012
Ensure there are no advisories with the same id in a repo version.
In case where there are two advisories with the same id, either one of them is chosen, or they are merged, or there is an error raised if there is no way to resolve advisory conflict. #4295
No duplicated content can be present in a repository version. #4898
Added sync and publish support for comps.xml types. #5495
Add/remove RPMs when a repo’s modulemd gets added/removed #5526
Make repositories “typed”. Repositories now live at a detail endpoint. Sync is performed by POSTing to {repo_href}/sync/ remote={remote_href}. #5625
Adding sub_repo field to RpmRepository #5627
Bugfixes¶
- Fix publication for sub repos #5630
- Fix ruby bindings for UpdateRecord. #5650
- Fix sync of a repo which contains modules and advisories. #5652
- Fix 404 when repo remote URL is without trailing slash. #5655
- Check that sections exist before parsing them. #5669
- Stopping to save JSONFields as String. #5671
- Handling missing trailing slashes on kickstart tree fetching #5677
- Not require ref_id and title for UpdateReference #5692
- Refactor treeinfo handling and fix publication for kickstarts #5729
Deprecations and Removals¶
Sync is no longer available at the {remote_href}/sync/ repository={repo_href} endpoint. Instead, use POST {repo_href}/sync/ remote={remote_href}.
Creating / listing / editing / deleting RPM repositories is now performed on /pulp/api/v3/rpm/rpm/ instead of /pulp/api/v3/repositories/. Only RPM content can be present in a RPM repository, and only a RPM repository can hold RPM content. #5625
Remove plugin managed repos #5627
Rename endpoints for content to be in plural form consistently
Endpoints removed -> added:
/pulp/api/v3/content/rpm/modulemd/ -> /pulp/api/v3/content/rpm/modulemds/ /pulp/api/v3/content/rpm/packagecategory/ -> /pulp/api/v3/content/rpm/packagecategories/ /pulp/api/v3/content/rpm/packageenvironment/ -> /pulp/api/v3/content/rpm/packageenvironments/ /pulp/api/v3/content/rpm/packagegroup/ -> /pulp/api/v3/content/rpm/packagegroups/ #5679
Rename module-defaults content endpoint for consistency
Endpoints removed -> added:
/pulp/api/v3/content/rpm/modulemd-defaults/ -> /pulp/api/v3/content/rpm/modulemd_defaults/ #5680
Remove /pulp/api/v3/rpm/copy/ endpoint
Removed the /pulp/api/v3/rpm/copy/ endpoint. To copy all content now with typed repos, use the modify endpoint on a repository. #5681
3.0.0b7 (2019-10-16)¶
Improved Documentation¶
Deprecations and Removals¶
- Change _id, _created, _last_updated, _href to pulp_id, pulp_created, pulp_last_updated, pulp_href #5457
- Removing repository from Addon/Variant serializers. #5516
- Moved endpoints for distribution trees and repo metadata files to /pulp/api/v3/content/rpm/distribution_trees/ and /pulp/api/v3/content/rpm/repo_metadata_files/ respectively. #5535
- Remove “_” from _versions_href, _latest_version_href #5548
3.0.0b4 (2019-07-03)¶
Features¶
- Add total counts to the sync progress report. #4503
- Greatly speed up publishing of a repository. #4591
- Add ability to copy content between repositories, content type(s) can be specified. #4716
- Renamed Errata/Update content to Advisory to better match the terminology of the RPM/DNF ecosystem. #4902
- Python bindings are now published nightly and with each release as pulp-rpm-client. Also Ruby bindings are published similarly to rubygems.org as pulp_rpm_client. #4960
- Override the Remote’s serializer to allow policy=’on_demand’ and policy=’streamed’. #5065
Bugfixes¶
Improved Documentation¶
3.0.0b3¶
- Improve documentation, including ansible installation and REST API docs
- Improve support of Errata content
- Bug fixes
- Compatibility with pulpcore-plugin-0.1.0rc2
3.0.0b2¶
- Add support for on_demand sync
- Add one-shot upload
- Performance improvements and bug fixes
- Compatibility with pulpcore-plugin-0.1.0rc1
3.0.0b1¶
Add support for basic sync/copy/publish of RPM packages and Errata content.
Check our documentation for the basic workflows.