Repository navigation
Releases
0.2.2
0.2.2
This is a bug-fix release for servers running v0.2.1, with no changes to commands, configuration, permissions or data formats. It stops usage reporting from sending unrecognised text typed after /fmap, and scripts reading stats.json no longer risk seeing a partially written file.
Changes
Privacy
- Usage reporting now names only the known
/fmapsubcommands:status,stats,resetandrecapture. Previously, if reporting was enabled, whatever a player typed as the first argument after/fmapwas sent, even if it wasn't a subcommand. Those runs are no longer reported at all. (#23)
Stats
stats.jsonis now replaced atomically, so scripts and other tools reading it always see a complete file. Its location and JSON content are unchanged. (#24)
Version
v0.2.1 → 0.2.2 — PATCH. Mechanical floor from comparing the two jars: PATCH.
Judgment: Keeping the patch floor. Writing stats.json atomically leaves its location and JSON content unchanged, and only stops readers from seeing a partial file. Reporting only known /fmap subcommands narrows what usage reporting sends, without changing commands, config keys, permissions or stored data. The new public StatsFile class is an internal helper for this fix, not a new feature, so neither change warrants a higher bump.
- no interface or storage difference observed between the jars
Java API changes (informational — nothing depends on this plugin)
- public class added: com.dansplugins.factionmap.stats.StatsFile
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.2.1was 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
Development build
Automated build of main at cabebdc.
This is not a release. It is unreleased, unreviewed code that has not been through any
release check, and a broken build can stop a server from starting. Do not run it on a server
you care about without a backup.
Install it with Dan's Plugin Manager:
/dpm get factionmap --experimental
Return to published releases with /dpm get factionmap --stable.
0.2.1
0.2.1
For a server running v0.2.0, this is a drop-in update. Every /fmap command works exactly as before. The only difference is that the plugin's command usage reporting now counts only commands typed by players.
Changes
Usage reporting
/fmapcommands run from the console, from command blocks, or dispatched by other plugins are no longer counted in command usage reports. Only player-issued commands are recorded. Command behaviour itself is unchanged.
Version
v0.2.0 → 0.2.1 — PATCH. Mechanical floor from comparing the two jars: PATCH.
Judgment: Session: Ledger. The only change is in FactionMap.onCommand: the usage-trace report for /fmap subcommands now fires only when the sender is a Player, so console, command-block and plugin-dispatched invocations are no longer counted. Command behaviour, arguments, permissions, config and stored data are unchanged, and the plugin now reports less, not more, so nothing breaks and no new behaviour is added. The patch floor stands.
- no interface or storage difference observed between the jars
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.2.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
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
0.1.0
0.1.0
First stable release.
- Document the Bukkit API check and what reload-plugin.sh does (#8)
- Test Stats ordering, rounding, growth and concurrent recording (#5)
- Test ChunkKeys packing and AtomicFiles replacement (#4)
- Test SurfaceColumns and FactionSnapshot change detection (#3)
- Document faction homes and the config value clamps (#2)
- Add the M1 Faction Map plugin: capture, tiles, viewer and faction layers (#1)
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).
Install with Dan's Plugin Manager: /dpm get <plugin>. How stable releases are made: Release channels.
drafted by Claude on behalf of Daniel Stephenson