5.2 - 14 March 2023
PLEASE NOTE! YOU NEED TO UPGRADE TO 4.35 BEFORE UPGRADING TO 5.xx
Incompatibilities and deprecations
- The standard docker image now only exposes 13684 (the incoming nginx proxy port)
- The 'rescue port' has moved from 13688 to 13679 (where the database port was). Especially with multiple local WebHare installations it makes more sense to find the rescueport at the base port number. installations it make smore sense to find the rescueport at the base port number.
- country/nl.whlib has been removed. Replace SplitNLNrDetail with SplitHousenumber, JoinNLNrDetail with JoinHousenumber and
NormalizeNLZipCode with
FixupAddress().zip
- The old common tidgroups
tollium:common.actions.*
,tollium:common.labels.*
andtollium:common.buttons.*
have been deprecated and should be replaced with~
(tilde) common tids.- You can use a regex to clean these up: replace
tollium:common\.(actions|labels|buttons)\.
with~
- You can use a regex to clean these up: replace
- The formbase
wh:form-displaymessage
andwh:form-validate
events have been removed to be able to improve accessibility <imageedit>
has been dropped.- Cleaned up one little used form validation mechanism:
dataset.whFormIsValidator
/data-wh-form-is-validator
support has been removedwhFormsBuiltinChecker
support has been removed
- Support for URL (de)publication events (
publisher:url
events) has been removed - The
<rte>
Tollium component has been removed. Use either<richarea>
or<richdocument>
now
Things that are nice to know
- All form validation now happens through an explicit validation queue to ensure proper ordering. This may cause validations
to run on the next tick, requiring you to always use
await test.wait('ui')
in tests if you want to see the result of validation in the DOM (earlier it was still recommended but you could often get away with not waiting because some validations already happened on focusout instead of waiting until mouseup) - The
empty
property for browsecustom can now be dynamically changed wrd:entityrefcolumn
adds anoentityvalue
property which is shown for text columns if no entity is matched- Empty VARIANT ARRAYS are now castable to all other array types. This fixes a lot of runtime errors when interfacing with JavaScript/JSON as DecodeJSON cannot determine the right HareScript type for empty arrays.
- "@webhare/jsonrpc-client" offers a new and TypeScript-compatible JSON-RPC client that doesn't require the use of rpc.json files.
- CallAsync has been added to invoke TS/JS/HS tasks and will replace ephemeral tasks for this in the future
- Validation has been implemented for TypeScript files. Validation will now also ignore files in a
vendor
directory so external code you do not intend to fix for linting issues should be stored there. - You can now set the form id submitted as
formmeta_id
in the datalayer/pxl logs usingformid=
in XML or by setting it in the form settings (requires access to advanced settings). - Add
<format masks="*.ts *.tsx" />
to<validation />
to require consistent formatting for TypeScript code. - Experimental support for Markdown files has been added. Keep in mind that the rendering may still change, eg Markdown rendering doesn't honor RTDType restrictions yet.
- The testframework adds
test.qR
- an alternative fortest.qS
that will throw unless exactly 1 element matches - You can overwrite the rendering of individual form pages by setting a fieldsrenderer= attribute on the page.