matterbridge 3.7.3-dev-20260408-abfa6ac → 3.7.3-dev-20260409-47ebca7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -3
- package/README-DEV.md +3 -3
- package/README-DOCKER.md +5 -5
- package/README-MACOS-PLIST.md +3 -3
- package/README-NGINX.md +3 -3
- package/README-PODMAN.md +3 -3
- package/README-SERVICE-LOCAL.md +25 -3
- package/README-SERVICE-OPT.md +26 -4
- package/README-SERVICE.md +29 -9
- package/README.md +20 -5
- package/apps/frontend/build/assets/index.js +3 -3
- package/apps/frontend/build/assets/vendor_emotion.js +1 -1
- package/apps/frontend/build/assets/vendor_lodash.js +1 -1
- package/apps/frontend/build/assets/vendor_mui.js +27 -27
- package/apps/frontend/build/assets/vendor_node_modules.js +19 -19
- package/apps/frontend/build/assets/vendor_notistack.js +4 -4
- package/apps/frontend/build/assets/vendor_qrcode.js +1 -1
- package/apps/frontend/build/assets/vendor_rjsf.js +5 -5
- package/apps/frontend/npm-shrinkwrap.json +53 -53
- package/apps/frontend/package.json +8 -8
- package/package.json +13 -12
package/CHANGELOG.md
CHANGED
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|

|
|
8
8
|

