Repository navigation
2.6.0
2.6.0
For a server running v2.5.0, this is a drop-in upgrade that adds support for Minecraft 26.3. It also changes what usage reporting sends. Each usage event now includes a random server ID, so the author can count servers instead of raw events. The first time the plugin starts with reporting on, it adds this ID as a server-id: line in plugins/trace/config.yml. The ID is a random UUID. It does not identify any person, account or IP address, and nothing about players is sent. If reporting is turned off by usage-reporting.enabled: false, by enabled: false in plugins/trace/config.yml, or by TRACE_USAGE_REPORTING=off or DO_NOT_TRACK=1, no ID is created, read, written or sent.
Changes
Compatibility
- Adds support for Minecraft 26.3 (#180).
Usage reporting
- Usage events now include a random per-server ID. It is stored once as
server-id:inplugins/trace/config.ymland shared by every plugin on the server that reports to trace. Your existing text in that file is kept as it is; one commentedserver-id:line is added at the end. To get a new ID, delete that line. If the file cannot be written, the ID is kept in memory for that run only (#179). - The startup message and the comments in
config.ymlnow mention the server ID (#179). - The usage-reporting details link in the config comments and startup message now points to https://danielstephenson.dev/usage-reporting (#181).
Version
v2.5.0 → 2.6.0 — MINOR. Mechanical floor from comparing the two jars: PATCH.
Judgment: The mechanical check only saw API additions to TraceClient. It cannot see the behaviour behind them: when usage reporting is enabled, the plugin now creates a random server ID, writes it as a new server-id line in plugins/trace/config.yml, and sends it with every usage event. That is new data written to disk and new data reported, and the release also adds support for Minecraft 26.3, so it is minor. It is not major because existing config keys, commands, permissions and opt-outs work exactly as before, and the ID is appended without changing anything else in the file.
- no interface or storage difference observed between the jars
Java API changes (informational — nothing depends on this plugin)
- dansplugins.dansessentials.trace.TraceClient: added public java.lang.String installId();
- dansplugins.dansessentials.trace.TraceClient: added public static java.lang.String installIdFromFile(java.io.File);
- dansplugins.dansessentials.trace.TraceClient$Builder: added public dansplugins.dansessentials.trace.TraceClient$Builder installId(java.lang.String);
- dansplugins.dansessentials.trace.TraceClient$Builder: added public dansplugins.dansessentials.trace.TraceClient$Builder installIdFile(java.io.File);
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).
- save-compatibility gate run: data written by
v2.5.0was loaded by this release across two restarts with nothing lost (16 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