Changelog¶
0.33.2 (2026-09-29)¶
Bugfixes¶
- Fixed the repository package catalog building a SQL
INlist of every content id, so a paged package list no longer aggregates the whole repository before applying limit and offset. #510
0.33.1 (2026-09-21)¶
Bugfixes¶
- Fixed ingested
maven-metadata.xmlfiles and their checksums getting a bogus version when the artifactId contains a digit, which defeated deduplication and produced duplicate relative paths. #503
0.33.0 (2026-09-18)¶
Features¶
- Add opt-in Maven path indexes published synchronously to S3 before repository version completion. Use committed manifest descriptors and a shared pod cache for eligible content requests; fail modify if publication fails. Serve HTML listings inline through the shared indexed artifact response with HTTP cache validators and no separate local page cache. Use the repository label as the only feature switch, inherit S3 configuration from the domain, and fix background view preparation at two threads per content process. #498
Bugfixes¶
- Fixed an HTTP 500 (IntegrityError) when the same Maven artifact or metadata file was uploaded concurrently; duplicate uploads are now handled idempotently. #499
Improved Documentation¶
- Document synchronous path-index publication, completed-version descriptors, failure recovery, and terminology. #498
Misc¶
0.32.0 (2026-09-16)¶
Bugfixes¶
- Store repository Bloom filters in Redis instead of serializing them into pulp labels, avoiding large database writes whenever repository content changes. Grow full filters by 50 percent to reduce rebuild frequency for large repositories.
0.31.0 (2026-09-16)¶
Features¶
- Added ETag and Cache-Control headers to Maven index page responses to enable CDN conditional revalidation. #488
Bugfixes¶
- Load a repository version's ContentArtifacts in a single query when generating index pages during finalize_new_version, instead of one scan per affected directory, to fix a large-repository performance regression. #484
0.30.1 (2026-09-16)¶
Bugfixes¶
- Load a repository version's ContentArtifacts in a single query when generating index pages during finalize_new_version, instead of one scan per affected directory, to fix a large-repository performance regression. #484
0.30.0 (2026-09-15)¶
Removals¶
- Removed the redundant
add_cached_contentaction on Maven repositories. Content cached via pull-through is now added to the repository automatically when streamed from a remote, so the manual endpoint is no longer needed. #1939
0.29.0 (2026-09-14)¶
Features¶
- Added ability to configure a bloom filter on repositories to speed up requests to non-existant content. Add the pulp-label 'pulp_maven.bloom:
, ' to a repository to generate its filter.
0.28.0 (2026-09-14)¶
Features¶
- Added
search(contains ongroup_id/artifact_id;group:artifactANDs the two sides),last_updated, andorderingon the repository package catalog. Catalogversionsandlatest_releasesare newest-first. Creates thepg_trgmextension and GIN trigram indexes ongroup_idandartifact_id. A trailing.letters-...last-segment version suffix is a rebuild qualifier, so5.3.17.rhlw-00001and5.3.17.rhlw-00001-n0001share base version5.3.17. #450
Bugfixes¶
- Fixed O(N-directories) database query pattern in _generate_index_pages; all ContentArtifacts are now fetched in a single query and directory listings are computed in Python, reducing repair_index_pages runtime from hours to minutes for large repositories. #458
- Fixed [Errno 24] Too many open files crash in repair_index_pages by computing sha256 in memory before creating a temporary file, allowing existing artifacts to be returned immediately without opening any file descriptors. #461
- Fixed repair_index_pages storing artifacts in the default domain instead of the repository's domain when uploading in parallel, causing FileNotFoundError when the content app tried to serve the generated index pages. #465
- Fixed repair_index_pages crashing with "cannot enter context: already entered" when uploading artifacts in parallel. A shared contextvars.Context object cannot be entered concurrently by multiple ThreadPoolExecutor threads; replaced ctx.run() with set_domain() called at the start of each worker thread instead. #468
- Fixed finalize_new_version performance regression: the incremental _generate_index_pages path now fetches rc_dates only for encountered content IDs (not the entire version) and uploads HTML artifacts in parallel via _save_artifacts_batch instead of sequential S3 calls. #473
0.27.5 (2026-09-14)¶
Bugfixes¶
- Fixed finalize_new_version performance regression: the incremental _generate_index_pages path now fetches rc_dates only for encountered content IDs (not the entire version) and uploads HTML artifacts in parallel via _save_artifacts_batch instead of sequential S3 calls. #473
0.27.4 (2026-09-12)¶
Bugfixes¶
- Fixed repair_index_pages crashing with "cannot enter context: already entered" when uploading artifacts in parallel. A shared contextvars.Context object cannot be entered concurrently by multiple ThreadPoolExecutor threads; replaced ctx.run() with set_domain() called at the start of each worker thread instead. #468
0.27.3 (2026-09-12)¶
Bugfixes¶
- Fixed repair_index_pages storing artifacts in the default domain instead of the repository's domain when uploading in parallel, causing FileNotFoundError when the content app tried to serve the generated index pages. #465
0.27.2 (2026-09-12)¶
Bugfixes¶
- Fixed [Errno 24] Too many open files crash in repair_index_pages by computing sha256 in memory before creating a temporary file, allowing existing artifacts to be returned immediately without opening any file descriptors. #461
0.27.1 (2026-09-11)¶
Bugfixes¶
- Fixed O(N-directories) database query pattern in _generate_index_pages; all ContentArtifacts are now fetched in a single query and directory listings are computed in Python, reducing repair_index_pages runtime from hours to minutes for large repositories. #458
0.27.0 (2026-09-11)¶
Features¶
- Pre-generate HTML directory index pages during finalize_new_version so the content app serves them directly without the expensive on-demand list_directory() fallback. #453
0.26.0 (2026-09-02)¶
Features¶
- Added repository package catalog and metrics endpoints, plus
collapse_builds,base_version, andversion__startswithon the Maven package content API. Existing installs pick up access policy for the new actions on migrate unless the policy was customized. #441
0.25.1 (2026-07-28)¶
No significant changes.
0.25.0 (2026-07-28)¶
Features¶
- Added Role-Based Access Control (RBAC) to all Maven viewsets with granular permissions for repositories, remotes, distributions, and content. #308
- Added MavenPackage content type representing a logical Maven package at the GAV (groupId, artifactId, version) level. Packages are automatically created when artifacts are added to a repository and provide a searchable, read-only API endpoint at /pulp/api/v3/content/maven/package/. Note: the data migration backfills MavenPackage records from existing POM files and may take significant time on large instances with many artifacts. #2072
0.24.1 (2026-07-23)¶
No significant changes.
0.24.0 (2026-07-15)¶
Features¶
- Added automatic generation of
.meta/prefixes.txtfor Maven repositories. The file lists the top-level group ID prefixes available in the repository, allowing Maven clients to efficiently determine which repositories to query. #399
0.23.0 (2026-07-14)¶
Bugfixes¶
- Materialized stale metadata querysets before passing them to
remove_contentto preventcontent_ids/RepositoryContentmismatch on repositories with >= 65,535 content items. #405
Improved Documentation¶
- Added metadata management guide documenting automatic maven-metadata.xml generation, the simplified workflow without publications, and the repair_metadata endpoint. #387
Removals¶
- Removed MavenPublication model, publish task, and autopublish field from MavenRepository. Metadata is now generated incrementally during repository version creation via finalize_new_version, making the separate publish step unnecessary.
Action required: Before upgrading, all MavenDistributions must be switched from pointing at a publication to pointing at a repository directly. Distributions still referencing a publication after the upgrade will stop serving content. #387
0.22.1 (2026-07-09)¶
Bugfixes¶
- Materialized stale metadata querysets before passing them to
remove_contentto preventcontent_ids/RepositoryContentmismatch on repositories with >= 65,535 content items. #405
0.22.0 (2026-07-08)¶
Features¶
- Generate version-level maven-metadata.xml for SNAPSHOT versions in finalize_new_version and repair_metadata. #401
Bugfixes¶
- Fixed
repair_metadatanot removing orphaned metadata for(group_id, artifact_id)pairs that no longer have any correspondingMavenArtifactin the repository. Previously it returned early when no artifacts existed and only cleaned upversion=Nonemetadata, leaving version-level metadata behind. #394 - Fixed
repair_metadatafailing withAssertionErrorin pulpcore's_compute_counts()due tofinalize_new_versionredundantly running_generate_metadataafterrepair_metadatahad already managed all metadata content in the repository version. #395
0.21.2 (2026-07-07)¶
Bugfixes¶
- Fixed
repair_metadatanot removing orphaned metadata for(group_id, artifact_id)pairs that no longer have any correspondingMavenArtifactin the repository. Previously it returned early when no artifacts existed and only cleaned upversion=Nonemetadata, leaving version-level metadata behind. #394 - Fixed
repair_metadatafailing withAssertionErrorin pulpcore's_compute_counts()due tofinalize_new_versionredundantly running_generate_metadataafterrepair_metadatahad already managed all metadata content in the repository version. #395
0.21.1 (2026-07-07)¶
No significant changes.
0.21.0 (2026-07-03)¶
Features¶
- Add repair_metadata API endpoint to regenerate all maven-metadata.xml and checksum files for a Maven repository. #387.1
- Auto-generate maven-metadata.xml and checksum files (.md5, .sha1, .sha256) in finalize_new_version when artifacts are added or removed from a repository version. #387
Bugfixes¶
- Pull-through cache no longer saves maven-metadata.xml and its checksum sidecar files as persistent content. These files are now streamed directly from the remote so clients always get fresh metadata. #374
0.20.0 (2026-06-30)¶
Features¶
- Added MavenPublication model that auto-generates maven-metadata.xml and its checksum files (.md5, .sha1, .sha256) for all artifacts in a repository version. Added autopublish option to MavenRepository. #369
0.19.0 (2026-06-28)¶
Features¶
- Added repo_key_fields to MavenArtifact and MavenMetadata so that duplicate content is automatically replaced when new content with the same GAV and filename is added to a repository. #375
Bugfixes¶
- Fixed checksum sidecar files for maven-metadata.xml failing XML parsing. Checksum files now inherit GAV fields from their parent maven-metadata.xml content unit. #371
- Uploading invalid XML as maven-metadata.xml now returns a 400 Bad Request instead of a 500 Internal Server Error. #379
0.18.0 (2026-06-28)¶
Features¶
- Pull-through cached content is now automatically added to the repository when streamed from a remote, aligning with the behavior of other Pulp plugins (Python, RPM). #344
Bugfixes¶
- Fixed MavenMetadata GAV parsing to read groupId and artifactId from the XML content instead of the ambiguous relative path. #367
0.17.0 (2026-06-27)¶
Bugfixes¶
- Fixed a crash when uploading a file with labels via the synchronous upload endpoint.
0.16.1 (2026-06-26)¶
Bugfixes¶
- Fixed a crash when uploading a file with labels via the synchronous upload endpoint.
0.16.0 (2026-06-26)¶
Features¶
- Added an async upload API for Maven artifacts that supports file uploads, labels, and optionally adding content to a repository in a single request.
0.15.0 (2026-06-26)¶
Features¶
- The Maven Artifact create API now accepts file uploads in addition to artifact hrefs. #348
0.14.0 (2026-06-25)¶
Features¶
- Added
ModifyRepositoryActionMixintoMavenRepositoryViewSet, enabling the standard/modify/endpoint for adding and removing content units between Maven repositories.
0.13.0 (2026-06-12)¶
No significant changes.
0.12.0 (2026-01-08)¶
Features¶
- Bump pulpcore upperbound to <3.115.
0.11.0 (2025-08-14)¶
Bugfixes¶
- Fixed bug related to multi-gateway deployments. #268
Removals¶
- This release drops support for Python<3.11.
0.10.1 (2025-04-24)¶
Bugfixes¶
- Fixed bug related to multi-gateway deployments. #268
0.10.0 (2025-03-31)¶
Features¶
- Added domain support to the
mvn deployAPI. #258
0.9.0 (2025-02-27)¶
Features¶
- Adds domain support for the Pulp API. No support for maven deploy (yet). #244
Misc¶
0.8.3 (2025-02-25)¶
No significant changes.
0.8.2 (2025-02-06)¶
No significant changes.
0.8.1 (2024-06-20)¶
No significant changes.
0.8.0 (2023-12-20)¶
Features¶
- Changed the deploy api to use non blocking immediate tasks.
0.7.0 (2023-11-02)¶
Features¶
- Made plugin compatible with pulpcore 3.40+. #172
0.6.0 (2023-05-17)¶
Features¶
- Added ability to add cached content to a repository. #136
- Updated pulpcore compatibility to >=3.25.0,<3.40. #153
0.5.0 (2023-03-17)¶
Features¶
- Added ability to add cached content to a repository. #136
0.4.0 (2023-03-15)¶
Features¶
- Added ability to upload projects to repositories using the Maven Deploy Plugin. #115
Misc¶
0.3.3 (2022-06-22)¶
No significant changes.
0.3.2 (2021-12-16)¶
Bugfixes¶
- Added view_name to DetailRelatedField to prevent a warning. #8678
0.3.1 (2021-06-28) Misc
0.3.0 (2021-05-26)¶
Misc¶
YANKED 0.2.0 (2021-02-03)¶
Yank reason: lax dependencies
- Added compatibility with pulpcore 3.10.
YANKED 0.1.0 (2020-02-11)¶
Yank reason: lax dependencies
Improved Documentation¶
- Change the prefix of Pulp services from pulp-* to pulpcore-* #4554
Deprecations and Removals¶
-
Change _id, _created, _last_updated, _href to pulp_id, pulp_created, pulp_last_updated, pulp_href #5457
-
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 file repositories is now performed on /pulp/api/v3/maven/maven/ instead of /pulp/api/v3/repositories/. Only Maven content can be present in a Maven repository, and only a Maven repository can hold Maven content. #5625
Misc¶
0.1.0b3 (2019-09-11)¶
Bugfixes¶
- Updates serializers and tests to make plugin compatible with pulpcore-plugin 0.1.0rc4. #5217