Old/legacy consilio APIs have been cleaned up (the search page) or marked as deprcated
Support for HTTP status texts (the 'Status Reason Phrase', eg the 'Not found' in '404 Not found') has been removed as
they may cause infoleaks and are only supported in HTTP/1.x anyway.
The previewbrowser now looks closer at the file type to see if the file is previewable. If a file is unexpectedly no
longer previewable, check the following:
if the file should render a webpage dynamically, ensure that its type has needstemplate="true" or kind="virtualfile"
The webpack bundler has been removed. We only support esbuild now.
Support for WEBHARE_ASSETPACK_FORCE_COMPATIBILITY has been dropped
<babeltranspile/> has no effect on esbuild builds and can be removed
Some long-deprecated compatibility .es libraries have now been removed:
@mod-socialite/js/google/tagmanager
@mod-system/js/compat/fetch
@mod-system/js/compat/preload
@mod-system/js/compat/promise
dompack/browserfix/baseline
dompack/browserfix/url
XmlParserWriter and XmlCallbackParser have been removed.
SquashAndSelectXML has been removed
The old <wrdschemas xmlns=> syntax is no longer supported (you can simply drop the xmlns=). Automatic renaming using
the originalname= attribute is also no longer supported
Remove legacy <appcontexts>
Support for package-lock.json version 1 has been dropped.
Deriving from WebtoolFormBase or overriding WebtoolFormPage Submit/Update is no longer supported as new webtool APIs are incompatible
with the requirement to load forms directly. You always need to use webtool formhooks now
data-wh-form-id is no longer set. Use form->formclasses or <form classes="..."> to target forms in JavaScript
Form definitions now require all their components to be inside a <page>
The [formallfields] GetWittyData ptr will now only list fields on a page and no longer append dynamically created fields
using AppendFieldComponent(DEFAULT OBJECT, ...) to the end of that list
Custom form handlers/components should target formcomponent and formhandler from the http://www.webhare.net/xmlns/publisher/forms/appinfo
namespace, not the http://www.webhare.net/xmlns/publisher/forms namespace, in their <appinfo> blocks.
Support for <member publish=true> contenttype members has been dropped (deprecated/obsoleted in 4.25)
The WebHare queuemanager will no longer send out bounce mail messages by itself, as they often bounce too or end up in
noreply/unread mailboxes and immediate bounces are rare anyway. We recommend watching the queue statusses or setting up status handlers.
The configurable part of apprunner ("Services" in the config app) has been removed. Modules should register apps using <apprunnerconfig />
in their module definitions.
Dropped support for imagesize presets (unused as far as we can tell)
Consilio file format parsers for PDF, PPT, PPTX, DOC, DOCX, XLS and XLSX have been replaced with Apache Tika.
Mailrouting rules have been moved from the database to the system:config wrdschema
You are now required to set up at least 1 sender and 1 receiver mask to the whitelist.
You no longer need to setup the default mail route.
When migrating from an earlier WebHare version:
a wildcard sender/receiver mask is automatically added if none existed yet
the default mailroute is removed if it is the last (or only one) in your list of routes
Manually configured scheduler tasks have been deprecated. You should use <task>s in moduledefinitions.
Things that are nice to know
We've added a @storage-<module> namespace for JavaScript, which access the storage root for modules (just like @mod-...)
accesses the module root itself. This allows you to add dyanamically generated code to your JS bundles.
Sites will now postMessage navigation attempts to the webinterface, fixing cross-domain navigation and repeated navigation
in the Publisher
You can now specify the Publisher previewbrowser handling for files using <preview> settings in siteprofiles.
You can now store form results for custom non-webtool forms using StoreFormResults and view the results using
RunFormResultsDialog. See customforms.md
<text> now support rich tids for its value, and htmlvalue= to directly set its value
Adds support for JSX fragments in dompack: <> ...nodes... </>
Adds a PrepareForFrontend to webtool form hooks and form handlers, which is invoked prior to both rendering and (submission) RPCs (backported to 4.34.1)
Adds support for reading and writing 64-bit ZIP files.
<textedit>s and <textarea>s now allow you to disable the hiderequiredifdisabled setting to show a yellow required background even if the field
is disabled. This is useful for permanently disabled fields that are combined with a "Select/Browse" button to change their actual value
<task>s in moduledefinition can now have arguments