Skip to content

1.5.0

Choose a tag to compare

@dmccoystephenson dmccoystephenson released this 08 Oct 01:17
6b35a5e

1.5.0

For a server running v1.4.0, this release is safe to drop in. Homes, commands, permissions and config keys all work as before. The one behaviour change is in usage reporting. If reporting is on, each event now includes a random server ID so that distinct servers can be counted. On first start the ID is generated and added as a server-id: line to plugins/trace/config.yml. The ID is a random UUID and does not identify any person, account or IP address. Servers that have turned usage reporting off, through the plugin config, the server-wide plugins/trace/config.yml, or DO_NOT_TRACK / TRACE_USAGE_REPORTING, never generate, read or write an ID. Minecraft 26.3 is now supported.

Changes

Compatibility

  • Added Minecraft 26.3 to the supported versions (#104).

Usage reporting

  • Each usage-reporting event now includes a random server ID as an install tag. It is stored on the server-id: line of plugins/trace/config.yml, which is appended once below an explanatory comment, and every plugin on the server shares it. The rest of the file is left exactly as it was. Delete the line to get a new ID (#102).
  • The startup message and the config.yml comments now mention the random server ID (#103). The details link now points to https://danielstephenson.dev/usage-reporting (#105).

Version

v1.4.0 → 1.5.0 — MINOR. Mechanical floor from comparing the two jars: PATCH.
Judgment: The vendored trace client (#102) now sends a new piece of data with every usage-reporting event: a random server ID. On first start with reporting enabled, it also appends a new server-id: line to plugins/trace/config.yml. That is new data being sent and written to disk, which the API-only check rated as additive INFO, so this goes up to minor. Nothing breaks: the commands, permissions, homes data format and the meaning of existing config keys are unchanged, and every existing opt-out still works and also stops the ID from being generated or written.

  • no interface or storage difference observed between the jars
Java API changes (informational — nothing depends on this plugin)
  • dansplugins.sethomesystem.trace.TraceClient: added public java.lang.String installId();
  • dansplugins.sethomesystem.trace.TraceClient: added public static java.lang.String installIdFromFile(java.io.File);
  • dansplugins.sethomesystem.trace.TraceClient$Builder: added public dansplugins.sethomesystem.trace.TraceClient$Builder installId(java.lang.String);
  • dansplugins.sethomesystem.trace.TraceClient$Builder: added public dansplugins.sethomesystem.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 v1.4.0 was 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