From 4b637a1562cf2cfbb6308d93165c71e1fd97dbe6 Mon Sep 17 00:00:00 2001 From: sepehr-safari Date: Thu, 30 Jul 2026 13:12:00 +0300 Subject: [PATCH] chore(release): cut v0.5.4 Release prep for v0.5.4 (patch): the three OCPP 1.6 spec-conformance fixes from #93, parity with toolkit 0.4.5. - app.zon bumped to 0.5.4 - CHANGELOG 0.5.4 section (2026-07-30) - CURRENT_STATE current version updated Also adds the CHANGELOG link reference for 0.5.3, which was missed when that version was cut, and points Unreleased at v0.5.4 instead of v0.5.2. --- CHANGELOG.md | 31 ++++++++++++++++++++++++++++++- CURRENT_STATE.md | 17 ++++++++++------- app.zon | 2 +- 3 files changed, 41 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 50c5ff9..738ef2c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,33 @@ reference are all pre-1.0, minor (0.x) releases may include breaking changes. ## [Unreleased] +## [0.5.4] - 2026-07-30 + +### Fixed + +- Three detection rules now follow the OCPP 1.6 specification where they + previously diverged from it, matching the toolkit fixes released as toolkit + 0.4.5 (toolkit#154, #155, #156): + - `FIRMWARE_UPDATE_FAILURE` matches exactly the two failure values of the + `FirmwareStatus` enumeration, `DownloadFailed` and `InstallationFailed` + (OCPP 1.6 edition 2, section 7.25). It previously matched `DownloadPaused`, + `InstallFailed` and `InstallRebootingFailed`, none of them 1.6 values, and + missed `InstallationFailed`, so a station reporting a failed install was not + flagged. + - `STATUS_TRANSITION_VIOLATION` uses the section 4.9 transition table as + written, 53 permitted transitions. The old matrix flagged 22 transitions the + table permits, most of them recoveries from `Faulted` and `Unavailable` back + into an operative state, and permitted 2 the table omits + (`Preparing -> Unavailable`, `Finishing -> Reserved`). + - `FAILED_AUTHORIZATION` reports every refusing `AuthorizationStatus` + (section 7.2): `Blocked`, `Expired` and `ConcurrentTx` alongside `Invalid`, + with the status named in the description. + + The 15 conformance goldens are unchanged, so `contract-v1` still holds. + Equivalence with the toolkit was also checked directly: both engines return + identical failure-code sets on 97 probe traces covering every firmware and + authorization status and all 81 ordered connector-status pairs. + ## [0.5.3] - 2026-07-22 ### Fixed @@ -90,7 +117,9 @@ S0–S5. Highlights: - TLS (`wss://`) live capture, a menu-bar monitor, and interactive open (dialog / drag-drop) are planned for later releases. -[Unreleased]: https://github.com/ocpp-debugkit/studio/compare/v0.5.2...HEAD +[Unreleased]: https://github.com/ocpp-debugkit/studio/compare/v0.5.4...HEAD +[0.5.4]: https://github.com/ocpp-debugkit/studio/compare/v0.5.3...v0.5.4 +[0.5.3]: https://github.com/ocpp-debugkit/studio/compare/v0.5.2...v0.5.3 [0.5.2]: https://github.com/ocpp-debugkit/studio/compare/v0.5.1...v0.5.2 [0.5.1]: https://github.com/ocpp-debugkit/studio/compare/v0.5.0...v0.5.1 [0.5.0]: https://github.com/ocpp-debugkit/studio/releases/tag/v0.5.0 diff --git a/CURRENT_STATE.md b/CURRENT_STATE.md index 681ab68..288edea 100644 --- a/CURRENT_STATE.md +++ b/CURRENT_STATE.md @@ -4,13 +4,16 @@ ## Current version -`0.5.3` - detection correctness fix: `METER_VALUE_ANOMALY` and -`STATUS_TRANSITION_VIOLATION` are now per-connector / per-measurand (parity with -the toolkit fixes shiv3 found, toolkit#127/#128, published as toolkit 0.4.1 and -0.4.2). The 15 conformance goldens are unchanged (single-connector fixtures), so -the contract still holds; two regression tests added. -Earlier: `0.5.2` (one-line macOS installer), `0.5.1` (macOS app-bundle naming), -`0.5.0` (first public release). +`0.5.4` - OCPP 1.6 spec-conformance fixes to three detection rules (#92/#93, +parity with toolkit 0.4.5): the `FirmwareStatus` failure values, the section 4.9 +transition table, and every refusing `AuthorizationStatus`. The 15 conformance +goldens are unchanged, so `contract-v1` still holds, and equivalence with the +toolkit was checked directly on 97 probe traces beyond the corpus; three tests +added. +Earlier: `0.5.3` (per-connector `METER_VALUE_ANOMALY` and +`STATUS_TRANSITION_VIOLATION`, parity with toolkit 0.4.1/0.4.2), `0.5.2` +(one-line macOS installer), `0.5.1` (macOS app-bundle naming), `0.5.0` (first +public release). ## Active milestone diff --git a/app.zon b/app.zon index 6d6ac75..996d626 100644 --- a/app.zon +++ b/app.zon @@ -3,7 +3,7 @@ .name = "studio", .display_name = "OCPP DebugKit Studio", .description = "Native desktop debugger for OCPP charging sessions.", - .version = "0.5.3", + .version = "0.5.4", .icons = .{"assets/icon.png"}, .platforms = .{"macos"}, .permissions = .{ "view", "command", "notifications" },