Repository navigation
2.2.0
2.2.0
For a server running v2.1.0, this release adds support for Minecraft 26.3 and changes what usage reporting sends. While reporting is on, Herald now generates a random server ID on first start. It saves the ID as a server-id: line in plugins/trace/config.yml and sends it with every usage event, so plugin usage can be counted per server rather than per event. The ID is a random UUID: it identifies no player, account or IP address, and every plugin on the server that reports to trace shares the same one. If reporting is turned off (in Herald's config.yml, in plugins/trace/config.yml, or with DO_NOT_TRACK=1 / TRACE_USAGE_REPORTING=off), no ID is generated or written. Commands, permissions and Herald's own data are unchanged.
Changes
Compatibility
- Added support for Minecraft 26.3 (#73).
Usage reporting
- Each usage event now includes a random server ID as the
installtag. Ifplugins/trace/config.ymlhas noserver-id:line, one is added to the end of the file under an explanatory comment, and the rest of the file is left exactly as it was. Deleting the line makes a new ID on the next start. If the file can't be read or written, the ID is used for the current run only and isn't saved (#71). - A
plugins/trace/config.ymlpath that the file system can't handle no longer risks an error at startup. It is now logged and reporting carries on (#71). - The startup console message and the comment in
config.ymlnow mention the random server ID (#72).
Version
v2.1.0 → 2.2.0 — MINOR. Mechanical floor from comparing the two jars: PATCH.
Judgment: Every usage-reporting event now carries a new install tag with a random server ID (#71). On first start, an enabled plugin also appends a new server-id: line to plugins/trace/config.yml. The mechanical check only saw the two added API methods, not this new data written to disk and sent over the network, so the floor is raised to minor. Nothing existing breaks: no config key changes meaning, opt-outs still work as before, and a disabled client never creates or writes the ID, so major is not justified.
- no interface or storage difference observed between the jars
Java API changes (informational — nothing depends on this plugin)
- com.dansplugins.herald.trace.TraceClient: added public java.lang.String installId();
- com.dansplugins.herald.trace.TraceClient$Builder: added public com.dansplugins.herald.trace.TraceClient$Builder installId(java.lang.String);
Verification
Verified on a real Spigot server before publication; this release carries the exact jar that was verified.
- boot gate run: booted twice on a fresh Spigot server running Minecraft 1.19.4 (11 assertions passed).
- boot gate run: booted twice on a fresh Spigot server running Minecraft 1.21.11 (11 assertions passed).
- boot gate run: booted twice on a fresh Spigot server running Minecraft 26.2 (11 assertions passed).
- boot gate run: booted twice on a fresh Spigot server running Minecraft 26.3 (11 assertions passed).
Install with Dan's Plugin Manager: /dpm get <plugin>. How stable releases are made: Release channels.
drafted by Claude on behalf of Daniel Stephenson