You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+19Lines changed: 19 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,24 @@
1
1
# Changelog
2
2
3
+
## [4.1.0] - 2026-04-13
4
+
5
+
### Added
6
+
7
+
-**ECC security policy support.** The daemon and `ManagedClient` now support the 4 new Elliptic Curve Cryptography policies introduced in `opcua-client` v4.1.0:
- No code changes required — ECC policies work transparently via `SecurityPolicy::from()` and `ClientBuilder`. ECC certificates are auto-generated when no client certificate is provided. Username/password authentication uses the `EccEncryptedSecret` protocol automatically.
13
+
-**ECC disclaimer:** No commercial OPC UA vendor supports ECC endpoints yet. This implementation is tested exclusively against the OPC Foundation's UA-.NETStandard reference stack.
14
+
15
+
### Changed
16
+
17
+
- Bumped minimum `php-opcua/opcua-client` dependency from `^4.0` to `^4.1`.
18
+
- Security support expanded from 6 to **10 policies** (6 RSA + 4 ECC).
19
+
- Updated CI test server suite from `php-opcua/uanetstandard-test-suite@v1.0.0` to `@v1.1.0`.
20
+
- Updated documentation (README, doc/, llms.txt, llms-full.txt, llms-skills.md) to reflect ECC support and add ECC examples.
> **Tip:** Skip `setClientCertificate()` and a self-signed cert gets auto-generated in memory (RSA for RSA policies, ECC for ECC policies) — perfect for quick tests or servers with auto-accept.
221
+
222
+
> **ECC disclaimer:** ECC security policies (`EccNistP256`, `EccNistP384`, `EccBrainpoolP256r1`, `EccBrainpoolP384r1`) are fully implemented and tested against the OPC Foundation's UA-.NETStandard reference stack. However, no commercial OPC UA vendor supports ECC endpoints yet.
./vendor/bin/pest tests/Integration/ --group=integration # integration only
343
355
```
344
356
345
-
380+ tests (unit + integration). Integration tests run against [uanetstandard-test-suite](https://github.com/php-opcua/uanetstandard-test-suite) — a Docker-based OPC UA environment built on the OPC Foundation's UA-.NETStandard reference implementation — covering browse, read/write, subscriptions, method calls, path resolution, connection state, security, type serialization, session persistence, session recovery, and all v4.0.0 DTOs.
357
+
456+ tests (unit + integration). Integration tests run against [uanetstandard-test-suite](https://github.com/php-opcua/uanetstandard-test-suite) — a Docker-based OPC UA environment built on the OPC Foundation's UA-.NETStandard reference implementation — covering browse, read/write, subscriptions, method calls, path resolution, connection state, security, type serialization, session persistence, session recovery, and all v4.0.0 DTOs.
346
358
347
359
> **Note on coverage:**`SessionManagerDaemon` is excluded from coverage reports because it runs as a separate long-lived process (ReactPHP event loop). PHP coverage tools (pcov, xdebug) only instrument the test runner process — they cannot track code executing inside a subprocess started via `proc_open()`. The daemon is fully tested by the integration suite, which starts a real daemon, sends IPC commands, and verifies responses. This is a known limitation shared by other daemon-based PHP packages (Laravel Horizon, Symfony Messenger, RoadRunner workers).
Copy file name to clipboardExpand all lines: ROADMAP.md
+8-1Lines changed: 8 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Roadmap
2
2
3
-
## v4.1.0
3
+
## v4.2.0
4
4
5
5
### Features
6
6
@@ -12,6 +12,13 @@
12
12
-[ ] Config object — replace the `$config` associative array passed through IPC with a typed `SessionConfig` DTO for type safety
13
13
-[ ] CommandHandler method dispatch — replace the growing `match` block in `deserializeParams()` with a registry pattern for cleaner extensibility
14
14
15
+
## Completed in v4.1.0
16
+
17
+
-[x]**ECC security policy support** — all daemon operations work with `ECC_nistP256`, `ECC_nistP384`, `ECC_brainpoolP256r1`, `ECC_brainpoolP384r1` (auto-generated ECC certificates, EccEncryptedSecret for username/password)
18
+
-[x] Bumped `php-opcua/opcua-client` dependency from `^4.0` to `^4.1`
19
+
-[x] Security support expanded from 6 to **10 policies** (6 RSA + 4 ECC)
20
+
-[x] Updated all documentation (README, doc/, llms.txt, llms-full.txt, llms-skills.md)
21
+
15
22
## Completed in v4.0.0
16
23
17
24
-[x] Trust store support — certificate trust store for managing trusted/rejected certificates
0 commit comments