# 🌟 \[Major Release\] uibuilder v6.0.0 - it's here at last!

**URL:** <https://discourse.nodered.org/t/major-release-uibuilder-v6-0-0-its-here-at-last/72387>\
**Category:** Share Your Nodes\
**Tags:** uibuilder\
**Created:** [18 December 2022 17:58 UTC](https://discourse.nodered.org/t/major-release-uibuilder-v6-0-0-its-here-at-last/72387 "2022-12-18T17:58:08Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [18 December 2022 17:58 UTC](https://discourse.nodered.org/t/major-release-uibuilder-v6-0-0-its-here-at-last/72387/1 "2022-12-18T17:58:08Z")

</div>

Hi all, after much delay due to unexpected life getting in the way (which really should be expected by now!), uibuilder v6 is finally released.

The notable changes are:

- Node.js v14 and Node-RED v3 are the minimum supported versions.

- The "new" front-end client libraries are now preferred over the old `uibuilderfe` library. The new library has files for standard use similar to the old version (e.g. use as a simple link in your HTML), a version to use if you are wanting to switch to ES Modules and a raw version to use if you want to include in your own build steps. New features will only be added to the new library, the old one will only get critical fixes.

- New client library changes:

- Changes to the main uibuilder node:

- All the nodes that support caching now use the same feature-set. They use Node-RED's native context storage and lets you chose between stores.

- The usual set of bug fixes. Most notably an error in the `uib-cache` node and in the main node, the package handling wasn't always working as expected if you had a lot of packages on a slower device.

- A new example flow thanks to [Harold Peters Inskipp](https://github.com/HaroldPetersInskipp) that demonstrates some logging possibilities.

- The somewhat experimental `uib-list` node allows you to create an HTML list (UL, OL or DL) from a simple array or object payload. It caches the last thing sent to it (if you want it too) so page reloads and new client connections will all get the data.

One apology - I wanted to get this release out into the wild and I haven't had chance to update all of the example flows and templates to use the new FE library. I'll try to get these updated ASAP.

* * *

## Changelog

### Breaking Changes

- Minimum Node-RED version is now v3
- Minimum Node.js version is now v14 LTS (in line with Node-RED v3) - note that the minimum minor version changes to the latest v14 LTS version whenever uibuilder is updated.
- Not sure if this is really breaking. However, `uib-cache` nodes were not properly handling cases where, when processing incoming msgs, the chosen "Cache by" msg property was an empty string in the input msg. Previously handling of that case was dependent on the store and type being used. It is now ignored. The common case is where the setting is `msg.topic` and using the default trigger node which has `msg.topic` set to an empty string. Previously that was _sometimes_ recorded and sometimes not. Now it is never recorded.

### Fixed

- `uib-cache`: Custom variable name was being ignored - cache processing rewritten
- `uibuilder`: Library tab might occasionally list a package that wasn't a direct installed dependency. Now resolved. Only packages listed in `<uibRoot>/package.json` dependencies property will be listed.
- `nodes/libs/package-msg.js` `updateInstalledPackageDetails()`: Installations with a large number of installed libraries not correctly reporting their details. Resolved (hopefully) async issue. Was using `async` with `.forEach()` which doesn't work. Changed to use `Promise.all` with a map. Thanks to [dczysz](https://github.com/dczysz) for reporting. Issue [#186](https://github.com/TotallyInformation/node-red-contrib-uibuilder/issues/186). Issue more complex than originally thought. Ended up doing a 2-stage update of the installed libraries data. First stage is quick and synchronous to allow the appropriate vendor folders to be added to the ExpressJS vendor routes. 2nd stage uses npm to get additional library information.
- Can now stop auto-loading of uibuilder default stylesheet using `uibuilder.start({loadStylesheet: false})`. Issue [#184](https://github.com/TotallyInformation/node-red-contrib-uibuilder/issues/184).
- Fixed deepscan issues.
- Old client library was reporting mismatch client version unnecessarily
- Old client library was not reporting client `pageName` correctly

### New

- New example: Demonstrating logging methods of messages passed both into and from a uibulder node, to both the Node-RED debug panel and the Web Dev console. Many thanks to [Harold Peters Inskipp](https://github.com/HaroldPetersInskipp) for the contribution.
- New Template: Basic Vue v3 example with no build step required.
- New editor option: Add `msg._uib` to standard messages (off by default). Can be used to help with authentication/authorisation & session management within Node-RED flows. Contains `clientId` & `remoteAddress` and `pageName` properties.

### Changed

- New client (`uibuilder.iife.js` and `uibuilder.esm.js`) improvements

- `uibuilder` node

- `uib-cache` node

- `uib-list` node

- Various library improvements including some trace and info log msg improvements.

- Tech docs - updated to indicate the the old client library is now functionally stabilised and will eventually be deprecated.

- uibindex page (adminapiv2.js) - Add folders to Vendor Routes table (from `packageMgt.uibPackageJson.uibuilder.packages`).

---

<div class="post-metadata">

**Author:** ![Paul-Reed](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/paul-reed/32/66906_2.png) [@Paul-Reed](https://discourse.nodered.org/u/Paul-Reed)\
**Post date:** [18 December 2022 20:02 UTC](https://discourse.nodered.org/t/major-release-uibuilder-v6-0-0-its-here-at-last/72387/2 "2022-12-18T20:02:25Z")

</div>

Oooh, it's the battle of the dashboards 😄 😄 😄

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [18 December 2022 20:04 UTC](https://discourse.nodered.org/t/major-release-uibuilder-v6-0-0-its-here-at-last/72387/3 "2022-12-18T20:04:40Z")

</div>

Not really - uibuilder isn't a dashboard but rather a builder of dashboards 😃

Or more accurately a builder of data-driven web apps.

But it is starting to gain some dashboard capabilities as well such the the experimental `uib-list` node which I'm really interested to get feedback on that.

---

<div class="post-metadata">

**Author:** ![Karaburgut](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/karaburgut/32/77133_2.png) [@Karaburgut](https://discourse.nodered.org/u/Karaburgut)\
**Post date:** [5 March 2023 15:56 UTC](https://discourse.nodered.org/t/major-release-uibuilder-v6-0-0-its-here-at-last/72387/4 "2023-03-05T15:56:14Z")

</div>

Hi. I have interesting error while try install [node-red-contrib-uibuilder].

```auto
npm WARN notsup Unsupported engine for node-red-contrib-uibuilder@6.0.0: wanted: {"node":">=14.14"} (current: {"node":"12.2 2.12","npm":"6.14.16"})
npm WARN notsup Not compatible with your version of node/npm: node-red-contrib-uibuilder@6.0.0
npm WARN notsup Unsupported engine for fs-extra@11.1.0: wanted: {"node":">=14.14"} (current: {"node":"12.22.12","npm":"6.14 .16"})
npm WARN notsup Not compatible with your version of node/npm: fs-extra@11.1.0
npm WARN unipi No description
npm WARN unipi No repository field.
npm WARN unipi No license field.

```

but I use node 18.14.2:

```auto
unipi@L205-sn160:~$ npm version
{
  npm: '9.6.0',
  node: '18.14.2',
  v8: '10.2.154.26-node.22',
  uv: '1.44.2',
  zlib: '1.2.13',
  brotli: '1.0.9',
  ares: '1.18.1',
  modules: '108',
  nghttp2: '1.51.0',
  napi: '8',
  llhttp: '6.0.10',
  uvwasi: '0.0.14',
  acorn: '8.8.1',
  simdutf: '3.1.0',
  undici: '5.20.0',
  openssl: '3.0.8+quic',
  cldr: '42.0',
  icu: '72.1',
  tz: '2022g',
  unicode: '15.0',
  ngtcp2: '0.8.1',
  nghttp3: '0.7.0'
}

```

Have somebody any suggestion?

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [5 March 2023 16:13 UTC](https://discourse.nodered.org/t/major-release-uibuilder-v6-0-0-its-here-at-last/72387/5 "2023-03-05T16:13:47Z")

</div>

What hardware/OS are you using, how did you install nodejs, how did you install node-red and how are you running node-red?

Also stop node-red and start it in a command window. Copy/paste (not screenshot please) the full startup log here.

---

<div class="post-metadata">

**Author:** ![Karaburgut](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/karaburgut/32/77133_2.png) [@Karaburgut](https://discourse.nodered.org/u/Karaburgut)\
**Post date:** [5 March 2023 16:36 UTC](https://discourse.nodered.org/t/major-release-uibuilder-v6-0-0-its-here-at-last/72387/6 "2023-03-05T16:36:53Z")

</div>

OK, I used this script to completlly reinstall Node-Red:

```auto
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)

```

and now, everything works fine.

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [5 March 2023 16:39 UTC](https://discourse.nodered.org/t/major-release-uibuilder-v6-0-0-its-here-at-last/72387/7 "2023-03-05T16:39:46Z")

</div>

Please raise new topics rather than adding to old ones.

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [5 March 2023 16:39 UTC](https://discourse.nodered.org/t/major-release-uibuilder-v6-0-0-its-here-at-last/72387/8 "2023-03-05T16:39:52Z")

</div>


