UIBUILDER: Early notice of the next major version release (v7)

I would like to give people plenty of warning of the next major version release of UIBUILDER since it will contain some potentially breaking changes. Most will probably not impact many people but you should be aware anyway.

It is fairly likely that there will be another minor release (v6.9) before v7 unless Node-RED v4 goes live sooner than anticipated. v7 is very unlikely to happen before Node-RED v4 unless that is significantly delayed.

Anyway, here is the list of things that might be important. For the majority of people, there really shouldn't be any surprises or issues here. Code dependencies should be absolutely minimal unless you are still using the old client library which hasn't been updated for 2 years or so now and is a long way behind the current library.

  • Minimum node.js v18

  • Minimum node-red v4

  • Remove uibuilderfe library (and tidy gulp and source)

  • Removal of uib-list node (this feature is included and improved upon in the uib-element node)

  • Remove Pollyfills from uibuilder editor code - no longer required for any recommended browser.

  • May remove the css auto-load in the next major release since at least 1 person has hit a race condition. ref.

  • Switch to default of case sensitive URL's for ExpressJS. Socket.IO is already case sensitive but ExpressJS is not. This can cause issues as shown in Ref. Hopefully, Node-RED v4 will do the same.

    In rare cases, this can cause an error. Will make both case sensitive in line with W3C recommendations (will be optional until next major release).

    Add case sensitivity flag to uibuilder node and allow setting of ExpressJS flags on routers. ref 1, Ref 2. Also document in uibuilder settings. Ref 3.

  • Restrict onChange (front-end library) to only watch uibuilder-watched variables? (checking to make sure it doesn't start with _ or #).

  • Move socket.io-client from dependencies to dev-dependencies - ensure removed from runtime code. This is only currently required by the old uibuilderfe client library so with this being removed, the dependency can also be removed. The newer library has the client built-in.

  • Remove serve-index dependency if the uib-file-* nodes have been delivered. Not sure that anyone actually uses that feature (let me know if you do) but the upcoming uib-file-* nodes will provide more features with greater safety.

1 Like