REST API
Features
- Added check to prevent users from adding checksums to `ALLOWED_CONTENT_CHECKSUMS` if there are
Artifacts without those checksums.
[7487](https://pulp.plan.io/issues/7487)
- Django admin site URL is configurable via ADMIN_SITE_URL settings parameter.
[7637](https://pulp.plan.io/issues/7637)
- Always set a default for DJANGO_SETTINGS_MODULE. This means the services files don't need to.
[7720](https://pulp.plan.io/issues/7720)
Bugfixes
- Fix a warning inappropriately logged when cancelling a task.
[4559](https://pulp.plan.io/issues/4559)
- When a task is canceled, we now set the state of all incomplete "progress reports" to canceled as well.
[4921](https://pulp.plan.io/issues/4921)
- Properly handle duplicate content during synchronization and migration from Pulp 2 to 3.
[7147](https://pulp.plan.io/issues/7147)
- Enable content streaming for RepositoryVersionDistribution
[7568](https://pulp.plan.io/issues/7568)
- Change dropped DRF filter to django urlize.
[7634](https://pulp.plan.io/issues/7634)
- Added some more files to MANIFEST.in.
[7656](https://pulp.plan.io/issues/7656)
- Updated dynaconf requirement to prevent use of older buggy versions.
[7682](https://pulp.plan.io/issues/7682)
Improved Documentation
- Updated examples of auto-distribution.
[5247](https://pulp.plan.io/issues/5247)
- Improved testing section in Pulp contributor docs.
Mentioned prestart, pminio, pfixtures and phelp.
[7475](https://pulp.plan.io/issues/7475)
- Fix an erroneous API endpoint in the "upload and publish" workflow documentation.
[7655](https://pulp.plan.io/issues/7655)
- Documented that we don't support backporting migrations.
[7657](https://pulp.plan.io/issues/7657)
Plugin API
Improved Documentation
- Removed mentions of semver in the plugin API docs, and replaced them with a link to the deprecation policy where appropriate.
[7555](https://pulp.plan.io/issues/7555)