Hi arpinux,
Thanks for the report. This is a known issue that has been fixed in stages.
Root cause — two separate bugs
Fixed in 5.4.4 — AtomicFileHelper::readAtomic() could silently fall back
to a raw
copy() if the file lock timed out (e.g. under PHP-FPM load), completely
overwriting
plugin.json with the archive defaults.
Fixed in 5.6.0 — Even after 5.4.4, the merge logic used a union
strategy for
indexed arrays (like toolbar button lists). So any button you removed from a
toolbar would
be re-added on the next update, because the merge was doing
array_merge(your_toolbar, default_toolbar) instead of preserving yours
verbatim.
The fix adds $merged['plugin'] = $destData['plugin'], which now restores the
entire
plugin settings section from your installed version without any merging.
What happened to you
Your upgrade from 5.5.x to 5.6 was performed by the old (pre-5.6) updater,
which still
had the union-merge bug. During that upgrade, all the default buttons you had
removed were
injected back into your toolbars, making the config appear reset to defaults.
What to do
The 5.6.0 updater is now correct — future upgrades will preserve your EasyMDE
configuration untouched.
Could you try the following to confirm the fix is working?
- Reconfigure your EasyMDE toolbars the way you want via Admin → Plugins →
EasyMDE - Save the configuration
- Re-run the 5.6.0 update (or wait for the next minor release and apply it)
- Check whether your toolbar configuration is still intact after the update
If the config is preserved, that confirms the fix is working, you would only
need to reconfigure once, and all future updates will keep your settings.
If it still gets reset, please let us know and share your server's PHP version and SAPI (cli or fpm) so we can investigate further.