mirror of
https://github.com/node-red/node-red.git
synced 2025-03-01 10:36:34 +00:00
Merge remote-tracking branch 'refs/remotes/origin/allow-number-user-properties-mqtt' into allow-number-user-properties-mqtt
This commit is contained in:
commit
21832a0bd0
2
.github/workflows/tests.yml
vendored
2
.github/workflows/tests.yml
vendored
@ -16,7 +16,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [18, 20, 22.4.x]
|
||||
node-version: [18, 20, 22]
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
|
35
CHANGELOG.md
35
CHANGELOG.md
@ -1,3 +1,38 @@
|
||||
#### 4.0.3: Maintenance Release
|
||||
|
||||
Editor
|
||||
|
||||
- Refresh page title after changing tab name (#4850) @kazuhitoyokoi
|
||||
- Add Japanese translations for v4.0.2 (again) (#4853) @kazuhitoyokoi
|
||||
- Stay in quick-add mode following context menu insert (#4883) @knolleary
|
||||
- Do not include Junction type in quick-add for virtual links (#4879) @knolleary
|
||||
- Multiplayer cursor tracking (#4845) @knolleary
|
||||
- Hide add-flow options when disabled via editorTheme (#4869) @knolleary
|
||||
- Fix env-var config select when multiple defined (#4872) @knolleary
|
||||
- Fix subflow outbound-link filter (#4857) @GogoVega
|
||||
- Add French translations for v4.0.2 (#4856) @GogoVega
|
||||
- Fix moving link wires (#4851) @knolleary
|
||||
- Adjust type search dialog position to prevent x-overflow (#4844) @Steve-Mcl
|
||||
- fix: modulesInUse might be undefined (#4838) @lorenz-maurer
|
||||
- Add Japanese translations for v4.0.2 (#4849) @kazuhitoyokoi
|
||||
- Fix menu to enable/disable selection when it's a group (#4828) @GogoVega
|
||||
|
||||
Runtime
|
||||
|
||||
- Update dependencies (#4874) @knolleary
|
||||
- GitHub: Add citation file to enable "Cite this repository" feature (#4861) @lobis
|
||||
- Remove use of util.log (#4875) @knolleary
|
||||
|
||||
Nodes
|
||||
|
||||
- Fix invalid property error in range node example (#4855)
|
||||
- Fix typo in flow example name (#4854) @kazuhitoyokoi
|
||||
- Move SNI, ALPN and Verify Server cert out of check (#4882) @hardillb
|
||||
- Set status of mqtt nodes to "disconnected" when deregistered from broker (#4878) @Steve-Mcl
|
||||
- MQTT: Ensure will payload is a string (#4873) @knolleary
|
||||
- Let batch node terminate "early" if msg.parts set to end of sequence (#4829) @dceejay
|
||||
- Fix unintentional Capitalisation in Split node name (#4835) @dceejay
|
||||
|
||||
#### 4.0.2: Maintenance Release
|
||||
|
||||
Editor
|
||||
|
16
package.json
16
package.json
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "node-red",
|
||||
"version": "4.0.2",
|
||||
"version": "4.0.3",
|
||||
"description": "Low-code programming for event-driven applications",
|
||||
"homepage": "https://nodered.org",
|
||||
"license": "Apache-2.0",
|
||||
@ -26,13 +26,13 @@
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"acorn": "8.11.3",
|
||||
"acorn-walk": "8.3.2",
|
||||
"ajv": "8.14.0",
|
||||
"acorn": "8.12.1",
|
||||
"acorn-walk": "8.3.4",
|
||||
"ajv": "8.17.1",
|
||||
"async-mutex": "0.5.0",
|
||||
"basic-auth": "2.0.1",
|
||||
"bcryptjs": "2.4.3",
|
||||
"body-parser": "1.20.2",
|
||||
"body-parser": "1.20.3",
|
||||
"cheerio": "1.0.0-rc.10",
|
||||
"clone": "2.1.2",
|
||||
"content-type": "1.0.5",
|
||||
@ -41,7 +41,7 @@
|
||||
"cors": "2.8.5",
|
||||
"cronosjs": "1.7.1",
|
||||
"denque": "2.1.0",
|
||||
"express": "4.19.2",
|
||||
"express": "4.21.0",
|
||||
"express-session": "1.18.0",
|
||||
"form-data": "4.0.0",
|
||||
"fs-extra": "11.2.0",
|
||||
@ -64,7 +64,7 @@
|
||||
"mqtt": "5.7.0",
|
||||
"multer": "1.4.5-lts.1",
|
||||
"mustache": "4.2.0",
|
||||
"node-red-admin": "^4.0.0",
|
||||
"node-red-admin": "^4.0.1",
|
||||
"node-watch": "0.7.4",
|
||||
"nopt": "5.0.0",
|
||||
"oauth2orize": "1.12.0",
|
||||
@ -76,7 +76,7 @@
|
||||
"rfdc": "^1.3.1",
|
||||
"semver": "7.5.4",
|
||||
"tar": "7.2.0",
|
||||
"tough-cookie": "4.1.4",
|
||||
"tough-cookie": "^5.0.0",
|
||||
"uglify-js": "3.17.4",
|
||||
"uuid": "9.0.1",
|
||||
"ws": "7.5.10",
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@node-red/editor-api",
|
||||
"version": "4.0.2",
|
||||
"version": "4.0.3",
|
||||
"license": "Apache-2.0",
|
||||
"main": "./lib/index.js",
|
||||
"repository": {
|
||||
@ -16,14 +16,14 @@
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"@node-red/util": "4.0.2",
|
||||
"@node-red/editor-client": "4.0.2",
|
||||
"@node-red/util": "4.0.3",
|
||||
"@node-red/editor-client": "4.0.3",
|
||||
"bcryptjs": "2.4.3",
|
||||
"body-parser": "1.20.2",
|
||||
"body-parser": "1.20.3",
|
||||
"clone": "2.1.2",
|
||||
"cors": "2.8.5",
|
||||
"express-session": "1.18.0",
|
||||
"express": "4.19.2",
|
||||
"express": "4.21.0",
|
||||
"memorystore": "1.6.7",
|
||||
"mime": "3.0.0",
|
||||
"multer": "1.4.5-lts.1",
|
||||
|
@ -562,7 +562,9 @@
|
||||
"types": {
|
||||
"local": "Local",
|
||||
"examples": "Examples"
|
||||
}
|
||||
},
|
||||
"type": "Type",
|
||||
"name": "Name"
|
||||
},
|
||||
"palette": {
|
||||
"noInfo": "no information available",
|
||||
|
@ -562,7 +562,9 @@
|
||||
"types": {
|
||||
"local": "ローカル",
|
||||
"examples": "サンプル"
|
||||
}
|
||||
},
|
||||
"type": "型",
|
||||
"name": "名前"
|
||||
},
|
||||
"palette": {
|
||||
"noInfo": "情報がありません",
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@node-red/editor-client",
|
||||
"version": "4.0.2",
|
||||
"version": "4.0.3",
|
||||
"license": "Apache-2.0",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
@ -839,10 +839,10 @@ RED.library = (function() {
|
||||
if (file && file.label && !file.children) {
|
||||
$.get("library/"+file.library+"/"+file.type+"/"+file.path, function(data) {
|
||||
//TODO: nls + sanitize
|
||||
var propRow = $('<tr class="red-ui-help-info-row"><td>Type</td><td></td></tr>').appendTo(table);
|
||||
var propRow = $('<tr class="red-ui-help-info-row"><td>'+RED._("library.type")+'</td><td></td></tr>').appendTo(table);
|
||||
$(propRow.children()[1]).text(activeLibrary.type);
|
||||
if (file.props.hasOwnProperty('name')) {
|
||||
propRow = $('<tr class="red-ui-help-info-row"><td>Name</td><td>'+file.props.name+'</td></tr>').appendTo(table);
|
||||
propRow = $('<tr class="red-ui-help-info-row"><td>'+RED._("library.name")+'</td><td>'+file.props.name+'</td></tr>').appendTo(table);
|
||||
$(propRow.children()[1]).text(file.props.name);
|
||||
}
|
||||
for (var p in file.props) {
|
||||
|
@ -204,7 +204,7 @@ RED.sidebar.info = (function() {
|
||||
|
||||
propertiesPanelHeaderIcon.empty();
|
||||
RED.utils.createNodeIcon({type:"_selection_"}).appendTo(propertiesPanelHeaderIcon);
|
||||
propertiesPanelHeaderLabel.text("Selection");
|
||||
propertiesPanelHeaderLabel.text(RED._("sidebar.info.selection"));
|
||||
propertiesPanelHeaderReveal.hide();
|
||||
propertiesPanelHeaderHelp.hide();
|
||||
propertiesPanelHeaderCopyLink.hide();
|
||||
|
@ -1209,7 +1209,10 @@ RED.view = (function() {
|
||||
lasso = null;
|
||||
}
|
||||
if (d3.event.touches || d3.event.button === 0) {
|
||||
if ((mouse_mode === 0 || mouse_mode === RED.state.QUICK_JOINING) && isControlPressed(d3.event) && !(d3.event.altKey || d3.event.shiftKey)) {
|
||||
if (
|
||||
(mouse_mode === 0 && isControlPressed(d3.event) && !(d3.event.altKey || d3.event.shiftKey)) ||
|
||||
mouse_mode === RED.state.QUICK_JOINING
|
||||
) {
|
||||
// Trigger quick add dialog
|
||||
d3.event.stopPropagation();
|
||||
clearSelection();
|
||||
@ -1285,7 +1288,6 @@ RED.view = (function() {
|
||||
}
|
||||
|
||||
var mainPos = $("#red-ui-main-container").position();
|
||||
|
||||
if (mouse_mode !== RED.state.QUICK_JOINING) {
|
||||
mouse_mode = RED.state.QUICK_JOINING;
|
||||
$(window).on('keyup',disableQuickJoinEventHandler);
|
||||
@ -3057,8 +3059,8 @@ RED.view = (function() {
|
||||
}
|
||||
|
||||
function disableQuickJoinEventHandler(evt) {
|
||||
// Check for ctrl (all browsers), "Meta" (Chrome/FF), keyCode 91 (Safari)
|
||||
if (evt.keyCode === 17 || evt.key === "Meta" || evt.keyCode === 91) {
|
||||
// Check for ctrl (all browsers), "Meta" (Chrome/FF), keyCode 91 (Safari), or Escape
|
||||
if (evt.keyCode === 17 || evt.key === "Meta" || evt.keyCode === 91 || evt.keyCode === 27) {
|
||||
resetMouseVars();
|
||||
hideDragLines();
|
||||
redraw();
|
||||
|
@ -920,6 +920,17 @@ RED.workspaces = (function() {
|
||||
}
|
||||
},
|
||||
refresh: function() {
|
||||
var workspace = RED.nodes.workspace(RED.workspaces.active());
|
||||
if (workspace) {
|
||||
document.title = `${documentTitle} : ${workspace.label}`;
|
||||
} else {
|
||||
var subflow = RED.nodes.subflow(RED.workspaces.active());
|
||||
if (subflow) {
|
||||
document.title = `${documentTitle} : ${subflow.name}`;
|
||||
} else {
|
||||
document.title = documentTitle
|
||||
}
|
||||
}
|
||||
RED.nodes.eachWorkspace(function(ws) {
|
||||
workspace_tabs.renameTab(ws.id,ws.label);
|
||||
$("#red-ui-tab-"+(ws.id.replace(".","-"))).attr("flowname",ws.label)
|
||||
|
@ -104,6 +104,7 @@ module.exports = function(RED) {
|
||||
if (this.credentials && this.credentials.passphrase) {
|
||||
opts.passphrase = this.credentials.passphrase;
|
||||
}
|
||||
}
|
||||
if (this.servername) {
|
||||
opts.servername = this.servername;
|
||||
}
|
||||
@ -111,7 +112,6 @@ module.exports = function(RED) {
|
||||
opts.ALPNProtocols = [this.alpnprotocol];
|
||||
}
|
||||
opts.rejectUnauthorized = this.verifyservercert;
|
||||
}
|
||||
return opts;
|
||||
}
|
||||
|
||||
|
@ -456,7 +456,7 @@
|
||||
"staticTopic": "Subscribe to single topic",
|
||||
"dynamicTopic": "Dynamic subscription",
|
||||
"auto-connect": "Connect automatically",
|
||||
"auto-mode-depreciated": "This option is depreciated. Please use the new auto-detect mode.",
|
||||
"auto-mode-depreciated": "This option is deprecated. Please use the new auto-detect mode.",
|
||||
"none": "none",
|
||||
"other": "other"
|
||||
},
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@node-red/nodes",
|
||||
"version": "4.0.2",
|
||||
"version": "4.0.3",
|
||||
"license": "Apache-2.0",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@ -15,10 +15,10 @@
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"acorn": "8.11.3",
|
||||
"acorn-walk": "8.3.2",
|
||||
"ajv": "8.14.0",
|
||||
"body-parser": "1.20.2",
|
||||
"acorn": "8.12.1",
|
||||
"acorn-walk": "8.3.4",
|
||||
"ajv": "8.17.1",
|
||||
"body-parser": "1.20.3",
|
||||
"cheerio": "1.0.0-rc.10",
|
||||
"content-type": "1.0.5",
|
||||
"cookie-parser": "1.4.6",
|
||||
@ -41,7 +41,7 @@
|
||||
"node-watch": "0.7.4",
|
||||
"on-headers": "1.0.2",
|
||||
"raw-body": "2.5.2",
|
||||
"tough-cookie": "4.1.4",
|
||||
"tough-cookie": "^5.0.0",
|
||||
"uuid": "9.0.1",
|
||||
"ws": "7.5.10",
|
||||
"xml2js": "0.6.2",
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@node-red/registry",
|
||||
"version": "4.0.2",
|
||||
"version": "4.0.3",
|
||||
"license": "Apache-2.0",
|
||||
"main": "./lib/index.js",
|
||||
"repository": {
|
||||
@ -16,7 +16,7 @@
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"@node-red/util": "4.0.2",
|
||||
"@node-red/util": "4.0.3",
|
||||
"clone": "2.1.2",
|
||||
"fs-extra": "11.2.0",
|
||||
"semver": "7.5.4",
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@node-red/runtime",
|
||||
"version": "4.0.2",
|
||||
"version": "4.0.3",
|
||||
"license": "Apache-2.0",
|
||||
"main": "./lib/index.js",
|
||||
"repository": {
|
||||
@ -16,11 +16,11 @@
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"@node-red/registry": "4.0.2",
|
||||
"@node-red/util": "4.0.2",
|
||||
"@node-red/registry": "4.0.3",
|
||||
"@node-red/util": "4.0.3",
|
||||
"async-mutex": "0.5.0",
|
||||
"clone": "2.1.2",
|
||||
"express": "4.19.2",
|
||||
"express": "4.21.0",
|
||||
"fs-extra": "11.2.0",
|
||||
"json-stringify-safe": "5.0.1",
|
||||
"rfdc": "^1.3.1"
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@node-red/util",
|
||||
"version": "4.0.2",
|
||||
"version": "4.0.3",
|
||||
"license": "Apache-2.0",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
14
packages/node_modules/node-red/package.json
vendored
14
packages/node_modules/node-red/package.json
vendored
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "node-red",
|
||||
"version": "4.0.2",
|
||||
"version": "4.0.3",
|
||||
"description": "Low-code programming for event-driven applications",
|
||||
"homepage": "https://nodered.org",
|
||||
"license": "Apache-2.0",
|
||||
@ -31,16 +31,16 @@
|
||||
"flow"
|
||||
],
|
||||
"dependencies": {
|
||||
"@node-red/editor-api": "4.0.2",
|
||||
"@node-red/runtime": "4.0.2",
|
||||
"@node-red/util": "4.0.2",
|
||||
"@node-red/nodes": "4.0.2",
|
||||
"@node-red/editor-api": "4.0.3",
|
||||
"@node-red/runtime": "4.0.3",
|
||||
"@node-red/util": "4.0.3",
|
||||
"@node-red/nodes": "4.0.3",
|
||||
"basic-auth": "2.0.1",
|
||||
"bcryptjs": "2.4.3",
|
||||
"cors": "2.8.5",
|
||||
"express": "4.19.2",
|
||||
"express": "4.21.0",
|
||||
"fs-extra": "11.2.0",
|
||||
"node-red-admin": "^4.0.0",
|
||||
"node-red-admin": "^4.0.1",
|
||||
"nopt": "5.0.0",
|
||||
"semver": "7.5.4"
|
||||
},
|
||||
|
Loading…
x
Reference in New Issue
Block a user