UNPKG

68.5 kBMarkdownView Raw
1#### 0.20.7: Maintenance Release
2
3 - Update jsonata to 1.6.5 which should fix #2183
4 - Ensure the subflow stop promise is waiting for before restarting
5 - Properly escape node types in palette
6
7#### 0.20.6: Maintenance Release
8
9 - Revealing node position needs to account for zoom level Fixes #2172
10 - stop join tripping up if last message of buffer is blank.
11 - Improve handling of file upload in request node
12 - Handle subflow internal node wired to a non-existant node Fixes #2202
13 - Do not save subflow env vars with blank names
14 - Don't allow a link node virtual wire to connect to normal port
15 - Clear HTTP Request node authType when auth disabled Fixes #2215
16 - Fix parsing of content-type header Fixes #2216
17 - Fix join node reset issue with merging objects
18 - Copy data-i18n attribute on TypedInput Fixes #2211
19
20#### 0.20.5: Maintenance Release
21
22 - Revert error handling in palette manager
23
24#### 0.20.4: Maintenance Release
25
26- Switch media-typer to content-type module Fixes #2122 #2123
27- Use userObj.username and not .name for ssh key lookup Closes #2109
28- Ensure mqtt message handlers are tidied up properly on partial deploy
29- Update package dependencies
30- Fix encoding menu in file node #2125
31- Update ACE to 1.4.3-src-min-noconflict Fixes #2106
32- Fix creating missing package.json when existing project imported Fixes #2115
33- Allow subflow instance to override env var with falsey values Fixes #2113
34- Prevent wire from normal node to link virtual port Fixes #2114
35- Add explanation to the help text on the new feature to build query string from msg.payload #2116
36- Bump bcrypt to latest
37- Add Korean locales files for nodes #2100
38- Add error message if catalog is invalid json
39- Reduce udp out timeout to be less than default inject at start #2127
40
41#### 0.20.3: Maintenance Release
42
43- Do not dynamically add/remove upgrade listener in ws nodes
44- Avoid env var reference loops and support $parent. prefix Fixes #2099
45- Ensure config.\_flow is non-enumerable so is ignored by JSON.stringify
46- Block loading ACE from cdn
47
48#### 0.20.2: Maintenance Release
49
50 - Filter out duplicate nodes when importing a flow
51 - Handle node configs with multiple external scripts properly
52
53#### 0.20.1: Maintenance Release
54
55 - Ensure all subflow instances are stopped when flow stopping Fixes #2095
56 - modify name of korean locale forders #2091
57 - Ensure node names are sanitized before being presented
58 - Subflow status node must pass status to parent flow Fixes #2087
59 - fix problem on displaying option label on Firefox #2090
60
61#### 0.20.0: Milestone Release
62
63Runtime
64 - Pass complete status to Status node and filter to editor
65 - Ensure flows wait for all nodes to close before restarting Fixes #2067
66 - Fix git clone with password protected key
67 - Allow a project to be located below the root of repo
68 - Detect the cloning of an empty git repo properly
69 - Fix use of custom auth strategy plugins
70 - Remove remnants of when library in git/index Fixes #2057
71 - Clear subflow status on close
72 - Add exportGlobalContextKeys to prevent exposing functionGlobalContext keys
73 - Add --no-audit and --no-update-notifier flags to npm commands to reduce workload
74 - Add envVarExcludes setting to block named env vars
75 - Update settings.js docs on userDir to match reality Fixes #2082
76 - Add Korean Language
77
78
79Editor
80 - Automatic placing of node icon according to input/output counts
81 - Transfer placeholder and type to generated TypedInput field
82 - Hitting enter in Comment node name field clicks markdown button
83 - Shift status text left if no shape specified
84 - Better align node status text to status dot
85 - Handle treeList labels as text not html
86 - Change subflow edit dialog titles
87 - Resize subflow edit dialog properly
88 - Add flow list button to tab bar
89 - Handle node name as unsanitized text in debug sidebar
90
91Nodes
92
93 - HTTP Request: Add Digest and Bearer Auth modes to http request node (#2061)
94 - HTTP Request: Add multipart/form-data support to http request node (#2076)
95 - TCP: include session/event info in status events
96 - WebSocket: include session/event info in status events
97 - Add i18n support for port label of inject/exec/httprequest/file nodes
98 - Join node: handle merged objects with repeated properties and honour parts
99 - JSON node: handle single booleans and numbers
100 - File node: add encoding support to file in/out node (#2066)
101
102#### 0.20.0-beta.5: Beta Release
103
104Runtime
105
106 - Bump dependencies
107 - Allow `$parent` access of flow context
108 - Make Node.\_flow a writeable property
109 - Do not propagate Flow.getNode to parent when called from outside flow
110 - Add support of subflow env var
111
112Editor
113
114 - Properly sanitize node names in deploy warning dialogs
115 - Fix XSS issues in library ui code
116 - Add env type to subflow env var types
117 - Display parent subflow properties in edit dialog
118 - Fix direction value of subflow output
119 - Add Status Node to Subflow to allow subflow-specific status Closes #597
120 - Better handling of multiple flow merges Fixes #2039
121
122Nodes
123
124 - Various translation updates
125 - Catch: Add 'catch uncaught only' mode. Closes #1747
126 - Link: scroll to current flow in node list
127 - HTTPRequest: add option to urlencode cookies
128 - HTTPRequest: option to use msg.payload as query params on GET. #1981
129 - Debug: Add local time display option to numerics in debug window
130 - MQTT: Add parsed JSON output option
131
132#### 0.20.0-beta.4: Beta Release
133
134Runtime
135
136 - Bump JSONata to 1.6.4
137 - Add Flow.getSetting for resolving env-var properties
138 - Refactor Subflow logic into own class
139 - Restore RED.auth to node-red module api
140 - Tidy up when usage in Flow and Node
141
142Editor
143
144 - German translation
145 - Change default dropdown appearance and sidebar tab menu handling
146 - Handle multiple-select box when nothing selected Fixes #2021
147 - Handle i18n properly when key is a valid sub-identifier Fixes #2028
148 - Avoid duplicate links when missing node type installed Fixes #2032
149 - Add View Tools
150 - Don't collapse version control header when clicking refresh
151 - Add fast entry via keyboard for string of nodes
152 - Check for undeployed change before showing open project dialog
153 - Add placeholder node when in quick-add mode
154 - Move nodes to top-left corner when converting to subflow
155
156Nodes
157
158 - Debug: Allow debug edit expression to be sent to status
159 - WebSocket: Fix missing translated help
160
161
162#### 0.20.0-beta.3: Beta Release
163
164Editor
165
166 - Update palette manager view properly when module updated
167 - Add TreeList common widget
168 - Fix visual jump when opening Comment editor on Safari Part of #2008
169 - Fix vertical align of markdown editor in Safari Fixes #2008
170 - Avoid marking node as changed if label state is default Fixes #2009
171 - Highlight port on node hover while joining
172 - Support drag-wiring of link nodes
173 - Allow TypeSearch to include a filter option
174 - Improve diff colouring
175 - Allow sections to toggle in 2-element stack
176 - Add support for ${} env var syntax when skipping validation Closes #1980
177 - i18 support for markdown editor tooltip
178 - Add RED.editor.registerTypeEditor for custom type editors
179 - Tidy up markdown toolbar handling across all editors
180 - Added validation while export into library
181 - Reuse notification boxes rather than stack multiple of the same type
182 - Make ssh key dialog accessible when opened from new proj dialog
183
184Runtime
185
186 - Bump JSONata to 1.6.4 Fixes #2023
187 - Add audit logging to admin api
188 - Fix failure of RED.require #2010
189 - Allow oauth strategy callback method to be customised Closes #1998
190 - Ensure fs context cache is flushed on close Fixes #2001
191 - Fix library Buffer( to Buffer.alloc( for node 10
192 - Catch file-not-found on startup when non-existant flow file specified
193 - Actively expire login sesssions and notify user
194 - Add quotation marks for basic auth challenge #1976
195
196Nodes
197
198 - Change: remove promises to improve performance
199 - Debug: add ability to apply JSONata expression to message
200 - Join: remove promises to improve performance
201 - JSON: delete msg.schema before sending msg to avoid conflicts
202 - Link: update UI to use common TreeList widget
203 - Switch: remove promises to improve performance
204
205#### 0.20.0-beta.2: Beta Release
206
207 - Split Node-RED internals into multiple sub-modules
208
209Editor
210
211 - Allow the editor to use a custom admin api url root
212 - Improve performance of Flow Diff dialog - @TothiViseo #1989
213 - Add 'open project' option to Projects Welcome dialog
214 - Add 'type already registered' check in palette editor
215 - Handle missing tab.disabled property
216 - Handle missing wires prop and string x/y props on import
217 - Add RED.notifications.hide flag - for UI testing
218 - Improve alignment of node label edit inputs
219 - Show arrow-in node when invalid font-awesome icon name was specified for default icon
220 - Add ability to delete context values from sidebar
221 - Allow copy-to-clipboard copy whole tabs
222 - Make disabled flows more obvious in editor
223 - Allow import/export from file in editor
224 - Allow config nodes to be selected in sidebar and deleted
225 - Show port label of subflow with input port
226 - Support ctrl-click selection of flow tabs
227 - Allow left-hand node button to act as toggle
228 - Support dbl-click in tab bar to add new flow in position
229 - Fix duplicate subflow detection on import
230 - Add import notification with info on what has been imported Closes #1862
231 - Show error details when trying to import invalid json
232 - Show default icon when non-existent font-awesome icon was specified
233 - Add configurable option for showing node label
234 - Avoid http redirects as Safari doesn't reuse Auth header Fixes #1903
235 - Tidy up ace tooltip styling
236 - Add event log to editor
237 - Add tooltips to multiple editor elements
238 - Allow palette to be hidden
239 - Add node module into to sidebar and palette popover
240 - Mark all newly imported nodes as changed
241 - Allow a node label to be hidden
242 - Add markdown formatting toolbar
243 - Add markdown toolbar to various editors
244 - Fix i18n handling for ja-JP locale on Safari/MacOS
245 - Add node body tooltip
246 - Decrease opacity of flow-navigator
247 - Update tooltip style
248 - Update ACE to 1.4.1-src-min-noconflict
249 - Cache node locales by language
250 - Show icon element with either icon image or fa-icon
251 - Added font-awesome icons to user defined icon
252 - Update info side bar with node description section
253 - One-click search of config node users
254 - Redesign node edit dialog to tabbed style
255 - Add 'restart flows' option to deploy menu
256 - Add node description property UI
257
258
259Runtime
260
261 - Allow a project to be loaded from cmdline
262 - Handle lookup of undefined property in Global context Fixes #1978
263 - Refuse to enable Manage Palette if npm too old
264 - Remove restriction on upgrading non-local modules
265 - Remove deprecated Buffer constructor usage Fixes #1709
266 - Update httpServerOptions doc in settings.js
267 - Exclude non-testable .js files from the unit tests
268 - Add --safe mode flag to allow starting without flows running
269 - Add setting-defined accessToken for automated access to the adminAPI - #1789
270
271Nodes
272
273 - Move all core node EN help to their own locale files - #1990
274 - CSV: better regex for number detection
275 - Debug: hide button if not configured to send to sidebar
276 - Delay: report queue activity when in by-topic mode
277 - Delay: add msg.flush mode
278 - Exec: Preserve existing properties on msg object
279 - File: remove CR/LF from incoming filename
280 - Function: create custom ace javascript mode to handle ES6 Fixes #1911
281 - Function: add env.get
282 - HTTP Request: Add http-proxy config #1913
283 - HTTP Request: add msg.redirectList to output
284 - HTTP Request: add msg.requestTimeout option for per-message setting - @natcl #1959
285 - MQTT: add auto-detect and base64 output to mqtt node Fixes #1912 - @DurandA
286 - MQTT: only unsubscribe node that is being removed
287 - Sentiment: move to node-red-node-sentiment
288 - Switch: add missing edit dialog icon
289 - Tail: move to node-red-node-tail
290 - TCPGet: clear status if user changes target per message
291 - Template: tidy up edit dialog
292 - UDP: more resilient binding to correct port for udp, give input side priority
293 - Split/Join: add msg.reset to info panel
294 - Split/Join: reset join without sending part array
295 - Watch: add msg.filename so can feed direct to file in node
296 - WebSocket: preserve \_session on msg but don't send as part of wholemsg
297
298#### 0.19.6: Maintenance Release
299
300 - Fix encoding of file node from binary to utf8 - #2051
301
302#### 0.19.5: Maintenance Release
303
304 - Recognize pip installs of RPi.GPIO (#1934)
305 - Merge pull request #1941 from node-red-hitachi/master-batch
306 - Merge pull request #1931 from node-red-hitachi/master-typedinput
307 - Set min value of properties and spinners for batch
308 - Fix that unnecessary optionMenu remains
309 - Merge pull request #1894 from node-red-hitachi/fix-overlapping-file-node-execution
310 - Merge pull request #1924 from imZack/patch-1
311 - Add missing comma
312 - Do not disable context sidebar during node edit Fixes #1921
313 - Don't allow virtual links to be spliced Fixes #1920
314 - Merge project package changes to avoid overwritten changes
315 - Handle manually added project deps that are unused Fixes #1908
316 - update close & input handling of File node
317 - make close handler argument only one
318 - Merge pull request #1907 from amilajack/patch-2
319 - Change repo badge to point to master branch
320 - invoke callbacks if async handler is specified
321 - Merge pull request #1891 from camlow325/resolve-example-path-for-windows-support
322 - Merge pull request #1900 from kazuhitoyokoi/master-addtestcases4settings.js
323 - wait closing while pending messages exist
324 - Add test cases for red/api/editor/settings.js
325 - Ensure all palette categories are opened properly Closes #1893
326 - Resolve path when sending example file for Windows support
327 - fix multiple input message processing of file node
328
329#### 0.19.4: Maintenance Release
330
331 - Fix race condition in non-cache lfs context Fixes #1888
332 - LocalFileSystem Context: Remove extra flush code
333 - Prevent race condition in caching mode of lfs context (#1889)
334 - Allow context store name to be provided in the key
335 - Switch node: only use promises when absolutely necessary
336 - Fix dbl-click handling on webkit-based browsers
337 - Ensure context.flow/global cannot be deleted or enumerated
338 - Handle context.get with multiple levels of unknown key Fixes #1883
339 - Fix global.get("foo.bar") for functionGlobalContext set values
340 - Fix node color bug (#1877)
341 - Merge pull request #1857 from cclauss/patch-1
342 - Define raw_input() in Python 3 & fix time.sleep()
343
344#### 0.19.3: Maintenance Release
345
346 - Split node - fix complete to send msg for k/v object
347 - Remove unused Join node merged object key typed input
348 - Set the JavaScript editor to full-screen
349 - Filter global modules installed locally
350 - Add svg to permitted icon extension list
351 - Debug node - indicate status all the time if selected to do so
352 - pi nodes - increase test coverage slightly
353 - TCP-request node - only write payload
354 - JSON schema: perform validation when obj -> obj or str -> str
355 - JSON schema: add draft-06 support (via $schema keyword)
356 - Mqtt proxy configuration for websocket connection, #1651.
357 - Allows MQTT Shared Subscriptions for MQTT-In core node
358 - Fix use of HTML tag or CSS class specification as icon of typedInput
359
360#### 0.19.2: Maintenance Release
361
362 - Ensure node default colour is used if palette.theme has no match
363 - fix lost messages / properties in TCPRequest Node; closes #1863 (#1864)
364 - Fix typo in template.html
365 - Improve error reporting from context plugin loading
366 - Prevent no-op edit of node marking as changed due to icon
367 - Change node must handle empty rule set
368
369#### 0.19.1: Maintenance Release
370
371 - Pull in latest twitter node
372 - Handle windows paths for context storage
373 - Handle persisting objects with circular refs in context
374 - Ensure js editor can expand to fill available space
375 - Add example localfilesystem contextStorage to settings
376 - Fix template node handling of nested context tags
377
378#### 0.19: Milestone Release
379
380Editor
381
382 - Add editorTheme.palette.theme to allow overriding colours
383 - Index all node properties when searching Fixes #1446
384 - Handle NaN and Infinity properly in debug sidebar Fixes #1778 #1779
385 - Prevent horizontal scroll when palette name cannot wrap
386 - Ignore middle-click on node/ports to enable panning
387 - Better wire layout when looping back
388 - fix appearence of retry button of remote branch management dialog
389 - Handle releasing ctrl when using quick-add node dialog
390 - Add $env function to JSONata expressions
391 - Widen support for env var to use ${} or $() syntax
392 - Add env-var support to TypedInput
393 - Show unknown node properties in info tab
394 - Add node icon picker widget
395 - Only edit nodes on dbl click on primary button with no modifiers
396 - Allow subflows to be put in any palette category
397 - Add flow navigator widget
398 - Cache flow library result to improve response time Fixes #1753
399 - Add middle-button-drag to pan the workspace
400 - allow multi-line category name in editor
401 - Redesign sidebar tabs
402 - Do not disable the export-clipboard menu option with empty selection
403
404Nodes
405
406 - Change: Ensure runtime errors in Change node can be caught Fixes #1769
407 - File: Add output to File Out node
408 - Function: add expandable JavaScript editor pane
409 - Function: allow id and name reference in function node code (#1731)
410 - HTTP Request: Move to request module
411 - HTTP: Ensure apiMaxLength applies to HTTP Nodes Fixes #1278
412 - Join: accumulate top level properties
413 - Join: allow environment variable as reduce init value
414 - JSON: add JSON schema validation via msg.schema
415 - Pi: Let nrgpio code work with python 3
416 - Pi: let Pi nodes be visible/editable on all platforms
417 - Switch: add isEmpty rule
418 - TCP: queue messages while connecting; closes #1414
419 - TLS: Add servername option to TLS config node for SNI Fixes #1805
420 - UDP: Don't accidentally re-use udp port when set to not do so
421
422Persistent Context
423
424 - Add Context data sidebar
425 - Add persistable context option
426 - Add default memory store
427 - Add file-based context store
428 - Add async mode to evaluateJSONataExpression
429 - Update RED.util.evaluateNodeProperty to support context stores
430
431Runtime
432
433 - Support flow.disabled and .info in /flow API
434 - Node errors should be Strings not Errors Fixes #1781
435 - Add detection of connection timeout in git communication Fixes #1770
436 - Handle loading empty nodesDir
437 - Add 'private' property to userDir generated package.json
438 - Add RED.require to allow nodes to access other modules
439 - Ensure add/remove modules are run sequentially
440
441#### 0.18.7: Maintenance Release
442
443Editor Fixes
444
445 - Do not trim wires if node declares outputs in defaults but misses value Fixes #1737
446
447Node Fixes
448
449 - Relax twitter node version ready for major version bump
450 - Pass Date into the Function node sandbox to fix instanceof tests
451 - let TCP in node report remote ip and port when in single packet mode
452 - typo fix in node help (#1735)
453
454Other Fixes
455 - Tidy up default grunt task and fixup test break due to reorder Fixes #1738
456 - Bump jsonata version
457
458#### 0.18.6: Maintenance Release
459
460Editor Fixes
461
462 - Handle a node having wires in the editor on ports it no longer has Fixes #1724
463 - Add missing ACE snippet files
464 - Fix wireClippedNodes is not defined Fixes #1726
465 - Split node html to isolate bad nodes when loading
466 - Avoid unnecessary use of .html() where .text() will do
467
468 - Add editorTheme.projects.enabled to default settings.js"
469
470#### 0.18.5: Maintenance Release
471
472Projects
473
474 - Add clone project to welcome screen
475 - Handle cloning a project without package.json
476 - Keep remote branch state in sync between editor and runtime
477
478New Features
479
480 - Add type checks to switch node options (#1714)
481 - add output property select to HTML parse node (#1701)
482 - Add Prevent Following Redirect to HTTP Request node (#615) (#1684)
483 - Add debug and trace functions to function node (#1654)
484 - Enable user defined icon for subflow
485 - Add MQTT disconnect message and rework broker node UI (#1719)
486 - Japanese message catalogue updates (#1723)
487 - Show node load errors in the Palette Manager view
488
489Editor Fixes
490
491 - Highlight subflow node when log msg comes from inside Fixes #1698
492 - Ensure node wires array is not longer than outputs value Fixes #1678
493 - Allow importing an unknown config node to be undone Fixes #1681
494 - Ensure keyboard shortcuts get saved in runtime settings Fixes #1696
495 - Don't mark a subflow changed when actually modified nothing (#1665)
496
497Node Fixes
498
499 - bind to correct port when doing udp broadcast/multicast (#1686)
500 - Provide full error stack in Function node log message (#1700)
501 - Fix http request doc type Fixes #1690
502 - Make debug slightly larger to pass WCAG AA rating
503 - Make core nodes labels more consistent, to close #1673
504 - Allow template node to be updated more than once Fixes #1671
505 - Fix the problem that output labels of switch node sometimes disappear (#1664)
506 - Chinese translations for core nodes (#1607)
507
508Runtime Fixes
509
510 - Handle and display for invalid flow credentials when project is disabled #1689 (#1694)
511 - node-red-pi: fix behavior with old bash version (#1713)
512 - Fix ENOENT error on first start when no user dir (#1711)
513 - Handle null error object in Flow.handleError Fixes #1721
514 - update settings comments to describe how to setup for ipv6 (#1675)
515 - Remove credential props after diffing flow to prevent future false positives Fixes #1359
516 - Log error if settings unavailable when saving user settings Fixes #1645
517 - Keep backup of .config.json
518 - Add warning if using \_credentialSecret from .config.json
519 - Filter req.user in /settings to prevent potentially leaking info
520
521#### 0.18.4: Maintenance Release
522
523Projects
524
525 - Ensure sshkey file path is properly escaped on Windows
526 - Normalize ssh key paths for Windows file names
527 - Ensure userDir is an absolute path when used with sshkeygen
528 - Detect if there are no existing flows to migrate into a project
529 - Use relative urls when retriving flow history
530 - Add credentialSecret to clone pane
531 - Delay clearing inflight when changing credentials key
532 - Mark deploy inflight when reverting a file change
533 - Handle missing_flow_file error on clone properly
534 - Remote project from cached list on delete so it can be reused
535 - Fix tests for existing file flag in settings
536
537Editor Fixes
538
539 - Fix merging a remote diff
540 - Fixed the problems when using a node without defaults
541 - Disable user defined icon for subflow
542 - getDefaultNodeIcon should handle subflow instance nodes Fixes #1635
543 - Add Japanese info text for core nodes
544 - Fix message lookup for core nodes in case of i18 locales directory exists
545 - Prevent the last tab from being deleted
546
547Node Fixes
548
549 - Ensure trigger gets reset when 2nd output is null
550
551
552#### 0.18.3: Maintenance Release
553
554Projects
555
556 - Fix permissions on git/ssh scripts
557 - Add support for GIT_SSH on older levels of git
558 - Handle host key verification as auth error
559 - Ensure commit list has a refs object even if empty
560 - Make git error detection case-insensitive
561 - Fix up merge conflict handling
562 - Use flow-diff when looking at flow file changes
563
564Node Fixes
565
566 - Ensure debug tools show for 'complete msg object'
567 - Fix msg.parts handling in concat mode of Batch node
568
569Editor Fixes
570
571 - Fix offset calculation when dragging node from palette
572 - Allow a library entry to use non-default node-input- prefixes
573 - Change remote-diff shortcut and add it to keymap Fixes #1628
574
575#### 0.18.2: Maintenance Release
576
577Projects
578
579 - Filter out %D from git log command for older git versions
580 - Ensure projects are created as logged in user
581 - Better error handling/reporting in project creation
582 - Add Project Settings menu option
583 - Refresh vc sidebar on remote add/remove
584 - Fix auth prompt for ssh repos
585 - Prevent http git urls from including username/pword
586 - Fix fetch auth handling on non-default remote
587 - Avoid exception if git not installed
588 - Check version of git client on startup
589 - Fix pull/push when no tracked branch
590 - Add git_pull_unrelated_history handling
591 - Handle delete of last remote in project settings
592
593Node Fixes
594
595 - Fix and Add some Chinese translations
596 - Update sort/batch docs
597 - Don't assume node has defaults when exporting icon property
598 - Ensure send is last thing trigger does
599 - Ensure trigger doesn't set two simultaneous timeouts
600 - Add missing property select var to HTML node
601 - Add a default keepalive to tcp client mode
602 - Move node.send in exec and httprequest nodes
603
604
605#### 0.18.1: Maintenance Release
606
607Projects
608
609 - Handle more repo clone error cases
610 - Relax validation of git urls
611 - Revalidate project name on return to project-details view
612 - Avoid unnecessary project refresh on branch-switch Fixes #1597
613 - Add support for file:// git urls
614 - Handle project first-run without existing flow file
615 - Handle delete of last remote in project settings
616 - Add git_pull_unrelated_history handling
617 - Fix pull/push when no tracked branch
618 - Remember to disable projects in editor when git not found
619
620Node Fixes
621
622 - Trigger node migration - ensure bytopic not blank
623 - Add HEAD to list of methods with no body in http req node #1598
624 - Do not include payload in GET requests Fixes #1598
625 - Update sort/batch docs Fixes #1601
626 - Don't assume node has defaults when exporting icon property
627
628
629#### 0.18: Milestone Release
630
631Runtime
632
633 - Beta: Projects - must be enabled in settings file
634 - Allow port zero for Express (#1363)
635 - Better error reporting when module provides duplicate type
636 - Update jsonata to 1.5.0
637 - add express-session memorystore without leaks (#1435)
638 - Allow adminAuth.user to be a Function Fixes #1461
639 - Ensure RED.server is set even if admin api disabled
640 - Ensure strategy login button uses relative URL Fixes #1481
641 - ignore `_msgid` when merging full objects
642 - Move node install to spawn to allow for big stdout Fixes #1488
643 - SIGINT handler should wait for stop to complete before exit
644
645Editor
646
647 - allow a node's icon to be set dynamically (#1490)
648 - Batch messages sent over comms to increase throughput
649 - Migrate deploy confirmations to notifications
650 - `oneditdelete` should be available to all node types Closes #1346
651 - Sort typeSearch results based on position of match
652 - Update ACE to test and add python highlighter (#1373)
653 - Clear mouse state when typeSearch cancelled Fixes #1517
654 - Handle scoped modules via palette editor
655 - TypedInput: handle user defined value/labels options Fixes #1549
656
657Nodes
658
659 - add msg. select to range and yaml nodes
660 - add property choice to xml, sentiment nodes
661 - mqtt: Add 'name' to mqtt-broker node, and label it by this if it is set. (#1364)
662 - Add option to JSON node to ensure particular encoding
663 - add parts support for HTML node (#1495)
664 - Add passphrase to TLS node
665 - Add rc property to exec node outputs 1 and 2 (#1401)
666 - Add skip first n lines capability to csv node (#1535)
667 - Add support for rejectUnauthorized msg property
668 - Add TLS options to WebSocket client
669 - Added parsed YAML support for template node (#1443)
670 - Allow delay node in rate-limit mode to be reset Fixes #1360
671 - Allow setTimeout in Function node to be promisified in node 8
672 - Debug to status option (#1499)
673 - enable template config via msg.template for stored or generated templates (#1503)
674 - HTTP REQUEST: Adding PROPPATCH and PROPFIND http methods (#1531)
675 - Initial support of merge & reduce mode for JOIN node (#1546)
676 - Initial support of new BATCH node (#1548)
677 - Initial support of sequence rules for SWITCH node (#1545)
678 - initial support of SORT node (#1500)
679 - Inject node - let once delay be editable (#1541)
680 - Introduce `nodeMaxMessageBufferLength` setting for msg sequence nodes
681 - Let CSV correct parts if we remove header row.
682 - let default apply if msg.delay not set in override mode. (#1397)
683 - let trigger node be reset by boolean message (#1554)
684 - Let trigger node support per topic mode (#1398)
685 - let HTML node return empty array for no matching input (#1582)
686 - MQTT node - if Server/URL config contains '//' use it as a complete url; enabled ws:// and wss://
687 - clone messages before delayed send (#1474)
688 - Decrement connected client count rather than show disconnected
689 - Don't end mqtt client on first error Fixes #1566
690 - File out - create dirs synchronously to ensure they exist Fixes #1489
691 - Fix debug message format for Buffer (#1444)
692 - Fix global.keys() bug in function node (#1417)
693 - Handle escape characters in template node which uses Mustache format and JSON output mode (#1377)
694 - Move all node.send to end of timer functions in trigger node (issue #1527) (#1539)
695 - Publish null/undefined to mqtt as blank not toString Fixes #1521
696 - remove inject node at specific time spinner
697 - restrict inject interval to less that 2^31 millisecs
698 - tag UDP ports in use properly so they get closed correctly (#1508)
699
700#### 0.17.5: Maintenance Release
701
702 - Add express-session missing dependency for oauth
703 - Fix improper type tests is core test cases
704 - File node: recreate write stream when file deleted Fixes #1351
705 - Add flow stopping trace messages
706 - Fix userDir test case when .config.json exists (#1350)
707 - Do not try to send msg after http request error handled Fixes #1344
708 - Fix boundary problem in range node (#1338)
709 - Modify messages in node properties to refer messages.json (#1339)
710 - Fix settings.js replacing webSocketVerifyClient by webSocketNodeVerifyClient (#1343)
711
712
713#### 0.17.4: Maintenance Release
714
715 - Add request node test case for POSTing 0
716 - Allow false and 0 in payload for httprequest (#1334)
717 - Add file extension into flow name of library automatically (#1331)
718 - Fix accessing global context from jsonata expressions Fixes #1335
719 - Disable editor whilst a deploy is inflight Fixes #1332
720 - Replace Unknown nodes with their real versions when node loaded
721 - Retry auto-install of modules that fail
722 - Fix column name in link nodes to refer language file (#1330)
723 - Use namespaces with link node title attributes i18n name Fixes #1329
724 - Tidy up GPIO pin table presentation Fixes #1328
725 - Join: count of 0 should not send on every msg
726 - Handle importing only one end of a link node pair
727 - Make sending to Debug synchronous again Fixes #1323
728 - Make send-error behaviour optional in file node
729 - Restore File In node behaviour of sending msg on error
730 - Expose context.keys within Function node
731 - JSON parser default should be not formatting output
732
733
734#### 0.17.3: Maintenance Release
735
736 - Fix flow library in menu to support period characters as flow name (#1320)
737 - editorTheme not setting custom css/scripts properly
738 - Fix missing icons for some nodes (#1321)
739 - Add reformat button to JSONata test data editor
740 - Update delay node status without spawning unnecessary intervals
741 - Avoid stringify ServerResponse and Socket in Debug node Fixes #1311
742 - Fix creating userDir other than system drive on Windows (#1317)
743 - Trigger node not handling a duration of 0 as block mode Fixes #1316
744 - Unable to config GPIO Pin 13 Fixes #1314
745
746#### 0.17.2: Maintenance Release
747
748 - Fix GPIO node labels
749
750#### 0.17.1: Maintenance Release
751
752 - Fix PI gpio to use BCM
753 - Prevent event thread contention when sending to Debug node Closes #1311
754 - Fix Bug: Can not display node icon when npm package has scope (#1305) (#1309)
755 - Clear moved flag when nodes are deployed
756
757#### 0.17: Milestone Release
758
759Runtime
760
761 - Return flow rev on reload api when api v2 enabled Closes #1273
762 - Provide single endpoint to load all node message catalogs
763 - Add .trace and .debug to Node prototype
764 - Rename oauth auth scheme to strategy as it works for openid
765 - Allow oauth schemes provide a custom verify function
766 - Add support for oauth adminAuth configs
767 - Cache auth details to save needlessly recalculating hashes
768 - Add context.keys function to list top-level keys
769 - Strip BOM character from JSON files if present Fixes #1239
770 - Version check no meta (#1243)
771 - Ensure all nodes have access to global context Fixes #1230
772 - Don't process subscription for unauthenticated comms link Fixes #851
773 - Clone credentials when passing to node Fixes #1198
774 - Resolve dir argument of getLocalNodeFiles function (#1216)
775 - Add wait for writing a library entry into a file. (#1186)
776 - Use correct Buffer.from method rather than constructor
777 - update core nodes to use newer Buffer syntax
778 - Treat missing msg properties as undefined rather than throw error Fixes #1167
779 - Allows flows to be enabled/disabled in the runtime
780 - add off option to logging settings comment
781 - Log error stack traces if verbose flag is set
782 - Extract line number if available from node load errors
783 - Add node 8 to travis (with allow failure)
784 - Shuffle promises for creating default package.json
785 - Create a package.json file in userDir if one doesn't exist
786 - autoInstallModules option must honour version/pending_version
787 - Refuse to update a non-local node module
788 - Finalise nodeSettings and update tlsConfigDisableLocalFiles
789 - Allow a node to declare what settings should be made available to the editor. (#1185)
790 - Add node whitelist function (#1184)
791 - Allow a node to declare settings that should be exported
792 - Add test coverage for deleting a flow
793 - Update tests for oauth -> strategy rename
794 - Fix the test cases which sometimes fails due to timing. (#1228)
795 - Extend timeout for the test case of installing non-existant path. (#1191)
796 - Fix loader test to expect line numbers in load errors
797 - Update ui_spec for icon module path
798 - let node installer try to save with ~ version prefix to allow minor updates
799 - Log error when non-msg-object is returned from a Function
800 - Timeout a node that fails to close - default 15s timeout
801 - Pass a 'removed' parameter to node close handler
802 - Remove event passing for icons/examples from the api layer
803 - Update general dependencies
804
805Nodes
806
807 - Do not log node errors if handled by a Catch node
808 - Fix wrong number of double quotes in CSV parsing
809 - let csv node handle ip addresses without trying to parse
810 - Update debug node to register the settings it uses
811 - Handle IncomingMessage/ServerResponse object types in debug Fixes #1202
812 - Toggling debug node enabled/disabled state should set state dirty Fixes #1203
813 - redo delay node status messages to be interval based
814 - Update delay node ui
815 - Add new msg.delay option to delay node
816 - stop delay node spamming web socket (when in fast rate limit mode)
817 - Delay/Range node help tidy up
818 - Bug fix in exec node. White spaces in arguments now works (#1285)
819 - Make exec node explicitly call SIGTERM for default
820 - Fix exec node error tests on Windows (#1234)
821 - update messages for updated exec node
822 - Make exec node spawn and exec outputs more consistent
823 - Exec node for windows environment (#1200)
824 - remove requirement for cmd in exec node config + new style info
825 - retry exec node tests
826 - let exec node take msg.kill SIG... param and pid param
827 - Third output from Exec node must be consistent for success/failure conditions
828 - exec node returns 0 on the third output if command ended without error. (#1160)
829 - exec node can be killed on demand
830 - add "split/stream" ability to file in node
831 - add port label to file node and update info
832 - Allow nodes to have translations not in core (#1183)
833 - fix tcp node new Buffer alloc size 0
834 - change pin selection table for pi gpis nodes
835 - stop using sudo for Pi gpio access
836 - adding frequency configuration to pwm output (#1206)
837 - Fix Pi GPIO debounce
838 - let Hypriot on Pi detect gpio correctly
839 - More core node info help tidy up
840 - Tidy up more core node help text
841 - Tidy up parser node edit dialogs and help text
842 - yet more core node info updates
843 - more core node info updates to newer style
844 - Update some core nodes info
845 - First pass of new node-info style
846 - MQTT new style info
847 - Fix empty extra node help content issue
848 - Handle HTTP In url that is missing its leading / Fixes #1218
849 - Add file upload support to HTTP In node
850 - HTTP Request node: add info on how to do form encoding
851 - Prevent unmodified msg.headers from breaking HTTP Request flows Closed #1015
852 - Add cookie handling to HTTP Request node
853 - Add guard against the http-request buffer fix being reverted
854 - Multipart streaming
855 - Add http-request node unit tests
856 - http request node add transport validity check and warn.
857 - Update follow_redirects to fix http_proxy handling Fixes #1172
858 - Allow statusCode/headers to be set directly within HTTP Response node
859 - let inject "between time" also fire at start - Plus new info
860 - remove repeat symbol from inject if repeat is 0
861 - Add port labels to inject node (to show types)
862 - Add buffer joiner mode to Join node
863 - Let join node auto re-assemble buffers
864 - let join also accumulate strings (and not fail)
865 - Add Pretty print option to JSON node and
866 - Fix selection of link nodes
867 - Add link label value as portLabels
868 - Add sentence about clearing retained topic on mqtt
869 - make sure MQTT client closes if redeploy during reconnect
870 - make sure MQTT client closes if redeploy during reconnect
871 - slight filed size adjust for mqtt broker port field - allow 5 digits
872 - Add help info for split node
873 - split node - in object mode allow msg.complete on its own
874 - let split of objects use key to set another property (e.g. topic)
875 - adding streaming modes into split node
876 - let split node reassemble based on a final packet. (as well as the first)
877 - Add buffer support to split node
878 - updated split/join node (split still needs work before release)
879 - Added a name icon and a description label on edit subflow window.
880 - Don't display port labels for subflow pseudo-port nodes
881 - Added a name icon and a description label on edit subflow window.
882 - tcp request - remove confusing timeout wording from info
883 - Final TCP node nits - let 0 do it's thing as per every other timeout
884 - fix tcp port not waiting as per info/previous behaviour
885 - TCP In: Fix error in timout callback (#1249)
886 - Make tcp send msg more consistent
887 - Update 31-tcpin.js (#1235)
888 - really close tcp node connection right away (if told to)
889 - clone message before send in stay connected mode
890 - Better template node help example
891 - Add option to parse Template result as JSON before sending
892 - nail trigger test for windows AND linux
893 - give up on SIGQUIT for widows test
894 - better tests for windows nodes
895 - comment out 2nd exec node kill tests
896 - fixes for grunt files tests on Windows
897 - Add events to test helper
898 - Change default value of tlsConfigDisableLocalFiles to false
899 - Add the node setting tlsConfigDisableLocalFiles for tls node. (#1190)
900 - UI to upload certificates and keys for TLS node
901 - Update trigger help
902 - let trigger node set repeated outputs
903 - Move udp sock error listener to only be instantiated once.
904 - Let watch node recurse into subdirectories
905 - Misconfigured WebSocket nodes should not register msg handlers
906 - Add websocketVerifyClient option to enable custom websocket auth Fixes #1127
907
908Editor
909
910 - Bump ACE editor to v1.2.7
911 - Add RED.utils.getNodeLabel utility function
912 - Include module name in requests for node icons
913 - Change debug message menu icon
914 - Handle empty array/objects in debug view
915 - Add per-node filter option to Debug pane
916 - Ensure debug node marked changed when button pressed
917 - Fix pop-out debug window for all the recent updates
918 - Add debug message menu
919 - Don't include msg. in debug message copied paths
920 - Format Buffer numbers as hex by default
921 - Remember formatting choices for dbg msg elements
922 - Allow debug msg elements to be pinned
923 - Only show debug tools under the debug tab
924 - Fix test for valid js identifiers in debug path construction
925 - Remove unused modified flag on debug messages
926 - Add copy path/value buttons to debug messages
927 - dont match only part of the node type (#1242)
928 - Add editorTheme.logout.redirect to allow redirect on logout Closes #1213
929 - Handle logging out and already logged-out editor Fixes #1288
930 - Fix bug: Export Subflows (#1282)
931 - destroy editor to ensure fully removed on close (function, template, comment)
932 - Don't try to nls status text starting with '.' Fixes #1258
933 - Add note of removed flows in diffConfig (#1253)
934 - Add description to flow same as subflow
935 - Allow tabs to be enabled/disabled in the editor
936 - Make H3 sections in node help collapsible
937 - Add JSON Expression editor
938 - Expression editor - clear legacy flag for blank expressions
939 - Ensure node labels are reordered properly to match outputs
940 - Add 'none' placeholder for empty port label form
941 - Don't mark a node changed when going from none to blank labels
942 - Leave a node to nls its own port labels
943 - Allow a node to override default labels
944 - Add placeholder text on label inputs and clear buttons
945 - Add port labels to Subflow nodes
946 - Keep port label form in sync with output reordering
947 - Basic node label editor
948 - Port label editor starting point
949 - Allow port labels be i18n identifiers
950 - Add inputLabels and outputLabels to node defn + Update Change node
951 - Resize port labels based on content
952 - Initial port label behaviour
953 - Allow a node to decide for itself if its button should be enabled or not
954 - Provide feedback when enable/disable node fails
955 - Add node module update api and expose in palette editor
956 - Reset palette-manager tabs when settings dialog reopened
957 - Move palette editor to settings panel
958 - Move palette editor to userSettings dialog
959 - Move view and keyboard into user settings dialog
960 - Add basic user settings panel
961 - Node status should be on by default
962 - Make theme able to load custom javascript (#1211)
963 - Allow tips to be hidden and cycled through
964 - Add info tips back to the sidebar
965 - Add buffer mode to typedInput
966 - Add typedInput binary mode icon
967 - Ensure all ace editors are destroyed in the expression editors
968 - Refresh sidebar info when tab is changed
969 - better spacing for library widget
970 - Fix gridSize for node width calculation to avoid odd resizing
971 - Redraw grid properly if gridSize changes
972 - Scroll sidebar info tab to top when changing content
973 - Ensure info tab sections are collapsible when set from palette
974 - Only show tab info if there is an active tab
975 - Only check for reordered outputs if outputMap defiend
976 - Avoid circular references when stingifying node objects
977 - Fix padding of config node edit dialog
978 - Add force-deploy option when conflict detected
979 - Hide tip box on startup if disabled
980 - Track node moves separately to node config changes
981 - Ensure ace editor instances are freed if edit cancelled
982 - Clip overly long notification messages
983 - Use queryCommandSupported not queryCommandEnabled to check for copy support
984 - Add tip to tab description editor
985 - Make tab info edit box resizable
986 - Shrink config node appearance in info table
987 - Display config nodes in Info sidebar table
988 - Ensure flow info box updates after editing flow
989 - Hide Node info section when displaying changelog
990 - Restructure info tab
991 - Provide notification when new flows deployed in the background
992 - Stop some ui elements from clearing url anchor when clicked
993 - clipboard export text stay highlighted even when button deselected
994 - ensure export clipboard keeps text selected and formatted
995 - Defer resizing tray components until they have finished building
996 - Use pre-calculated values for connection path
997 - Use textContent to avoid manual escaping
998 - Add RED.stack as a common ui component
999 - Numeric validator that accepts blank should accept undefined
1000 - Add visual cue as to whether the workspace is focused
1001 - Allow RED.validators.number to allow blank values as valid
1002 - Support dropping json files into the editor
1003 - NLS Expression/JSON editor and fix their height calculation
1004 - Update JSONata to 1.2.4 Closes #1275
1005 - Remember test expression data on a per-node basis
1006 - NLS jsonata test messages
1007 - Add JSONata expr tester and improved feedback
1008 - Add $context/$flow/$global functions to jsonata
1009 - Update jsonata
1010
1011Other
1012
1013 - add allow es6 to .jshintrc
1014 - travis - don't allow node 8 fails, (and re-add 7)
1015 - ask istanbul for more reports as default
1016 - Add istanbul to Gruntfile.js (#1189)
1017
1018
1019#### 0.16.2: Maintenance Release
1020
1021 - Ensure custom mustache context parent set in Template node fixes #1126
1022 - Display debug node name in debug panel if its known
1023 - Ensure auth-tokens are removed when no user is specified in settings
1024 - Ensure all a tags have blank target in info sidebar
1025 - Ensure links do not span tabs in the editor
1026 - Avoid creating multiple reconnect timers in websocket node
1027 - Fix inner reference in install fail message catalog entry Fixes #1120
1028 - Display buffer data properly for truncated buffers under Object property
1029
1030#### 0.16.1: Maintenance Release
1031
1032 - Add colour swatches to debug when hex colour matched
1033 - Nodes with hasUsers set to false should not appear unused
1034 - Change hard error to verbose warning if using old node.js level
1035 - Don't filter debug properties starting with _ Fixes #1117
1036 - Node logged errors not displayed properly in debug pane Fixes #1116
1037 - Do not look for existing nodes when checking for wires on paste Fixes #1114
1038 - -v option not enabling verbose mode properly
1039 - Add node.js version check on startup
1040
1041#### 0.16.0: Milestone Release
1042
1043Runtime
1044
1045 - Drop support for node 0.10 and 0.12
1046
1047Nodes
1048
1049 - Add option to colourise debug console output Closes #1103
1050 - Add property validation to nodes using typedInput
1051 - Add common validator for typedInput fields Closes #1104
1052 - Update debug node console logging indicator icon Closes #1094
1053 - Let exec node (spawn) handle commands with spaces in path
1054 - Add symbol to debug node to indicate debugging also to console.log
1055 - Change file node to use node 4 syntax (drops support for 0.8)
1056 - add info for httprequest responseUrl property
1057 - Add res.responseUrl to httprequest node response
1058 - Add support for flow and global context in Template node (#1048)
1059 - Added YAML parser node (#1034)
1060 - node-red-node-serialport removed as a default node
1061
1062Editor
1063
1064 - Add install/remove dialog to increase friction Closes #1109
1065 - Report node catalogue load errors Closes #1009
1066 - Properly report module remove errors in palette editor Fixes #1043
1067 - Update rather than hide install button after success install
1068 - Tweak search box styling
1069 - Display info tips slightly longer
1070 - Allow tips to be enabled/disabled via menu option
1071 - Info-tips update
1072 - Make typedInput keyboard navigable
1073 - update Font Awesome to 4.7.0
1074 - Add expression editor for jsonata
1075 - Overhaul keyboard handling and introduce editor actions
1076 - Add Japanese translation file(editor.json) (#1084)
1077 - Add quick-add node mode with cmd/ctrl-click
1078 - Add cmd/ctrl-click to quick add wires
1079 - Use json-stringify-safe to detect circular references in debug msgs
1080 - debug - format if time if correct length/range
1081 - Make Debug object explorable
1082 - Initial debug pop-out window
1083 - Add proper three-way diff view
1084 - Focus tray body when edit dialog opened
1085 - Hit enter to edit first node in selection
1086 - Add node delete button to edit dialog
1087 - Add notification when runtime stopped due to missing types Part of #832
1088
1089Fixes
1090
1091 - Do not tie debug src loading to needsPermission Fixes #1111
1092 - Initialise nodeApp regardless of httpAdmin setting Closes #1096 #1095
1093 - Speed up reveal of search dialogs
1094 - Ensure flows exist before delegating status/error events Fixes #1069
1095 - Update package dependencies
1096 - Update MQTT to latest 2.2.1
1097 - Node status not being refreshed properly in the editor
1098 - Try to prevent auto-fill of password fields in node edit tray Fixes #1081
1099 - Fix whitespace in localfilesystem
1100 - fix bug where savesettings did not honor local settings variables (#1073)
1101 - Tidy up unused/duplicate editor messages Closes #922
1102 - Property expressions must not be blank
1103 - Tidy up merge commit of validatePropertyExpression
1104 - add port if wires array > number of ports declared.
1105 - Allow quoted property expressions Fixes #1101
1106 - Index all node properties for node search
1107 - Remove node 0.10 from travis config
1108 - update welcome message to use logger so it can be turned off/on if required (#1083)
1109 - Fix dynamically loading multiple node-sets from palette editor
1110 - Allow a node to reorder its outputs and maintain links Fixes #1031
1111
1112#### 0.15.3: Maintenance Release
1113
1114 - Tcpgetfix: Another small check (#1070)
1115 - TCPGet: Ensure done() is called only once (#1068)
1116 - Allow $ and _ at start of property identifiers Fixes #1063
1117 - TCPGet: Separated the node.connected property for each instance (#1062)
1118 - Corrected 'overide' typo in XML node help (#1061)
1119 - TCPGet: Last property check (hopefully) (#1059)
1120 - Add additional safety checks to avoid acting on non-existent objects (#1057)
1121 - add --title for process name to command line options
1122 - add indicator for fire once on inject node
1123 - reimplement $(env var) replace to share common code.
1124 - Fix error message for missing node html file, and add test.
1125 - Let credentials also use $(...) substitutions from ENV
1126 - Rename insecureRedirect to requireHttps
1127 - Add setting to cause insecure redirect (#1054)
1128 - Palette editor fixes (#1033)
1129 - Close comms on stopServer in test helper (#1020)
1130 - Tcpgetfix (#1050)
1131 - TCPget: Store incoming messages alongside the client object to keep reference
1132 - Merge remote-tracking branch 'upstream/master' into tcpgetfix
1133 - TCPget can now handle concurrent sessions (#1042)
1134 - Better scope handling
1135 - Add security checks
1136 - small change to udp httpadmin
1137 - Fix comparison to "" in tcpin
1138 - Change scope of clients object
1139 - Works when connection is left open
1140 - First release of multi connection tcpget
1141 - Fix node.error() not printing when passed false (#1037)
1142 - fix test for CSV array input
1143 - different test for Pi (rather than use serial port name)
1144 - Fix missing 0 handling for css node with array input
1145
1146
1147#### 0.15.2: Maintenance Release
1148
1149 - Revert bidi changes to nodes and hide menu option until fixed Fixes #1024
1150 - Let xml node set options both ways
1151 - Bump serialport to use version 4
1152 - gpio node handle multiple bits of data returned in one go
1153 - HTTP In should pass application/octet-stream as buffer not string Fixes #1023
1154 - Handle missing httpNodeRoot setting properly
1155 - Config sidebar not handling node definition error properly
1156 - Add minimum show time to deploy spinner to avoid flicker
1157 - Add work-in-progress update button to palette-editor
1158 - Add log.removeHandler function
1159 - Add Crtl/Shift/p shortcut for manage palette
1160 - Add spinner to deploy button
1161 - Status messages from nodes in subflows not delegated properly Fixes #1016
1162 - fix spelling in join node info
1163 - Speed up tab scrolling
1164 - Update delay burst test to be more tolerant of timing Fixes #1013
1165
1166#### 0.15.1: Maintenance Release
1167
1168 - Update default palette catalogue to use https
1169 - Disable palette editor if npm not found - and fix for Windows
1170 - Searching package catalogue should be case-insensitive Fixes #1010
1171 - contenteditable fields not handled in config nodes Fixes #1011
1172 - Change html link refs from `_new` to `_blank` to be standards compliant
1173
1174#### 0.15.0: Milestone Release
1175
1176Runtime
1177
1178 - Increase default apiMaxLength to 5mb and add to default settings Closes #1001
1179 - Add v2 /flows api and deploy-overwrite protection
1180 - Encrypt credentials by default
1181 - Ensure errors thrown by RED.events handlers don't percolate up
1182
1183Editor
1184
1185 - Mark nodes as changed when they are moved
1186 - Added parent containment option for draggable. (#1006)
1187 - Ignore bidi event handling on non-existent and non-Input elements Closes #999
1188 - Remove list of flows from menu
1189 - Allow nodes to be imported with their credentials
1190 - Add workspace search option
1191 - Add scrollOnAdd option to editableList
1192 - Add swift markup to editor for open whisk node
1193 - Scrollable tabs 👍
1194 - Allow linking to individual flow via url hash
1195 - Avoid duplicating existing subflows on import
1196 - Add import-to-new-tab option
1197 - Add new options to export-nodes dialog
1198 - Stop nodes being added beyond the outer bounds of the workspace
1199 - Default config nodes to global scope unless in a subflow Closes #972
1200 - Bidi support for Text Direction and Structured Text (#961)
1201 - Fix jQuery selector, selecting more than one help pane/popover and displaying incorrectly. (#970)
1202 - Fixes removeItem not passing row data to callback. (#965)
1203 - Move common components and add searchBox
1204 - Add initial palette sidebar
1205
1206Nodes
1207
1208 - Inject node label - show topic for timestamp mode if short
1209 - Let change node set type if total match
1210 - Clean up status on close for several core nodes.
1211 - Change node: re-parse JSON set value each time to avoid pass-by-ref
1212 - Better handle HTTP Request header capitalisation
1213 - Enable ES6 parsing in Function editor by default Fixes #985
1214 - Update debug sidebar to use RED.view.reveal to show debug nodes
1215 - Add full path tip to file node, And tidy up Pi node tips
1216 - Remove WebSocket node maxlistener warning
1217 - Update mqtt-broker node to use fully name-space qualified status messages
1218 - Let UDP node better share same port instance if required
1219 - Add number of units to the delay node (rate) (#994)
1220 - Allow http middleware to skip rawBodyParser
1221 - Let change node move property to sub-property.
1222 - Add info to exec warning about buffered output if using python
1223 - TCP node: pass on latest input msg properties
1224 - Make sure MQTT broker is really set
1225 - Fix escape character catch in TCPGet + support 0x?? sequences
1226 - Fix split character in TCP Request node
1227 - Add CSS highlighting to the template node (#950)
1228 - Only update switch previous value after all rules are run
1229
1230Other
1231
1232 - Add npm build/test scripts Closes #946 #660
1233 - Move travis to node 6 and 7 - drop 5 and 0.12
1234
1235
1236#### 0.14.6: Maintenance Release
1237
1238Fixes
1239
1240 - Tell ace about Function node globals. Closes #927
1241 - Tidy up mqtt nodes - linting and done handling. Closes #935
1242 - Fix invalid html in TCP and HTML node edit templates
1243 - Add proper help text to link nodes
1244 - Handle importing old mqtt-broker configs that lack properties
1245 - Update ace to 1.2.4
1246 - Allow config nodes to provide a sort function for their select list
1247 - Add log warning if node module required version cannot be satisfied
1248 - Handle empty credentials file. Closes #937
1249 - Add RPi.GPIO lib test for ArchLinux
1250
1251#### 0.14.5: Maintenance Release
1252
1253Fixes
1254
1255 - Cannot clear cookies with http nodes
1256 - let HTML parse node allow msg.select set select
1257 - Validate nodes on import after any references have been remapped
1258 - Debug node handles objects without constructor property Fixes #933
1259 - Ensure 'false' property values are displayed in info panel Fixes #940
1260 - Fix node enable/disable over restart - load configs after settings init
1261
1262#### 0.14.4: Maintenance Release
1263
1264Nodes
1265
1266 - Update trigger node ui to use typedInputs
1267 - Better handling of quotes in CSV node
1268 - Clarify the MQTT node sends msg.payload - closes #929
1269 - Inject node should reuse the message it is triggered with Closes #914
1270 - Stop trigger node re-using old message
1271 - Allow node.status text to be 'falsey' values
1272
1273Fixes
1274
1275 - Handle DOMException when embedded in an iframe of different origin Fixes #932
1276 - Fix double firing of menu actions
1277 - Fix select box handling in Safari - fixes #928
1278 - Clear context in node test helper Fixes #858
1279 - Allow node properties to be same as existing object functions Fixes #880
1280 - Handle comms link closing whilst completing the initial connect
1281 - Protect against node type names that clash with Object property names Fixes #917
1282 - Clone default node properties to avoid reference leakage
1283 - Strip tab node definition when exporting
1284 - Check for null config properties in editor before over-writing them
1285 - Add hasUsers flag to config nodes
1286
1287Editor
1288
1289 - Add sql mode to ace editor
1290 - Keyboard shortcuts dialog update (#923)
1291 - Ensure importing link nodes to a subflow doesn't add outbound links Fixes #921
1292 - Add updateConfigNodeUsers function to editor
1293 - Scroll to bottom when item added to editableList
1294 - Form input widths behave more consistently when resizing Fixes #919 #920
1295
1296#### 0.14.3: Maintenance Release
1297
1298Fixes
1299
1300 - Create default setting.js in user-specified directory. Fixes #908
1301 - MQTT In subscription qos not defaulting properly
1302 - Let exec node handle 0 as well as "0"
1303
1304#### 0.14.2: Maintenance Release
1305
1306Fixes
1307
1308 - Cannot add new twitter credentials. Fixes #913
1309 - Support array references in Debug property field
1310
1311#### 0.14.1: Maintenance Release
1312
1313Fixes
1314
1315 - Handle undefined property that led to missing wires in the editor
1316 - Remove duplicate 'Delete' entry in keyboard shortcut window. Closes #911
1317 - Add 'exec' to node-red-pi launch script. Closes #910
1318
1319#### 0.14.0: Milestone Release
1320
1321Editor
1322
1323 - Replace edit dialog with edit tray
1324 - Enable shift-drag detach of just the selected link
1325 - Allow workspace tabs to be re-ordered
1326 - Scope keyboard shortcuts to dom elements
1327 - Ensure parent nodes marked as changed due to child config node changes
1328 - Validate all edit dialog inputs when one changes
1329 - Add editableList widget and update Switch/Change nodes to use it
1330 - Add option to filter Debug sidebar by flow and highlight subflow-emitting nodes
1331 - Back off comms reconnect attempts after prolonged failures
1332 - Prompt for login if comms reconnect fails authentication
1333 - Change style of nodes in subflow template view
1334 - Add CHANGELOG.md and make it accessible from menu
1335
1336Runtime
1337
1338 - Always log node warnings on start without requiring -v
1339 - Add support for loading scoped node modules. Closes #885
1340 - Add process.env.PORT to settings.js
1341 - Clear node context on deploy. Closes #870
1342 - Enable finer grained permissions in adminAuth
1343
1344Nodes
1345
1346 - Enable config nodes to reference other config nodes
1347 - Add Split/Join nodes
1348 - Add Link nodes
1349 - Add support to HTTP In node for PATCH requests. Closes #904
1350 - Add cookie handling to HTTP In and HTTP Response nodes
1351 - Add repeat indicator to inject node label. Closes #887
1352 - Add javascript highlighter to template node
1353 - Add optional timeout to exec node
1354 - Add TLS node and update MQTT/HTTP nodes to use it
1355 - Let trigger node also send last payload to arrive
1356 - Add timestamp as a default typedInput and update Inject and change nodes to match,
1357 - Add QoS option to MQTT In node
1358 - Add status to exec spawn mode
1359 - Add Move capability to Change node
1360 - Update Serial node to support custom baud rates
1361 - Add support for array-syntax in typedInput msg properties
1362 - Add RED.util to Function node sandbox
1363 - Capture error stack on node.error. Closes #879
1364
1365
1366Fixes
1367
1368 - Add error handling to all node definition api calls
1369 - Handle null return from Function node in array of messages
1370 - Defer loading of token sessions until they are accessed. Fixes #895
1371 - set pi gpio pin status correctly if set on start
1372 - Prevent parent window scrolling when view is focused. Fixes #635
1373 - Handle missing tab nodes in a loaded flow config
1374 - Ensure typedInput dropdown doesn't fall off the page
1375 - Protect against node types with reserved names such as toString. Fixes #880
1376 - Do not rely on the HTML file to identify where nodes are registered from
1377 - Preserve node properties on import
1378 - Fix regression in delay node. topic based queue was emptying all the time instead of spreading out messages.
1379 - Throw an error if a Function node adds an input event listener
1380 - Fix hang on partial deploy with disconnected mqtt node
1381 - TypedInput: preload type icons to ensure width calc correct
1382 - Ensure tcp node creates a buffer of size 1 at least
1383 - Return editorTheme default if value is undefined
1384 - Fix RED.util.compareObjects for Function created objects and Buffers
1385 - Ensure default settings copied to command-line specified userDir
1386
1387
1388#### 0.13.4: Maintenance Release
1389
1390 - Add timed release mode to delay node
1391 - Enable link splicing for when import_dragging nodes. Closes #811
1392 - Fix uncaught exception on deploy whilst node sending messages
1393 - Deprecate old mqtt client and connection pool modules
1394 - Change node: add bool/num types to change mode Closes #835
1395 - Validate fields that are `$(env-vars)` Closes #825
1396 - Handle missing config nodes when validating node properties
1397 - Pi node - don't try to send data if closing
1398 - Load node message catalog when added dynamically
1399 - Split palette labels on spaces and hyphens when laying out
1400 - Warn if editor routes are accessed but runtime not started Closes #816
1401 - Better handling of zero-length flow files Closes #819
1402 - Allow runtime calls to RED._ to specify other namespace
1403 - Better right alignment of numerics in delay and trigger nodes
1404 - Allow node modules to include example flows
1405 - Create node_modules in userDir
1406 - Ensure errors in node def functions don't break view rendering Fixes #815
1407 - Updated Inject node info with instructions for flow and global options
1408
1409
1410
1411#### 0.13.3: Maintenance Release
1412
1413 - Fix crash on repeated inject of invalid json payload
1414 - Add binary mode to tail node
1415 - Revert Cheerio to somewhat smaller version
1416 - Add os/platform info to default debug
1417
1418
1419
1420#### 0.13.2: Maintenance Release
1421
1422 - Don't force reconnect mqtt client if message arrives (fixes the MQTT connect/disconnect endless cycle)
1423 - Add -p/--port option to override listening port
1424 - Invert config node filter toggle button colours so state is more obvious
1425 - Add timeout to httprequest node
1426 - Tidy up of all node info content - make style consistent
1427 - Make jquery spinner element css consistent with other inputs
1428 - tcp node add reply (to all) capability
1429 - Allow the template node to be treated as plain text
1430 - Validate MQTT In topics Fixes #792
1431 - httpNodeAuth should not block http options requests Fixes #793
1432 - Disable perMessageDeflate on WS servers - fixes 'zlib binding closed' error
1433 - Clear trigger status icon on re-deploy
1434 - Don't default inject payload to blank string
1435 - Trigger node, add configurable reset
1436 - Allow function properties in settings Fixes #790 - fixes use of httpNodeMiddleware
1437 - Fix order of config dialog calls to save/creds/validate
1438 - Add debounce to Pi GPIO node
1439
1440
1441
1442#### 0.13.1: Maintenance Release
1443
1444 - Revert wrapping of http request object
1445
1446
1447
1448#### 0.13.0: Milestone Release
1449
1450 - Add 'previous value' option to Switch node
1451 - Allow existing nodes to splice into links on drag
1452 - CORS not properly configured on multiple http routes Fixes #783
1453 - Restore shift-drag to snap/unsnap to grid
1454 - Moving nodes with keyboard should flag workspace dirty
1455 - Notifications flagged as fixed should not be click-closable
1456 - Rework config sidebar and deploy warning
1457 - Wrap http request object to match http response object
1458 - Add 'view' menu and reorganise a few things
1459 - Allow shift-click to detach existing wires
1460 - Splice nodes dragged from palette into links
1461 - try to trim imported/dragged flows to [ ]
1462 - Move version number as title of NR logo
1463 - Moving nodes mark workspace as dirty
1464 - Ok/Cancel edit dialogs with Ctrl-Enter/Escape
1465 - Handle OSX Meta key when selecting nodes
1466 - Add grid-alignment options
1467 - Add oneditresize function definition
1468 - Rename propertySelect to typedInput and add boolean opt
1469 - Add propertySelect to switch node
1470 - Add propertySelect support to Change node
1471 - Add context/flow/global support to Function node
1472 - Add node context/flow/global
1473 - Add propertySelect jquery widget
1474 - Add add/update/delete flow apis
1475 - Allow core nodes dir to be provided to runtime via settings
1476 - Tidy up API passed to node modules
1477 - Move locale files under api/runtime components
1478 - Add flow reload admin api
1479
1480
1481
1482#### 0.12.5: Maintenance Release
1483
1484 - Add attribute capability to HTML parser node
1485 - Add Pi Keyboard code node
1486 - Fix for MQTT client connection cycling on partial deploy
1487 - Fix for tcp node properly closing connections
1488 - Update sentiment node dependencies
1489 - Fix for file node handling of UTF8 extended characters
1490
1491
1492
1493#### 0.12.4: Maintenance Release
1494
1495 - Add readOnly setting to prevent file writes in localfilesystem storage
1496 - Support bcrypt for httpNodeAuth
1497 - Pi no longer needs root workaround to access gpio
1498 - Fix: Input File node will not retain the file name
1499
1500
1501
1502#### 0.12.3: Maintenance Release
1503
1504 - Fixes for TCP Get node reconnect handling
1505 - Clear delay node status on re-deploy
1506 - Update Font-Awesome to v4.5
1507 - Fix trigger to block properly until reset
1508 - Update example auth properties in settings.js
1509 - Ensure httpNodeAuth doesn't get applied to admin routes
1510 - TCP Get node not passing on existing msg properties
1511
1512
1513
1514#### 0.12.2: Maintenance Release
1515
1516 - Enable touch-menu for links so they can be deleted
1517 - Allow nodes to be installed by path name
1518 - Fix basic authentication on httpNode/Admin/Static
1519 - Handle errors thrown in Function node setTimeout/Interval
1520 - Fix mqtt node lifecycle with partial deployments
1521 - Update tcp node status on reconnect after timeout
1522 - Debug node not handling null messages
1523 - Kill processes run with exec node when flows redeployed
1524 - Inject time spinner incrementing value incorrectly
1525
1526
1527
1528#### 0.12.1: Maintenance Release
1529
1530 - Enable touch-menu for links so they can be deleted
1531 - Allow nodes to be installed by path name
1532 - Fix basic authentication on httpNode/Admin/Static
1533
1534
1535
1536#### 0.12.0: Milestone Release
1537
1538 - Change/Switch rules now resize with dialog width
1539 - Support for node 4.x
1540 - Move to Express 4.x
1541 - Copy default settings file to user dir on start up
1542 - Config nodes can be scoped to a particular subflow/tab
1543 - Comms link tolerates <5 second breaks in connection before notifying user
1544 - MQTT node overhaul - add will/tls/birth message support
1545 - Status node - to report status events from other nodes
1546 - Error node can be targeted to specific other nodes
1547 - JSON node can encode Array types
1548 - Switch node regular expression rule can now be set to be case-insensitive
1549 - HTTP In node can accept non-UTF8 payloads - will return a Buffer when appropriate
1550 - Exec node configuration consistent regardless of the spawn option
1551 - Function node can now display status icon/text
1552 - CSV node can now handle arrays
1553 - setInterval/clearInterval add to Function node
1554 - Function node automatically clears all timers (setInterval/setTimeout) when the node is stopped
1555
1556
1557
1558#### 0.11.2: Maintenance Release
1559
1560 - Allow XML parser options be set on the message
1561 - Add 'mobile' category to the palette (no core nodes included)
1562 - Allow a message catalog provide a partial translation
1563 - Fix HTTP Node nls message id
1564 - Remove delay spinner upper limit
1565 - Update debug node output to include length of payload
1566
1567
1568
1569
1570#### 0.11.1: Maintenance Release
1571
1572 - Fix exclusive config node check when type not registered (prevented HTTP In node from being editable unless the swagger node was also installed)
1573
1574
1575
1576#### 0.11.0: Milestone Release
1577
1578 - Add Node 0.12 support
1579 - Internationalization support
1580 - Editor UI refresh
1581 - Add RBE node
1582 - File node optionally creates path to file
1583 - Function node can access `clearTimeout`
1584 - Fix: Unable to login with 'read' permission
1585
1586
1587
1588#### 0.10.10: Maintenance Release
1589
1590 - Fix permissions issue with packaged nrgpio script
1591 - Add better help message if deprecated node missing
1592
1593
1594
1595#### 0.10.9: Maintenance Release
1596
1597Fix packaging of bin scripts
1598
1599
1600
1601#### 0.10.8: Maintenance Release
1602
1603 - Nodes moved out of core
1604 - still included as a dependency: twitter, serial, email, feedparser
1605 - no longer included: mongo, arduino, irc, redis
1606 - node icon defn can be a function
1607 - http_proxy support
1608 - httpNodeMiddleware setting
1609 - Trigger node ui refresh
1610 - editorTheme setting
1611 - Warn on deploy of unused config nodes
1612 - catch node prevents error loops
1613
1614
1615
1616#### 0.10.6: Maintenance Release
1617
1618Changes:
1619 - Performance improvements in editor
1620 - Palette appearance update
1621 - Warn on navigation with undeployed changes
1622 - Disable undeployed node action buttons
1623 - Disable subflow node action buttons
1624 - Add Catch node
1625 - Add logging functions to Function node
1626 - Add send function to Function node
1627 - Update Change node to support multiple rules
1628
1629
1630
1631#### 0.10.4: Maintenance Release
1632
1633Changes:
1634
1635 - http request node passes on request url as msg.url
1636 - handle config nodes appearing out of order in flow file - don't assume they are always at the start
1637 - move subflow palette category to the top, to make it more obvious
1638 - fix labelling of Raspberry Pi pins
1639 - allow email node to mark mail as read
1640 - fix saving library content
1641 - add node-red and node-red-pi start scripts
1642 - use $HOME/.node-red for user data unless specified otherwise (or existing data is found in install dir)
1643
1644
1645
1646#### 0.10.3: Maintenance Release
1647
1648Fixes:
1649
1650 - httpAdminAuth was too aggressively deprecated (ie removed); restoring with a console warning when used
1651 - adds reporting of node.js version on start-up
1652 - mongo node skip/limit options can be strings or numbers
1653 - CSV parser passes through provided message object
1654
1655
1656
1657#### 0.10.2: Maintenance Release
1658
1659Fixes:
1660 - subflow info sidebar more useful
1661 - adds missing font-awesome file
1662 - inject node day selection defaulted to invalid selection
1663 - loading a flow with no tabs failed to add nodes to default tab
1664
\No newline at end of file