Repository navigation
3.1.0
3.1.0
For a server running v3.0.0, this is a drop-in upgrade. No config, permission, command or database changes are needed. The release adds support for Minecraft 26.3 and expands usage reporting. Each event now carries the plugin version and a random server ID, which is stored in plugins/trace/config.yml so the trace server can count servers instead of raw events. The ID identifies no player, account or IP address. Nothing is generated or written while usage reporting is off.
Changes
Compatibility
- Supports Minecraft 26.3. Supported versions are now declared as 1.19.4, 1.21.11, 26.2 and 26.3, and the plugin's API use is checked against each one (#125, #132).
Usage reporting
- Every event now includes a random server ID as the tag
install. The first time reporting runs, the ID is created and added toplugins/trace/config.ymlas aserver-id:line under a comment explaining it. The rest of the file is left exactly as it was. To get a new ID, delete that line. If the file can't be written, the ID is kept in memory for that run only. If reporting is off (through this plugin's config, the server-wide switch,DO_NOT_TRACKorTRACE_USAGE_REPORTING), no ID is created or written (#130). - The startup message and the comments in
config.ymlnow mention the server ID and where it is stored (#131). - Every event, including command events, now includes the plugin version. Before, only the startup event did (#127).
plugins/trace/config.ymlnow accepts an optionaltags:block whose entries are added to every event from every plugin that reports to trace. For example, setci: "true"on a test server to keep its events out of real-server figures. A plugin's own tag wins over a server-wide tag with the same name, and entries the trace server would reject are ignored (#126).
Version
v3.0.0 → 3.1.0 — MINOR. Mechanical floor from comparing the two jars: MINOR.
Judgment: The plugin now writes new data to disk: on first start with reporting enabled, it adds a random server-id line to plugins/trace/config.yml. Every usage event now also carries that ID as an install tag, so this release adds behaviour and stays at the minor floor. The builder signature change in the bundled TraceClient is in a copied-in helper library, not an API other plugins use. The plugin's commands, permissions, config keys and database are unchanged, and the new line is added to the file without touching what an operator already wrote, so nothing breaks on upgrade.
- minor: storage path changed: src/main/java/com/dansplugins/detectionsystem/AlternateAccountFinder.java
Java API changes (informational — nothing depends on this plugin)
- com.dansplugins.detectionsystem.trace.TraceClient: removed/changed public static com.dansplugins.detectionsystem.trace.TraceClient$Builder builder(java.lang.String, java.lang.String);
- com.dansplugins.detectionsystem.trace.TraceClient: added public java.lang.String installId();
- com.dansplugins.detectionsystem.trace.TraceClient: added public static com.dansplugins.detectionsystem.trace.TraceClient$Builder builder(java.lang.String, java.lang.String, java.lang.String);
- com.dansplugins.detectionsystem.trace.TraceClient: added public static final java.lang.String VERSION;
- com.dansplugins.detectionsystem.trace.TraceClient$Builder: added public com.dansplugins.detectionsystem.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).
- save-compatibility gate run: data written by
v3.0.0was loaded by this release across 5 restart cycles with nothing lost (32 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