- Made sure that Pulp doesn't publish repos with duplicate NEVRA in some edge case scenarios. [2407](https://github.com/pulp/pulp_rpm/issues/2407) - Allow syncing repositories with duplicate NEVRA in mirror_complete mode, but make sure syncing those packages are skipped. [2691](https://github.com/pulp/pulp_rpm/issues/2691)
---
3.17.9
Bugfixes
- Don't raise a fatal error when encountering mostly valid metadata that contains data we don't expect, or data in the wrong places, in situations where it doesn't really matter. [2686](https://github.com/pulp/pulp_rpm/issues/2686)
---
3.17.8
Bugfixes
- Improved error reporting in one scenario where it could be highly confusing. [2395](https://github.com/pulp/pulp_rpm/issues/2395) - Fix package temporary upload path. [2403](https://github.com/pulp/pulp_rpm/issues/2403) - Using retain_package_versions (with the required "additive" sync_policy) will now avoid downloading the older packages when synced with download_policy "on_demand", resulting in much faster and more efficient syncs. [2479](https://github.com/pulp/pulp_rpm/issues/2479) - Improved error message for Alternate Content Source refresh when it has insufficient permissions. [2667](https://github.com/pulp/pulp_rpm/issues/2667)
- Fixed an issue that could cause orphan cleanup to fail for certain repos. [2459](https://github.com/pulp/pulp_rpm/issues/2459) - Fixed unix timestamps not being parsed correctly for issued and updated dates. [2528](https://github.com/pulp/pulp_rpm/issues/2528) - Fix a small FD leak during complete mirror syncs [2624](https://github.com/pulp/pulp_rpm/issues/2624)
- RPM metadata is now sorted by package name and version information, which slightly improves compression efficiency. [2274](https://github.com/pulp/pulp_rpm/issues/2274)
Bugfixes
- Fixed treeinfo processing to handle some very old treeinfo formats. [2243](https://github.com/pulp/pulp_rpm/issues/2243)