|
8 | 8 |
|
9 | 9 | [//]: # (towncrier release notes start) |
10 | 10 |
|
| 11 | +## 3.115.1 (2026-07-21) {: #3.115.1 } |
| 12 | + |
| 13 | +### REST API {: #3.115.1-rest-api } |
| 14 | + |
| 15 | +No significant changes. |
| 16 | + |
| 17 | +### Plugin API {: #3.115.1-plugin-api } |
| 18 | + |
| 19 | +No significant changes. |
| 20 | + |
| 21 | +### Pulp File {: #3.115.1-pulp-file } |
| 22 | + |
| 23 | +No significant changes. |
| 24 | + |
| 25 | +### Pulp Cert Guard {: #3.115.1-pulp-cert-guard } |
| 26 | + |
| 27 | +No significant changes. |
| 28 | + |
| 29 | +--- |
| 30 | + |
| 31 | +## 3.115.0 (2026-07-21) {: #3.115.0 } |
| 32 | + |
| 33 | +### REST API {: #3.115.0-rest-api } |
| 34 | + |
| 35 | +#### Features {: #3.115.0-rest-api-feature } |
| 36 | + |
| 37 | +- Add `/v4/` API to Pulp. |
| 38 | + |
| 39 | + This adds a `/v4/` API path to Pulp, in parallel to the existing `/v3/` path. The two |
| 40 | + are currently (nearly) identical APIs - see the `/pulp/api/v4/status/` ouput for the |
| 41 | + only (current) end-user-visible impact. |
| 42 | + |
| 43 | + This change is primarily setting the stage to allow for future API changes and growth. |
| 44 | + It is in TECH PREVIEW, and is likely to have significant changes happening to it as we |
| 45 | + continue integrating into the rest of the Pulp architecture. |
| 46 | + [#6462](https://github.com/pulp/pulpcore/issues/6462) |
| 47 | +- Allow commas in `pulp_labels` values. To filter for labels containing commas, escape them |
| 48 | + with a backslash (e.g. `?pulp_label_select=key=val\,ue`). |
| 49 | + [#7789](https://github.com/pulp/pulpcore/issues/7789) |
| 50 | +- Optimized response time when filtering repository versions by content. |
| 51 | + [#7799](https://github.com/pulp/pulpcore/issues/7799) |
| 52 | +- Added `saml2` as a dependency option accompanied by the `SAML_CONFIG` setting. |
| 53 | + |
| 54 | +#### Bugfixes {: #3.115.0-rest-api-bugfix } |
| 55 | + |
| 56 | +- Fixed content app directory listing generating broken links when distribution base paths contain colons. |
| 57 | + [#6955](https://github.com/pulp/pulpcore/issues/6955) |
| 58 | +- Fixed `RelatedField` rendering wrong domain in hrefs when `DOMAIN_ENABLED=True`. |
| 59 | + [#7835](https://github.com/pulp/pulpcore/issues/7835) |
| 60 | +- Fixed `RepositoryVersion.remove_content` failing when the queryset is derived from `self.content` and the repository version contains >= 65,535 content items. The lazy queryset was re-evaluated after `content_ids` was already updated, causing `RepositoryContent` entries to be left orphaned. |
| 61 | + [#7851](https://github.com/pulp/pulpcore/issues/7851) |
| 62 | +- Fixed a race condition when creating content with `file_url` or `upload` that could result in a duplicate artifact error. |
| 63 | +- Fixed delete timeouts when removing repositories or repository versions with large numbers of PublishedArtifacts by batching bulk deletes and avoiding nested subqueries that produce poor PostgreSQL execution plans. |
| 64 | +- Improved validation of relative paths to prevent a path traversal attack in filesystem exports. (CVE-2026-12701) |
| 65 | +- Stopped shipping an insecure default as DJANGO_SECRET. |
| 66 | + |
| 67 | +#### Improved Documentation {: #3.115.0-rest-api-doc } |
| 68 | + |
| 69 | +- Reformatted and partially rewrote the Pull-Request Walkthrough. |
| 70 | + |
| 71 | +#### Removals {: #3.115.0-rest-api-removal } |
| 72 | + |
| 73 | +- Drop support for running with Django 4. |
| 74 | + [#7343](https://github.com/pulp/pulpcore/issues/7343) |
| 75 | + |
| 76 | +### Plugin API {: #3.115.0-plugin-api } |
| 77 | + |
| 78 | +#### Features {: #3.115.0-plugin-api-feature } |
| 79 | + |
| 80 | +- Added `pulp_domain` to `TaskSchedule` so scheduled tasks dispatch in the correct domain. Name uniqueness is now per domain. |
| 81 | + [#7829](https://github.com/pulp/pulpcore/issues/7829) |
| 82 | + |
| 83 | +#### Removals {: #3.115.0-plugin-api-removal } |
| 84 | + |
| 85 | +- Made `content_ids` cache required with forceful migration and removed the `/pulp/api/v3/datarepair/7465/` endpoint. This **will** run a migration that could take a while if you haven't already run the datarepair endpoint. |
| 86 | + [#7466](https://github.com/pulp/pulpcore/issues/7466) |
| 87 | +- Deactivated dynaconf boxify. This can affect plugins that access nested settings via dot instead of subscribing. |
| 88 | + |
| 89 | +### Pulp File {: #3.115.0-pulp-file } |
| 90 | + |
| 91 | +#### Features {: #3.115.0-pulp-file-feature } |
| 92 | + |
| 93 | +- Added sync optimization that skips re-syncing when the remote manifest has not changed. An `optimize` flag on the sync endpoint (default `True`) allows forcing a full sync when needed. |
| 94 | + |
| 95 | +### Pulp Cert Guard {: #3.115.0-pulp-cert-guard } |
| 96 | + |
| 97 | +No significant changes. |
| 98 | + |
| 99 | +--- |
| 100 | + |
11 | 101 | ## 3.114.2 (2026-07-20) {: #3.114.2 } |
12 | 102 |
|
13 | 103 | ### REST API {: #3.114.2-rest-api } |
|
0 commit comments