@flowfuse/device-agent
Version:
An Edge Agent for running Node-RED instances deployed from the FlowFuse Platform
500 lines (366 loc) • 20.2 kB
Markdown
#### 3.8.3 Release
- Add kube doc (#591)
- Add kube docs (#582)
- Bump flowfuse/github-actions-workflows/.github/workflows/sast_scan.yaml from 0.49.0 to 0.52.0 (#586)
- Bump actions/setup-go from 6.2.0 to 6.3.0 (#587)
- Bump actions/download-artifact from 7.0.0 to 8.0.0 (#588)
- Bump actions/upload-artifact from 6.0.0 to 7.0.0 (#589)
- Add support for setting apiMaxLength (#592) @hardillb
- Bump minimatch (#585) @app/dependabot
- Log causes for MQTT connection failures (#581) @hardillb
#### 3.8.2 Release
- Bump flowfuse/github-actions-workflows/.github/workflows/sast_scan.yaml from 0.48.0 to 0.49.0 (#578)
- Bump docker/build-push-action from 6.18.0 to 6.19.2 (#579)
- Fix typo of _ vs - for Node Options (#576) @hardillb
- Update FF state upon shutdown (#577) @Steve-Mcl
#### 3.8.1 Release
- Allow NodeJS cmd line options to be passed to NodeRED process (#572) @hardillb
#### 3.8.0 Release
- Support for forceUpdate flag to allow snapshot deploy whilst in dev mode (#570) @knolleary
- Bump JS-DevTools/npm-publish from 4.1.4 to 4.1.5 (#566)
- Bump flowfuse/github-actions-workflows/.github/workflows/sast_scan.yaml from 0.47.0 to 0.48.0 (#569)
- Bump docker/login-action from 3.6.0 to 3.7.0 (#567)
- Bump flowfuse/github-actions-workflows/.github/workflows/sast_scan.yaml from 0.46.0 to 0.47.0 (#561)
#### 3.7.2 Release
- Bump JS-DevTools/npm-publish from 4.1.3 to 4.1.4 (#556)
- Bump actions/setup-node from 6.1.0 to 6.2.0 (#557)
- Bump actions/setup-go from 6.1.0 to 6.2.0 (#558)
- Bump JS-DevTools/npm-publish from 4.1.1 to 4.1.3 (#553)
- Bump actions/download-artifact from 6.0.0 to 7.0.0 (#543)
- Bump actions/upload-artifact from 5.0.0 to 6.0.0 (#542)
- Disable @flowforge build and publish (#537)
- Bump docker/metadata-action from 5.9.0 to 5.10.0 (#536)
- Add NodeJS 20 build of device-agent docker container (#559) @hardillb
- Bump actions/checkout from 6.0.1 to 6.0.2 (#560) @app/dependabot
- ci: Enable SAST (#554) @ppawlowski
- Fix quotes and eqeqeq (#551) @hardillb
- ci: Run tests against Node `22` and `24` (#550) @ppawlowski
- Eslint v9 (#548) @hardillb
- Add ability to request list of installed packages (#540) @hardillb
- Bump docker/setup-buildx-action from 3.11.1 to 3.12.0 (#545) @app/dependabot
- Bump actions/checkout from 6.0.0 to 6.0.1 (#539) @app/dependabot
- Bump actions/setup-node from 6.0.0 to 6.1.0 (#538) @app/dependabot
- Bump actions/setup-go from 6.0.0 to 6.1.0 (#534) @app/dependabot
- Bump actions/checkout from 5.0.1 to 6.0.0 (#533) @app/dependabot
#### 3.7.1 Release
- Bump actions/checkout from 5.0.0 to 5.0.1 (#529)
- Bump cycjimmy/semantic-release-action from 5.0.2 to 6.0.0 (#530)
- Bump docker/metadata-action from 5.8.0 to 5.9.0 (#526)
- Bump docker/setup-qemu-action from 3.6.0 to 3.7.0 (#527)
- Bump actions/download-artifact from 5.0.0 to 6.0.0 (#521)
- Bump actions/upload-artifact from 4.6.2 to 5.0.0 (#522)
- Bump cycjimmy/semantic-release-action from 5.0.0 to 5.0.2 (#518)
- Bump peter-evans/dockerhub-description from 4.0.2 to 5.0.0 (#517)
- chore: update installer scripts to version 1.3.1
- Bump JS-DevTools/npm-publish from 4.0.1 to 4.1.1 (#516)
- Bump docker/login-action from 3.5.0 to 3.6.0 (#515)
- fix(installer): build statically linked binary (#506)
- Ensure correct NR version reported with module_cache (#531) @hardillb
- Bump js-yaml from 4.1.0 to 4.1.1 (#528) @app/dependabot
- Allow Provisioned devices to be named (#524) @hardillb
- Bump actions/setup-node from 5.0.0 to 6.0.0 (#520) @app/dependabot
- Add comment about log rotatoin (#519) @hardillb
- fix(installer): Add documentation links in the installation summary (#514) @ppawlowski
- fix(installer): fix OpenRC service template to properly handle command arguments (#507) @ppawlowski
- fix(installer): Link to the docs on disk error message (#513) @ppawlowski
- Clarify version output by prefixing with FlowFuse Device Agent (#510) @ZJvandeWeg
#### 3.7.0 Release
- Bump JS-DevTools/npm-publish from 4.0.0 to 4.0.1 (#505)
- chore: update installer scripts to version 1.3.0
- chore: update installer scripts to version 1.2.1
- Bump JS-DevTools/npm-publish from 3.1.1 to 4.0.0 (#499)
- ci: Remove `skip ci` tag from installer scripts commit message (#496)
- chore: update installer scripts to version 1.2.0 [skip ci]
- refactor(installer): Improve installation summary message (#495)
- refactor(installer): Adjust config selection prompt when OTC not provided (#492)
- fix(installer): Ask for confirmation on system account removal (#491)
- Bump actions/setup-node from 4.4.0 to 5.0.0 (#489)
- Bump actions/setup-go from 5.5.0 to 6.0.0 (#490)
- feat(installer): Add possibility to customize device agent listen port (#484)
- Bump cycjimmy/semantic-release-action from 4.2.2 to 5.0.0 (#485)
- feat(installer): Add possibility to install in custom directory (#476)
- ci: Bump go version in `Installer Release` workflow (#504) @ppawlowski
- fix(installer): Properly handle service account group existence and removal (#503) @ppawlowski
- feat(installer): validate disk space before installation (#497) @ppawlowski
- fix(installer): fix linux/unix binary lookup (#501) @ppawlowski
- Assistant settings pass though (#487) @Steve-Mcl
#### 3.6.1 Release
- Don't install dev dependencies in docker (#479)
- Bump actions/upload-pages-artifact from 3.0.1 to 4.0.0 (#477)
- Add support for nr-tables-node (#482) @hardillb
- feat(installer): install Device Agent without One-Time-Code (#446) @ppawlowski
#### 3.6.0 Release
- Bump docker/metadata-action from 5.7.0 to 5.8.0 (#467)
- Bump docker/login-action from 3.4.0 to 3.5.0 (#468)
- Bump actions/download-artifact from 4.3.0 to 5.0.0 (#469)
- Bump actions/checkout from 4.2.2 to 5.0.0 (#466)
- Use nr-table-nodes local src if in development mode (#474) @Steve-Mcl
- Add performance tracking (#463) @hardillb
- Add support for nr-mqtt-nodes (#473) @Steve-Mcl
- Change default checkin interval to 60 seconds (#471) @hardillb
#### 3.5.0 Release
- fix(installer): Silent misleading device agent output (#451)
- fix(installer): link to README.md in the summary (#449)
- Bump cycjimmy/semantic-release-action from 4.2.1 to 4.2.2 (#447)
- ci: Introduce `Publish Installer Scripts to GitHub Pages` workflow (#461) @ppawlowski
- Add FF Tables support (#460) @hardillb
- Bump on-headers and express-session (#454) @app/dependabot
- Disable npm audit when installing modules (#456) @knolleary
- ci: Update installer's "get" scripts on a release (#452) @ppawlowski
- Clear blueprint cache before repopulating (#453) @knolleary
- docs: Describe the Installer release process (#445) @ppawlowski
#### 3.4.0 Release
- Bump actions/upload-artifact from 4.4.3 to 4.6.2 (#436)
- Bump actions/setup-node from 4.0.4 to 4.4.0 (#437)
- Bump cycjimmy/semantic-release-action from 4.1.0 to 4.2.1 (#438)
- Bump actions/download-artifact from 4.1.8 to 4.3.0 (#439)
- Bump docker/setup-buildx-action from 3.11.0 to 3.11.1 (#424)
- Bump docker/setup-buildx-action from 3.10.0 to 3.11.0 (#422)
- Enable telemetry by default (#443) @knolleary
- ci: Rename `macos` to `darwin` in the DAI binary naming scheme (#431) @ppawlowski
- ci: Simplify go dependency cache management in DAI related workflows (#430) @ppawlowski
- ci: Skip "Default Build & Test" workflow on installer changes (#428) @ppawlowski
- ci: Fix installer version set during a release build (#429) @ppawlowski
- Add blueprint library plugin and rename team library plugin (#426) @knolleary
- Simplified flow file import browsing in terminal (#419) @Steve-Mcl
- feat: Introduce `installer-mode` CLI flag (#409) @ppawlowski
#### 3.3.2 Release
- Bump docker/build-push-action from 6.17.0 to 6.18.0 (#410)
- Bump docker/build-push-action from 6.16.0 to 6.17.0 (#403)
- misc: Rename FlowForge to FlowFuse (#412) @ZJvandeWeg
- Only use local HOME env var if not passed from settings (#402) @hardillb
#### 3.3.1: Release
- Fix ffVersion parsing to handle version suffixes properly (#398) @knolleary
#### 3.3.0: Release
- Import snapshot during otc setup (#390) @Steve-Mcl
- Ask to start if quick config used (#381) @hardillb
- Update README.md to mention /device-editor (#374) @hardillb
- Bump @babel/runtime from 7.25.9 to 7.26.10 (#367) @app/dependabot
- Bump peter-evans/dockerhub-description from 4.0.0 to 4.0.1 (#373) @app/dependabot
- Bump docker/build-push-action from 6.15.0 to 6.16.0 (#389)
- Bump actions/setup-node from 4.3.0 to 4.4.0 (#380)
#### 3.2.0: Release
- Implement Local Login support (#371) @Steve-Mcl
- chore: Pin external actions to commit hash (#369) @ppawlowski
#### 3.1.3: Release
- Do not copy theme into project node_modules (#358) @knolleary
- Add user role in auth object (#363) @knolleary
- Bump docker/build-push-action from 6.13.0 to 6.14.0 (#355) @app/dependabot
#### 3.1.2: Release
- Remove custom callback resolve function (#353) @knolleary
- Bump serialize-javascript and mocha (#352) @app/dependabot
#### 3.1.1: Release
- Add openssl to the docker dependencies (#350) @hardillb
- Docker as none root user (#349) @hardillb
#### 3.1.0: Release
- Reload device settings when restarting in dev mode (#348) @knolleary
- Add support for httpNodeAuth (#341) @knolleary
- Bump docker/build-push-action from 6.12.0 to 6.13.0 (#340) @app/dependabot
- Bump docker/build-push-action from 6.11.0 to 6.12.0 (#339) @app/dependabot
- Better error logging when provisioning devices with token (#338) @hardillb
- Bump docker/build-push-action from 6.10.0 to 6.11.0 (#335) @app/dependabot
- Bump docker/setup-qemu-action from 3.2.0 to 3.3.0 (#336) @app/dependabot
- Correction to httpNodeAuth config example (#334) @Steve-Mcl
#### 3.0.2: Release
- Apply custom message in login dialog on direct access (#332) @knolleary
- Bump docker/setup-buildx-action from 3.7.1 to 3.8.0 (#331) @app/dependabot
- Send nr version (#327) @hardillb
- Bump docker/build-push-action from 6.9.0 to 6.10.0 (#330) @app/dependabot
#### 3.0.1: Release
- Pass through teamBroker feature flag to project nodes (#328) @knolleary
- Log reason Provisioning failed (#325) @hardillb
#### 3.0.0: Release
IMPORTANT NOTES:
- This release drops support for NodeJS versions below 18.
- If you need NodeJS v14 or v16 support, use the latest v2.x version of Device Agent.
UPDATES:
- Update mqttjs to latest (#322) @Steve-Mcl
- Add support for picking up `httpNodeAuth` from device yaml (#320) @Steve-Mcl
- Bump docker/setup-buildx-action from 3.6.1 to 3.7.1 (#319) @dependabot
- Bump docker/build-push-action from 6.7.0 to 6.9.0 (#318) @dependabot
- Upgrade to latest MQTT.js (#306) @hardillb
- Bump minimum nodejs version (#316) @hardillb
- Randomise reconnect timing (#315) @Steve-Mcl
- Use port from config file (#313) @hardillb
- Bump docker/build-push-action from 4.0.0 to 6.7.0 (#307) @dependabot
- Bump docker/setup-buildx-action from 2.6.0 to 3.6.1 (#301) @dependabot
- Bump docker/login-action from 3.2.0 to 3.3.0 (#297) @dependabot
- Bump docker/setup-qemu-action from 3.1.0 to 3.2.0 (#295) @dependabot
#### 2.8.0: Release
- Audit log crashes (#310) @Steve-Mcl
- Ensure NODE_EXTRA_CA_CERTS is passed to NR (#308) @hardillb
- Update flowfuse-device.service with Example for port (#304) @gdziuba
- Allow arguments to device agent (#303) @hardillb
#### 2.7.0: Release
- Add HOME env var to passed through list (#299) @hardillb
- Add heartbeat to Editor WebSocket Tunnel (#293) @hardillb
- Bump docker/setup-qemu-action from 3.0.0 to 3.1.0 (#292) @dependabot
#### 2.6.0: Release
- Bump docker/setup-qemu-action from 2.2.0 to 3.0.0 (#264) @app/dependabot
- Bump docker/metadata-action from 3 to 5 (#259) @app/dependabot
- Bump docker/login-action from 2.2.0 to 3.2.0 (#269) @app/dependabot
- Bump ws from 7.5.9 to 8.18.0 (#287) @app/dependabot
- Bump ws from 8.13.0 to 8.17.1 (#279) @app/dependabot
- Support for nr-assistant (#285) @Steve-Mcl
- Update release-publish to NodeJS 18 (#286) @hardillb
- Bump JS-DevTools/npm-publish from 2.2.0 to 3.1.1 (#258) @app/dependabot
- Bump docker base to Node 18 (#282) @knolleary
- Bump braces from 3.0.2 to 3.0.3 (#276) @app/dependabot
#### 2.5.0: Release
- Proxy support (#272) @Steve-Mcl
- Bump actions/setup-node from 3 to 4 (#261) @dependabot
- Bump actions/checkout from 3 to 4 (#260) @dependabot
- Bump peter-evans/dockerhub-description from 3 to 4 (#262) @dependabot
- Enable dependabot for github actions (#257) @ppawlowski
#### 2.4.1: Release
- Ensure local ws connections are closed on disconnect (#255) @knolleary
- Update `package.json` with user defined node-red version (#254) @Steve-Mcl
- If NR process has exited, dont send or wait for sigxxx (#252) @Steve-Mcl
#### 2.4.0: Release
- Add catalogue and npmrc to App bound instances (#246) @hardillb
#### 2.3.2: Release
- Remove Object.hasOwn (#248) @knolleary
- Add nodejs 18 & 20 to test runners (#247) @hardillb
- Respect shared-library and projectComms feature flags (#244) @Steve-Mcl
#### 2.3.1: Release
- Fix CORS handling (#242) @hardillb
#### 2.3.0: Release
- Add support for device actions (#239) @Steve-Mcl
- Save affinity cookie locally so it can be reused between restarts (#238) @knolleary
#### 2.2.0: Release
- Wire up Node-RED instance audit events to FF (#232) @Steve-Mcl
- Implement deferred stop like nr-launcher (#236) @Steve-Mcl
- Fix theme following org name change (#235) @Steve-Mcl
#### 2.1.0: Release
- Implement quick connect in device agent (#226) @Steve-Mcl
- Fix affinity cookie parsing (#225) @knolleary
#### 2.0.0: Release
- Enable WebSocket Affinity in the device agent (#213) @hardillb
- Fix WS readystate crash (#221) @Steve-Mcl
- Permit Device Agent to automatically re-establish Editor Tunnel after a restart (#220) @Steve-Mcl
- Fix console.log(JSON) (#219) @hardillb
#### 1.15.0: Release
- Fix Docker path to the config file (#215) @robmarcer
- Protect against unhandled exceptions (#212) @Steve-Mcl
#### 1.14.0: Release
- Move to @flowfuse/nr-theme (#210) @knolleary
- Revert "Include project nodes for app assigned devices" (#208) @Steve-Mcl
- Include project nodes for app assigned devices (#205) @Steve-Mcl
#### 1.13.3: Release
- Fix references in workflow (#202) @knolleary
#### 1.13.2: Release
- Update logo to fuse branding (#199) @knolleary
- Rebranding in the service file and installer (#198) @knolleary
- Move npm org (#197) @knolleary
- Update setup-node action (#196) @hardillb
#### 1.13.1: Release
- Ensure that tunneled payloads are parsed (#189) @hardillb
- bug: Use $USER instead of undefined variable (#193) @ZJvandeWeg
#### 1.13.0: Release
- Update a bunch of branding issues (#190) @knolleary
- Ensure PATH is always passed to NR (#186) @hardillb
- Create raspbian install script (#171) @MarianRaphael
- Update ff references in package.json (#181) @knolleary
- Change repo references after github org rename (#172) @ppawlowski
#### 1.12.0: Release
- Support custom npm catalogues (#177) @hardillb
#### 1.11.2: Release
- Support Node-RED 3.1 - due to changed internal dependency (#174 #175) @hardillb
#### 1.11.1: Release
- Device Node-RED app environment variables: allow controllable propagation of env set to process to Node-RED app (#146) @elenaviter
- Do not attempt editor reconnect if platform tells us No Tunnel (#169) @knolleary
- Snapshot download retry (#167) @Steve-Mcl
#### 1.11.0: Release
- Allow a device to be assigned to application (#161) @Steve-Mcl
#### 1.10.1: Release
- Increase snapshot download timeout (#163) @hardillb
- Bump word-wrap from 1.2.3 to 1.2.5 (#160) @app/dependabot
- Fix device running or reporting old snapshot id/name (#157) @Steve-Mcl
#### 1.10.0: Release
- Use local TZ env var else use timeZone from settings (#155) @hardillb
- Adds FF library plugin (#141) @Steve-Mcl
#### 1.9.6: Release
- Allow use of private CA for HTTPS certs (#150) @hardillb
#### 1.9.5: Release
- Modify editor tunnel to reconnect to platform if connection drops (#144) @knolleary
#### 1.9.4: Release
- Ensure agent handles first run without currentMode set (#137) @knolleary
- Fix nr-theme source path (#136) @hardillb
#### 1.9.3: Release
- Ensure device gets FF theming (#107) @Steve-Mcl
- Improve logs around Developer mode and pull snapshot if local device has changed (#128) @Steve-Mcl
- Fix starting agent in dev mode without existing snapshot locally (#131) @knolleary
- Add build tools to build npm deps (#122) @hardillb
- Ensure agent runs on Node 14 (#130) @knolleary
- Ensure buffered agent messages have the properly formatted ts prop (#129) @knolleary
- doc fix: s/yaml/yml/ (#127) @ZJvandeWeg
- Update device agent docs around windows support (#119) @Steve-Mcl
- Add package-lock.json (#121) @Pezmc
- Build for all platforms (#118) @hardillb
#### 1.9.2: Release
- Fix broken build script @hardillb
#### 1.9.0: Release
Note: the version number jump to 1.9.0 has been done to bring the numbering
into line with the FlowForge platform and the tags applied to the Device Agent
docker container.
- Support httpStatic via device.yml file (#112) @knolleary
- Support https configuration from device.yml (#111) @knolleary
- Move building the docker container to this repo (#106) @hardillb
- Ensure device settings are updated (#104) @Steve-Mcl
- Add log entries for new config applied by UI (#105) @Steve-Mcl
#### 0.9.0: Release
- Update version to 0.9.0
- Device Agent UI (#92) @Steve-Mcl
- Pull latest snapshot in dev mode if started without any project config (#98) @knolleary
- Warn if NR is not running when trying to start editor (#96) @hardillb
#### 0.8.0: Release
- Set editor header.title to device name if not otherwise set (#88) @knolleary
- Add verbose logging of proxy requests and shift to 127.0.0.1 (#87) @knolleary
- Increase the timeout to create WS connection to Forge (#86) @hardillb
- Bump to 0.8.0 (#85) @knolleary
- Remote device access, editing and snapshotting with Auth enabled (#77) @Steve-Mcl
- Ensure log body is a string (#80) @hardillb
#### 0.7.0: Release
- Do not setup checkin timeout if an update has already arrived (#70) @knolleary
- Device Remote logging (#66) @hardillb
#### 0.6.2: Release
- Ensure cli usage errors are reported properly (#67) @knolleary
- Remove/recreate symlink to module_cache if exists (#63) @hardillb
- Ensure settings are pulled for first snapshot (#65) @hardillb
- Allow the agent to start if initial checkin fails (#64) @knolleary
#### 0.6.1: Release
- Docs: update 'project' terminology to 'instances' (#59) @knolleary
#### 0.6.0: Release
- Auto Device Provisioning (#56) @Steve-Mcl
- Move nodejs version check (#55) @hardillb
#### 0.5.0: Release
- Add Project name, version to package.json (#49) @hardillb
- Ensure ws URLs with ipv6 address can connect MQTT (#51) @Steve-Mcl
- Support running on offline devices (#47) @hardillb
#### 0.4.0: Release
- Add "memory" and "persistent" as context stores (#44) @Steve-Mcl
#### 0.3.0: Release
- Device does not exit cleanly following new jitter timing (#41) @Steve-Mcl
- add jitter to mqtt and http checkin (#35) @Steve-Mcl
- Add NodeJS version test at startup (#39) @hardillb
- Update eslint and include build GH action (#38) @knolleary
- Align cli comment with args.js (#36) @Steve-Mcl
#### 0.2.2: Maintanence Release
- Bump to v0.2.2 (#33) @hardillb
- Fix lint error
- change log format (#31) @sammachin
#### 0.2.1: Maintanence Release
- Clean up .config.nodes.json (#28) @hardillb
- Add support for relative paths (#26) @hardillb
#### 0.2.0: Release
- Add project-node support (#24) @knolleary
- Add MQTT connectivity support (#22) @knolleary
#### 0.1.0: Release
- First pass Device Environment Vars (#16) @hardillb
- Fix typo in settings.js template (#18) @hardillb
- Fix engines dependency (#13) @flecoufle
- logging: Poll messages moved from info to debug (#11) @ZJvandeWeg
- Let Agent NR listen on all interfaces (#8) @hardillb
- Increase call-home timeout and avoid overlapping requests (#6) @knolleary
#### 0.0.1: Release
Initial alpha release of the Device Agent