Skip to content

Publish Plugins Manager 2.0 and switch the release command - #873

Merged
undera merged 2 commits into
masterfrom
release/pmgr-2.0
Aug 14, 2026
Merged

Publish Plugins Manager 2.0 and switch the release command#873
undera merged 2 commits into
masterfrom
release/pmgr-2.0

Conversation

@undera

@undera undera commented Aug 14, 2026

Copy link
Copy Markdown
Owner

Two changes, both fallout from releasing jmeter-plugins-manager 2.0 to Central.

self.json — the 2.0 entry

2.0 loads the repository several times faster and halves the download:

1.12 2.0
load() cold 284 ms 68 ms
load() warm 86–154 ms 15–29 ms
jar 909,776 B 460,245 B

Why the changes text says "Requires JMeter 3.2+"

The repo format has no way to express a version constraint — every user is offered the highest version regardless — so the changes string is the only channel that reaches the UI.

3.2 is the real floor, verified three ways against the shipped jar:

  • all 21 referenced org.apache.jmeter / org.apache.jorphan classes exist in 3.2
  • all 18 referenced methods resolve in 3.2
  • src/main compiles clean against JMeter 3.2 with its log4j 2.8.2

The project now builds against 5.0, but nothing in the artifact requires it. Worth knowing that the two numbers disagree deliberately.

Residual risk

Users below JMeter 3.2 — roughly the 0.3% band on the usage stats — will be offered an upgrade whose manager won't load, and canUninstall is false, so there's no UI path back. Small, but unpleasant for whoever hits it.

maven-bundle.sh

- mvn -Dmaven.test.skip=true -Dadditionalparam=-Xdoclint:none -Dpackaging=jar clean package javadoc:jar source:jar verify gpg:sign deploy
+ mvn -Psonatype-oss-release clean deploy

The old form re-entered the lifecycle once per phase argument, so compile, jar and shade each ran two or three times over, and gpg:sign was invoked by hand instead of bound to verify. -Dadditionalparam=-Xdoclint:none was inert (a javadoc 2.x flag) and is now handled in the manager's POM; -Dpackaging=jar was redundant. This form also runs the tests, which the old one skipped.

undera and others added 2 commits August 14, 2026 12:39
Add the 2.0 entry to the manager's own repository index. It loads the
repository several times faster and halves the download size.

The changes text carries "Requires JMeter 3.2+" because the repo format has no
way to express a version constraint - every user is offered the highest version
regardless. 3.2 is the real floor: the shipped jar references no JMeter or
jorphan class or method newer than 3.2, and the source still compiles against
JMeter 3.2 with its log4j 2.8.2, even though the project now builds against 5.0.

maven-bundle.sh moves to `mvn -Psonatype-oss-release clean deploy`. The previous
command re-entered the lifecycle once per phase argument, so compile, jar and
shade each ran two or three times over, and gpg signing was invoked by hand
rather than bound to verify.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@undera
undera marked this pull request as ready for review August 14, 2026 11:45
@undera
undera merged commit e163d33 into master Aug 14, 2026
2 checks passed
@undera
undera deleted the release/pmgr-2.0 branch August 14, 2026 11:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant