v1.12.3 (2020-08-19)
Major Bug Notice (#22)
Affected Versions
- v1.12.2
- v1.12.3
- v1.12.4
- v1.12.5
- v1.12.6
- v1.12.7
- v1.12.8
Upgrade Paths
- v1.12.x → v1.13.4
Description
On affected versions, Standard or Extra sign edit permission validation (
compatibility.edit-validation: Standard
orcompatibility.edit-validation: Extra
) may ignore the result of changed sign lines by other plugins.This bug bypasses sign content/text restrictions imposed by other plugins for anyone using
/sign
subcommands that change the text of a sign.All users who run affected versions and have enabled sign edit permission validation (this is the default behavior) should upgrade to v1.13.4 immediately to prevent exploitation of this bug.
Workaround
If you are unable to upgrade to v1.13.4, you should downgrade to v1.12.1 or disable SignEdit for Bukkit.
Added
- Tab completion for multi-line selection (e.g.
/sign 1,2,…
and/sign cut 3-4,1-…
) - If another plugin changes the sign text after using this plugin to edit a sign, a warning will be displayed.
The example below shows the warning when another plugin strips out formatting codes from the execution of/sign set 3 &b&lSignEdit
:
- New locale strings:
modified_by_another_plugin
– Warning to the player that another plugin changed their applied sign textsection_decorator
– Theme to apply to the text shown at the end ofbefore_section
andafter_section
Changed
/sign
subcommands are now case-insensitive. For example,/sign ClEaR
is now the same as/sign clear
.
Previously, capitalized subcommands would not be understood as valid subcommands./sign ui
with the native sign editor no longer modifies the real sign on the server to present human-editable formatting codes.
Only the player who invoked the command will see the reformatted sign.- If a different plugin undoes the sign edit but does not cancel the corresponding
SignChangeEvent
, this plugin will now tell the player "Sign edit forbidden by policy or other plugin" instead of "Sign did not change". - Changed locale strings:
before_section
now takes one argument ({0}
) for optional text that may be shown at the end of the same line as the section.after_section
now takes one argument ({0}
) for optional text that may be shown at the end of the same line as the section.
Fixed
/sign cut
only put empty lines into the clipboard (#17)/sign ui
with the native sign editor incorrectly puts the de-formatted sign text into the history (regression from= 1.12.2
)/sign ui
on Minecraft 1.16.2+ loses all formatting codes when opening the default (native) sign editor GUI./sign ui
with the native sign editor would not show the actual "after" sign lines if another plugin modified theSignChangeEvent
originating from the Minecraft client.- Line selection validation for
/sign cut
and/sign copy
- Line selection validation should not accept empty delimiters at the end (e.g.
/sign set 1,3,,,,
)