Repository navigation
0.2.0
0.2.0
For a server running v0.1.0, this is a drop-in update. Commands, permissions and configuration are unchanged, and usage reporting can still be turned off the same way as before. The only difference is how anonymous usage reports are sent: repeated identical events are now batched instead of sent one by one. A busy server, or another plugin dispatching Faction-Map commands in a loop, can no longer flood the trace server.
Changes
Usage reporting
- Updated the bundled trace client to 0.7.0 (#12).
- Repeats of the same event (same name, value and tags) within one minute are counted rather than sent individually. The first is sent immediately, and the rest follow as a single event when the minute ends. That event is tagged
coalescedwith the number of repeats. Startup reports are never delayed (#12). - Memory use stays bounded: at most 256 distinct events are tracked at once, and further new events are dropped silently, just as reports are when the send queue is full (#12).
- On shutdown, any pending counts are sent before the reporting thread stops (#12).
- If you analyse the collected usage data, a row tagged
coalescednow stands for multiple occurrences. For events without a value, the total is the sum ofCOALESCE(value, 1)(#12).
Version
v0.1.0 → 0.2.0 — MINOR. Mechanical floor from comparing the two jars: PATCH.
Judgment: The vendored trace client (#12) changes runtime behaviour beyond the added constants. Repeated identical usage events within a 60-second window are now counted locally and sent as one event carrying a new coalesced tag with the repeat count. This is new behaviour and new data sent, which the API diff does not show, so it warrants minor. It is not major: commands, permissions, config keys, the usage-reporting opt-outs and on-disk files are unchanged, and startup events are still sent immediately.
- no interface or storage difference observed between the jars
Java API changes (informational — nothing depends on this plugin)
- com.dansplugins.factionmap.trace.TraceClient: added public static final int MAX_COALESCED_EVENTS;
- com.dansplugins.factionmap.trace.TraceClient: added public static final java.lang.String COALESCED_TAG;
- com.dansplugins.factionmap.trace.TraceClient: added public static final long COALESCE_WINDOW_MS;
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.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
v0.1.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