diff --git a/.fusa-reqs.json b/.fusa-reqs.json index 34af8f3..03323cf 100644 --- a/.fusa-reqs.json +++ b/.fusa-reqs.json @@ -109,6 +109,7 @@ {"id":"REQ-CYBER-SUMMARY001","title":"cfusa cyber always prints 'Cyber findings: N error N warning N info' to stdout after analysis; parity with go-FuSa TestRunCyber_StrictWithWarnings","standard":"go-FuSa parity","level":"ASIL-A"}, {"id":"REQ-COMP-TEXT001","title":"cfusa comp text output shows 'Total functions: N Exceeding threshold: N' summary; parity with go-FuSa TestRunComp_Text_NoExceedances","standard":"go-FuSa parity","level":"ASIL-A"}, {"id":"REQ-CLI-REQ002","title":"cfusa req import exits 2 for empty CSV or bad header, exits 3 for file not found; parity with go-FuSa TestRunReqImport_CSVEmptyFile/CSVBadHeader/CSVReadError","standard":"go-FuSa parity","level":"ASIL-A"}, - {"id":"REQ-CLI-FIX001","title":"cfusa fix accepts --report flag and writes JSON findings report; parity with go-FuSa TestRunFix_WithFindingsAndOutput","standard":"go-FuSa parity","level":"ASIL-A"} + {"id":"REQ-CLI-FIX001","title":"cfusa fix accepts --report flag and writes JSON findings report; parity with go-FuSa TestRunFix_WithFindingsAndOutput","standard":"go-FuSa parity","level":"ASIL-A"}, + {"id":"REQ-IEC62443-HEADER001","title":"cfusa iec62443 text header is 'IEC 62443 Gap Report' (contains canonical substring); parity with go-FuSa TestRunIEC62443_TextDefault","standard":"go-FuSa parity","level":"ASIL-A"} ] } diff --git a/CHANGELOG.md b/CHANGELOG.md index 289370a..777a56e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,14 @@ and the project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0. ## [Unreleased] +## [0.5.33] — 2026-06-13 + +### Fixed +- **`cfusa iec62443`**: Text output header changed from `"IEC 62443-4-2 Gap Report"` to `"IEC 62443 Gap Report"` so the canonical substring `"IEC 62443 Gap Report"` is present. Parity with go-FuSa `TestRunIEC62443_TextDefault`. + +### Requirements +- REQ-IEC62443-HEADER001 + ## [0.5.32] — 2026-06-13 ### Fixed diff --git a/CMakeLists.txt b/CMakeLists.txt index 25e8ec2..5253e60 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.16) project(cfusa - VERSION 0.5.32 + VERSION 0.5.33 DESCRIPTION "C functional safety toolkit" LANGUAGES C ) diff --git a/Dockerfile b/Dockerfile index dffb702..250e3c4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -44,7 +44,7 @@ LABEL org.opencontainers.image.title="c-FuSa" \ org.opencontainers.image.source="https://github.com/SoundMatt/c-FuSa" \ org.opencontainers.image.licenses="MIT" \ org.opencontainers.image.vendor="SoundMatt" \ - org.opencontainers.image.version="0.5.32" \ + org.opencontainers.image.version="0.5.33" \ io.x-fusa.tool="c-FuSa" \ io.x-fusa.language="c" \ io.x-fusa.binary="cfusa" \ diff --git a/cmd/cfusa/cmd_iec62443.c b/cmd/cfusa/cmd_iec62443.c index f3e03b6..ce8c000 100644 --- a/cmd/cfusa/cmd_iec62443.c +++ b/cmd/cfusa/cmd_iec62443.c @@ -194,7 +194,7 @@ int cmd_iec62443(int argc, char **argv) } fprintf(out, "\n ]\n}\n"); } else if (!strcmp(fmt_s, "text")) { - fprintf(out, "IEC 62443-4-2 Gap Report — %s (target %s)\n", cfg.project, sl); + fprintf(out, "IEC 62443 Gap Report — %s (target %s, profile 4-2)\n", cfg.project, sl); fprintf(out, "==================================================\n\n"); if (!has_cfg) fprintf(out, "NOTE: no %s found — run 'cfusa iec62443 init' to create\n\n", diff --git a/include/cfusa/version.h b/include/cfusa/version.h index f30f875..ae2a9f1 100644 --- a/include/cfusa/version.h +++ b/include/cfusa/version.h @@ -3,8 +3,8 @@ #define CFUSA_VERSION_MAJOR 0 #define CFUSA_VERSION_MINOR 5 -#define CFUSA_VERSION_PATCH 32 -#define CFUSA_VERSION_STRING "0.5.32" +#define CFUSA_VERSION_PATCH 33 +#define CFUSA_VERSION_STRING "0.5.33" #define CFUSA_SCHEMA_VERSION "1.9" #define CFUSA_SPEC_VERSION "1.9"