diff --git a/.release-please-manifest.json b/.release-please-manifest.json index e18ee077..466df71c 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.0.0" + ".": "0.1.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 825c32f0..e1a18518 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1 +1,324 @@ # Changelog + +## 0.1.0 (2026-06-03) + + +### ⚠ BREAKING CHANGES + +* SolidSyslogAddressStorage and SolidSyslogAddress_FromStorage are removed. Integrators must allocate destination addresses through the platform pool — SolidSyslog{Posix,Winsock,FreeRtos}Address_Create — and wire the returned handle into UdpSenderConfig.Address / StreamSenderConfig.Address. +* S11.10 SolidSyslog core onto PoolAllocator (handle API) ([#416](https://github.com/DavidCozens/solid-syslog/issues/416)) +* S10.09 data-member lowerCamelCase → PascalCase (Tier 4 sweep) ([#374](https://github.com/DavidCozens/solid-syslog/issues/374)) +* SolidSyslogAtomicCounter_Create now takes void. All four example mains drop their *AtomicOps_Create/_Destroy wiring; SolidSyslogTest.cpp and SolidSyslogMetaSdTest.cpp drop TestAtomicOps.h usage. +* S3.6 rename TcpSender to StreamSender ([#166](https://github.com/DavidCozens/solid-syslog/issues/166)) + +### Features + +* add clone initialisation script and restructure documentation ([#9](https://github.com/DavidCozens/solid-syslog/issues/9)) ([7731bd8](https://github.com/DavidCozens/solid-syslog/commit/7731bd8a5461b4b56ca75a5d1ff185c3798c502f)) +* dispose-on-empty block lifecycle (S18.03) ([#259](https://github.com/DavidCozens/solid-syslog/issues/259)) ([9ec2827](https://github.com/DavidCozens/solid-syslog/commit/9ec2827929f3b462b27e45ce722f24c7a21a6a6a)) +* **filestore:** configurable capacity threshold alert (S05.09) ([#240](https://github.com/DavidCozens/solid-syslog/issues/240)) ([1651d57](https://github.com/DavidCozens/solid-syslog/commit/1651d575c49b18c639e0fb2efa5a8a4089d448dc)) +* generalise SD config from single pointer to array (S7.2) ([#73](https://github.com/DavidCozens/solid-syslog/issues/73)) ([4808be8](https://github.com/DavidCozens/solid-syslog/commit/4808be858fd05a26f0b3b1766779371a064dbfc1)) +* harden BDD target stderr error handler to exit on ERROR severity ([#404](https://github.com/DavidCozens/solid-syslog/issues/404)) ([65c03e8](https://github.com/DavidCozens/solid-syslog/commit/65c03e88fbef2682b3640c8e17b1bc1ea1f25b61)) +* initialise SolidSyslog component ([57dd7c9](https://github.com/DavidCozens/solid-syslog/commit/57dd7c9666097763e5f4547939564457a93bc5ff)) +* meta SD emits sysUpTime and language (S07.06) ([#228](https://github.com/DavidCozens/solid-syslog/issues/228)) ([55632c1](https://github.com/DavidCozens/solid-syslog/commit/55632c15549bb5fad8be836b076395cb6133ab26)) +* origin SD emits enterpriseId and ip (S07.05) ([#229](https://github.com/DavidCozens/solid-syslog/issues/229)) ([e904e95](https://github.com/DavidCozens/solid-syslog/commit/e904e95cb3ca370f98758c13ae26312d998240df)) +* origin structured data — software and swVersion (S7.3) ([#76](https://github.com/DavidCozens/solid-syslog/issues/76)) ([7f7834b](https://github.com/DavidCozens/solid-syslog/commit/7f7834b61750e8187e530346d78b0884829e875e)) +* S03.08 TLS hardening — cert validation, cipher pinning, lifecycle cleanup ([#183](https://github.com/DavidCozens/solid-syslog/issues/183)) ([1d0c16e](https://github.com/DavidCozens/solid-syslog/commit/1d0c16e81f351600f210fd3d77f434f1656bcd02)) +* S03.09 mutual TLS — client cert + key for SL4 non-repudiation ([#184](https://github.com/DavidCozens/solid-syslog/issues/184)) ([f6ae430](https://github.com/DavidCozens/solid-syslog/commit/f6ae430a4633425bae7749058b86b84bc3eb3cbf)) +* S03.12 multi-instance senders and streams ([#187](https://github.com/DavidCozens/solid-syslog/issues/187)) ([3cf9ac0](https://github.com/DavidCozens/solid-syslog/commit/3cf9ac08e5de2ee200ed7a565257aece4327cc2d)) +* S03.13 Example TLS backend composition via CMake ([#188](https://github.com/DavidCozens/solid-syslog/issues/188)) ([800ee8b](https://github.com/DavidCozens/solid-syslog/commit/800ee8b8147f3f15d650848091ca247a4ac603bc)) +* S04.05 portable ring buffer with mutex injection ([#263](https://github.com/DavidCozens/solid-syslog/issues/263)) ([7b5bd01](https://github.com/DavidCozens/solid-syslog/commit/7b5bd0136ec4cff5da879f4745a32b7f8e537c56)) +* S07.04 escape RFC 5424 PARAM-VALUE specials ([#202](https://github.com/DavidCozens/solid-syslog/issues/202)) ([fde02aa](https://github.com/DavidCozens/solid-syslog/commit/fde02aad34af42aec54a36fd1c8e39069536032a)) +* S07.07 sequenceId rollover and zero-avoidance per RFC 5424 §7.3.1 ([#207](https://github.com/DavidCozens/solid-syslog/issues/207)) ([ba184b6](https://github.com/DavidCozens/solid-syslog/commit/ba184b63659c600839c9c03099dd0761fe87fb02)) +* S08.01 FreeRTOS hello-world bring-up — QEMU mps2-an385 + GDB attach ([#273](https://github.com/DavidCozens/solid-syslog/issues/273)) ([3fdff50](https://github.com/DavidCozens/solid-syslog/commit/3fdff504fbf86c0a5f109ebba006a7613f7461bb)), closes [#266](https://github.com/DavidCozens/solid-syslog/issues/266) +* S08.02 QEMU -icount determinism mode and analyze-iwyu required check ([#287](https://github.com/DavidCozens/solid-syslog/issues/287)) ([c51f095](https://github.com/DavidCozens/solid-syslog/commit/c51f095b2d09af08838973666868ef4f303d3011)), closes [#267](https://github.com/DavidCozens/solid-syslog/issues/267) +* S08.03 slice 1 SolidSyslogFreeRtosDatagram adapter (host-TDD) ([#289](https://github.com/DavidCozens/solid-syslog/issues/289)) ([04559e9](https://github.com/DavidCozens/solid-syslog/commit/04559e9c1f59cab5f6ab63fe7fb4e9ca6e76b716)) +* S08.03 slice 10 honest hostname (RFC 5424 §6.2.4 IP fallback) + NILVALUE PROCID ([#316](https://github.com/DavidCozens/solid-syslog/issues/316)) ([c9dcf02](https://github.com/DavidCozens/solid-syslog/commit/c9dcf0233f358ae08d496bef6340d09805421c03)) +* S08.03 slice 2 CMSDK UART + newlib retargeting ([#291](https://github.com/DavidCozens/solid-syslog/issues/291)) ([eb494c4](https://github.com/DavidCozens/solid-syslog/commit/eb494c4c27437e9a4152c3d0cece24e2d988a0aa)) +* S08.03 slice 3a FreeRTOS static address resolver ([#293](https://github.com/DavidCozens/solid-syslog/issues/293)) ([637bb2e](https://github.com/DavidCozens/solid-syslog/commit/637bb2e5e8b7f08d8c26baf217364ad64d976a0c)) +* S08.03 slice 3b.1 FreeRTOS-Plus-TCP bring-up + UDP smoke ([#297](https://github.com/DavidCozens/solid-syslog/issues/297)) ([05cc73a](https://github.com/DavidCozens/solid-syslog/commit/05cc73a2620a29bb9f6d5e40bde0c854e48ae773)) +* S08.03 slice 3b.1.5 FreeRtosDatagram ARP priming on cache miss ([#300](https://github.com/DavidCozens/solid-syslog/issues/300)) ([463a49d](https://github.com/DavidCozens/solid-syslog/commit/463a49d883bbea0f816610fe57029b77e05388bc)) +* S08.03 slice 3b.2 SingleTask example with SolidSyslogUdpSender + interactive command channel ([#301](https://github.com/DavidCozens/solid-syslog/issues/301)) ([5b0269a](https://github.com/DavidCozens/solid-syslog/commit/5b0269a6c9389cefe509c24fd0c7b143d94c9b28)) +* S08.03 slice 4 `set` command for in-RAM configuration injection ([#303](https://github.com/DavidCozens/solid-syslog/issues/303)) ([d7d9639](https://github.com/DavidCozens/solid-syslog/commit/d7d9639f1603b3dd1898050cf8019e07ac7df99a)) +* S08.03 slice 5 BDD harness pointed at FreeRTOS-on-QEMU target ([#305](https://github.com/DavidCozens/solid-syslog/issues/305)) ([1f2833e](https://github.com/DavidCozens/solid-syslog/commit/1f2833eb7e2edd7acb2225a468ea005e4ebaed7a)) +* S08.03 slice 6 cmdline -> set translation in target_driver (untag prival, message_fields, udp_mtu Full delivery) ([#307](https://github.com/DavidCozens/solid-syslog/issues/307)) ([1fc7eea](https://github.com/DavidCozens/solid-syslog/commit/1fc7eeaa65be8409622543db0bf119fd998be017)) +* S08.03 slice 7 wire Origin SD into FreeRTOS example ([#309](https://github.com/DavidCozens/solid-syslog/issues/309)) ([11d4185](https://github.com/DavidCozens/solid-syslog/commit/11d41857ad2fc13ce027c01dd997b8cf8d2c277b)) +* S08.03 slice 8 wire meta SD + FreeRtosSysUpTime adapter into FreeRTOS example ([#311](https://github.com/DavidCozens/solid-syslog/issues/311)) ([fabacab](https://github.com/DavidCozens/solid-syslog/commit/fabacabf40f1e3c3101b9ba8f441d4fafbd45275)) +* S08.03 slice 9 timeQuality SD + no-RTC FreeRTOS example ([#313](https://github.com/DavidCozens/solid-syslog/issues/313)) ([186c129](https://github.com/DavidCozens/solid-syslog/commit/186c129e7be16b1a193c173c13f869ecd79ccff1)) +* S08.04 SolidSyslogFreeRtosMutex + buffered FreeRTOS example ([#330](https://github.com/DavidCozens/solid-syslog/issues/330)) ([be41cca](https://github.com/DavidCozens/solid-syslog/commit/be41cca97b6898f13362d8468f3d7ef05b4cf8c9)) +* S08.05 store-and-forward on FatFs ([#352](https://github.com/DavidCozens/solid-syslog/issues/352)) ([65ac026](https://github.com/DavidCozens/solid-syslog/commit/65ac026a5d2f7eebe7d83ce0468a0f30b86a7974)) +* S08.07 FreeRTOS BDD target — TLS via mbedTLS ([#421](https://github.com/DavidCozens/solid-syslog/issues/421)) ([a52183a](https://github.com/DavidCozens/solid-syslog/commit/a52183ab41c255ae7e28df106a712f86783f72bd)) +* S08.07 mbedTLS reference integration (host-side adapter + integration tests) ([#419](https://github.com/DavidCozens/solid-syslog/issues/419)) ([04fc5cd](https://github.com/DavidCozens/solid-syslog/commit/04fc5cd8e426c119a0c623a32d2dcf59868cc1bd)) +* S08.08 SolidSyslogFreeRtosResolver — DNS via FreeRTOS_getaddrinfo ([#427](https://github.com/DavidCozens/solid-syslog/issues/427)) ([2952760](https://github.com/DavidCozens/solid-syslog/commit/29527600864950bcf752fb6626ecbe568ff9aa0e)) +* S08.09 SolidSyslogFreeRtosTcpStream + tcp_transport BDD on QEMU ([#341](https://github.com/DavidCozens/solid-syslog/issues/341)) ([010f491](https://github.com/DavidCozens/solid-syslog/commit/010f491728c3501ca9fa5a14e67b47ffe44b9b34)) +* S08.10 tcp_reconnect BDD scenario green on FreeRTOS QEMU ([#342](https://github.com/DavidCozens/solid-syslog/issues/342)) ([51ce394](https://github.com/DavidCozens/solid-syslog/commit/51ce394e2c16892d4be69f705a69d44fb4d6f4d1)) +* S08.11 switching_transport BDD scenario (UDP↔TCP) on QEMU ([#344](https://github.com/DavidCozens/solid-syslog/issues/344)) ([257064e](https://github.com/DavidCozens/solid-syslog/commit/257064e2f0534882b9a77823db83d534ed44b439)) +* S1.1 walking skeleton — RFC 5424 message validated field by field ([#30](https://github.com/DavidCozens/solid-syslog/issues/30)) ([3f0b318](https://github.com/DavidCozens/solid-syslog/commit/3f0b3182aac011457f22930c679f76d6ca11188d)) +* S1.2 PRIVAL encoding — facility and severity on the Log call ([#42](https://github.com/DavidCozens/solid-syslog/issues/42)) ([4fa7247](https://github.com/DavidCozens/solid-syslog/commit/4fa7247c2c7b4945a491a1d0f4dac38b28edcc64)) +* S1.3 Timestamp — raise-time capture via injected clock ([#44](https://github.com/DavidCozens/solid-syslog/issues/44)) ([d776503](https://github.com/DavidCozens/solid-syslog/commit/d7765031aadf036cd8317393db5c7d91fd4dae8b)) +* S1.4 Hostname, AppName, ProcId — injected via config function pointers ([#45](https://github.com/DavidCozens/solid-syslog/issues/45)) ([1f79a23](https://github.com/DavidCozens/solid-syslog/commit/1f79a23a70339302ed7aa82324d590e41b33b7a6)) +* S1.5 MessageId and Message — fields on SolidSyslogMessage ([#47](https://github.com/DavidCozens/solid-syslog/issues/47)) ([0d556ef](https://github.com/DavidCozens/solid-syslog/commit/0d556ef0b03d90589780e046767e52eaee2d85e3)) +* S10.02 tier-model .clang-tidy files in warning mode ([#360](https://github.com/DavidCozens/solid-syslog/issues/360)) ([628a09f](https://github.com/DavidCozens/solid-syslog/commit/628a09f275093f9840f64328d9a2cd054b45b30f)), closes [#359](https://github.com/DavidCozens/solid-syslog/issues/359) +* S10.03 wire cppcheck-misra addon into CI (warning mode) ([#362](https://github.com/DavidCozens/solid-syslog/issues/362)) ([385e936](https://github.com/DavidCozens/solid-syslog/commit/385e9364fbbc184719fc4e4e352e7ba5421aa129)), closes [#361](https://github.com/DavidCozens/solid-syslog/issues/361) +* S10.04 .clang-format review + tree-wide reformat (MISRA + Clean Code + 120-col) ([#364](https://github.com/DavidCozens/solid-syslog/issues/364)) ([51196e2](https://github.com/DavidCozens/solid-syslog/commit/51196e2eb150739869091847d748621330a5d898)) +* S10.09 data-member lowerCamelCase → PascalCase (Tier 4 sweep) ([#374](https://github.com/DavidCozens/solid-syslog/issues/374)) ([f96064d](https://github.com/DavidCozens/solid-syslog/commit/f96064d1ebc7a2095a814ca6b7644c0ee7073da0)) +* S11.01 add SolidSyslog_SetConfigLock injection point ([#393](https://github.com/DavidCozens/solid-syslog/issues/393)) ([168632b](https://github.com/DavidCozens/solid-syslog/commit/168632b9cf5ba645950e0caf3e4de934eb2d2de8)) +* S11.01 CircularBuffer pool migration (E11 pilot) ([#394](https://github.com/DavidCozens/solid-syslog/issues/394)) ([29c6cd1](https://github.com/DavidCozens/solid-syslog/commit/29c6cd1444e443475696a47f9b22be9c9a0e682b)) +* S11.02 extract PoolAllocator helper and migrate CircularBuffer ([#396](https://github.com/DavidCozens/solid-syslog/issues/396)) ([4829dfc](https://github.com/DavidCozens/solid-syslog/commit/4829dfcd5365402590ec954249ac2867e09cbe00)) +* S11.04 Core singleton stateful classes onto PoolAllocator ([#400](https://github.com/DavidCozens/solid-syslog/issues/400)) ([21f4272](https://github.com/DavidCozens/solid-syslog/commit/21f427297b85450927edfd10330f8ad82e19d351)) +* S11.05 BlockStore composition migration (part B) ([#403](https://github.com/DavidCozens/solid-syslog/issues/403)) ([1a79af9](https://github.com/DavidCozens/solid-syslog/commit/1a79af9a31f4c653160444592242e1d3e0fbabd9)) +* S11.05 part A — public storage-cast classes onto PoolAllocator + shared null objects ([#402](https://github.com/DavidCozens/solid-syslog/issues/402)) ([9e1294c](https://github.com/DavidCozens/solid-syslog/commit/9e1294c746ed394dff35b5eb41033c449a8b16df)) +* S11.06 POSIX adapters onto PoolAllocator ([#407](https://github.com/DavidCozens/solid-syslog/issues/407)) ([f9bb025](https://github.com/DavidCozens/solid-syslog/commit/f9bb02532e88c612298585446b6d2e8e8dc1910c)) +* S11.07 Windows adapters onto PoolAllocator ([#408](https://github.com/DavidCozens/solid-syslog/issues/408)) ([a54d8a9](https://github.com/DavidCozens/solid-syslog/commit/a54d8a997ed6d705a79bdf54198fb95bedb046b9)) +* S11.08 FreeRTOS adapters onto PoolAllocator ([#411](https://github.com/DavidCozens/solid-syslog/issues/411)) ([986f325](https://github.com/DavidCozens/solid-syslog/commit/986f3255644f19e41f38afd695b4edf7c9b39f9c)) +* S11.09 AtomicCounter family + TLS + FatFs onto PoolAllocator ([#415](https://github.com/DavidCozens/solid-syslog/issues/415)) ([e4531e2](https://github.com/DavidCozens/solid-syslog/commit/e4531e275293418373e7216f39e91cf27c078c08)) +* S11.10 SolidSyslog core onto PoolAllocator (handle API) ([#416](https://github.com/DavidCozens/solid-syslog/issues/416)) ([49a2e3c](https://github.com/DavidCozens/solid-syslog/commit/49a2e3cb216399e026cb7fb5d22c8af8340ee1c4)) +* S12.04 nil-object defaults for SolidSyslog singleton (exemplar pattern) ([#327](https://github.com/DavidCozens/solid-syslog/issues/327)) ([fb2edfe](https://github.com/DavidCozens/solid-syslog/commit/fb2edfeb2ac5e31afdae5d6079b4c468d13aee59)) +* S12.05 UdpSender NULL guards via nil-object + ERR reporting ([#356](https://github.com/DavidCozens/solid-syslog/issues/356)) ([9f4e0a3](https://github.com/DavidCozens/solid-syslog/commit/9f4e0a3a31601c8f5c1cec3afbd758302abe2ae7)) +* S12.06 MetaSd NULL guards via nil-object + WARNING reporting ([#355](https://github.com/DavidCozens/solid-syslog/issues/355)) ([7dfa6b9](https://github.com/DavidCozens/solid-syslog/commit/7dfa6b90622ea718f6daba5d558b48b01cf9fda6)), closes [#117](https://github.com/DavidCozens/solid-syslog/issues/117) +* S12.07 PosixMessageQueueBuffer error path completeness ([#443](https://github.com/DavidCozens/solid-syslog/issues/443)) ([a0edced](https://github.com/DavidCozens/solid-syslog/commit/a0edced6f29a30c2f3280b8d81c5b8dddcfe0e7e)) +* S12.08 TcpSender error guards (socket, partial write, SO_SNDTIMEO) ([#209](https://github.com/DavidCozens/solid-syslog/issues/209)) ([8607ca4](https://github.com/DavidCozens/solid-syslog/commit/8607ca487cea6524b1685b5ee707527b3484564d)) +* S12.09 PRINTUSASCII validation for RFC 5424 header fields ([#203](https://github.com/DavidCozens/solid-syslog/issues/203)) ([19de38e](https://github.com/DavidCozens/solid-syslog/commit/19de38e3efb4a0cd35b5db1d1708b5fb0ed4e26e)) +* S12.10 UTF-8 safety across the formatter API ([#205](https://github.com/DavidCozens/solid-syslog/issues/205)) ([d205055](https://github.com/DavidCozens/solid-syslog/commit/d205055a11f94904e078b8cd0374bfe94e1e57cc)) +* S12.11 honest error reporting for Resolver and Datagram vtables ([#144](https://github.com/DavidCozens/solid-syslog/issues/144)) ([0f027e8](https://github.com/DavidCozens/solid-syslog/commit/0f027e805d9051671fecd1427ef47ff4b06bd456)) +* S12.12 UDP datagram path-MTU clipping with UTF-8-safe truncation ([#218](https://github.com/DavidCozens/solid-syslog/issues/218)) ([c1b2d7e](https://github.com/DavidCozens/solid-syslog/commit/c1b2d7ecab66882b1678001b7e434139aa7456bc)) +* S12.13 emit RFC 5424 §6.4 UTF-8 BOM at start of MSG ([#220](https://github.com/DavidCozens/solid-syslog/issues/220)) ([4d01029](https://github.com/DavidCozens/solid-syslog/commit/4d010294ed1902a716c4f1eb1cb74bf5eec2c45f)) +* S12.14 decouple buffer drain from sender state — fail-fast streams + eager Service drain ([#283](https://github.com/DavidCozens/solid-syslog/issues/283)) ([89fd6ce](https://github.com/DavidCozens/solid-syslog/commit/89fd6ceb132a43ba0a786a46fdaa5135389b07bd)) +* S12.15 example service thread yields 1 ms per tick ([#285](https://github.com/DavidCozens/solid-syslog/issues/285)) ([cdfa66e](https://github.com/DavidCozens/solid-syslog/commit/cdfa66e576a5771891a7db51a7523328e0331682)) +* S12.16 TCP keepalive + TCP_USER_TIMEOUT for dead-peer detection ([#286](https://github.com/DavidCozens/solid-syslog/issues/286)) ([b052c0e](https://github.com/DavidCozens/solid-syslog/commit/b052c0ea54f0da75d4c7d0d1f63dcf97bdd7545f)) +* S12.17 tunable + runtime-overridable TCP connect and TLS handshake timeouts ([#447](https://github.com/DavidCozens/solid-syslog/issues/447)) ([e4ce4d0](https://github.com/DavidCozens/solid-syslog/commit/e4ce4d0ff3ec7dfc99f20d46c505b55397d66f7a)) +* S12.18 library-wide error reporting API + example handlers ([#319](https://github.com/DavidCozens/solid-syslog/issues/319)) ([0da65dc](https://github.com/DavidCozens/solid-syslog/commit/0da65dc81770389d31cca0b726312d05337d7991)), closes [#317](https://github.com/DavidCozens/solid-syslog/issues/317) +* S12.24 report inconsistent SD config (NULL array with non-zero count) ([#505](https://github.com/DavidCozens/solid-syslog/issues/505)) ([0defd43](https://github.com/DavidCozens/solid-syslog/commit/0defd439f13d87f03bd025baa614378cfe2f6a7f)), closes [#503](https://github.com/DavidCozens/solid-syslog/issues/503) +* S12.25 portable category axis + event-struct error boundary ([#513](https://github.com/DavidCozens/solid-syslog/issues/513)) ([9a03f20](https://github.com/DavidCozens/solid-syslog/commit/9a03f208bcafd5cc251a25603a182d18158ecdb4)) +* S12.26 error text decoupling — codes-only library ([#514](https://github.com/DavidCozens/solid-syslog/issues/514)) ([d679b37](https://github.com/DavidCozens/solid-syslog/commit/d679b37402d1a14a65e197f2c0fec8ee3e115774)) +* S12.3 buffer overflow protection at FormatCharacter ([#114](https://github.com/DavidCozens/solid-syslog/issues/114)) ([232dd03](https://github.com/DavidCozens/solid-syslog/commit/232dd03948b3b57d45edbe6e35770f0bd0bcd513)) +* S13.09 SolidSyslogWinsockTcpStream — Windows TCP transport ([#213](https://github.com/DavidCozens/solid-syslog/issues/213)) ([f4120ca](https://github.com/DavidCozens/solid-syslog/commit/f4120cac4ecdfea17a7e86f0d9a54056a53f3eaa)) +* S13.10 SingleTask TCP delivery validated on both BDD runners ([#224](https://github.com/DavidCozens/solid-syslog/issues/224)) ([caef7db](https://github.com/DavidCozens/solid-syslog/commit/caef7dbfbb9ddbe9c2e1ff8919b0ceb988358c27)) +* S13.13-15 Windows clock, hostname, and process-id helpers ([#150](https://github.com/DavidCozens/solid-syslog/issues/150)) ([7db9d7c](https://github.com/DavidCozens/solid-syslog/commit/7db9d7c1546f6446512c6f5d63c695d6e1d78b2e)) +* S13.16 SolidSyslogWindowsFile — file abstraction using <io.h> ([#215](https://github.com/DavidCozens/solid-syslog/issues/215)) ([3116fd6](https://github.com/DavidCozens/solid-syslog/commit/3116fd6d1fafb1fc4dccd7f5d3f805dd94a55d0b)) +* S13.17 embed UTF-8 activeCodePage manifest in Windows example ([#223](https://github.com/DavidCozens/solid-syslog/issues/223)) ([d6a4e05](https://github.com/DavidCozens/solid-syslog/commit/d6a4e051af8ff3e12c5490ae8185e03da18019e3)), closes [#221](https://github.com/DavidCozens/solid-syslog/issues/221) +* S13.18 Windows BDD on the portable ring buffer ([#264](https://github.com/DavidCozens/solid-syslog/issues/264)) ([27f29d8](https://github.com/DavidCozens/solid-syslog/commit/27f29d8d0215d6980fefe71bb06a8699c40c2892)) +* S13.19 — Windows TLS via vcpkg OpenSSL (3-slice bundle) ([#265](https://github.com/DavidCozens/solid-syslog/issues/265)) ([9c70c84](https://github.com/DavidCozens/solid-syslog/commit/9c70c840b0a5ed1d844ff7b27d6a2f88fb341169)) +* S13.20 Windows BlockStore wiring for store-and-forward parity ([#275](https://github.com/DavidCozens/solid-syslog/issues/275)) ([86ab301](https://github.com/DavidCozens/solid-syslog/commit/86ab3016190641184854bea4a70b9f4dc3884932)) +* S13.21 re-enable [@windows](https://github.com/windows)_wip store_capacity scenarios ([#284](https://github.com/DavidCozens/solid-syslog/issues/284)) ([7a2ccfa](https://github.com/DavidCozens/solid-syslog/commit/7a2ccfa31ac2fa25b58e383f3881837d9b7c4c96)) +* S13.4 Winsock UDP transport (resolver + datagram) ([#149](https://github.com/DavidCozens/solid-syslog/issues/149)) ([7ab5939](https://github.com/DavidCozens/solid-syslog/commit/7ab59395fa9a122f5383ada5bc22a8b98d8d2f64)) +* S13.5 promote prival and message_fields to Windows runner ([#158](https://github.com/DavidCozens/solid-syslog/issues/158)) ([4a3e6a3](https://github.com/DavidCozens/solid-syslog/commit/4a3e6a3359da99a563732cce9162756e7449e054)) +* S13.5 promote structured_data, origin and time_quality to Windows runner ([#159](https://github.com/DavidCozens/solid-syslog/issues/159)) ([52611d3](https://github.com/DavidCozens/solid-syslog/commit/52611d3a345a49491c3203b07ba05930afc708d7)) +* S13.5 promote timestamp and header_fields to Windows runner ([#157](https://github.com/DavidCozens/solid-syslog/issues/157)) ([2be0958](https://github.com/DavidCozens/solid-syslog/commit/2be0958810b6d1ffb8761b93baf9336f2136d61c)) +* S13.5 tag BDD features by capability for cross-platform runners ([#152](https://github.com/DavidCozens/solid-syslog/issues/152)) ([a248920](https://github.com/DavidCozens/solid-syslog/commit/a248920c74ef7bbf231624c6eabce03c7891bf38)), closes [#129](https://github.com/DavidCozens/solid-syslog/issues/129) +* S13.5 walking-skeleton scenario green on Windows via OTel oracle ([#154](https://github.com/DavidCozens/solid-syslog/issues/154)) ([db5bc82](https://github.com/DavidCozens/solid-syslog/commit/db5bc82c264b2ad5d156948b726203739f8fa7af)) +* S13.5 Windows example executable ([#153](https://github.com/DavidCozens/solid-syslog/issues/153)) ([adfda3c](https://github.com/DavidCozens/solid-syslog/commit/adfda3c787791b3dd3db5d8f447781b4064068c1)) +* S15.1 TCP sender with RFC 6587 octet-counting framing ([#91](https://github.com/DavidCozens/solid-syslog/issues/91)) ([1d77d3d](https://github.com/DavidCozens/solid-syslog/commit/1d77d3d4740b0695c250f93ffac0846cf8457cc5)) +* S15.2 Connection failure detection and reconnection ([#93](https://github.com/DavidCozens/solid-syslog/issues/93)) ([07768dd](https://github.com/DavidCozens/solid-syslog/commit/07768dda4880582510f94268d65ec459dd6e1175)) +* S17.01 OpenSSL HMAC-SHA256 at-rest SecurityPolicy (Linux + Windows) ([#499](https://github.com/DavidCozens/solid-syslog/issues/499)) ([08d347b](https://github.com/DavidCozens/solid-syslog/commit/08d347b8b22b407b03530ff748b66268d2209ccf)) +* S17.02 mbedTLS HMAC-SHA256 at-rest SecurityPolicy ([#497](https://github.com/DavidCozens/solid-syslog/issues/497)) ([b1c7022](https://github.com/DavidCozens/solid-syslog/commit/b1c7022599958155269931cb4c4d1f5380e56a92)) +* S17.03 cryptographic confidentiality for at-rest records — AES-256-GCM (OpenSSL, Linux) ([#509](https://github.com/DavidCozens/solid-syslog/issues/509)) ([5256608](https://github.com/DavidCozens/solid-syslog/commit/5256608c9a682e342500160aa0f58ea66c91278f)) +* S17.04 cryptographic confidentiality for at-rest records — AES-256-GCM (mbedTLS, FreeRTOS) ([#511](https://github.com/DavidCozens/solid-syslog/issues/511)) ([c48a27f](https://github.com/DavidCozens/solid-syslog/commit/c48a27fdf692511559e8eccfe8410ee13c8968d4)) +* S19.01 SBOM CycloneDX template + on-demand generation workflow ([#195](https://github.com/DavidCozens/solid-syslog/issues/195)) ([5a1f1e6](https://github.com/DavidCozens/solid-syslog/commit/5a1f1e6e0086c03f6d7f4ef38b007a8c65ad8781)) +* S19.02 SBOM signing and release-asset attachment ([#197](https://github.com/DavidCozens/solid-syslog/issues/197)) ([1725eee](https://github.com/DavidCozens/solid-syslog/commit/1725eee430a8f75be5f649caf1095693c189fb7a)), closes [#196](https://github.com/DavidCozens/solid-syslog/issues/196) +* S2.1 walking skeleton — SolidSyslogUdpSender transmits a buffer ([#32](https://github.com/DavidCozens/solid-syslog/issues/32)) ([ebc2137](https://github.com/DavidCozens/solid-syslog/commit/ebc213729e0faeeb167f4968efb1401602abef9d)) +* S2.2 inject host and port into UdpSender via config function pointers ([#35](https://github.com/DavidCozens/solid-syslog/issues/35)) ([fd508ad](https://github.com/DavidCozens/solid-syslog/commit/fd508ad4d98e2c8ad97f916ba4157e4a4c4d53f8)) +* S2.3 CMake platform detection for PosixUdpSender ([#39](https://github.com/DavidCozens/solid-syslog/issues/39)) ([7c05c48](https://github.com/DavidCozens/solid-syslog/commit/7c05c487dd1aa7fe960df02828750adbd6d5f78c)) +* S2.4 BDD walking skeleton — Behave validates syslog-ng output ([#38](https://github.com/DavidCozens/solid-syslog/issues/38)) ([df1fb56](https://github.com/DavidCozens/solid-syslog/commit/df1fb56fd09f8d2c133b426fe342d395aa3171bd)) +* S20.1 SwitchingSender — selector-driven multi-transport switching ([#163](https://github.com/DavidCozens/solid-syslog/issues/163)) ([483c8fe](https://github.com/DavidCozens/solid-syslog/commit/483c8feedcd0ced50955a052af756113c93eb706)) +* S21.01 build-time tunables mechanism via SOLIDSYSLOG_MAX_MESSAGE_SIZE ([#348](https://github.com/DavidCozens/solid-syslog/issues/348)) ([8eb9dbe](https://github.com/DavidCozens/solid-syslog/commit/8eb9dbe977a630e21d0de7123facdcfaf0a8ecbc)) +* S21.02 tune freertos-cross MAX_MESSAGE_SIZE to 512 + tunable-driven BDD gating ([#350](https://github.com/DavidCozens/solid-syslog/issues/350)) ([34f30ce](https://github.com/DavidCozens/solid-syslog/commit/34f30ce6720445c926fdf0ced5550f4759181165)) +* S21.03 lift path and integrity caps to build-time tunables ([#448](https://github.com/DavidCozens/solid-syslog/issues/448)) ([5e1e2db](https://github.com/DavidCozens/solid-syslog/commit/5e1e2dbddeb0d25b2ed741ab210b1e2a5e837d48)) +* S24.01 IWYU CI gate for include hygiene ([#260](https://github.com/DavidCozens/solid-syslog/issues/260)) ([3b64613](https://github.com/DavidCozens/solid-syslog/commit/3b646138ad76cdfc3de6a8f2224ebd26a572a2b2)) +* S24.03 drop AtomicOps vtable; select atomics at link time ([#326](https://github.com/DavidCozens/solid-syslog/issues/326)) ([16fa5bb](https://github.com/DavidCozens/solid-syslog/commit/16fa5bb06eba4cebda9dd9b330664fde7f6737af)) +* S24.07 SolidSyslogAddress as pool-allocated handle ([#422](https://github.com/DavidCozens/solid-syslog/issues/422)) ([6e82890](https://github.com/DavidCozens/solid-syslog/commit/6e828906afe8d2d76ba65ea658083cf5bc67ef15)) +* S24.09 StreamSender bad-setup contract — reject NULL Resolver/Stream/Address ([#455](https://github.com/DavidCozens/solid-syslog/issues/455)) ([25bdfe7](https://github.com/DavidCozens/solid-syslog/commit/25bdfe7e3052398ecec68507dcaea804c01b4d5a)) +* S26.04 mbedTLS client-side TLS session resumption ([#489](https://github.com/DavidCozens/solid-syslog/issues/489)) ([d37ef31](https://github.com/DavidCozens/solid-syslog/commit/d37ef315f54d7b6d1398ea4f3b72635b34eeea68)) +* S28.01 pin lwIP and add SOLIDSYSLOG_FREERTOS_NET CMake option ([#453](https://github.com/DavidCozens/solid-syslog/issues/453)) ([4b3a361](https://github.com/DavidCozens/solid-syslog/commit/4b3a3619ffbd05550f8d016ee45eab41cace7818)), closes [#451](https://github.com/DavidCozens/solid-syslog/issues/451) +* S28.03 SolidSyslogLwipRawAddress + SolidSyslogLwipRawResolver (literal IPv4, no DNS) ([#458](https://github.com/DavidCozens/solid-syslog/issues/458)) ([3a7b0a5](https://github.com/DavidCozens/solid-syslog/commit/3a7b0a5815e7d1ccf7d8ec62434ca42cf9e6867e)) +* S28.04 SolidSyslogLwipRawDatagram ([#464](https://github.com/DavidCozens/solid-syslog/issues/464)) ([77dfc03](https://github.com/DavidCozens/solid-syslog/commit/77dfc03bb4933bf63be06edd4d8c2fceb517bce7)) +* S28.06 SolidSyslogLwipRaw_SetMarshal — marshal injection for NO_SYS=0 ([#470](https://github.com/DavidCozens/solid-syslog/issues/470)) ([307dcb5](https://github.com/DavidCozens/solid-syslog/commit/307dcb5114826d95d5db3477192f814ed7d35b20)) +* S28.08 FreeRtosLwip DNS resolver (SolidSyslogLwipRawDnsResolver) + BDD by-name ([#486](https://github.com/DavidCozens/solid-syslog/issues/486)) ([52fc1c9](https://github.com/DavidCozens/solid-syslog/commit/52fc1c9d3c03d577f898866af89c34ab8ba9fa6e)) +* S28.09 FreeRtosLwip LAN9118 netif + NO_SYS=0 UDP on QEMU ([#476](https://github.com/DavidCozens/solid-syslog/issues/476)) ([37d3e04](https://github.com/DavidCozens/solid-syslog/commit/37d3e049892a9d578971141d986e008946a06caa)) +* S28.10 FreeRtosLwip TCP (octet-framed StreamSender over LwipRawTcpStream) ([#480](https://github.com/DavidCozens/solid-syslog/issues/480)) ([ba7f9b1](https://github.com/DavidCozens/solid-syslog/commit/ba7f9b1f8a10def231922e4305d81f9664cb0471)) +* S28.11 FreeRtosLwip TLS/mTLS (mbedTLS over LwipRawTcpStream) ([#481](https://github.com/DavidCozens/solid-syslog/issues/481)) ([cec1f77](https://github.com/DavidCozens/solid-syslog/commit/cec1f77a8fc88f3a76b945d903bc84ce2fe27a4c)) +* S29.01 FatFs store on the lwIP BDD target + 8 MiB FAT16 shared geometry ([#516](https://github.com/DavidCozens/solid-syslog/issues/516)) ([2c3fd3f](https://github.com/DavidCozens/solid-syslog/commit/2c3fd3fadd1f697cd1a49e2cd09e8309cd589bb2)) +* S29.04 Platform/PlusFat adapter pack + 100% host TDD ([#524](https://github.com/DavidCozens/solid-syslog/issues/524)) ([21e0a82](https://github.com/DavidCozens/solid-syslog/commit/21e0a8235d572e2de629ab4af2810e65b3f084c5)) +* S3.4 lazy initialisation and reconnection on UdpSender and TcpSender ([#161](https://github.com/DavidCozens/solid-syslog/issues/161)) ([8f04fb2](https://github.com/DavidCozens/solid-syslog/commit/8f04fb277b8b64be6052423f0ce408b3d19fa992)) +* S3.6 rename TcpSender to StreamSender ([#166](https://github.com/DavidCozens/solid-syslog/issues/166)) ([d1c04b3](https://github.com/DavidCozens/solid-syslog/commit/d1c04b3646379fe8ba3aad3b1360850c97a602b2)) +* S3.7 walking skeleton — SolidSyslogTlsStream (OpenSSL) + TLS BDD ([#170](https://github.com/DavidCozens/solid-syslog/issues/170)) ([e17694b](https://github.com/DavidCozens/solid-syslog/commit/e17694b500328963ffc2c2c47d3690698e8d3d32)) +* S4.1 buffer abstraction and NullBuffer ([#57](https://github.com/DavidCozens/solid-syslog/issues/57)) ([32237ce](https://github.com/DavidCozens/solid-syslog/commit/32237cee3ef4c1e84b65f2886076bb9724c0a88d)) +* S4.2 SolidSyslog_Service API and Buffer Read ([#58](https://github.com/DavidCozens/solid-syslog/issues/58)) ([5293a1d](https://github.com/DavidCozens/solid-syslog/commit/5293a1dcb5509caf0694ef7095fc93e097d9d867)) +* S4.3 PosixMqBuffer — POSIX message queue buffer ([#59](https://github.com/DavidCozens/solid-syslog/issues/59)) ([35228e5](https://github.com/DavidCozens/solid-syslog/commit/35228e5ba8ce5d817aad5798570251f77d62f07e)) +* S4.4 BDD — buffered message delivery through syslog-ng ([#62](https://github.com/DavidCozens/solid-syslog/issues/62)) ([7bb2254](https://github.com/DavidCozens/solid-syslog/commit/7bb22542e00839404b9d95319fbe821112d7c1bc)) +* S4.4 example restructure — shared code, threaded example, test harness ([#61](https://github.com/DavidCozens/solid-syslog/issues/61)) ([ed8b559](https://github.com/DavidCozens/solid-syslog/commit/ed8b559cfc954f47f268a55609d93524afdad8d9)) +* S5.2 Store abstraction, NullStore, and Service algorithm ([#84](https://github.com/DavidCozens/solid-syslog/issues/84)) ([621ada7](https://github.com/DavidCozens/solid-syslog/commit/621ada7b5d96ee068997e9573273973121df75a4)) +* S5.3 File-based store with sender outage BDD ([#98](https://github.com/DavidCozens/solid-syslog/issues/98)) ([51ac3e1](https://github.com/DavidCozens/solid-syslog/commit/51ac3e1c9cdaf53785302da63f8ad021092de5e2)) +* S5.4 Power cycle replay BDD scenario ([#100](https://github.com/DavidCozens/solid-syslog/issues/100)) ([072fc29](https://github.com/DavidCozens/solid-syslog/commit/072fc29aebe086122be88df73fe605bc3a814254)) +* S5.5 file rotation with discard policies ([#103](https://github.com/DavidCozens/solid-syslog/issues/103)) ([ecfce10](https://github.com/DavidCozens/solid-syslog/commit/ecfce10b99b39982162d08dfca3a67db25447472)) +* S5.6 file store corruption detection and recovery ([#106](https://github.com/DavidCozens/solid-syslog/issues/106)) ([5ea7e7a](https://github.com/DavidCozens/solid-syslog/commit/5ea7e7aa4ad4c6e6590c1020f676ef65b9da8c9f)) +* S5.7 halt callback on storage full ([#107](https://github.com/DavidCozens/solid-syslog/issues/107)) ([fc30831](https://github.com/DavidCozens/solid-syslog/commit/fc30831e3d462d6792069cc4b334aaf1dfa928ca)) +* S5.8 halt policy BDD scenarios and service halt state ([#109](https://github.com/DavidCozens/solid-syslog/issues/109)) ([019c3a1](https://github.com/DavidCozens/solid-syslog/commit/019c3a12e3ca5ddc18d7c2ac4d52dedcec11b1cf)) +* SolidSyslogBlockDevice abstraction with file-backed driver (S18.02) ([#243](https://github.com/DavidCozens/solid-syslog/issues/243)) ([33e90cc](https://github.com/DavidCozens/solid-syslog/commit/33e90cc9e405378d9335ee0706e83439638ffd11)) +* structured data with sequenceId (S7.1) ([#72](https://github.com/DavidCozens/solid-syslog/issues/72)) ([8b96405](https://github.com/DavidCozens/solid-syslog/commit/8b96405ccf0c6dc2936642b952ab22d26dbff547)), closes [#65](https://github.com/DavidCozens/solid-syslog/issues/65) + + +### Bug Fixes + +* correct clone init script and CI for private repos ([#13](https://github.com/DavidCozens/solid-syslog/issues/13)) ([389e043](https://github.com/DavidCozens/solid-syslog/commit/389e043a0570bc9b20c553907a1fceabdacefef3)) +* **filestore:** edge-trigger onStoreFull under HALT ([#242](https://github.com/DavidCozens/solid-syslog/issues/242)) ([e97da40](https://github.com/DavidCozens/solid-syslog/commit/e97da4097ed5988ddc830116df06438b772d8dc9)), closes [#241](https://github.com/DavidCozens/solid-syslog/issues/241) +* free SSL_CTX on TlsStream Close to stop reopen leak ([#491](https://github.com/DavidCozens/solid-syslog/issues/491)) ([e86e8ec](https://github.com/DavidCozens/solid-syslog/commit/e86e8ecbfe5c03a6487ed07a9b0bb0ed61e6e94b)) +* replace fixed-sleep mutex destroy with service-stop handshake (S24.15) ([#494](https://github.com/DavidCozens/solid-syslog/issues/494)) ([ca7d986](https://github.com/DavidCozens/solid-syslog/commit/ca7d986c4ebf590638eae35d150e1126d6703210)) +* S12.23 PassthroughBuffer error path completeness ([#445](https://github.com/DavidCozens/solid-syslog/issues/445)) ([b1b556b](https://github.com/DavidCozens/solid-syslog/commit/b1b556b234ce28a2313c5f8b7289b5fd1aed95aa)), closes [#444](https://github.com/DavidCozens/solid-syslog/issues/444) +* S19.02 pass --repo to gh release upload in SBOM publish job ([#198](https://github.com/DavidCozens/solid-syslog/issues/198)) ([e4efa9e](https://github.com/DavidCozens/solid-syslog/commit/e4efa9e935aaa031488c2b41874a1f4b755a970f)) +* S26.02 MbedTlsStream Open unwinds inner transport and SSL state on failure ([#440](https://github.com/DavidCozens/solid-syslog/issues/440)) ([fb56b54](https://github.com/DavidCozens/solid-syslog/commit/fb56b545fccf6224ca23027173def27c3e1d3cc3)) +* S26.03 TlsStream Open unwinds inner transport and SSL state on failure ([#442](https://github.com/DavidCozens/solid-syslog/issues/442)) ([358bd22](https://github.com/DavidCozens/solid-syslog/commit/358bd229caa4d140a8778dbd9c376642935731c1)) +* S5.5 FormatFilename buffer overflow on long pathPrefix ([#104](https://github.com/DavidCozens/solid-syslog/issues/104)) ([56a38e3](https://github.com/DavidCozens/solid-syslog/commit/56a38e38e549061ac0bdc4f03b1ed76a3dc4d822)) +* validate numeric CLI args for --max-files and --max-file-size ([#110](https://github.com/DavidCozens/solid-syslog/issues/110)) ([e3d7b90](https://github.com/DavidCozens/solid-syslog/commit/e3d7b90269fde0fa0837862a7bd5006b703b035c)) + + +### CI / Build + +* add analyze-iwyu required check, bump cpputest-clang image ([#261](https://github.com/DavidCozens/solid-syslog/issues/261)) ([832e67b](https://github.com/DavidCozens/solid-syslog/commit/832e67be5616f582d61044f6ae94c80cd39cd036)) +* add missing needs dependencies and resilient artifact downloads ([#71](https://github.com/DavidCozens/solid-syslog/issues/71)) ([37e8718](https://github.com/DavidCozens/solid-syslog/commit/37e87181e9fee3d779d983793509c8cf40caf2b2)) +* enable vcpkg binary caching for Windows build ([#138](https://github.com/DavidCozens/solid-syslog/issues/138)) ([8895485](https://github.com/DavidCozens/solid-syslog/commit/889548592d339ce003f4cb023dbed8a0f253fd4f)) +* harden BDD infrastructure robustness ([#94](https://github.com/DavidCozens/solid-syslog/issues/94)) ([51d4c96](https://github.com/DavidCozens/solid-syslog/commit/51d4c966e02fc9fb9f48c9d1510ca61abc1f4ea0)) +* harden build tooling and add Clang, release-please, CLAUDE.md ([a7e3815](https://github.com/DavidCozens/solid-syslog/commit/a7e38154142f8281ce5a1a7304caa105e94b541a)) +* lock down GitHub Actions token permissions to least privilege ([#8](https://github.com/DavidCozens/solid-syslog/issues/8)) ([a079ff6](https://github.com/DavidCozens/solid-syslog/commit/a079ff602911ee1c31ead9edd9ae5a8bcb3500a0)) +* make Windows vcpkg cache restore non-fatal ([#523](https://github.com/DavidCozens/solid-syslog/issues/523)) ([6ae08d9](https://github.com/DavidCozens/solid-syslog/commit/6ae08d944ccb02fa2ff5b5c314c308e883d69512)) +* pin all GitHub Actions to SHA digests ([b02ad19](https://github.com/DavidCozens/solid-syslog/commit/b02ad19431b852ff14bbb4b7acddcba31e123680)) +* pin upload/download-artifact to v5.0.0 SHAs ([#262](https://github.com/DavidCozens/solid-syslog/issues/262)) ([7bc93e0](https://github.com/DavidCozens/solid-syslog/commit/7bc93e09a8f299d2a255f390b385c602478a4b04)) +* promote BDD to required status check ([#46](https://github.com/DavidCozens/solid-syslog/issues/46)) ([f184804](https://github.com/DavidCozens/solid-syslog/commit/f184804fabbfd590121e086ba738d066dc69ed2c)) +* rename jobs to <category>-<platform>-<toolchain> scheme ([#212](https://github.com/DavidCozens/solid-syslog/issues/212)) ([e209898](https://github.com/DavidCozens/solid-syslog/commit/e209898b8c06ca46fd092b6cbae5e61082dc5974)) +* replace EnricoMi with dorny/test-reporter for per-test visibility ([#36](https://github.com/DavidCozens/solid-syslog/issues/36)) ([8033a08](https://github.com/DavidCozens/solid-syslog/commit/8033a08e2227a5669787421720a71fba143b2510)) +* S10.20 flip MISRA + naming gates to error mode and close E10 ([#438](https://github.com/DavidCozens/solid-syslog/issues/438)) ([e254400](https://github.com/DavidCozens/solid-syslog/commit/e2544000eac5cd74620b7ea1957439623767ba83)) +* S13.1 Windows MSVC CI build ([#124](https://github.com/DavidCozens/solid-syslog/issues/124)) ([c32aff2](https://github.com/DavidCozens/solid-syslog/commit/c32aff2ddda36e02adaadbdb96a537d28bd8e422)) +* S13.5 bdd-windows job running walking-skeleton on windows-2025 ([#156](https://github.com/DavidCozens/solid-syslog/issues/156)) ([59a8ba0](https://github.com/DavidCozens/solid-syslog/commit/59a8ba0d3af553ae58ee79d9d7616f741c6eb737)) +* S24.11 extend analyze-tidy + analyze-iwyu to platform code ([#460](https://github.com/DavidCozens/solid-syslog/issues/460)) ([dfb3cb2](https://github.com/DavidCozens/solid-syslog/commit/dfb3cb20ddae55a0502f29393bcf4e1f618d1480)) +* S24.13 switch IWYU lanes to advisory ([#469](https://github.com/DavidCozens/solid-syslog/issues/469)) ([cc710cb](https://github.com/DavidCozens/solid-syslog/commit/cc710cb2173c21b195f72d1458d67f1cb4e7f44c)), closes [#468](https://github.com/DavidCozens/solid-syslog/issues/468) +* S24.14 harden workflow supply chain + sweep all actions to Node 24 ([#485](https://github.com/DavidCozens/solid-syslog/issues/485)) ([aca4373](https://github.com/DavidCozens/solid-syslog/commit/aca4373424cbb780ad822ff6e26616cd986a0575)), closes [#477](https://github.com/DavidCozens/solid-syslog/issues/477) +* S28.07 FreeRtosLwip cross link-probe (SOLIDSYSLOG_FREERTOS_NET=LWIP) ([#475](https://github.com/DavidCozens/solid-syslog/issues/475)) ([49f496b](https://github.com/DavidCozens/solid-syslog/commit/49f496b9fef7308e8753558f4ea941be340fbc48)) +* show CppUTest summary in default VS Code build task ([#37](https://github.com/DavidCozens/solid-syslog/issues/37)) ([0e2ebe9](https://github.com/DavidCozens/solid-syslog/commit/0e2ebe9d6b079459a6f6c46107e9e884e0ff75fe)) +* surface FreeRTOS host TDD in Quality Summary ([#343](https://github.com/DavidCozens/solid-syslog/issues/343)) ([f08476a](https://github.com/DavidCozens/solid-syslog/commit/f08476ac930f07838b4ed83e0385184046d3f707)) +* unified quality dashboard with Quality Monitor ([#63](https://github.com/DavidCozens/solid-syslog/issues/63)) ([fb8c0a1](https://github.com/DavidCozens/solid-syslog/commit/fb8c0a1d71ca036c0ebd3cee0249e2a85c889bab)) + + +### Refactoring + +* align function ordering and test style with conventions ([#49](https://github.com/DavidCozens/solid-syslog/issues/49)) ([b11ea91](https://github.com/DavidCozens/solid-syslog/commit/b11ea9199fd6b7ca4476b54b7cc4e3c9ec000d69)) +* C99-portable static assert + compile-checked atomics gating (S24.16) ([#496](https://github.com/DavidCozens/solid-syslog/issues/496)) ([d465313](https://github.com/DavidCozens/solid-syslog/commit/d4653131b07b38596e66eb1ab6b8eded2ba39a32)) +* change SolidSyslogClockFunction to pointer parameter ([#74](https://github.com/DavidCozens/solid-syslog/issues/74)) ([f66bec3](https://github.com/DavidCozens/solid-syslog/commit/f66bec3620a17371723b5769ad61a61981cf2d3d)) +* expand abbreviated names and correct test double taxonomy ([#85](https://github.com/DavidCozens/solid-syslog/issues/85)) ([bfc243d](https://github.com/DavidCozens/solid-syslog/commit/bfc243d883423852dcbe973d9678e13623ff0a7c)) +* **filestore:** split into RecordStore + BlockSequence layers (S18.01) ([#239](https://github.com/DavidCozens/solid-syslog/issues/239)) ([488701a](https://github.com/DavidCozens/solid-syslog/commit/488701a5350cca59af8e2cd0218262058316e6b9)) +* hoist FreeRTOS example shared infra to Example/FreeRtos/Common/ ([#294](https://github.com/DavidCozens/solid-syslog/issues/294)) ([fbeba79](https://github.com/DavidCozens/solid-syslog/commit/fbeba799e6c35246abacd44157390e4b523ca0fb)) +* hoist SolidSyslogAddress.h to Core and add CMake layer guard ([#257](https://github.com/DavidCozens/solid-syslog/issues/257)) ([40beb46](https://github.com/DavidCozens/solid-syslog/commit/40beb466f2b52cadb2f423fc6b339986ee41bba4)) +* reorganise platform-specific code under Platform/<OS>/ ([#143](https://github.com/DavidCozens/solid-syslog/issues/143)) ([94252f0](https://github.com/DavidCozens/solid-syslog/commit/94252f06faebd3d5ef58fa92455a2041bd6349a3)) +* replace strncpy with SafeString abstraction for MSVC SDL compliance ([#131](https://github.com/DavidCozens/solid-syslog/issues/131)) ([24cbfd2](https://github.com/DavidCozens/solid-syslog/commit/24cbfd241d0cd37d6f26c143c18e15c27189585e)) +* S10.07 rename enum constants + tags to PascalCase per NAMING.md ([#370](https://github.com/DavidCozens/solid-syslog/issues/370)) ([72298b9](https://github.com/DavidCozens/solid-syslog/commit/72298b94bfa864a98637fd810d54e215fadba9a2)) +* S10.08 static-function Class_ prefix sweep (MISRA 5.9 + NAMING.md Tier 2) ([#372](https://github.com/DavidCozens/solid-syslog/issues/372)) ([004ee49](https://github.com/DavidCozens/solid-syslog/commit/004ee4973914f8dbcb59ed0ca4603d1eff07cffd)) +* S10.10 mechanical MISRA sweep (10 rules, ~130 sites) ([#376](https://github.com/DavidCozens/solid-syslog/issues/376)) ([4666343](https://github.com/DavidCozens/solid-syslog/commit/46663433b2af339eb28ace6fde93d648f17526fc)) +* S10.11 this-pointer convention (self/base) + SelfFromBase/SelfFromStorage helpers ([#378](https://github.com/DavidCozens/solid-syslog/issues/378)) ([5fb5205](https://github.com/DavidCozens/solid-syslog/commit/5fb520597edc95046fe587efd91388fde81cfee8)), closes [#377](https://github.com/DavidCozens/solid-syslog/issues/377) +* S10.12 pilot — Buffer group conformance + anonymous-enum policy ([#382](https://github.com/DavidCozens/solid-syslog/issues/382)) ([f91f20f](https://github.com/DavidCozens/solid-syslog/commit/f91f20f6f850515903f00f84b63c1296a1da5087)), closes [#381](https://github.com/DavidCozens/solid-syslog/issues/381) +* S10.13 Security policies + CRC + Sync primitives conformance ([#384](https://github.com/DavidCozens/solid-syslog/issues/384)) ([e5c4d8d](https://github.com/DavidCozens/solid-syslog/commit/e5c4d8d1a2c47e1b0d2416a02695564fd5d4eefe)) +* S10.14 Configuration types + Platform helpers conformance ([#386](https://github.com/DavidCozens/solid-syslog/issues/386)) ([1a4a8a1](https://github.com/DavidCozens/solid-syslog/commit/1a4a8a1c9b5dc86e0cd1399c4199ece2c616342c)) +* S10.15 Structured Data conformance ([#388](https://github.com/DavidCozens/solid-syslog/issues/388)) ([ebaf907](https://github.com/DavidCozens/solid-syslog/commit/ebaf907651891c033418bf4ed0cca331912c015d)) +* S10.16 Senders conformance ([#426](https://github.com/DavidCozens/solid-syslog/issues/426)) ([e742560](https://github.com/DavidCozens/solid-syslog/commit/e742560529e9110a8a13b1b3f483c89a3df567c9)) +* S10.17 Network primitives conformance ([#429](https://github.com/DavidCozens/solid-syslog/issues/429)) ([a062d39](https://github.com/DavidCozens/solid-syslog/commit/a062d393c978c296a6cfd80a463a81468a5c4893)) +* S10.18 Storage stack conformance ([#431](https://github.com/DavidCozens/solid-syslog/issues/431)) ([1d8d6a2](https://github.com/DavidCozens/solid-syslog/commit/1d8d6a21466a1a0cfb8e2afc991f1d16d9eb4d58)) +* S10.19 Engine + Formatter conformance ([#436](https://github.com/DavidCozens/solid-syslog/issues/436)) ([f77f322](https://github.com/DavidCozens/solid-syslog/commit/f77f322617a6c56c5868ad140592556d6b26d6bf)) +* S10.22 enum naming convention restoration (SCREAMING_SNAKE) ([#391](https://github.com/DavidCozens/solid-syslog/issues/391)) ([3f11833](https://github.com/DavidCozens/solid-syslog/commit/3f11833f1a94e74a635d36e387020759e12ab930)) +* S11.03 rename NullBuffer to PassthroughBuffer ([#398](https://github.com/DavidCozens/solid-syslog/issues/398)) ([7c6d4b3](https://github.com/DavidCozens/solid-syslog/commit/7c6d4b39c34adb4db265fbf3fcb0d27493348c72)) +* S12.2 extract Formatter — separate formatting from SolidSyslog lifecycle ([#113](https://github.com/DavidCozens/solid-syslog/issues/113)) ([fd6d88c](https://github.com/DavidCozens/solid-syslog/commit/fd6d88ccf6ce990d3e4c9b7f4cb4cbbea98298cc)) +* S12.20 extract SolidSyslogTimestampFormatter ([#500](https://github.com/DavidCozens/solid-syslog/issues/500)) ([aaf4f7c](https://github.com/DavidCozens/solid-syslog/commit/aaf4f7c61a0e5b95d30988886725f55dbc44e435)) +* S12.21 extract SolidSyslogMessageFormatter ([#502](https://github.com/DavidCozens/solid-syslog/issues/502)) ([0977e87](https://github.com/DavidCozens/solid-syslog/commit/0977e87d01082ebfc8ad0481e1a380dfa3fedcf9)) +* S12.22 per-source error dispatch ([#434](https://github.com/DavidCozens/solid-syslog/issues/434)) ([c121eee](https://github.com/DavidCozens/solid-syslog/commit/c121eee55882297b952c51f42e36fcc5279e2839)) +* S13.11 introduce opaque SolidSyslogAddress type ([#145](https://github.com/DavidCozens/solid-syslog/issues/145)) ([17b76a7](https://github.com/DavidCozens/solid-syslog/commit/17b76a7441a79fd2bce44345e604d4ee90969570)) +* S13.2 C99 portability — portable static assert and document MSVC suppressions ([#130](https://github.com/DavidCozens/solid-syslog/issues/130)) ([a28cf61](https://github.com/DavidCozens/solid-syslog/commit/a28cf615feed3e7250de584143373af5f3830ff9)), closes [#125](https://github.com/DavidCozens/solid-syslog/issues/125) +* S13.6 extract Resolver abstraction from UdpSender and TcpSender ([#137](https://github.com/DavidCozens/solid-syslog/issues/137)) ([8dd04f4](https://github.com/DavidCozens/solid-syslog/commit/8dd04f4ab2e08f78db94377a45fe030e23bb13fb)) +* S13.7 extract Datagram abstraction from UdpSender ([#139](https://github.com/DavidCozens/solid-syslog/issues/139)) ([5e8d93d](https://github.com/DavidCozens/solid-syslog/commit/5e8d93d1be093a5817572fb66b8474e9dfb23c8f)) +* S13.8 extract Stream abstraction from TcpSender ([#140](https://github.com/DavidCozens/solid-syslog/issues/140)) ([c65722b](https://github.com/DavidCozens/solid-syslog/commit/c65722be26f0ad763c71381603c7c7d13ec5cf55)) +* S19.02 swap source-tarball hash for content-tree hash ([#199](https://github.com/DavidCozens/solid-syslog/issues/199)) ([c4ac736](https://github.com/DavidCozens/solid-syslog/commit/c4ac736ab4adc90116f3dc9c27c2886e7f76fb6d)) +* S19.02 widen SBOM product scope to include build contract + licence ([#200](https://github.com/DavidCozens/solid-syslog/issues/200)) ([da6d1dd](https://github.com/DavidCozens/solid-syslog/commit/da6d1ddf9b1fe81ef831067a757841a6ccf2cf15)) +* S24.05 move BDD-target binaries from Example/ to Bdd/Targets/ ([#337](https://github.com/DavidCozens/solid-syslog/issues/337)) ([84302e0](https://github.com/DavidCozens/solid-syslog/commit/84302e07c9e241dc6918252666052adf1d41fd0e)) +* S24.08 enforce top-down function ordering across all .c files ([#425](https://github.com/DavidCozens/solid-syslog/issues/425)) ([ddbc81f](https://github.com/DavidCozens/solid-syslog/commit/ddbc81fb2625c7ba7026e3f8ddb31b6fa3110d02)) +* S24.10 rename file→block in BlockStore test names and comments ([#452](https://github.com/DavidCozens/solid-syslog/issues/452)) ([1658a89](https://github.com/DavidCozens/solid-syslog/commit/1658a89420cafbb0e54a08eada4f81b15d6be995)), closes [#449](https://github.com/DavidCozens/solid-syslog/issues/449) +* S24.17 collapse per-platform pool tunables to role-based ([#504](https://github.com/DavidCozens/solid-syslog/issues/504)) ([f791d04](https://github.com/DavidCozens/solid-syslog/commit/f791d04defa572bfa5c31834a3c730b23fc00934)), closes [#501](https://github.com/DavidCozens/solid-syslog/issues/501) +* S28.02 rename FreeRtos networking classes to PlusTcp* and move to Platform/PlusTcp/ ([#456](https://github.com/DavidCozens/solid-syslog/issues/456)) ([6584965](https://github.com/DavidCozens/solid-syslog/commit/65849657b4303f1ba2c1e19f399e93e4a0e86030)) +* S29.03 extract shared FreeRTOS BDD-target pipeline ([#521](https://github.com/DavidCozens/solid-syslog/issues/521)) ([d04ee3e](https://github.com/DavidCozens/solid-syslog/commit/d04ee3eb4c338284f76d0cd38f0593acf0323b05)) +* S5.1 Sender.Send returns bool for send success/failure ([#83](https://github.com/DavidCozens/solid-syslog/issues/83)) ([355d169](https://github.com/DavidCozens/solid-syslog/commit/355d1697b48fae0e56526f6fd30b9a7196b82c90)) +* single-instance SolidSyslog with Null Object pattern (S12.1) ([#78](https://github.com/DavidCozens/solid-syslog/issues/78)) ([ee7c7b0](https://github.com/DavidCozens/solid-syslog/commit/ee7c7b0a9ecef44effad5b16873a4bed822a99b9)) +* SolidSyslogFileBlockDevice keeps at most one open handle per path ([#354](https://github.com/DavidCozens/solid-syslog/issues/354)) ([aa33329](https://github.com/DavidCozens/solid-syslog/commit/aa33329ff037d9c5e9514311a448d1e4d2abcabc)) +* TimeQualitySd / MetaSd helpers static inline + single-exit ([#231](https://github.com/DavidCozens/solid-syslog/issues/231)) ([f921ddf](https://github.com/DavidCozens/solid-syslog/commit/f921ddfb65a84cdb2e6611faecdcf8424eab1468)) + + +### Maintenance + +* add .claude to gitignore and document kanban conventions in SKILL.md ([6ef1687](https://github.com/DavidCozens/solid-syslog/commit/6ef16870f7bed3848f67f3d5fb356161f5f0737c)) +* add SOLIDSYSLOG_TLS_DEFAULT_PORT = 6514 per RFC 5425 §4.2 ([#222](https://github.com/DavidCozens/solid-syslog/issues/222)) ([0f60a5b](https://github.com/DavidCozens/solid-syslog/commit/0f60a5bf129f83e08788f6b90e86dca9cdcc3c15)) +* assert FailNext* tests prove the first call actually fails ([#179](https://github.com/DavidCozens/solid-syslog/issues/179)) ([2c2c160](https://github.com/DavidCozens/solid-syslog/commit/2c2c160f54ed3acf908de36e13cc60ce594bf95c)) +* bump container image to sha-0b93766 (FreeRTOS-Plus-FAT) ([#518](https://github.com/DavidCozens/solid-syslog/issues/518)) ([41f7b49](https://github.com/DavidCozens/solid-syslog/commit/41f7b49a530b9401f76d7fe6a46d8b1f54bce82c)) +* bump container image to sha-3faff14 ([#168](https://github.com/DavidCozens/solid-syslog/issues/168)) ([06c7803](https://github.com/DavidCozens/solid-syslog/commit/06c780303e93e4ff6cb8db63d9cb966edf147c26)) +* bump container image to sha-bbc958b ([#351](https://github.com/DavidCozens/solid-syslog/issues/351)) ([37a05f9](https://github.com/DavidCozens/solid-syslog/commit/37a05f94347575f5680f2acc3f44094378356a4a)) +* bump container images to sha-18f19e1 / sha-0385cea ([#167](https://github.com/DavidCozens/solid-syslog/issues/167)) ([d6e91d3](https://github.com/DavidCozens/solid-syslog/commit/d6e91d34c2d5b517a5c396078c522fdb21066bc4)) +* clean up code style and split SolidSyslog.h (ISP) ([#43](https://github.com/DavidCozens/solid-syslog/issues/43)) ([9b9a3df](https://github.com/DavidCozens/solid-syslog/commit/9b9a3df28b3115720bf188cc1c8670798efb02c5)) +* configure release-please to stay on 0.x until 1.0 is explicitly cut ([#191](https://github.com/DavidCozens/solid-syslog/issues/191)) ([4046320](https://github.com/DavidCozens/solid-syslog/commit/40463206623a3dbb591dab760d355cf60ee0ea56)) +* correct SOLIDSYSLOG_TCP_DEFAULT_PORT to 601 per RFC 6587 / IANA ([#178](https://github.com/DavidCozens/solid-syslog/issues/178)) ([1321c91](https://github.com/DavidCozens/solid-syslog/commit/1321c91b095e25704ab4fb59f0d1332c792fa210)) +* cover FileStore fallback when security policy integritySize exceeds max ([#177](https://github.com/DavidCozens/solid-syslog/issues/177)) ([4b1681a](https://github.com/DavidCozens/solid-syslog/commit/4b1681a8e21f081ee43ef0f629374f949986b1e0)) +* disable CodeRabbit auto-start task in VSCode settings ([#488](https://github.com/DavidCozens/solid-syslog/issues/488)) ([0e8cb27](https://github.com/DavidCozens/solid-syslog/commit/0e8cb27b0c3e781f8e1054b5e77a50b77f63d8c1)) +* docs consistency — compliance tables, status key, story-ID style ([#225](https://github.com/DavidCozens/solid-syslog/issues/225)) ([4d4ef4a](https://github.com/DavidCozens/solid-syslog/commit/4d4ef4abe959ab527f7bb1e083ab7e5e06f2b3ec)) +* enforce line-ending + editor consistency across platforms ([#201](https://github.com/DavidCozens/solid-syslog/issues/201)) ([277d49e](https://github.com/DavidCozens/solid-syslog/commit/277d49e85cd8af23967e06ff43e6f1096ccb9a41)) +* **main:** release 1.0.0 ([#5](https://github.com/DavidCozens/solid-syslog/issues/5)) ([2694a18](https://github.com/DavidCozens/solid-syslog/commit/2694a187149552819d296fc4d025229d75f955b7)) +* **main:** release 1.1.0 ([#1](https://github.com/DavidCozens/solid-syslog/issues/1)) ([cf9c364](https://github.com/DavidCozens/solid-syslog/commit/cf9c364da113abff080adb999da7d8ea43e4f421)) +* mark *Static.c pool helpers static inline ([#409](https://github.com/DavidCozens/solid-syslog/issues/409)) ([78c059e](https://github.com/DavidCozens/solid-syslog/commit/78c059e43e92b8338e0f0029dc2dbd61b5c46fc2)) +* merge template updates (Example, BDD skeleton, container bump) ([#41](https://github.com/DavidCozens/solid-syslog/issues/41)) ([8c43472](https://github.com/DavidCozens/solid-syslog/commit/8c4347297787b7a23961f8f174fe3487e30d49ad)) +* migrate container images from DockerHub to GHCR ([#14](https://github.com/DavidCozens/solid-syslog/issues/14)) ([7cb0206](https://github.com/DavidCozens/solid-syslog/commit/7cb0206ff4b0c2998729f5e566d4f06354e338a6)) +* migrate devcontainer to Docker Compose with separate Clang image ([#11](https://github.com/DavidCozens/solid-syslog/issues/11)) ([ecdf7c2](https://github.com/DavidCozens/solid-syslog/commit/ecdf7c27eb5ceaf12fd19cf854a8a079902ab7b8)) +* migrate devcontainer to Docker Compose with separate Clang image ([#7](https://github.com/DavidCozens/solid-syslog/issues/7)) ([dae7a99](https://github.com/DavidCozens/solid-syslog/commit/dae7a99f7d004cf2f3aefd6190a7c7af86f0ad1d)) +* pin release-please's first release to 0.1.0 ([#192](https://github.com/DavidCozens/solid-syslog/issues/192)) ([18d1917](https://github.com/DavidCozens/solid-syslog/commit/18d19171791a389e7c0cfdde7dc7731827e1a174)) +* relabel three RFC 5424 SD rows from Supported to Partial ([#226](https://github.com/DavidCozens/solid-syslog/issues/226)) ([b3feb63](https://github.com/DavidCozens/solid-syslog/commit/b3feb63a2880331fd2e57394424cabad70a748e9)) +* relocate core library to Core/ and declare support tiers ([#180](https://github.com/DavidCozens/solid-syslog/issues/180)) ([730b9a9](https://github.com/DavidCozens/solid-syslog/commit/730b9a9d5962da46902796557be524642ad93ac7)) +* remove .coderabbit.yaml ([#435](https://github.com/DavidCozens/solid-syslog/issues/435)) ([a727353](https://github.com/DavidCozens/solid-syslog/commit/a727353fd0d47216fd902d46e37ee3eeb075da46)) +* remove stale devcontainer on initialize to fix post-restart SSH bind mount failure ([#28](https://github.com/DavidCozens/solid-syslog/issues/28)) ([5686c87](https://github.com/DavidCozens/solid-syslog/commit/5686c87206d167abb83aab20f2d383eb4af5538d)), closes [#27](https://github.com/DavidCozens/solid-syslog/issues/27) +* reset release versioning to 0.x ([#99](https://github.com/DavidCozens/solid-syslog/issues/99)) ([1a4f507](https://github.com/DavidCozens/solid-syslog/commit/1a4f507bd0e6eb3b567f983f468c2e571cde9094)) +* rewrite iec62443 around per-CR mapping, recipes by SL ([#227](https://github.com/DavidCozens/solid-syslog/issues/227)) ([8acd147](https://github.com/DavidCozens/solid-syslog/commit/8acd1475cb675299ad3d68fdef8fbd3b0f775727)) +* rfc-compliance §6.3.3 row Supported, drop SD-NAME digression ([#230](https://github.com/DavidCozens/solid-syslog/issues/230)) ([9ee7062](https://github.com/DavidCozens/solid-syslog/commit/9ee7062495a92f10908c2d07effb28babf9a982c)) +* route CmsdkUart headers through EXTERN_C_BEGIN/_END macros ([#324](https://github.com/DavidCozens/solid-syslog/issues/324)) ([128f85b](https://github.com/DavidCozens/solid-syslog/commit/128f85ba31f33a52149dc2293cf67e8fa8387402)) +* S11.11 honest MISRA suppressions + E11 close-out ([#417](https://github.com/DavidCozens/solid-syslog/issues/417)) ([949d84d](https://github.com/DavidCozens/solid-syslog/commit/949d84d3716f0acc47241009fa5249e5f8b8631a)) +* S24.02 adopt CALLED_* test macros + standardise *CallCount naming ([#322](https://github.com/DavidCozens/solid-syslog/issues/322)) ([e4c8b02](https://github.com/DavidCozens/solid-syslog/commit/e4c8b02ad5e0a354234b4244edaefb8b737bbc2c)) +* S24.04 retire Linux SingleTask example binary ([#334](https://github.com/DavidCozens/solid-syslog/issues/334)) ([27ca513](https://github.com/DavidCozens/solid-syslog/commit/27ca51398cdb6acbe1be9e458c449e95f041b052)) +* S24.06 retire Example/FreeRtos/HelloWorld ([#336](https://github.com/DavidCozens/solid-syslog/issues/336)) ([848617b](https://github.com/DavidCozens/solid-syslog/commit/848617b0e667c2828876a8b094c86ec9d6444c5b)) +* S24.12 audit inline cppcheck-suppress and NOLINT comments tree-wide ([#462](https://github.com/DavidCozens/solid-syslog/issues/462)) ([da60e6f](https://github.com/DavidCozens/solid-syslog/commit/da60e6f1664d4501824253f2abd73311aa134816)) +* scope default VS Code build task to SolidSyslogTests ([#208](https://github.com/DavidCozens/solid-syslog/issues/208)) ([7f6c190](https://github.com/DavidCozens/solid-syslog/commit/7f6c190f9f607e19579771b3f48ceb2fde3b40cf)) +* split MinSize out of TestUtils.h to drop #ifdef __cplusplus ([#323](https://github.com/DavidCozens/solid-syslog/issues/323)) ([44481a1](https://github.com/DavidCozens/solid-syslog/commit/44481a121b9187ec33dc9c3436505abaabaaa739)) +* sync tasks.json from template for Windows PowerShell compatibility ([#127](https://github.com/DavidCozens/solid-syslog/issues/127)) ([4af699d](https://github.com/DavidCozens/solid-syslog/commit/4af699d3de8806ccecbcb59e5156cff2fefc5fc5)) + + +### Documentation + +* add Bash execution rules to CLAUDE.md ([#490](https://github.com/DavidCozens/solid-syslog/issues/490)) ([8fe7b8a](https://github.com/DavidCozens/solid-syslog/commit/8fe7b8a5796598c829084686cf226fce1f68e3e3)) +* add Callback Conventions section ([#238](https://github.com/DavidCozens/solid-syslog/issues/238)) ([4a0d14a](https://github.com/DavidCozens/solid-syslog/commit/4a0d14ae40772ddef394b6bea73af67f137301b7)) +* add DEVLOG with GitHub project and epic issue setup ([bae8577](https://github.com/DavidCozens/solid-syslog/commit/bae85775a78c2132261d9fbe4319520818cb03f2)) +* add DEVLOG with GitHub project and epic issue setup ([4f52eb1](https://github.com/DavidCozens/solid-syslog/commit/4f52eb19b0341cb1caf47a94ea28b7fa4f38e81c)) +* add IEC 62443 and RFC compliance guides ([#122](https://github.com/DavidCozens/solid-syslog/issues/122)) ([281d87a](https://github.com/DavidCozens/solid-syslog/commit/281d87a99eb4c2c35f48677c88ecc105bdfe80af)) +* add prerequisites and platform support to cloning guide ([#17](https://github.com/DavidCozens/solid-syslog/issues/17)) ([22c1246](https://github.com/DavidCozens/solid-syslog/commit/22c1246a8038127b5ff29eff4e12be1c57192f71)) +* add summary to required-checks list in CLAUDE.md ([#216](https://github.com/DavidCozens/solid-syslog/issues/216)) ([91c07dd](https://github.com/DavidCozens/solid-syslog/commit/91c07dd7fe8ae5102ffbde0747a91ce5b11a8abd)) +* bring README, RFC/IEC62443/BDD docs back in line with code ([#450](https://github.com/DavidCozens/solid-syslog/issues/450)) ([5b38fd8](https://github.com/DavidCozens/solid-syslog/commit/5b38fd8068dc824230ff123807ab5cf455f0c779)) +* clarify TLS is a reference implementation, not a library capability ([#190](https://github.com/DavidCozens/solid-syslog/issues/190)) ([eb8d90d](https://github.com/DavidCozens/solid-syslog/commit/eb8d90da1b72ef3332625ca4f9072cdef053dafb)) +* codify issue/epic linking, project board, story numbering ([#176](https://github.com/DavidCozens/solid-syslog/issues/176)) ([34bdd23](https://github.com/DavidCozens/solid-syslog/commit/34bdd23c0aafbca623c260c03a84236d407bb342)) +* complete E0 walking skeleton — repository setup ([#14](https://github.com/DavidCozens/solid-syslog/issues/14)) ([8da7761](https://github.com/DavidCozens/solid-syslog/commit/8da77613a0cded4ac0574ca5f6bd2cca2d60f092)) +* document SolidSyslogTimestamp field ranges and UTC contract ([#151](https://github.com/DavidCozens/solid-syslog/issues/151)) ([592be2f](https://github.com/DavidCozens/solid-syslog/commit/592be2fe866639b2107a81d6c9bb9bdd45431922)) +* expand template-updates with full cloning instructions ([#10](https://github.com/DavidCozens/solid-syslog/issues/10)) ([41345bb](https://github.com/DavidCozens/solid-syslog/commit/41345bba24f055b13226b64e4f0e8a2a42fa3e5b)) +* fix consistency issues across CLAUDE.md, builds.md and CMakeLists ([#12](https://github.com/DavidCozens/solid-syslog/issues/12)) ([d21e45a](https://github.com/DavidCozens/solid-syslog/commit/d21e45ad504c2b2b61e759c8df4f54c2b559e27f)) +* **iec62443:** note S05.09 capacity-threshold gap on CR 2.9 / CR 2.10 ([#233](https://github.com/DavidCozens/solid-syslog/issues/233)) ([48c13fe](https://github.com/DavidCozens/solid-syslog/commit/48c13fe0bfba060956d271db7aae9fefa109b8cf)) +* improve cloning guide with Ctrl+Shift+B, TDD prompt and gh CLI options ([#16](https://github.com/DavidCozens/solid-syslog/issues/16)) ([4bbde34](https://github.com/DavidCozens/solid-syslog/commit/4bbde34f774e05af228b0c9eea73f3674f06704d)) +* refresh CI checks list and public header audience table ([#211](https://github.com/DavidCozens/solid-syslog/issues/211)) ([d0c865f](https://github.com/DavidCozens/solid-syslog/commit/d0c865fc490c86705358cb276eab0d36060cc88b)) +* retire S03.10 — cert rotation covered by Open-rebuilds-CTX ([#185](https://github.com/DavidCozens/solid-syslog/issues/185)) ([e2e349d](https://github.com/DavidCozens/solid-syslog/commit/e2e349d08d2d6833dbe027402eafdd9c660ef622)) +* S03.11 promote TLS to Available and sweep markdown drift ([#186](https://github.com/DavidCozens/solid-syslog/issues/186)) ([9391616](https://github.com/DavidCozens/solid-syslog/commit/93916165345839f2524e8e73aea380b338c203c8)), closes [#175](https://github.com/DavidCozens/solid-syslog/issues/175) +* S10.01 commit NAMING.md + initial MISRA deviations doc ([#358](https://github.com/DavidCozens/solid-syslog/issues/358)) ([ffbe1f1](https://github.com/DavidCozens/solid-syslog/commit/ffbe1f1886d8d2015b4122825abcbc6f25dcfd17)) +* S10.05 commit categorised conformance audit ([#366](https://github.com/DavidCozens/solid-syslog/issues/366)) ([5c30ddc](https://github.com/DavidCozens/solid-syslog/commit/5c30ddc84a353d43acac42e0fbd2656a379e53cc)) +* S10.06 curate MISRA rule subset (D.002–D.010 + suppressions) ([#368](https://github.com/DavidCozens/solid-syslog/issues/368)) ([562ea75](https://github.com/DavidCozens/solid-syslog/commit/562ea75108833c90ba00b004904823ed916850a6)) +* S10.21 soften NAMING.md abbreviation rule (domain terms include RFC-spec field names) ([#380](https://github.com/DavidCozens/solid-syslog/issues/380)) ([97b8bc6](https://github.com/DavidCozens/solid-syslog/commit/97b8bc612944093e53af2204cc23c0e91118ebde)), closes [#379](https://github.com/DavidCozens/solid-syslog/issues/379) +* S28.12 document vendored smsc9220 known limitations ([#483](https://github.com/DavidCozens/solid-syslog/issues/483)) ([868017e](https://github.com/DavidCozens/solid-syslog/commit/868017ef346e58f4e3982419ec676553c638f358)) +* split template-updates into cloning and updating guides ([#15](https://github.com/DavidCozens/solid-syslog/issues/15)) ([dd5eb89](https://github.com/DavidCozens/solid-syslog/commit/dd5eb897a8b4601e4159c9a2e94f950e5c2c55d8)) +* sync CLAUDE.md branch-protection list with live required checks ([#482](https://github.com/DavidCozens/solid-syslog/issues/482)) ([3a0ffdd](https://github.com/DavidCozens/solid-syslog/commit/3a0ffdd9308292a608f49b9d38718a1da3865dc0)) +* update DEVLOG for address-header hoist + layer guard ([#258](https://github.com/DavidCozens/solid-syslog/issues/258)) ([46014c5](https://github.com/DavidCozens/solid-syslog/commit/46014c5912cc7f5ca5cb7082f79fd346ff0caf27)) +* update DEVLOG for E1 story decomposition ([#21](https://github.com/DavidCozens/solid-syslog/issues/21)) ([37d5bd5](https://github.com/DavidCozens/solid-syslog/commit/37d5bd5275e08c8dff002b388ff19a93e97169aa)) +* update DEVLOG for E2 story decomposition ([#26](https://github.com/DavidCozens/solid-syslog/issues/26)) ([25cec70](https://github.com/DavidCozens/solid-syslog/commit/25cec7031c5477bf77c54375136dc22ab8f5724e)) +* update DEVLOG for S12.18 close-out ([#320](https://github.com/DavidCozens/solid-syslog/issues/320)) ([ae6a21c](https://github.com/DavidCozens/solid-syslog/commit/ae6a21c214bc06794eda4cec4ef39498e1daa59f)) +* update DEVLOG with 13-day backfill and 2026-04-21 session ([#181](https://github.com/DavidCozens/solid-syslog/issues/181)) ([bbe8206](https://github.com/DavidCozens/solid-syslog/commit/bbe820617389bc6723bcd97bec0976b532610082)) + +## Changelog