Repository navigation
1.5.2
1.5.2
For a server on v1.5.1 this is a bug-fix release that can replace the old jar directly. Mail data, commands and permissions work as before. /m config set now refuses keys it cannot safely change instead of writing them to config.yml as text. The developer API now returns null when a lookup finds nothing.
Changes
Configuration
/m config setnow refuses keys it does not support, such as anything underusage-reporting, with the message "That config option can't be changed with /m config set." Before, these keys were saved as plain text. That could leave a value likeusage-reporting.enabledthat the plugin could not read as true or false, or replace the wholeusage-reportingsection with a single string. (#137)
Developer API
MailboxesAPI.getMailbox(Player)andMailboxesAPI.getMessage(int)now returnnullwhen no mailbox or message is found. Before, they returned a wrapper around nothing, which failed when used. The API version is nowv0.0.4. (#133)
Upgrade notes
- If anyone used
/m config seton ausage-reportingkey under an earlier version, openconfig.ymland check that theusage-reportingsection is intact and thatenabledis a plaintrueorfalse, not a quoted string. Fix it by hand if needed, then reload or restart. - Plugins that use the Mailboxes API should check the results of
getMailboxandgetMessagefornull.
Version
v1.5.1 → 1.5.2 — PATCH. Mechanical floor from comparing the two jars: PATCH.
Judgment: Both functional changes fix bugs and add nothing new. /m config set stops writing broken values: before, any key it didn't recognise was saved as a string, which could turn usage-reporting.enabled into the unreadable string "false" or replace the whole usage-reporting section. The API lookups now return null instead of a wrapper around a missing object, and calling a method on that wrapper would almost certainly have failed anyway (API version v0.0.3 to v0.0.4). Neither change takes away anything that worked before, and there is no new behaviour or data format, so the patch floor stands. One caveat: the diff only shows the end of the setter, so I am assuming every key meant to be settable is handled before the old catch-all string branch.
- 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
v1.5.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