You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Release v3.0.0
Update all submodules to current releases, migrate to the new usage_cpp
API, make the standalone build link, and tidy the code.
- bump every submodule to its latest revision: bandwidth_cpp 3.0.0,
cpu_cpp 1.3.3, kernel_cpp 1.1.0, throws_cpp 1.1.0, uptime_cpp 3.1.1,
json_cpp 5.0.0, ubus_cpp 4.0.0, logger_cpp 2.3.2, usage_cpp 1.6.1 and
common_cpp (the revision that builds on GCC 15).
- migrate main.cpp to the new usage_cpp API: the flat .name/.version/...
fields move into the .info struct, usage.version_info() becomes
usage.version() and usage.validate() (which threw) becomes the
usage.validated check with usage.errors().
- the standalone Makefile never linked the system libraries: $(LIBS)
(populated by ubus_cpp's Makefile.inc with -lubox -lblobmsg_json
-lubus) was missing from the link line, and -luci was absent. Add both
so systembus links outside the OpenWrt build environment.
Code fixes:
- ubus_cpu: `fail = "true"` assigned a string literal to a bool; use
`fail = true`. The "key not supported" message printed res["key"]
(empty) instead of the requested key.
- ubus_info_uptime: drop the shadowed inner key variable and its dead
empty-key branch, flattening it into one if/else-if chain.
CI: build libubox, ubus and uci from source before make so the workflow
actually compiles on the runner, and refresh the actions (checkout@v5,
create/upload actions @v2, push/pull_request triggers, submodules in the
release checkout).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Oskari Rauta <oskari.rauta@gmail.com>