WebHare will now ensure that /webhare-private/<modulename>/ exists for every module.
You can now 'login as' a role in WebHare's user management
webdesign->structuredbreadcumb contains auto-generated breadcrumb data
If webdesign->structuredbreadcumb is set, we will automatically include it as structured LD+JSON metadata
Things you should do
Use OpenWHFSPrivateFolder to find /webhare-private/<your module>/ (and never hardcode object id 10), and stop
using EnsureFolder to create this toplevel folder to reduce race conditions during module activation.
If you've added your own schema.org BreadCrumb data, you may want to suppress the 4.26 generated breadcrumbs.
CreateSubField is a cleaner way to create form subfields as compared to AppendFormField which turned out to be
error-prone and did not fully support array subfields.
Replace the pattern this->form->AppendFormField(this, "textedit", this->name || ".sub") with this->CreateSubField("textedit", "sub")