Easy Links
0
First released November 15, 2021 · Last updated October 14, 2026
Downloads from this site
81 total
0 latest (v0.6.2)
Lets players view relevant links with simple commands.
Verified before release
Version 0.6.2 was started on real servers running Minecraft 1.19.4, 1.21.11, 26.2 and 26.3 before it was published. The jar you download is the exact one that passed. How releases work
Versions
All releases on GitHubAutomated build of main at f144b8d98b88f49b10065544bd88e2660b4c8e62.
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 easylinks --experimentalReturn to published releases with /dpm get easylinks --stable.
0.6.2
For a server running v0.6.1, this is a small, safe update. Running /el delete with a label that doesn't exist now gives a clear error message. No data, configuration or permissions are affected.
Changes
Commands
/el deletewith an unknown label now shows a red "That link wasn't found." message. Before, it showed a misleading green "Something went wrong." (#60)
Version
v0.6.1 → 0.6.2 — PATCH. Mechanical floor from comparing the two jars: PATCH.
Judgment: The only behaviour change is the message /el delete shows when the label doesn't exist. It used to show a misleading green "Something went wrong." and now shows a red "That link wasn't found." Storage, command arguments, permissions, config and return values are all unchanged, so this is a bug fix and does not add new behaviour. The other changes are a test, a version bump and documentation, none of which justify a higher level, so the patch floor stays.
- 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.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
v0.6.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
0.6.1
For a server running v0.6.0, this is a drop-in maintenance release. Links, commands, permissions, configuration and stored data work as before, and usage reporting behaves the same: same settings, same opt-outs, same server-id in plugins/trace/config.yml. The only change an operator will see is where the usage-reporting details link points.
Changes
Usage reporting
- The usage-reporting details link now points to https://danielstephenson.dev/usage-reporting. This applies to the startup log message, the comments in this plugin's
config.yml, and the header of a newly createdplugins/trace/config.yml. Existing files are not rewritten. - Updated the bundled usage-reporting client to 0.6.1. Easy Links behaves the same, and a disabled client still reads and writes nothing.
Version
v0.6.0 → 0.6.1 — PATCH. Mechanical floor from comparing the two jars: PATCH.
Judgment: The only new public API (TraceClient.installIdFromFile and Builder.installIdFile) is in the bundled trace client, and Easy Links never calls it. Install IDs are still taken from server-id in plugins/trace/config.yml, so a server sees no new behaviour or new data written. Otherwise, the usage-reporting details link changed in config.yml comments, in the startup log line and in the header of a newly created plugins/trace/config.yml. Nothing changes in data formats, commands, config key meanings or permissions, so the patch floor stands. No merged pull requests were recorded for this range, so the notes cite no PR numbers.
- no interface or storage difference observed between the jars
<details><summary>Java API changes (informational — nothing depends on this plugin)</summary>
- dansplugins.easylinks.trace.TraceClient: added public static java.lang.String installIdFromFile(java.io.File);
- dansplugins.easylinks.trace.TraceClient$Builder: added public dansplugins.easylinks.trace.TraceClient$Builder installIdFile(java.io.File);
</details>
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
v0.6.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.6.0
For a server running v0.5.0, this release adds support for Minecraft 26.3 and changes what usage reporting sends. While reporting is on, every event now includes a random server ID so servers can be counted, not just events. The ID is a random UUID and is not linked to any person, account or IP address. On the first start with reporting on, a server-id: line with a short comment is added to the end of plugins/trace/config.yml. The rest of that file is left as it is. If reporting is turned off, through usage-reporting.enabled: false in this plugin's config.yml, enabled: false in plugins/trace/config.yml or the environment opt-outs, no ID is created, written or sent. No action is needed to upgrade.
Changes
Compatibility
- Added Minecraft 26.3 to the supported versions (#49)
Usage reporting
- Every usage event now includes a random server ID. It is created once, stored as
server-id:inplugins/trace/config.ymland shared by all plugins on the server that report to trace. To get a new ID, delete that line; for example, do this on servers copied from the samepluginsfolder. If the file cannot be written, the ID is kept in memory until the server stops and is not saved (#47) - The usage reporting comment in
config.ymland the startup message now mention the random server ID and where it is stored (#48)
Version
v0.5.0 → 0.6.0 — MINOR. Mechanical floor from comparing the two jars: PATCH.
Judgment: The mechanical check only saw two new public methods on the vendored TraceClient. It missed new runtime behaviour: every usage event now carries an install tag holding a random server ID. On first start, an enabled client also adds a new server-id: line to plugins/trace/config.yml. That is new behaviour and new data written to disk, so minor applies. Nothing existing breaks: no config key, command, permission or data format changes meaning, so major is not warranted.
- no interface or storage difference observed between the jars
<details><summary>Java API changes (informational — nothing depends on this plugin)</summary>
- dansplugins.easylinks.trace.TraceClient: added public java.lang.String installId();
- dansplugins.easylinks.trace.TraceClient$Builder: added public dansplugins.easylinks.trace.TraceClient$Builder installId(java.lang.String);
</details>
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
v0.5.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.5.0
For a server running v0.4.0, this is a safe drop-in upgrade. Links, commands, permissions and configuration all work as before. The only changes are to usage reporting: each event now includes the plugin's version, and operators can add their own server-wide tags to these events, for example to mark a test server. If usage reporting is turned off, nothing is sent, as before.
Changes
Usage reporting
- Every usage-reporting event now includes the plugin version, not just the startup event, so command usage can be tied to a release. As before, nothing about players or the server is included. (#41)
- The shared
plugins/trace/config.ymlfile now accepts an optionaltags:block. These tags are added to every event that plugins using it report on this server. Settingci: "true"on a test or CI server keeps its events out of real-installation figures. A plugin's own tag with the same name always wins, invalid entries are ignored, andenabled: falsein this file still turns all reporting off. (#40) - When this file does not exist yet, it is now created with a commented-out example of the
tags:block. An existing file is never rewritten, so on a server that already has one you add the block by hand if you want it. (#40, #41)
Version
v0.4.0 → 0.5.0 — MINOR. Mechanical floor from comparing the two jars: PATCH.
Judgment: The release adds new behaviour the mechanical check could not see. Every usage-reporting event, including command events, now carries the plugin version as a tag, so more data is sent than before. The shared plugins/trace/config.yml file also accepts a new optional tags: block that is added to every event from plugins on the server. The TraceClient builder signature change only affects the bundled client, which other plugins are not meant to use, and the stored data, commands, permissions and config keys are unchanged, so this is not a major release.
- no interface or storage difference observed between the jars
<details><summary>Java API changes (informational — nothing depends on this plugin)</summary>
- dansplugins.easylinks.trace.TraceClient: removed/changed public static dansplugins.easylinks.trace.TraceClient$Builder builder(java.lang.String, java.lang.String);
- dansplugins.easylinks.trace.TraceClient: added public static dansplugins.easylinks.trace.TraceClient$Builder builder(java.lang.String, java.lang.String, java.lang.String);
- dansplugins.easylinks.trace.TraceClient: added public static final java.lang.String VERSION;
</details>
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).
- save-compatibility gate run: data written by
v0.4.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.4.0
First stable release.
- chore: release 0.4.0 (#32)
- Disclose usage reporting: startup notice, server-wide opt-out, README (#30)
- ci: release.yml triggers on published and skips when a JAR is attached (#29)
- Report usage events to trace, off the main thread and with an opt-out (#28)
- Dispatch subcommands through Ponder's own command service (#26)
- Enforce the el.default permission on the /el banner (#24)
- Point the /el banner at the Dans-Plugins repository (#22)
- ci: retry publishing the dev prerelease before giving up (#21)
- Replace the README stub with a real project overview (#19)
- Persist link data on mutation and on shutdown (#18)
- ci: publish a rolling dev prerelease from main (#14)
- chore: release version 0.4.0-SNAPSHOT-8-8-2026 (#13)
- Implement real link usage stats and debugMode logging (#11)
- Fix /el delete not removing links; register el.default permission (#10)
- Align repository with DPC conventions (#5)
- Moved away from the Singleton pattern. (#3)
- Ponder Update (#2)
- Updated Ponder to v0.13 (#1)
Verification
Booted twice on a real Spigot server before publication — boot gate run (8 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
Snapshot release marking Easy-Links's move to an AI-first development approach.
Day-to-day feature work, grooming, review and maintenance now run through AI agents working directly against this repository, with the maintainers setting direction and approving what lands. The version bump marks that change in how the project is built — it is not a compatibility break. Behaviour, configuration and stored data are unchanged, and existing installations can upgrade in place.
This is a dated snapshot, not a finished release. It follows the precedent set by Medieval
Factions' 6.0.0-SNAPSHOT-7-25-2026: the AI-first line has not yet been verified in live operation,
and the snapshot designation stays until it has.
Version changes
pom.xml:0.3.0-SNAPSHOT→0.4.0-SNAPSHOT-8-8-2026
Opened as https://github.com/Dans-Plugins/Easy-Links/pull/13.
Drafted by Claude on behalf of Daniel Stephenson.
Changes in Easy Links v0.2.1
- Fixed a bug with the Storage Manager that was causing the plugin to not enable.
Changes in Easy Links v0.2
- Made links persistent.
Related plugins
Something wrong, or something missing?
Bugs go to the plugin's issue tracker, where they can actually be fixed and tracked. Ideas for new behaviour go to the Dev Portal, where the community can upvote them.
