Support for HTML posts in the formsapi has been removed. All formsapi forms must submit through XHR
Support for native HTML5 validation has been deprecated and will no longer be tested. All formsapi forms should move to standard validation
We are considering deprecating and removing prebuilt file types. Avoid using them in new projects and use ConvertPrebuiltFiles to clean up
existing instances at some point.
mod::system/lib/addons/geoip.whlib has been removed - see mod::publisher/lib/analytics.whlib for GeoIP APIs.
Things that are nice to know
The new Tollium component <url> allows a disabled copy-pasteable view of a URL, with explicit Copy and QR Code buttons
You can now disable wordwrap on Tollium <textarea>s. Useful for eg. DNS configuration data which should not wrap
Tollium <textarea>s without an explicit width= will now suggest to be 30 instead of 2characters wide, just like <textedit>,
fixing dialogs with only a textarea from getting very small
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")