You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: package-name-exceptions-plan.md
+56Lines changed: 56 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,6 +15,7 @@ Updated again on 2026-05-19 after deciding app-server/framework module names for
15
15
Updated on 2026-05-22 after documenting how patch-level base versions map to module names.
16
16
Updated again on 2026-05-22 after PR 25 merged, Java util logging PR 22 was closed, and app-server/framework PR 27 was split into Payara and Quarkus/Tomcat PRs.
17
17
Updated on 2026-05-26 after PRs 27a, 27b, and the Spring testing-package alignment cleanup merged.
18
+
Updated again on 2026-05-26 after auditing remaining unversioned-allowlist entries against the documented base-version convention and planning PRs 29-30.
- OSHI is a regular third-party library instrumentation with a real minimum version, not a `*-common` abstraction; per the base-version convention in `docs/contributing/writing-instrumentation.md`, the module name should include the major/minor line of the oldest supported library version.
385
+
- Javaagent muzzle is `[5.0.0,)` and compiles against `com.github.oshi:oshi-core:5.0.0`; library compiles against `5.3.1` (with a `5.5.0` arm-mac test override). Use `5.0` as the module base version because the javaagent muzzle floor is `5.0.0`.
386
+
- Keep `oshi` as the main instrumentation name and add `oshi-5.0` as the versioned alias.
387
+
- Update `settings.gradle.kts`, `.fossa.yml`, documentation inventory, and the testing module reference.
- The common javaagent module has a direct `compileOnly("org.elasticsearch.client:transport:5.0.0")` dependency and is shared by `elasticsearch-transport-5.0`, `elasticsearch-transport-5.3`, and `elasticsearch-transport-6.0`; per #16090 this is the `<lib>-common-<major.minor>` shape.
409
+
- Use `5.0` as the base version because that is the minimum supported version across the sibling modules and matches the common module's own `compileOnly` floor.
410
+
- Update `settings.gradle.kts`, sibling module Gradle references, and the testing module path.
@@ -384,6 +433,13 @@ These are probably not the next easiest wins:
384
433
-`spring-webmvc-common` was completed in PR 25, its testing package follow-up is planned above as PR 28, and the `spring-cloud-gateway-common` testing package decision is planned above as PR 26. `jetty-common`, `tomcat-common`, and `opensearch-rest-common` were completed in PRs 23-24.
385
434
-`jaxrs-common`: keep unversioned. The javaagent module has no direct JAX-RS API dependency and acts as cross-generation helper/bootstrap code used by JAX-RS 1.0, 2.0, 3.0, and Quarkus RESTEasy Reactive. Keep it separate from the already version-scoped `jaxrs-2.0-common`, `jaxrs-3.0-common`, `jaxrs-common-2.0`, and `jaxrs-common-3.0` modules.
386
435
-`servlet-common`: keep unversioned. This matches #16090's pure abstraction/variant shape: shared code for both `javax.servlet` and `jakarta.servlet`, with `servlet-common-javax` as the variant-specific module. Because it includes published `library` packages, treat any future package changes as public API policy, not package-only cleanup.
436
+
-`netty-common`: keep unversioned. No direct Netty compile dependency; explicitly listed as the canonical pure-abstraction example in `.github/agents/knowledge/module-naming.md`. Sibling `netty-common-4.0` carries the version-scoped shared code.
437
+
-`lettuce-common`: keep unversioned. No direct Lettuce compile dependency; matches the `netty-common` pure-abstraction shape and is shared by `lettuce-5.0` and `lettuce-5.1`.
438
+
-`spring-cloud-gateway-common`: keep unversioned. No direct Spring Cloud Gateway compile dependency; shared by `spring-cloud-gateway-2.0`, `spring-cloud-gateway-2.2`, and the gateway webflux/webmvc sibling modules.
439
+
-`elasticsearch-transport-common`: rename to `elasticsearch-transport-common-5.0` (planned above as PR 30). It has a direct `org.elasticsearch.client:transport:5.0.0` compile dependency, matching #16090's `<lib>-common-<major.minor>` shape.
440
+
- Non-common third-party library modules on the unversioned allowlist need module renames:
441
+
-`oshi`: rename to `oshi-5.0` (planned above as PR 29).
442
+
-`spring-boot-resources`: special case - not a `*-common` module and has no Spring Boot compile dependency (parses `application.yaml`/`bootstrap.yaml` by file convention via `snakeyaml-engine`). Defer until we decide whether a base version is meaningful here; if so, the natural floor is the earliest Spring Boot release whose YAML config layout we still parse.
387
443
- App-server/framework module-name cleanups for `payara`, `quarkus-resteasy-reactive`, and `tomcat-jdbc` were completed in PRs 27a-27b.
388
444
- Treat this as a checker-policy cleanup first: document legitimate unversioned javaagent module shapes, then only rename leftovers that are true module-name debt.
0 commit comments