diff --git a/AGENTS.md b/AGENTS.md index e7e279812..d73636c7d 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -11,7 +11,8 @@ images: the BidCoS-RF daemon `rfd`, the BidCoS-Wired daemon `hs485d`, their libraries (`libXmlRpc`, `libelvutils`, `libhsscomm`, `libUnifiedLanComm`, …), `multimacd`, the Tcl modules, the WebUI, device types and firmware. The closed-source components (ReGaHss, the HmIP server) are shipped as binaries -only; `src/ReGaHss/` and `src/hmipserver/` contain just a `README.md`. +only; `src/ReGaHss/` and `src/hmipserver/` contain just a `README.md` and +their changelog. OS-level changes (Buildroot, kernel, init scripts such as `S61rfd`, packages) belong in [OpenCCU/OpenCCU](https://github.com/OpenCCU/OpenCCU), which picks up @@ -69,13 +70,18 @@ what you could and could not test. of the OpenCCU-Base libraries whose functions it calls, read from the loaded libraries (check with `nm -D --undefined-only`, not only the link line). A program links only the OpenCCU-Base libraries whose functions it calls. -- **Daemon changelogs:** a pull request with a user-visible change to `rfd` or - `hs485d` (including changes of the libraries they are built with) adds an - entry to `src//CHANGELOG.md` under `## Unreleased` (create the - heading at the top if it is missing), in the style of the existing entries: - what was wrong or what is new, written for users, with links to the pull - request and the fixed issue. A version bump renames `## Unreleased` to - `## ()`. +- **Component changelogs:** every component under `src/` (except `webui`) has + a `CHANGELOG.md`. The one of the closed-source `ReGaHss` (`ChangeLog` up to + R1.00.0388.0267) comes with its binaries from the Release workflow of the + ReGaHss repository and is not edited here. A pull request with a + user-visible change adds an entry under `## Unreleased` (create the heading + at the top if it is missing) to the changelog of every component it + changes, in the style of the existing entries: what was wrong or what is + new, written for users, with links to the pull request and the fixed + issue. A change of a library goes into the library's changelog, not into + those of the programs using it. A version bump renames `## Unreleased` to + `## ()`; for `devicetypes` and `hmipserver`, which have no + version of their own, the OpenCCU-Base release takes its place. - WebUI, Tcl and ReGa code must escape every user-controlled value. - Changes to the closed-source binaries come from eQ-3; do not patch them. diff --git a/README.md b/README.md index 46004619b..631c5f2bc 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ This repository is used as the common base package that delivers: ## Repository layout (high level) - `src/` - source code and module-local build logic (Makefiles) for core components. - Closed-source components (`src/ReGaHss/`, `src/hmipserver/`) only contain a `README.md` (and a `ChangeLog`) there, their binaries are part of `bin/` and `opt/`. + Closed-source components (`src/ReGaHss/`, `src/hmipserver/`) only contain a `README.md` and their `CHANGELOG.md` there, their binaries are part of `bin/` and `opt/`. - `bin/` - architecture-specific executable binaries and helper/startup scripts. - `www/` - WebUI and Tcl-based runtime resources. - `etc/` - configuration templates used during deployment/runtime setup. diff --git a/src/ReGaHss/README.md b/src/ReGaHss/README.md index f64a046a9..dad00ca66 100644 --- a/src/ReGaHss/README.md +++ b/src/ReGaHss/README.md @@ -2,12 +2,12 @@ `ReGaHss` ("Residential Gateway") is the logic engine of the CCU. It provides the device and system variable database, the program logic, the HomeMatic script interpreter and the backend of the WebUI. -ReGaHss is **closed source**: its source code cannot be published and is therefore not part of OpenCCU-Base. Only the ReGaHss binaries and its ChangeLog are provided here. +ReGaHss is **closed source**: its source code cannot be published and is therefore not part of OpenCCU-Base. Only the ReGaHss binaries and its changelog are provided here. ## Files - `bin//ReGaHss` - ReGaHss binaries for all supported platforms (`aarch64-linux-gnu`, `arm-linux-gnueabihf`, `i686-linux-gnu`, `x86_64-linux-gnu`). -- `src/ReGaHss/ChangeLog` - changes of every ReGaHss release. The topmost section describes the release of the binaries in `bin//ReGaHss`; both are always updated together. +- `src/ReGaHss/CHANGELOG.md` (`src/ReGaHss/ChangeLog` up to R1.00.0388.0267) - changes of every ReGaHss release, in the format of the other component changelogs. The topmost section describes the release of the binaries in `bin//ReGaHss`; both are always updated together. The parts of ReGaHss that are available as source code are maintained in OpenCCU-Base: diff --git a/src/SetInterfaceClock/CHANGELOG.md b/src/SetInterfaceClock/CHANGELOG.md new file mode 100644 index 000000000..c02b654ac --- /dev/null +++ b/src/SetInterfaceClock/CHANGELOG.md @@ -0,0 +1,19 @@ +# SetInterfaceClock ChangeLog + +Changes of `SetInterfaceClock`, the tool that sets the clock of the radio +interfaces. Newest version first. + +Changes not yet released are collected under `Unreleased` and get the +version and date with the next version bump (`version.sh`). + +## 1.0.0 (2026-11-02) + +* first version with a version string (`version.sh`): `-v` / `--version` + prints it together with the versions of libXmlRpc and libelvutils. + SetInterfaceClock no longer links libhsscomm and libxmlparser, which it + does not use. [#294](https://github.com/OpenCCU/OpenCCU-Base/pull/294) + +## Older versions + +Changes of earlier versions are only recorded in the git history of this +repository. diff --git a/src/bcm2835_raw_uart/CHANGELOG.md b/src/bcm2835_raw_uart/CHANGELOG.md new file mode 100644 index 000000000..98402defa --- /dev/null +++ b/src/bcm2835_raw_uart/CHANGELOG.md @@ -0,0 +1,16 @@ +# bcm2835_raw_uart ChangeLog + +Changes of `bcm2835_raw_uart`, the kernel module for the UART of the radio +module on the Raspberry Pi. Newest version first. + +Changes not yet released are collected under `Unreleased` and get the +version and date with the next version bump (`MODULE_VERSION`). + +## 1.12 + +* version at the start of this changelog. + +## Older versions + +Changes of earlier versions are only recorded in the git history of this +repository. diff --git a/src/crypttool/CHANGELOG.md b/src/crypttool/CHANGELOG.md new file mode 100644 index 000000000..6cd1c4a7c --- /dev/null +++ b/src/crypttool/CHANGELOG.md @@ -0,0 +1,18 @@ +# crypttool ChangeLog + +Changes of `crypttool`, the tool for the AES keys of the BidCos devices. +Newest version first. + +Changes not yet released are collected under `Unreleased` and get the +version and date with the next version bump (`version.sh`). + +## 1.0.0 (2026-11-02) + +* first version with a version string (`version.sh`): `--version` prints it + together with the version of libelvutils (`-v` stays "validate"). + [#294](https://github.com/OpenCCU/OpenCCU-Base/pull/294) + +## Older versions + +Changes of earlier versions are only recorded in the git history of this +repository. diff --git a/src/devicetypes/CHANGELOG.md b/src/devicetypes/CHANGELOG.md new file mode 100644 index 000000000..2e3691443 --- /dev/null +++ b/src/devicetypes/CHANGELOG.md @@ -0,0 +1,21 @@ +# devicetypes ChangeLog + +Changes of `devicetypes`, the device descriptions of the BidCos-RF and +BidCos-Wired devices. Newest version first. + +Changes not yet released are collected under `Unreleased` and get the +OpenCCU-Base release they are part of when it is published. + +## Unreleased + +* fix the limits of `SET_TEMPERATURE` (4.5 to 30.5 °C instead of 5.0 to + 30.0 °C) of the HM-CC-RT-DN-BoM, as in the HM-CC-RT-DN, and of the virtual + heating group HM-CC-VG-1: setting 30.5 °C (on) or 4.5 °C (off) caused + warnings in integrations such as ioBroker or Home Assistant. [#221](https://github.com/OpenCCU/OpenCCU-Base/pull/221) +* fix the long-press action of the CFM-TW LED profile writing the + short-press register (`LONG_ACT_TYPE` at 0xA4 instead of 0x24). [#63](https://github.com/OpenCCU/OpenCCU-Base/pull/63) + +## Older versions + +Changes of earlier versions are only recorded in the git history of this +repository. diff --git a/src/eq3_char_loop/CHANGELOG.md b/src/eq3_char_loop/CHANGELOG.md new file mode 100644 index 000000000..2b1810c50 --- /dev/null +++ b/src/eq3_char_loop/CHANGELOG.md @@ -0,0 +1,25 @@ +# eq3_char_loop ChangeLog + +Changes of `eq3_char_loop`, the kernel module that provides the device nodes +through which multimacd shares the radio module. Newest version first. + +Changes not yet released are collected under `Unreleased` and get the +version and date with the next version bump (`MODULE_VERSION`). + +## 1.6 (2026-10-03) + +* hang up the connections of rfd and the HmIP server when multimacd (the + master) exits: they got attached to the next multimacd without it knowing, + wrote into a buffer nobody read and could block for ever, even against + SIGKILL. Such a connection now fails with `ENODEV`/`POLLHUP` until it is + opened again. [#112](https://github.com/OpenCCU/OpenCCU-Base/pull/112) + +## 1.5 (2026-09-05) + +* update to version 1.5, including compatibility with Linux 6. + [#22](https://github.com/OpenCCU/OpenCCU-Base/pull/22) + +## Older versions + +Changes of earlier versions are only recorded in the git history of this +repository. diff --git a/src/eq3configcmd/CHANGELOG.md b/src/eq3configcmd/CHANGELOG.md new file mode 100644 index 000000000..d78bbea6c --- /dev/null +++ b/src/eq3configcmd/CHANGELOG.md @@ -0,0 +1,17 @@ +# eq3configcmd ChangeLog + +Changes of `eq3configcmd`, the command line tool for the configuration of +LAN gateways and radio modules. Newest version first. + +Changes not yet released are collected under `Unreleased` and get the +version and date with the next version bump (`version.sh`). + +## 1.0.0 (2026-11-02) + +* first version with a version string (`version.sh`): `-v` / `--version` + prints it together with the version of libeq3config. [#294](https://github.com/OpenCCU/OpenCCU-Base/pull/294) + +## Older versions + +Changes of earlier versions are only recorded in the git history of this +repository. diff --git a/src/eq3configd/CHANGELOG.md b/src/eq3configd/CHANGELOG.md new file mode 100644 index 000000000..2d0f3743c --- /dev/null +++ b/src/eq3configd/CHANGELOG.md @@ -0,0 +1,18 @@ +# eq3configd ChangeLog + +Changes of `eq3configd`, the daemon that answers the network configuration +protocol of eQ-3's tools (e.g. the finder of LAN gateways). Newest version +first. + +Changes not yet released are collected under `Unreleased` and get the +version and date with the next version bump (`version.sh`). + +## 1.0.0 (2026-11-02) + +* first version with a version string (`version.sh`): `-v` / `--version` + prints it together with the version of libelvutils. [#294](https://github.com/OpenCCU/OpenCCU-Base/pull/294) + +## Older versions + +Changes of earlier versions are only recorded in the git history of this +repository. diff --git a/src/hmipserver/CHANGELOG.md b/src/hmipserver/CHANGELOG.md new file mode 100644 index 000000000..9e324caec --- /dev/null +++ b/src/hmipserver/CHANGELOG.md @@ -0,0 +1,18 @@ +# hmipserver ChangeLog + +Changes of `hmipserver`, the HmIP server (`HMIPServer.jar`) of eQ-3, which +is only provided as a binary. Newest version first. + +Changes not yet released are collected under `Unreleased` and get the +OpenCCU-Base release they are part of when it is published. + +## Unreleased + +* update `HMIPServer.jar` to the build of 2026-10-08 (build 5936, version + 1.5.1-SNAPSHOT) from eQ-3: avoid a security counter update with invalid + values. + +## Older versions + +Changes of earlier versions are only recorded in the git history of this +repository. diff --git a/src/hs485d/CHANGELOG.md b/src/hs485d/CHANGELOG.md index a50bdbb8d..345326ffb 100644 --- a/src/hs485d/CHANGELOG.md +++ b/src/hs485d/CHANGELOG.md @@ -1,9 +1,9 @@ # hs485d ChangeLog -Changes of `hs485d`, the BidCos-Wired interface process, including the -changes of the libraries it is built with (libXmlRpc, libhsscomm, -libelvutils, libLanDeviceUtils, libUnifiedLanComm, libxmlparser). Newest -version first. +Changes of `hs485d`, the BidCos-Wired interface process. Newest version +first. Up to 1.4.0 the entries include the changes of the libraries it is +built with; since then these are in the changelogs of the libraries +(`src/lib*/CHANGELOG.md`). Changes not yet released are collected under `Unreleased` and get the version and date with the next version bump (`version.sh` and diff --git a/src/hs485dLoader/CHANGELOG.md b/src/hs485dLoader/CHANGELOG.md new file mode 100644 index 000000000..ce41a2f8a --- /dev/null +++ b/src/hs485dLoader/CHANGELOG.md @@ -0,0 +1,18 @@ +# hs485dLoader ChangeLog + +Changes of `hs485dLoader`, the loader that writes the Wired interfaces into +`InterfacesList.xml` and starts hs485d. Newest version first. + +Changes not yet released are collected under `Unreleased` and get the +version and date with the next version bump (`version.sh`). + +## 1.0.0 (2026-11-02) + +* first version with a version string (`version.sh`): `-v` / `--version` + prints it together with the version of libelvutils. hs485dLoader no longer + links libxmlparser, which it does not use. [#294](https://github.com/OpenCCU/OpenCCU-Base/pull/294) + +## Older versions + +Changes of earlier versions are only recorded in the git history of this +repository. diff --git a/src/hss_led/CHANGELOG.md b/src/hss_led/CHANGELOG.md new file mode 100644 index 000000000..fa018abd3 --- /dev/null +++ b/src/hss_led/CHANGELOG.md @@ -0,0 +1,30 @@ +# hss_led ChangeLog + +Changes of `hss_led`, the LED controller and status monitor of the CCU +(`hss_ledctl` is its client invocation). Newest version first. + +Changes not yet released are collected under `Unreleased` and get the +version and date with the next version bump (`version.sh`). + +## 2.3.0 (2026-11-02) + +* first version kept in `version.sh` (the version was a fixed "2.3" before). + `--version` / `-V` also prints the versions of the libraries it uses + (libXmlRpc, libelvutils); hss_led no longer links libxmlparser, which it + does not use. [#294](https://github.com/OpenCCU/OpenCCU-Base/pull/294) +* fix the UDP channel no longer working once its socket got a file + descriptor of 1024 or more: it waits with `poll()` instead of `select()`. + ([#285](https://github.com/OpenCCU/OpenCCU-Base/pull/285), fixes [#178](https://github.com/OpenCCU/OpenCCU-Base/issues/178)) +* report an active `/etc/config/disableLED` lock in the radio LED status + (`disabled=0|1` in the RPI-RF-MOD status reply) and mention it in the + `hss_ledctl` help: with the lock, the LED stays off, manual overrides + included. ([#203](https://github.com/OpenCCU/OpenCCU-Base/pull/203), refs + [OpenCCU/OpenCCU#4443](https://github.com/OpenCCU/OpenCCU/issues/4443)) +* run the LED controller and the status calculation in one process, with + `hss_ledctl` as its client invocation, explicit LED-class target selection + and a minimal recovery build of the same controller. [#59](https://github.com/OpenCCU/OpenCCU-Base/pull/59) + +## Older versions + +Changes of earlier versions are only recorded in the git history of this +repository. diff --git a/src/libLanDeviceUtils/CHANGELOG.md b/src/libLanDeviceUtils/CHANGELOG.md new file mode 100644 index 000000000..d70324eb0 --- /dev/null +++ b/src/libLanDeviceUtils/CHANGELOG.md @@ -0,0 +1,20 @@ +# libLanDeviceUtils ChangeLog + +Changes of `libLanDeviceUtils`, the library for the LAN devices (gateways) +of rfd, hs485d and eq3configcmd. Newest version first. + +Changes not yet released are collected under `Unreleased` and get the +version and date with the next version bump (`version.sh`). + +## 1.0.0 (2026-11-02) + +* first version with a version string (`version.sh`), returned by + `landeviceutils_version()`. [#294](https://github.com/OpenCCU/OpenCCU-Base/pull/294) +* fix the UDP datagram sender failing once a descriptor was 1024 or more: it + waits with `poll()` instead of `select()`. + ([#285](https://github.com/OpenCCU/OpenCCU-Base/pull/285), fixes [#178](https://github.com/OpenCCU/OpenCCU-Base/issues/178)) + +## Older versions + +Changes of earlier versions are only recorded in the git history of this +repository. diff --git a/src/libUnifiedLanComm/CHANGELOG.md b/src/libUnifiedLanComm/CHANGELOG.md new file mode 100644 index 000000000..3c6488bbb --- /dev/null +++ b/src/libUnifiedLanComm/CHANGELOG.md @@ -0,0 +1,17 @@ +# libUnifiedLanComm ChangeLog + +Changes of `libUnifiedLanComm`, the library for the connection to the LAN +gateways (HM-LGW, HMW-LGW) of rfd and hs485d. Newest version first. + +Changes not yet released are collected under `Unreleased` and get the +version and date with the next version bump (`version.sh`). + +## 1.0.0 (2026-11-02) + +* first version with a version string (`version.sh`), returned by + `unifiedlancomm_version()`. [#294](https://github.com/OpenCCU/OpenCCU-Base/pull/294) + +## Older versions + +Changes of earlier versions are only recorded in the git history of this +repository. diff --git a/src/libXmlRpc/CHANGELOG.md b/src/libXmlRpc/CHANGELOG.md new file mode 100644 index 000000000..a50cdc4d9 --- /dev/null +++ b/src/libXmlRpc/CHANGELOG.md @@ -0,0 +1,48 @@ +# libXmlRpc ChangeLog + +Changes of `libXmlRpc`, the XML-RPC and BIN-RPC library of rfd, hs485d, +hss_led, SetInterfaceClock, tclrpc and ReGaHss. Newest version first. + +Changes not yet released are collected under `Unreleased` and get the +version and date with the next version bump (`XMLRPC_VERSION_NUMBER` in +`src/xmlrpc_version.h`). + +## Unreleased + +* add `xmlrpc_version()`, which returns the version of the loaded library + (`XMLRPC_VERSION` still reads "XMLRPC++ 0.12"). [#294](https://github.com/OpenCCU/OpenCCU-Base/pull/294) +* fix the RPC server no longer answering, or the process aborting, once a + socket got a file descriptor of 1024 or more: the dispatcher waits with + `poll()` instead of `select()`. ([#285](https://github.com/OpenCCU/OpenCCU-Base/pull/285), fixes [#178](https://github.com/OpenCCU/OpenCCU-Base/issues/178)) +* an interrupted `select()` (e.g. by a stop signal) is no longer logged as an + error. [#281](https://github.com/OpenCCU/OpenCCU-Base/pull/281) +* fix an RPC method reading freed memory when a call has fewer arguments than + the method reads: room for 8 more arguments is reserved before every call, + so missing arguments can no longer move earlier ones. + ([#271](https://github.com/OpenCCU/OpenCCU-Base/pull/271), fixes [#167](https://github.com/OpenCCU/OpenCCU-Base/issues/167)) + +## 0.12 (2026-10-13) + +* fix a crash (SIGSEGV) of the server on a deeply nested value, reachable + with a single unauthenticated request: arrays and structs are parsed up to + 64 levels deep, a deeper value is rejected. [#189](https://github.com/OpenCCU/OpenCCU-Base/pull/189) +* fix out-of-bounds reads of the BIN-RPC deserializer on invalid length + fields: such a request is rejected instead of crashing the server. + [#140](https://github.com/OpenCCU/OpenCCU-Base/pull/140) + +## 0.11 (2026-10-07) + +* fix a crash (SIGSEGV) of the server on a `system.multicall` nested in + another one: a nested `system.multicall` is rejected with a fault, as the + specification requires. [#138](https://github.com/OpenCCU/OpenCCU-Base/pull/138) + +## 0.10 (2026-09-07) + +* fix a crash of the RPC client when a reconnect failed: the connection was + removed twice from the dispatcher. + ([#27](https://github.com/OpenCCU/OpenCCU-Base/pull/27), fixes [OpenCCU/OpenCCU#4138](https://github.com/OpenCCU/OpenCCU/issues/4138)) + +## Older versions + +Changes of earlier versions are only recorded in the git history of this +repository. diff --git a/src/libelvutils/CHANGELOG.md b/src/libelvutils/CHANGELOG.md new file mode 100644 index 000000000..4f8178239 --- /dev/null +++ b/src/libelvutils/CHANGELOG.md @@ -0,0 +1,28 @@ +# libelvutils ChangeLog + +Changes of `libelvutils`, the utility library (logging, configuration files, +threads, hex files) of the OpenCCU-Base programs. Newest version first. + +Changes not yet released are collected under `Unreleased` and get the +version and date with the next version bump (`version.sh`). + +## 1.0.0 (2026-11-02) + +* first version with a version string (`version.sh`), returned by + `elvutils_version()`. [#294](https://github.com/OpenCCU/OpenCCU-Base/pull/294) +* fix the multicast sender failing once a descriptor was 1024 or more: it + waits with `poll()` instead of `select()`. + ([#285](https://github.com/OpenCCU/OpenCCU-Base/pull/285), fixes [#178](https://github.com/OpenCCU/OpenCCU-Base/issues/178)) +* fix the thread of an actor (the event dispatcher of each receiver in rfd + and hs485d) being joined twice, and a hang when an actor was stopped right + after it was started. ([#269](https://github.com/OpenCCU/OpenCCU-Base/pull/269), fixes [#161](https://github.com/OpenCCU/OpenCCU-Base/issues/161)) +* refuse a hex file without data (e.g. an empty or truncated firmware file) + instead of crashing the reader. ([#267](https://github.com/OpenCCU/OpenCCU-Base/pull/267), fixes [#176](https://github.com/OpenCCU/OpenCCU-Base/issues/176)) +* read configuration lines of any length: a line of 256 characters or more + made the programs hang at start at 100 % CPU, and a read error is reported. + ([#263](https://github.com/OpenCCU/OpenCCU-Base/pull/263), fixes [#177](https://github.com/OpenCCU/OpenCCU-Base/issues/177)) + +## Older versions + +Changes of earlier versions are only recorded in the git history of this +repository. diff --git a/src/libeq3config/CHANGELOG.md b/src/libeq3config/CHANGELOG.md new file mode 100644 index 000000000..46c5f6d39 --- /dev/null +++ b/src/libeq3config/CHANGELOG.md @@ -0,0 +1,20 @@ +# libeq3config ChangeLog + +Changes of `libeq3config`, the library behind eq3configcmd. Newest version +first. + +Changes not yet released are collected under `Unreleased` and get the +version and date with the next version bump (`version.sh`). + +## 1.0.0 (2026-11-02) + +* first version with a version string (`version.sh`), returned by + `eq3config_version()`. [#294](https://github.com/OpenCCU/OpenCCU-Base/pull/294) +* fix the serial port wrapper failing once a descriptor was 1024 or more: it + waits with `poll()` instead of `select()`. + ([#285](https://github.com/OpenCCU/OpenCCU-Base/pull/285), fixes [#178](https://github.com/OpenCCU/OpenCCU-Base/issues/178)) + +## Older versions + +Changes of earlier versions are only recorded in the git history of this +repository. diff --git a/src/libhsscomm/CHANGELOG.md b/src/libhsscomm/CHANGELOG.md new file mode 100644 index 000000000..83b2a2e6d --- /dev/null +++ b/src/libhsscomm/CHANGELOG.md @@ -0,0 +1,31 @@ +# libhsscomm ChangeLog + +Changes of `libhsscomm`, the library with the common device and RPC logic of +rfd and hs485d. Newest version first. + +Changes not yet released are collected under `Unreleased` and get the +version and date with the next version bump (`version.sh`). + +## 1.0.0 (2026-11-02) + +* first version with a version string (`version.sh`), returned by + `hsscomm_version()`. [#294](https://github.com/OpenCCU/OpenCCU-Base/pull/294) +* fix the TCP and serial port wrappers failing once a descriptor was 1024 or + more: they wait with `poll()` instead of `select()`. + ([#285](https://github.com/OpenCCU/OpenCCU-Base/pull/285), fixes [#178](https://github.com/OpenCCU/OpenCCU-Base/issues/178)) +* send `replaceDevice` at the init of a receiver only to that receiver, and do + not report the channels of a replaced device separately. + ([#283](https://github.com/OpenCCU/OpenCCU-Base/pull/283), fixes [#169](https://github.com/OpenCCU/OpenCCU-Base/issues/169)) +* fix a wrong conversion of long strings to unsigned integers (used by the + HM-OU-LED16 at channel set-up). ([#268](https://github.com/OpenCCU/OpenCCU-Base/pull/268), fixes [#168](https://github.com/OpenCCU/OpenCCU-Base/issues/168)) +* add `UnregisterInternalValueEvents()`, so a channel can remove its event + registration before it is deleted. [#257](https://github.com/OpenCCU/OpenCCU-Base/pull/257) +* bound the init callbacks and the asynchronous callbacks to a receiver with + a 30 s timeout: a receiver that never answers no longer freezes the daemon + or makes it grow by a thread and a socket per callback. + ([#207](https://github.com/OpenCCU/OpenCCU-Base/pull/207), fixes [#170](https://github.com/OpenCCU/OpenCCU-Base/issues/170); [#208](https://github.com/OpenCCU/OpenCCU-Base/pull/208), fixes [#171](https://github.com/OpenCCU/OpenCCU-Base/issues/171)) + +## Older versions + +Changes of earlier versions are only recorded in the git history of this +repository. diff --git a/src/libxmlparser/CHANGELOG.md b/src/libxmlparser/CHANGELOG.md new file mode 100644 index 000000000..5d1ab6830 --- /dev/null +++ b/src/libxmlparser/CHANGELOG.md @@ -0,0 +1,29 @@ +# libxmlparser ChangeLog + +Changes of `libxmlparser`, the XML parser library of rfd, hs485d, tclrega +and ReGaHss (based on Frank Vanden Berghen's xmlParser). Newest version +first. + +Changes not yet released are collected under `Unreleased` and get the +version and date with the next version bump (`XMLPARSER_VERSION_NUMBER` in +`xmlparser_version.h` and `@version` in `xmlParser.h`). + +## Unreleased + +* add `xmlparser_version()`, which returns the version of the loaded library. + [#294](https://github.com/OpenCCU/OpenCCU-Base/pull/294) + +## 1.14 (2026-09-08) + +* fix undefined behaviour and a heap overflow when the child arrays of a + node grow or shrink, and check the results of seek, size, allocation and + read when a file is parsed. [#29](https://github.com/OpenCCU/OpenCCU-Base/pull/29) + +## 1.13 (2026-09-04) + +* update to xmlParser version 1.13. [#19](https://github.com/OpenCCU/OpenCCU-Base/pull/19) + +## Older versions + +Changes of earlier versions are only recorded in the git history of this +repository. diff --git a/src/multimacd/CHANGELOG.md b/src/multimacd/CHANGELOG.md new file mode 100644 index 000000000..57b3a4522 --- /dev/null +++ b/src/multimacd/CHANGELOG.md @@ -0,0 +1,22 @@ +# multimacd ChangeLog + +Changes of `multimacd`, the process that shares the radio module +(RPI-RF-MOD, HmIP-RFUSB) between rfd and the HmIP server. Newest version +first. + +Changes not yet released are collected under `Unreleased` and get the +version and date with the next version bump (`version.sh`). + +## Unreleased + +* add the option `-v` / `--version`, which prints the version of multimacd and + of the libelvutils it uses. [#294](https://github.com/OpenCCU/OpenCCU-Base/pull/294) + +## 1.2.0 (2026-01-15) + +* first version with a version string (`version.sh`). + +## Older versions + +Changes of earlier versions are only recorded in the git history of this +repository. diff --git a/src/rfd/CHANGELOG.md b/src/rfd/CHANGELOG.md index 38f2618c6..3c07901cb 100644 --- a/src/rfd/CHANGELOG.md +++ b/src/rfd/CHANGELOG.md @@ -1,8 +1,9 @@ # rfd ChangeLog -Changes of `rfd`, the BidCos-RF interface process, including the changes of -the libraries it is built with (libXmlRpc, libhsscomm, libelvutils, -libLanDeviceUtils, libUnifiedLanComm, libxmlparser). Newest version first. +Changes of `rfd`, the BidCos-RF interface process. Newest version first. Up +to 2.6.8 the entries include the changes of the libraries it is built with; +since then these are in the changelogs of the libraries +(`src/lib*/CHANGELOG.md`). Changes not yet released are collected under `Unreleased` and get the version and date with the next version bump (`version.sh` and diff --git a/src/ssdpd/CHANGELOG.md b/src/ssdpd/CHANGELOG.md new file mode 100644 index 000000000..fb90d02d3 --- /dev/null +++ b/src/ssdpd/CHANGELOG.md @@ -0,0 +1,20 @@ +# ssdpd ChangeLog + +Changes of `ssdpd`, the SSDP responder that makes the CCU discoverable in +the network. Newest version first. + +Changes not yet released are collected under `Unreleased` and get the +version and date with the next version bump (`version.sh`). + +## 1.0.0 (2026-11-02) + +* first version with a version string (`version.sh`): `-v` / `--version` + prints it. [#294](https://github.com/OpenCCU/OpenCCU-Base/pull/294) +* fix ssdpd failing once its socket got a file descriptor of 1024 or more: it + waits with `poll()` instead of `select()`. + ([#285](https://github.com/OpenCCU/OpenCCU-Base/pull/285), fixes [#178](https://github.com/OpenCCU/OpenCCU-Base/issues/178)) + +## Older versions + +Changes of earlier versions are only recorded in the git history of this +repository. diff --git a/src/tcl_homematic/CHANGELOG.md b/src/tcl_homematic/CHANGELOG.md new file mode 100644 index 000000000..a1e82d4c1 --- /dev/null +++ b/src/tcl_homematic/CHANGELOG.md @@ -0,0 +1,22 @@ +# tcl_homematic ChangeLog + +Changes of `tcl_homematic`, the Tcl helpers of the WebUI and the add-ons +(`HomeMatic` package). Newest version first. + +Changes not yet released are collected under `Unreleased` and get the +version and date with the next version bump (`package provide` in +`src/trailer.tcl`). + +## Unreleased + +* add `RemoveConfigPage`, so an add-on can remove its own configuration page + from `/etc/config/hm_addons.cfg`. [#48](https://github.com/OpenCCU/OpenCCU-Base/pull/48) + +## 1.0 + +* version at the start of this changelog. + +## Older versions + +Changes of earlier versions are only recorded in the git history of this +repository. diff --git a/src/tclrega/CHANGELOG.md b/src/tclrega/CHANGELOG.md new file mode 100644 index 000000000..6d9b3cf21 --- /dev/null +++ b/src/tclrega/CHANGELOG.md @@ -0,0 +1,16 @@ +# tclrega ChangeLog + +Changes of `tclrega`, the Tcl extension for ReGaHss scripts (`rega` +package). Newest version first. + +Changes not yet released are collected under `Unreleased` and get the +version and date with the next version bump (`TCLREGA_VERSION`). + +## 1.4 (2026-09-06) + +* update to version 1.4. [#24](https://github.com/OpenCCU/OpenCCU-Base/pull/24) + +## Older versions + +Changes of earlier versions are only recorded in the git history of this +repository. diff --git a/src/tclrpc/CHANGELOG.md b/src/tclrpc/CHANGELOG.md new file mode 100644 index 000000000..448d7c725 --- /dev/null +++ b/src/tclrpc/CHANGELOG.md @@ -0,0 +1,16 @@ +# tclrpc ChangeLog + +Changes of `tclrpc`, the Tcl extension for XML-RPC calls (`xmlrpc` package). +Newest version first. + +Changes not yet released are collected under `Unreleased` and get the +version and date with the next version bump (`TCLRPC_VERSION`). + +## 1.4 (2026-09-06) + +* update to version 1.4. [#24](https://github.com/OpenCCU/OpenCCU-Base/pull/24) + +## Older versions + +Changes of earlier versions are only recorded in the git history of this +repository.