Removes support for the old wrd authentication frameworks - only the webdesign plugin is supported now
WRDAuth now ensures equal events are logged both to wrd schema and audit log file. Removes some duplicate events
<wrdauth> plugins now assume you're using the 2017 WRD API, so accessing the wrdschema through the wrdauth plugin
requires you to use the 2017 API.
The forms api has been cleaned up and old APIs removed
We no longer generate <div><ul><li> for form errors in WebHare validation mode, just <div class="wh-form__field--error">
(parsley validation is unchanged)
You can no longer redefine ColorVioletEggplant (and a lot of other important 'constants' are now actually constant)
The CSV parser's quote handling, especially when they appear halfway a field, now more closely matches Excel's behaviour. This might break some current existing quote usage
URLs containing /^^ are now rejected with a 403 Forbidden response (to allow eg. capturesubpaths=true to store necessary metadata in the filesystem)
/!/ and /!.../ in URLs may be deprecated in the future, see below
The forms application now expects its mailresultstemplates and mailfeedbacktemplates libraries to be named
publisher:mailresultstemplates and publisher:mailfeedbacktemplates respectively.
Support for creationdate/limitdate support on wrd entity settings and their associated APIs will be removed in the future. (creationdate/limitdate on entity level will stay)
RestAPI endpoints expecting a BLOB inside a record will now actually get a BLOB, not a base64 encoded string.
A lot of other fixes have been made to the RestAPI - be sure to test before upgrading!
Things you should do
Sites that desperately need captcha support for their forms should configure it
Stop using /!/ and /!.../ URL fragments for new applications/sites. See if capturesubpaths=true will resolve your use
cases, and let us know if it doesn't, as we intend to deprecate the ! URL fragments
Update <setlibary> calls if you were using either mailresultstemplates or mailfeedbacktemplates. 4.18 will support both names.
Read upgrading.md and execute the recommended steps to check for future and missed deprecations regularly
Test the RestAPI changes
Manually update the webpack module to get access to a webpack survey importer.
Things that are nice to know
Easy (re)captcha support added to webcontext.
Synchronize folders can now sync multiple folders (select them in the file tree)
The dashboard application now shows the CSS styles you need to use for installed fonts when you doubleclick them (eg for use in PDF)
You can configure whitelist for permitted senders and receivers in mailrouting. These will take effect in addition to any mail routing
Tollium has new validationchecks: "email-maysendfrom", "email-maysendto" and "emails-maysendto" to require the entered emailaddress to be on a whitelist
You can configure email autocorrect suggestions, eg automatically correct @gmail.co to @gmail.com
You can suspend automatic compilation of production assetpacks (useful when developing on core JS files which trigger global recompiles) in the dashboard
You can now use <restapi path= apispec= /> in webrulesets to more cleanly setup a REST api (implies error handling and the API script)
You can now access components through their composition (eg ^entity->^wrd_title) which removes the need of giving components an explicit name= to be able to access them
FormatDatime now has a %&H formatter which shows the number of actual hours, not truncated to 24 hours - useful for formatting eg the sum of hours/minutes worked on something
tolliumuser->FormatTimespan now supports the options short-minutes, short-seconds and short-milliseconds which can simply diplay "25:15" instead of "1 day, 1 hour, 15 minutes"
Webfeatures can be limited to specific webdesigns, cleaning up the site properties dialog.
(Prebuilt) filetypes can add a 'capturesuburls=true' to automatically catch all subpaths, without requiring adding /!/ to the URL. You can NOT set these capturing file as a folder
index - instead, create it as a file in its parent folder. (this is to prevent you from adding other files below a capturing point, which would cause confusion especially where
the URL history is involved)
You can use <setlibrary name="publisher:fsobjecttemplates"> to add file/folder templates to new file/folder.