Repository navigation
2.4.0
2.4.0
Servers on 2.3.0 can drop in this release without any migration. The headline change is opt-out usage reporting: on startup and on each /de command the plugin sends its name, version and the command name to the author's trace server, off the main thread, and logs on every startup whether reporting is on and why. A usage-reporting block is added to plugins/DansEssentials/config.yml (existing settings are kept) and a server-wide switch file plugins/trace/config.yml is created if it does not exist. The rest of the release is bug fixes to /de back, /de mute, /de unmute and /de fly.
Changes
Usage reporting
- Report a startup event and one event per
/decommand to the trace server, sent from a bounded daemon thread that never blocks a tick and drops silently if the server is unreachable (#152) - Add
usage-reporting.enabled,usage-reporting.endpointandusage-reporting.keytoconfig.yml, and write the block into an existingconfig.ymlthat predates it so the switch is on disk (#152, #155) - Honour the server-wide opt-out in
plugins/trace/config.ymland theTRACE_USAGE_REPORTING=off/DO_NOT_TRACK=1environment variables, and print the reporting status and how to turn it off on every startup (#155)
Commands
/de backno longer throwsIllegalArgumentExceptionwhen there is no stored location; it now tells the player there is nothing to return to. A player's join location is recorded as their initial back location and cleared on quit, and/de backis listed in/de help(#136)/de muteand/de unmutekey the mute on the resolved player's real name rather than the typed text, so muting by a partial name now actually silences the player and unmuting finds them again (#148)/de fly <player>names the correctde.fly.otherspermission in its error message and reports "That player isn't online." instead of crashing when the target is offline (#147)
Upgrade notes
- Usage reporting is on by default. To turn it off for this plugin, set
usage-reporting.enabled: falseinplugins/DansEssentials/config.yml. To turn it off for every trace-reporting plugin on the server, setenabled: falseinplugins/trace/config.yml(created on first start). The environment variablesTRACE_USAGE_REPORTING=offorDO_NOT_TRACK=1also disable it and take precedence over both files. - If you run a hardened or read-only
plugins/directory, note that the plugin will attempt to createplugins/trace/config.yml; a failure to do so is logged at FINE and reporting stays on.
Version
2.3.0 → 2.4.0 — MINOR. Mechanical floor from comparing the two jars: MINOR.
Judgment: Nothing in the diff breaks an existing 2.3.0 server: the config gains a new usage-reporting block (written in place, other keys preserved) and a new plugins/trace/config.yml is created, both additive; no schema, command argument, or API contract changes incompatibly. The plugin.yml permission rename de.placewarpsign -> de.placeWarpSign is a no-op because Bukkit lowercases permission names, and the /de back, mute and fly changes are bug fixes that narrow behaviour rather than alter it. Usage reporting is on by default and phones home, which operators should know about, but it is new opt-out behaviour rather than a breaking change, so the minor floor stands even though the pom is labelled 3.0.0-SNAPSHOT.
- minor: default config key added: usage-reporting.enabled
- minor: default config key added: usage-reporting.endpoint
- minor: default config key added: usage-reporting.key
Java API changes (informational — nothing depends on this plugin)
- public class added: dansplugins.dansessentials.listeners.QuitListener
- public class added: dansplugins.dansessentials.trace.TraceClient
- public class added: dansplugins.dansessentials.trace.TraceClient$Builder
- dansplugins.dansessentials.services.ConfigService: added public boolean isUsageReportingEnabled();
- dansplugins.dansessentials.services.ConfigService: added public java.lang.String getUsageReportingEndpoint();
- dansplugins.dansessentials.services.ConfigService: added public java.lang.String getUsageReportingKey();
- dansplugins.dansessentials.services.ConfigService: added public void saveUsageReportingDefaultsIfMissing();
Verification
Booted twice on a real Spigot server before publication — boot gate run (10 assertions passed). This release carries the exact jar that was verified.
Install with Dan's Plugin Manager: /dpm get <plugin>. How stable releases are made: Release channels.
drafted by Claude on behalf of Daniel Stephenson