|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to ECP-SDK will be documented in this file. |
| 4 | + |
| 5 | +The format is based on [Keep a Changelog](https://keepachangelog.com/), |
| 6 | +and this project adheres to [Semantic Versioning](https://semver.org/). |
| 7 | + |
| 8 | +--- |
| 9 | + |
| 10 | +## [2.0.5] — 2026-03-12 |
| 11 | + |
| 12 | +### Improved |
| 13 | +- Updated README with complete package examples for all free packages |
| 14 | + (Registry, Cascade, Compatibility, DI, Transport) and corrected test count. |
| 15 | +- Aligned test project dependencies (xunit 2.9.2, Test.Sdk 17.11.1) and |
| 16 | + CA1707 analyzer settings across all 10 test projects. |
| 17 | +- Removed hardcoded version references from CONTRIBUTING.md, SECURITY.md, |
| 18 | + and issue templates to prevent version drift on future releases. |
| 19 | + |
| 20 | +--- |
| 21 | + |
| 22 | +## [2.0.4] — 2026-03-12 |
| 23 | + |
| 24 | +### Improved |
| 25 | +- NuGet package quality: XML documentation for IntelliSense, Source Link |
| 26 | + for source-level debugging, deterministic builds, and per-package |
| 27 | + descriptions. |
| 28 | + |
| 29 | +--- |
| 30 | + |
| 31 | +## [2.0.1] — 2026-03-01 |
| 32 | + |
| 33 | +### Added |
| 34 | +- Support for unsigned envelopes (HMAC length 0) in envelope builder and |
| 35 | + decoders, enabling use in trusted internal networks where cryptographic |
| 36 | + signing is not required. |
| 37 | + |
| 38 | +### Changed |
| 39 | +- HMAC length validation now accepts 0 (unsigned) or 8–16 bytes (signed). |
| 40 | + |
| 41 | +--- |
| 42 | + |
| 43 | +## [2.0.0] — 2026-02-09 |
| 44 | + |
| 45 | +Initial public release. |
| 46 | + |
| 47 | +### Core Protocol |
| 48 | +- **Universal Emergency Token (UET)** — 8-byte binary token encoding |
| 49 | + emergency type, priority, action flags, zone, timestamp, and confirmation |
| 50 | + hash. |
| 51 | +- **Emergency Envelope** — Variable-length binary envelope (45–100 bytes |
| 52 | + typical) with HMAC-SHA256 authentication, priority, TTL, and metadata. |
| 53 | +- **Progressive API** — Four levels of control: one-liner (`Ecp.Alert`), |
| 54 | + token (`Ecp.Token`), builder (`Ecp.Envelope().Build()`), and |
| 55 | + zero-allocation (`WriteTo(Span<byte>)`). |
| 56 | +- **Auto-detection decode** — `Ecp.TryDecode` automatically distinguishes |
| 57 | + UET from Envelope format based on message structure. |
| 58 | + |
| 59 | +### Security |
| 60 | +- HMAC-SHA256 message authentication with configurable length (8–16 bytes). |
| 61 | +- AES-GCM authenticated encryption (optional). |
| 62 | +- Key rotation via versioned `KeyRing`. |
| 63 | +- Anti-replay protection via timestamps. |
| 64 | + |
| 65 | +### Compression |
| 66 | +- Two-level semantic dictionary (global + tenant) for payload compression. |
| 67 | +- Multilingual template engine with positional parameters. |
| 68 | + |
| 69 | +### Delivery |
| 70 | +- Cascade broadcast with adaptive fan-out and confirmation aggregation. |
| 71 | +- Zone-based confirmation aggregation. |
| 72 | + |
| 73 | +### Transport |
| 74 | +- Transport-agnostic design with pluggable implementations. |
| 75 | +- WebSocket and SignalR transports included. |
| 76 | +- JSON-to-ECP compatibility bridge for migration. |
| 77 | + |
| 78 | +### Dependency Injection |
| 79 | +- `AddEcpCore()` — Registers core protocol services. |
| 80 | +- `AddEcpStandard()` — Registers full stack (Core + Registry + Cascade). |
| 81 | +- `AddEcpProfile()` — Preset profiles (Minimal, Standard, Enterprise). |
| 82 | +- Configurable options via `EcpOptions`. |
| 83 | + |
| 84 | +### Platform |
| 85 | +- .NET 8.0 |
| 86 | +- Zero external dependencies in `ECP.Core`. |
| 87 | +- 181 automated tests. |
| 88 | + |
| 89 | +--- |
| 90 | + |
| 91 | +## License |
| 92 | + |
| 93 | +Free packages in this repository are licensed under Apache 2.0. |
| 94 | +Premium modules (for example `ECP.Offline` and enterprise diagnostics) are |
| 95 | +distributed under separate commercial terms. |
| 96 | +See [LICENSE.txt](LICENSE.txt) and [NOTICE](NOTICE) for legal terms and notices. |
| 97 | +Patent pending (UIBM). |
0 commit comments