|
|
9
9
|
[](https://codecov.io/gh/Luligu/matterbridge)
|
|
10
|
-
[](https://
|
|
11
|
-
[](https://
|
|
10
|
+
[](https://prettier.io/)
|
|
11
|
+
[](https://eslint.org/)
|
|
12
12
|
[](https://www.typescriptlang.org/)
|
|
13
|
-
[](https://nodejs.org
|
|
13
|
+
[](https://nodejs.org)
|
|
14
14
|
[](https://matterbridge.io)
|
|
15
15
|
|
|
16
16
|
[](https://www.npmjs.com/package/matter-history)
|
|
@@ -55,6 +55,15 @@ These classes will run as threads in the next releases:
|
|
|
55
55
|
|
|
56
56
|
## [3.7.3] - Dev branch
|
|
57
57
|
|
|
58
|
+
### New plugins
|
|
59
|
+
|
|
60
|
+
- [security]: Add [Security Plugin](https://www.npmjs.com/package/matterbridge-security).
|
|
61
|
+
|
|
62
|
+
### Dev news
|
|
63
|
+
|
|
64
|
+
- [frontend]: Implement rendering in config editor of array-items-enum-uniqueItems rjsf path (see the schema of Hass Plugin).
|
|
65
|
+
- [platform]: Add BasePlatformConfig to strictly type the platform config (see the matterbridge-irobot module.ts).
|
|
66
|
+
|
|
58
67
|
### Added
|
|
59
68
|
|
|
60
69
|
- [security]: Escape user-controlled strings in backend responses (e.g. upload `filename`) before sending them to the browser to reduce XSS risk (CodeQL).
|
|
@@ -63,8 +72,14 @@ These classes will run as threads in the next releases:
|
|
|
63
72
|
### Changed
|
|
64
73
|
|
|
65
74
|
- [package]: Update dependencies.
|
|
75
|
+
- [frontend]: Update dependencies.
|
|
76
|
+
- [frontend]: Bump `frontend` version to v.3.4.11.
|
|
66
77
|
- [terminal]: Ignore process.stdout.isTTY that was too restrictive.
|
|
67
78
|
|
|
79
|
+
### Fixed
|
|
80
|
+
|
|
81
|
+
- [ansi]: Fix typo in getDefaultDeviceEnergyManagementModeClusterServer(). Thanks Ludovic BOUÉ (https://github.com/Luligu/matterbridge/pull/542).
|
|
82
|
+
|
|
68
83
|
<a href="https://www.buymeacoffee.com/luligugithub"><img src="https://matterbridge.io/assets/bmc-button.svg" alt="Buy me a coffee" width="80"></a>
|
|
69
84
|
|
|
70
85
|
## [3.7.2] - 2026-04-02
|
package/README-DEV.md
CHANGED
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|

|
|
8
8
|

|
|
9
9
|
[](https://codecov.io/gh/Luligu/matterbridge)
|
|
10
|
-
[](https://
|
|
11
|
-
[](https://
|
|
10
|
+
[](https://prettier.io/)
|
|
11
|
+
[](https://eslint.org/)
|
|
12
12
|
[](https://www.typescriptlang.org/)
|
|
13
|
-
[](https://nodejs.org/
|
|
13
|
+
[](https://nodejs.org/)
|
|
14
14
|
[](https://matterbridge.io)
|
|
15
15
|
|
|
16
16
|
[](https://www.npmjs.com/package/matter-history)
|
package/README-DOCKER.md
CHANGED
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|

|
|
8
8
|

|
|
9
9
|
[](https://codecov.io/gh/Luligu/matterbridge)
|
|
10
|
-
[](https://
|
|
11
|
-
[](https://
|
|
10
|
+
[](https://prettier.io/)
|
|
11
|
+
[](https://eslint.org/)
|
|
12
12
|
[](https://www.typescriptlang.org/)
|
|
13
|
-
[](https://nodejs.org/
|
|
13
|
+
[](https://nodejs.org/)
|
|
14
14
|
[](https://matterbridge.io)
|
|
15
15
|
|
|
16
16
|
[](https://www.npmjs.com/package/matter-history)
|
|
@@ -39,11 +39,11 @@ The image (tag **s6-rc-legacy** 83 MB) includes only Matterbridge, using the lat
|
|
|
39
39
|
|
|
40
40
|
### Matterbridge chip-tool docker image
|
|
41
41
|
|
|
42
|
-
The image (tag **chip-test** 400MB)
|
|
42
|
+
The image (tag **chip-test** 400MB) is based on `ubuntu:latest` with Node.js 24 LTS from NodeSource and includes the connectedhomeip repository with chip-tool, chip-cert and all components required for yaml and phyton tests. The matterbridge instance inside the container is already paired in the chip-tool fabric to execute yaml tests and in the python harness fabric to execute python tests. In the container, the chip environment and phyton environment are already active. Just open a shell inside the container with bash and run the tests. Matterbridge frontend is as usual on port 8283. No volumes or port mapping needed.
|
|
43
43
|
|
|
44
44
|
### Matterbridge docker base images
|
|
45
45
|
|
|
46
|
-
The image (tag **24-ubuntu-slim** 83 MB)
|
|
46
|
+
The image (tag **24-ubuntu-slim** 83 MB) is based on `ubuntu:latest` with Node.js 24 LTS from NodeSource. It is used to build the **ubuntu** image but can also be used to open a shell in ubuntu latest with node 24 (node doesn't publish node:24-ubuntu).
|
|
47
47
|
|
|
48
48
|
### Docker health check
|
|
49
49
|
|
package/README-MACOS-PLIST.md
CHANGED
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|

|
|
8
8
|

|
|
9
9
|
[](https://codecov.io/gh/Luligu/matterbridge)
|
|
10
|
-
[](https://
|
|
11
|
-
[](https://
|
|
10
|
+
[](https://prettier.io/)
|
|
11
|
+
[](https://eslint.org/)
|
|
12
12
|
[](https://www.typescriptlang.org/)
|
|
13
|
-
[](https://nodejs.org/
|
|
13
|
+
[](https://nodejs.org/)
|
|
14
14
|
[](https://matterbridge.io)
|
|
15
15
|
|
|
16
16
|
[](https://www.npmjs.com/package/matter-history)
|
package/README-NGINX.md
CHANGED
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|

|
|
8
8
|

|
|
9
9
|
[](https://codecov.io/gh/Luligu/matterbridge)
|
|
10
|
-
[](https://
|
|
11
|
-
[](https://
|
|
10
|
+
[](https://prettier.io/)
|
|
11
|
+
[](https://eslint.org/)
|
|
12
12
|
[](https://www.typescriptlang.org/)
|
|
13
|
-
[](https://nodejs.org/
|
|
13
|
+
[](https://nodejs.org/)
|
|
14
14
|
[](https://matterbridge.io)
|
|
15
15
|
|
|
16
16
|
[](https://www.npmjs.com/package/matter-history)
|
package/README-PODMAN.md
CHANGED
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|

|
|
8
8
|

|
|
9
9
|
[](https://codecov.io/gh/Luligu/matterbridge)
|
|
10
|
-
[](https://
|
|
11
|
-
[](https://
|
|
10
|
+
[](https://prettier.io/)
|
|
11
|
+
[](https://eslint.org/)
|
|
12
12
|
[](https://www.typescriptlang.org/)
|
|
13
|
-
[](https://nodejs.org/
|
|
13
|
+
[](https://nodejs.org/)
|
|
14
14
|
[](https://matterbridge.io)
|
|
15
15
|
|
|
16
16
|
[](https://www.npmjs.com/package/matter-history)
|
package/README-SERVICE-LOCAL.md
CHANGED
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|

|
|
8
8
|

|
|
9
9
|
[](https://codecov.io/gh/Luligu/matterbridge)
|
|
10
|
-
[](https://
|
|
11
|
-
[](https://
|
|
10
|
+
[](https://prettier.io/)
|
|
11
|
+
[](https://eslint.org/)
|
|
12
12
|
[](https://www.typescriptlang.org/)
|
|
13
|
-
[](https://nodejs.org/
|
|
13
|
+
[](https://nodejs.org/)
|
|
14
14
|
[](https://matterbridge.io)
|
|
15
15
|
|
|
16
16
|
[](https://www.npmjs.com/package/matter-history)
|
|
@@ -97,6 +97,28 @@ Group=<USER>
|
|
|
97
97
|
WantedBy=multi-user.target
|
|
98
98
|
```
|
|
99
99
|
|
|
100
|
+
On some systems, npm install may fail with errors like `ENETUNREACH`:
|
|
101
|
+
|
|
102
|
+
This happens when:
|
|
103
|
+
|
|
104
|
+
The system has IPv6 enabled
|
|
105
|
+
DNS returns IPv6 (AAAA) records
|
|
106
|
+
But the host does not have a working IPv6 default route
|
|
107
|
+
|
|
108
|
+
In this situation:
|
|
109
|
+
|
|
110
|
+
Node.js may try IPv6 first.
|
|
111
|
+
The connection fails with ENETUNREACH.
|
|
112
|
+
Npm retries may randomly succeed or fail depending on resolution order.
|
|
113
|
+
|
|
114
|
+
This often indicates a misconfigured IPv6 route / DNS preference.
|
|
115
|
+
|
|
116
|
+
One possible fix, add this line to the existing [Service] section:
|
|
117
|
+
|
|
118
|
+
```text
|
|
119
|
+
Environment="NODE_OPTIONS=--dns-result-order=ipv4first"
|
|
120
|
+
```
|
|
121
|
+
|
|
100
122
|
If you use the frontend with **-ssl** --frontend 443 and get an error message: "Port 443 requires elevated privileges",
|
|
101
123
|
add this:
|
|
102
124
|
|
package/README-SERVICE-OPT.md
CHANGED
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|

|
|
8
8
|

|
|
9
9
|
[](https://codecov.io/gh/Luligu/matterbridge)
|
|
10
|
-
[](https://
|
|
11
|
-
[](https://
|
|
10
|
+
[](https://prettier.io/)
|
|
11
|
+
[](https://eslint.org/)
|
|
12
12
|
[](https://www.typescriptlang.org/)
|
|
13
|
-
[](https://nodejs.org/
|
|
13
|
+
[](https://nodejs.org/)
|
|
14
14
|
[](https://matterbridge.io)
|
|
15
15
|
|
|
16
16
|
[](https://www.npmjs.com/package/matter-history)
|
|
@@ -117,7 +117,7 @@ Wants=network.target
|
|
|
117
117
|
|
|
118
118
|
[Service]
|
|
119
119
|
Type=simple
|
|
120
|
-
Environment=NODE_ENV=production
|
|
120
|
+
Environment="NODE_ENV=production"
|
|
121
121
|
Environment="NPM_CONFIG_PREFIX=/opt/matterbridge/.npm-global"
|
|
122
122
|
Environment="NPM_CONFIG_CACHE=/opt/matterbridge/.npm-cache"
|
|
123
123
|
ExecStart=matterbridge --service --nosudo
|
|
@@ -137,6 +137,28 @@ ReadWritePaths=/opt/matterbridge
|
|
|
137
137
|
WantedBy=multi-user.target
|
|
138
138
|
```
|
|
139
139
|
|
|
140
|
+
On some systems, npm install may fail with errors like `ENETUNREACH`:
|
|
141
|
+
|
|
142
|
+
This happens when:
|
|
143
|
+
|
|
144
|
+
The system has IPv6 enabled
|
|
145
|
+
DNS returns IPv6 (AAAA) records
|
|
146
|
+
But the host does not have a working IPv6 default route
|
|
147
|
+
|
|
148
|
+
In this situation:
|
|
149
|
+
|
|
150
|
+
Node.js may try IPv6 first.
|
|
151
|
+
The connection fails with ENETUNREACH.
|
|
152
|
+
Npm retries may randomly succeed or fail depending on resolution order.
|
|
153
|
+
|
|
154
|
+
This often indicates a misconfigured IPv6 route / DNS preference.
|
|
155
|
+
|
|
156
|
+
One possible fix, add this line to the existing [Service] section:
|
|
157
|
+
|
|
158
|
+
```text
|
|
159
|
+
Environment="NODE_OPTIONS=--dns-result-order=ipv4first"
|
|
160
|
+
```
|
|
161
|
+
|
|
140
162
|
If you use the frontend with **-ssl** -frontend 443 and get an error message: "Port 443 requires elevated privileges",
|
|
141
163
|
add this:
|
|
142
164
|
|
package/README-SERVICE.md
CHANGED
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|

|
|
8
8
|

|
|
9
9
|
[](https://codecov.io/gh/Luligu/matterbridge)
|
|
10
|
-
[](https://
|
|
11
|
-
[](https://
|
|
10
|
+
[](https://prettier.io/)
|
|
11
|
+
[](https://eslint.org/)
|
|
12
12
|
[](https://www.typescriptlang.org/)
|
|
13
|
-
[](https://nodejs.org/
|
|
13
|
+
[](https://nodejs.org/)
|
|
14
14
|
[](https://matterbridge.io)
|
|
15
15
|
|
|
16
16
|
[](https://www.npmjs.com/package/matter-history)
|
|
@@ -74,18 +74,38 @@ Group=<USER>
|
|
|
74
74
|
WantedBy=multi-user.target
|
|
75
75
|
```
|
|
76
76
|
|
|
77
|
-
|
|
78
|
-
|
|
77
|
+
On some systems, npm install may fail with errors like `ENETUNREACH`:
|
|
78
|
+
|
|
79
|
+
This happens when:
|
|
80
|
+
|
|
81
|
+
The system has IPv6 enabled
|
|
82
|
+
DNS returns IPv6 (AAAA) records
|
|
83
|
+
But the host does not have a working IPv6 default route
|
|
84
|
+
|
|
85
|
+
In this situation:
|
|
86
|
+
|
|
87
|
+
Node.js may try IPv6 first.
|
|
88
|
+
The connection fails with ENETUNREACH.
|
|
89
|
+
Npm retries may randomly succeed or fail depending on resolution order.
|
|
90
|
+
|
|
91
|
+
This often indicates a misconfigured IPv6 route / DNS preference.
|
|
92
|
+
|
|
93
|
+
One possible fix, add this line to the existing [Service] section:
|
|
79
94
|
|
|
95
|
+
```text
|
|
96
|
+
Environment="NODE_OPTIONS=--dns-result-order=ipv4first"
|
|
80
97
|
```
|
|
81
|
-
|
|
98
|
+
|
|
99
|
+
If you use the frontend with --ssl --frontend 443 and get an error message: "Port 443 requires elevated privileges",
|
|
100
|
+
add this line to the existing [Service] section:
|
|
101
|
+
|
|
102
|
+
```text
|
|
82
103
|
AmbientCapabilities=CAP_NET_BIND_SERVICE
|
|
83
104
|
```
|
|
84
105
|
|
|
85
|
-
If you use the matterbridge-bthome plugin add this:
|
|
106
|
+
If you use the matterbridge-bthome plugin add this line to the existing [Service] section:
|
|
86
107
|
|
|
87
|
-
```
|
|
88
|
-
[Service]
|
|
108
|
+
```text
|
|
89
109
|
AmbientCapabilities=CAP_NET_BIND_SERVICE CAP_NET_RAW CAP_NET_ADMIN
|
|
90
110
|
```
|
|
91
111
|
|
package/README.md
CHANGED
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|

|
|
8
8
|

|
|
9
9
|
[](https://codecov.io/gh/Luligu/matterbridge)
|
|
10
|
-
[](https://
|
|
11
|
-
[](https://
|
|
10
|
+
[](https://prettier.io/)
|
|
11
|
+
[](https://eslint.org/)
|
|
12
12
|
[](https://www.typescriptlang.org/)
|
|
13
|
-
[](https://nodejs.org/
|
|
13
|
+
[](https://nodejs.org/)
|
|
14
14
|
[](https://matterbridge.io)
|
|
15
15
|
|
|
16
16
|
[](https://www.npmjs.com/package/matter-history)
|
|
@@ -316,6 +316,21 @@ Features:
|
|
|
316
316
|
- The discovered BTHome devices are stored with all attributes to easily restart the plugin.
|
|
317
317
|
- The plugin has also a command line to test and verify the bluetooth adapter and the ble network.
|
|
318
318
|
|
|
319
|
+
### Security
|
|
320
|
+
|
|
321
|
+
<a href="https://github.com/Luligu/matterbridge-security">
|
|
322
|
+
<img src="https://matterbridge.io/assets/matterbridge.svg" alt="Matterbridge logo" width="100" />
|
|
323
|
+
</a>
|
|
324
|
+
|
|
325
|
+
Matterbridge Security plugin allows you to create a security system.
|
|
326
|
+
|
|
327
|
+
Features:
|
|
328
|
+
|
|
329
|
+
- Five preconfigured modes: Home, Away, Night, Vacation, Off.
|
|
330
|
+
- Five preconfigured setters: Home, Away, Night, Vacation, Off.
|
|
331
|
+
- Four preconfigured triggers: Home, Away, Night, Off.
|
|
332
|
+
- Five preconfigured alerts: Home, Away, Night, Off, Master.
|
|
333
|
+
|
|
319
334
|
### Accessory platform example
|
|
320
335
|
|
|
321
336
|
This is an example of an accessory platform plugin.
|
|
@@ -330,7 +345,7 @@ An Accessory platform plugin only exposes one device.
|
|
|
330
345
|
|
|
331
346
|
This is an example of a dynamic platform plugin.
|
|
332
347
|
|
|
333
|
-
It exposes
|
|
348
|
+
It exposes 70 virtual devices.
|
|
334
349
|
|
|
335
350
|
All these virtual devices continuously change state and position. The plugin also shows how to use all the command handlers (you can control all the devices).
|
|
336
351
|
|
|
@@ -354,7 +369,7 @@ The history works in both bridge and childbridge mode.
|
|
|
354
369
|
|
|
355
370
|
The Eve app only shows the history when the plugins run like an AccessoryPlatform in childbridge mode or as a device with mode server (this means the plugin is paired directly).
|
|
356
371
|
|
|
357
|
-
##
|
|
372
|
+
## Community plugins
|
|
358
373
|
|
|
359
374
|
### [Loxone](https://github.com/andrasg/matterbridge-loxone)
|
|
360
375
|
|