Changes in this release:
- f401a1a uhttpd: update patch to match the codebase
- 14e86a8 package/thingino-uhttpd: update to 1b624f8 Update thingino-uhttpd from e619cb0 to 1b624f8 Hash change: e619cb04cddba8316d6928ff99f55a49e6ddc561 -> 1b624f8f814ed568608d756512892416e0431d77 Changelog: d255187: client: prevent transfer_chunked counter overflow 07f0afb: client: match Host and URL attributes exactly in tls_redirect_check 05406f7: file: scan all entries when matching If-Match / If-None-Match 81527e1: proc: restore default SIGPIPE disposition in spawned child 0df6257: ucode: initialize module search path only once 05317bf: proc: store CGI Status message per-client instead of in a shared buffer 1781b6d: utils, client: cast char to unsigned before passing to ctype functions 4221eb8: file: respond 500 on uh_handle_alias OOM 8e5b26f: file: distinguish parse failure from epoch in date precondition checks ced7b15: utils: fix one-byte overflow in uh_urldecode 53e7150: file: bail out of file_write_cb on read error 9343214: utils: remove unreachable return statement in uh_addr_rfc1918 add5389: utils: fix off-by-one out-of-bounds read in uh_b64decode 778ccbb: main: fix daemonization stdio redirection and fd leak 2c869c0: client: parse Content-Length safely 9404e6c: client: parse chunked transfer chunk size safely b33ca5d: auth: do not accept stored crypt hash as plaintext password 6fadf0d: auth: replace strcmp with constant-time password comparison 6ab9abb: cgi, file: fix crash due to field_len type mismatch with libubox 1b624f8: auth: classify $p$ lookups by account state
- 231badc package/thingino-ubus: update to 795b32b Update thingino-ubus from 3cc98db to 795b32b Hash change: 3cc98db1a422dcf560f2d6347fd410f17565a89d -> 795b32bb96b611493f423666236e9c1e49e0736c Changelog: 4b27405: libubus: fix NULL dereference on OOM in ubus_queue_msg 8b5be57: libubus-acl: fix dangling pointers on blob_memdup failure in acl_recv_cb 9105ea2: ubusd_acl: fix NULL dereference on OOM in ubusd_acl_alloc_obj 07d7f34: ubusd_acl: handle allocation failures in ubusd_acl_init_client 497321a: ubusd_acl: fix NULL dereference on OOM in ubusd_acl_init f66d52b: ubusd_event: fix OOM handling in ubusd_send_event_msg 11ea1b3: ubusd_main: fix async-signal-unsafe SIGHUP handler 0c09559: ubusd_proto: fix resource leaks and ID tree corruption in ubusd_proto_new_client f61695e: ubusd_proto: fix NULL dereference for user/group in ubusd_handle_add_watch 7ecacfa: ubusd_proto: fix NULL dereference on OOM in ubusd_proto_init_retmsg 3ab9d77: lua: fix inverted argument check in ubus_lua_add 43051ca: lua: fix unchecked calloc and memory leak in ubus_lua_load_object 4ca0b14: ubusd_id: use getrandom(2) unconditionally on Linux 7e4356d: ubusd_monitor: fix NULL dereference on OOM in ubusd_monitor_message 5849870: libubus-req: fix file descriptor leaks in ubus_process_req_msg f29767f: libubus: fix file descriptor leaks in ubus_process_msg b099d05: libubus: make ubus_shutdown idempotent a564b8d: ubusd_main: check strdup return value in mkdir_sockdir 239edcb: ubusd_id: fix continue in do-while skipping random ID retry 09d2df4: ubusd: fix NULL dereference on OOM in ubus_msg_enqueue bcc45ca: libubus: actually set FD_CLOEXEC on the ubus socket 8188f5c: libubus-io: close recv_fd captured before get_next_msg failure 7a068ba: libubus-io: byte-swap peer in HELLO when storing as local_id 747013f: libubus-io: reset sock.fd to -1 after close on ubus_reconnect error path 020a64b: ubusd_acl: use size_t for strlen result in ubusd_acl_alloc_obj f92ffd2: ubusd: use size_t for string and blob length variables 795b32b: ubusd: use fixed-width types for sequence counters
- c4826b8 package/thingino-raptor-ipc: update to 537bfcf Update thingino-raptor-ipc from 8c68f61 to 537bfcf Hash change: 8c68f61f94fb88885b03c1fec9e14a9db89ac7a4 -> 537bfcf9159d8a270a0ad8cc96b5b3cf8d31d9bb Changelog: 64bf347: ipc: move shm_open fallback log to TRACE level 537bfcf: ipc: add TRACE level to default logger, filter trace messages by default
- c4d58f0 package/thingino-raptor-hal: update to 1798e4e Update thingino-raptor-hal from 9efbea5 to 1798e4e Hash change: 9efbea55544ef6a0d77a1b5c244ff245b44d43ff -> 1798e4e30750c7904bd88c096b449fc914fa310c Changelog: d287851: fix C++ build: filter -std=c11 from CXXFLAGS, suppress missing-field-initializers 9780eb1: fix persondet: use ifdef PERSONDET instead of weak symbols 1798e4e: raptor-hal: add T10 platform support (aliases T20 SDK)
- c616afd package/thingino-raptor-common: update to 2f29631 Update thingino-raptor-common from fe61fb7 to 2f29631 Hash change: fe61fb70b8750bf474fad379aa212767223aeef8 -> 2f296318891c61e131ef36c4296822d951b94698 Changelog: 2f29631: common: add rss_json_get_nested_int for nested JSON key lookup
- 841a6f2 package/thingino-raptor: update to 19804ef Update thingino-raptor from 46dec1c to 19804ef Hash change: 46dec1cf0f1875ace895f6668f83cde602ab0173 -> 19804ef2ac8c0b7a1c0f0a3ddc72853046688ac0 Changelog: 52fa84c: rhd: remove blocking JPEG ring wait at startup ac90ecb: rac, rad: fix ring read throughput loss from wait-before-read 16ba95a: rod: add frame counter to OSD timestamp via %f format token d2b9297: ric: fix IR LED GPIO discovery, add dual LED support 96785c9: ric: fix strtol parse failure handling in thingino.json parser 130cc90: ric: rewrite thingino.json parser to use cJSON, add GPIO range check 36d3112: rsd-555: use LINK_STDCXX variable, fix live555 patch context 2d5009e: build: add --release, --static-stdcxx, shared lib support 435860e: readme: update RSR description, reorder repo list aae67eb: build: allow --clean-all without platform argument b98c0ab: readme: expand RMD description with IVS/JZDL/YOLO capabilities 684665b: readme: emphasize modularity 9baec27: readme: add T10 to supported platforms e256a44: build: add --ivs flag for IVS detection (persondet + JZDL + MXU libs) 6f52fb1: build: add IVS, STATIC_STDCXX, RELEASE to features display 2d0af71: fix persondet: link MXU libs with --no-as-needed, fix jzdl.m.so install path 203c4f9: rwd: apply webrtc connection fixes to share.html (max-bundle, connection state, beforeunload) 1d9edaa: ric: add photo thresholds to set-threshold and get-thresholds 16c4b6d: tests: fix mock stubs for daemon restart/shutdown (weak symbols) af6ca1d: rwd: add 5s timeout to ICE gathering in share.html 9827459: rod: fix format-truncation warning in template frame number 0e31ea1: build: fix exit code 1 when --static (no lib/ dir to list) 6dcddfa: rwd: support all 6 multi-sensor streams in WHIP endpoint a2052d6: rsd: fix H.265 SDP missing sprop params + refmode zerocopy send race 19804ef: tests: mock HAL frame production, slow client tests, SDP validation
- 1a8a581 package/thingino-onvif: update to 37fa1ac Update thingino-onvif from 66602f3 to 37fa1ac Hash change: 66602f31f747023f1a89a376beff9a123077da43 -> 37fa1ac2f75b20859a8bcdd3b1b79725e0ad4ede Changelog: be3fb34: Fix ONVIF media profile selection and encoder responses bce89aa: onvif: ignore non-RTSP profiles 37fa1ac: fix profiles enumeration
- 8677899 package/thingino-odhcp6c: update to daf4ec3 Update thingino-odhcp6c from 24485bb to daf4ec3 Hash change: 24485bb4b35ab84c17c2e87bd561d026d4c15c00 -> daf4ec3054e753c99fdcc3ac5464926548b38351 Changelog: 08bd058: ra: skip malformed options instead of aborting RA processing 2550a1d: dhcpv6: fix inverted Authentication option validation in Reply 496e55d: dhcpv6: use host-order option length in Authentication validation b6f0c70: dhcpv6: fix out-of-bounds end pointer when parsing IA in Advertise 92fd11c: dhcpv6: fix OOB read and 1-byte heap overflow on captive-portal option 0dab8fe: ra: fix OOB read on captive-portal option comparison a4d6a32: script: fix string_to_env writing garbage and reading past input 2521bf7: script: avoid kill(0) when SIGCHLD races script_call 56cec7a: odhcp6c: drop stale hash_ifname() declaration 49d9c01: odhcp6c: propagate allocation failure from insert_state 4bd976f: dhcpv6: ensure hostname buffer is NUL-terminated for dn_comp 6d12865: ubus: validate element type when parsing reconfigure_dhcp opt_send 01130f8: script: handle allocation failures in env helpers 0a19052: odhcp6c: refuse to follow symlinks when writing pidfile d6c2fbd: odhcp6c: skip malformed /proc/net/if_inet6 entries b6add6c: dhcpv6: avoid signed-shift undefined behaviour in IAID derivation ce52fe1: ubus: clear cached object type id on disconnect 91f88c6: config: stop mutating caller-supplied buffers in send-options parser c938c16: script: handle fork() failure when launching state script 1546a48: ubus: avoid out-of-bounds read when serializing captive-portal URI 3270f08: all: fix inverted captive-portal URI equality check (RFC 8910 §3) e9a9e9d: odhcp6c: bound the address length when parsing the -P argument 5ad94c8: script: walk entries with odhcp6c_next_entry in entry_to_env df4f199: ubus: walk entries correctly and don't leak an open table in entry_to_blob 6c1c4c4: ubus: don't leak an open table on malformed S46 rule/bind in s46_to_blob 1797d2b: odhcp6c: remove pidfile on exit 86a6665: ra: clear captive-portal state when router signals unrestricted URI 0a4e51d: dhcpv6: require known SERVERID when validating Reconfigure afc3c85: dhcpv6: reject Reconfigure with malformed or duplicate Message option df27a49: dhcpv6: enforce monotonic replay counter on Reconfigure RKAP 9177f23: odhcp6c: do not treat DHCPv6 option type 0 as end-of-list daf4ec3: example: write all DNS servers to resolv.conf
- 4c55de4 package/thingino-nimble: update to 88454ec Update thingino-nimble from 13953b6 to 88454ec Hash change: 13953b6e9090e620640edf4c6ea8ffc2e46da6b4 -> 88454ec7f78fdf8ce69b1cfb7f2288251eb0bf82 Changelog: 10ed0ba: Fix kbuild Makefile parsing and translate garbled comments d0de306: Fixed compilation for 4.9.37 88454ec: Fixed compilation for 4.9.37
- 9b767dd package/thingino-libubox: update to 1fe93d2 Update thingino-libubox from 1501e60 to 1fe93d2 Hash change: 1501e60e5554bd206c9b13532b7352e668508420 -> 1fe93d2fefb213ec987763e7e94ce5eaa757bfc3 Changelog: 19e88cc: json_script: use size_t for calloc_a() length argument 9afc710: udebug-remote: pass size_t to calloc_a() 73a2197: treewide: use size_t for length variables to avoid implicit narrowing 1fe93d2: blob, udebug-remote: silence -Wconversion warnings in trivial cases
- a9a562a package/subzeroclaw: update to 35ed5e7 Update subzeroclaw from 1d203dd to 35ed5e7 Hash change: 1d203dd4a896b02d521b300431c9127f2917d10a -> 35ed5e704bbbb429de20b32d6daa735d57b1940e Changelog: 32bd476: shell: exit codes + heredoc fix + safer buffers c6cb13b: extract llm_chat as weak symbol 35ed5e7: license change
- c02a164 package/strero: update to ca1e10e Update strero from a91cd52 to ca1e10e Hash change: a91cd5251ce300e7c6cb1106b5c5a9d8ea021350 -> ca1e10e03b17dfa0899116f975006edfdd2f7b5c Changelog: ca1e10e: update build script
- 1e5002b package/nino: update to adf76f9 Update nino from 5959aa8 to adf76f9 Hash change: 5959aa8663e57b0e0c4bebf44136d4ad24144390 -> adf76f94d30857e85e423635d502d6e5c43aed87 Changelog: 3262446: Remove recursion in syntax highlighting aa7b9fd: Add intro message 8326ded: Add -u option 8d24991: Print usage to stdout 7551ba6: Don't draw intro during loading state 4c9a02e: Refactor ConVar system 862667c: Add timestamp to EditorInput 67fa955: Refactor console input handling 6e2af0c: Rewrite base64 encoding 51ef8c5: Fix autoindent incorrectly increases indent 352d6a1: Fix buffer overflow in parseLine eb79d67: Fix echo/alias off-by-one buffer overflow ad40cd7: Add null checks for getEnv e7a6ca6: Add quit command ef1ad87: Add ANSI/256/default color support ab19998: Refactor color config to use enum index 53e96df: Add vector_free macro 26b7c8d: Refactor Highlighting 7f8e072: Fix vector_shrink 9bfceb0: Add 0 size check malloc functions c61dfb5: Add back syntax command callback 0858e7e: Fix os_unix warnings 43535a5: Fix vector stuck at capacity 1 3ca4b63: Refactor trailing highlight 7192116: Add lazy syntax highlighting cf523ff: Fix top status not drawing when loading adf76f9: CI: Update versions
- 6d2e4b1 package/ingenic-sdk: update to ff16c63 Update ingenic-sdk from 0a402bf to ff16c63 Hash change: 0a402bf2524263ca227eba4ed7af049e7ff21c47 -> ff16c633c3fb81b24e8b0d7549773ec5232be469 Changelog: 5eb47a2: added new T23 sensors 6cab8b9: sinfo: add missing T23 sensor entries 053e871: sinfo: add probe quirks for sc2336p, sc2337p, sc3336p 6809758: t41: link ISP firmware 1.2.6 to resolve missing tx_isp_core_ioctl_mask b67e169: t41: update mpsys firmware blobs from SDK 1.2.6 2d343cd: t41: add 33 new sensor drivers from SDK 1.2.6 0178227: t41: add and update IQ bin files from SDK 1.2.6 36f9245: t23: add and update IQ bin files from SDK 1.3.0 ad87be7: os04d10: select page 0 before chip ID detect 8f91f97: add 116 new sensors to sinfo c7678e4: add sc3338 sensor to t40 from t41 ff16c63: t40: sync ISP sources with vendor SDK 1.3.1
- 75ea44c package/ingenic-lib: update to 99ed33f Update ingenic-lib from 9bfe42f to 99ed33f Hash change: 9bfe42f4a20c65eefd33c509abfa38e383b4119f -> 99ed33fd55fdf4fdfaa378a0924c5c6a7a31943b Changelog: eb21d4c: Add T32 libs 99ed33f: T32: fix paths
- 3ba3f58 package/faac: update to 167b5eb Update faac from 6858080 to 167b5eb Hash change: 6858080dd1abf528d5a946066b9f71cc3d8e0b21 -> 167b5eb656c7f529faf565ead10ba0c67f5eb384 Changelog: 82dfc42: quantize: restore short-window masking penalty to fix energy drops (#103) 9051425: fix: V-001 security vulnerability (#104) 167b5eb: Fix TNS Decoder Rejection Bugs & Remove Obsolete Profiles (#106)
- 7e5cfe6 add a script to read supported flash chip entries from u-boot
- 58cda12 u-boot: add vendored spl files
- 2e8087f webui: add delete button to media files
- 9066c9c make: add flash size to bootlader env
- 6b1ce80 make: require explicitly defined tftp directory
- cffc035 rename cloner to dfu, update plumbing Move thingino-dfu Config.in to Config.in.host Per Buildroot convention, host-only packages should use Config.in.host sourced from Config.in.host, not Config.in. - Renamed package/thingino-dfu/Config.in -> Config.in.host - Removed source from top-level Config.in (target menu) - Added source to Config.in.host (host utilities menu)
- f394eb5 make: copy to tftp directory only if it is set
- 6bc6d3b docker: add overrides, expand symlink
- 3b8d495 docker: add overrides, expand symlink
- f7453e3 docker: add missing packages
- 7b9a45f docker: add missing packages
- 12445a6 replace S99heartbeat daemon with agent runtime endpoint - Add heartbeat runtime resource to prudynt and null adapters - Add media runtime resource to both adapters (fixes 'unsupported runtime resource: media') - Rewrite json-heartbeat.cgi and json-heartbeat-slow.cgi to proxy from agent endpoint instead of reading daemon cache files - Remove agent heartbeat-disable logic from S95thingino-agent - S99heartbeat daemon no longer needed; kept .mk line commented
- df64351 webui(file-manager): add column sorting and file deletion - Make table columns sortable (name, size, permissions, date) with direction indicators; directories always stay on top - Add delete action to file actions modal for files on mounted partitions (/mnt, /media) using global confirm() dialog - Backend CGI enforces deletion restricted to mounted partitions and requires POST method
- d9beaf7 add patch to prerequisites, consolidate common packages.
- 0e66409 wifi-rtl8189fs: drop wext
- 89a2e72 wifi-atmb6031: drop wext
- 5f8c327 makefile: remove bootloader ota upgrade
- 019f2b3 Force
thingino-mosquitto-20xandmosquittoto C-only builds Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com - 0edd38f wifi-atbm6012bx: drop wext
- be1c3f8 wifi-atbm: bump all atbm-wifi packages master (88454ec): 6031, 6031x, 6032, 6032x, 6012b, 6012bx, 6132s, 6132u, atbm-wifi atbm-606x (11ca4da): 6062s, 6062u
- fac7b3a libcurl: remove telnet support, no longer needed
- 3df520f webui: switch diagnostic upload from curl to nc
- 9750354 send2termbin: switch from curl to nc to fix upload truncation
- 6022e6e update GPIO definitions, add button support
- 2ac7e59 make: remove duplicate update unpatch step Run Buildroot override unpatch only once in update and guard when buildroot submodule is not initialized yet. Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
- 426c281 webui: fix WireGuard toggle error handling
- 1cb585d webui: disable flash operations page for non-development builds
- 3df56c1 webui: make send2 page aware of services without media payloads
- b76b425 webui: refactor file manager
- 619da5e agent: include into default configuration
- 6b068bd raptop: clean up
- ad4cb59 webui: fix typo
- f55875e webui: do not install heartbeat service
- 3255efa package/prudynt-t: update to f4b3228 Update prudynt-t from 3cb1621 to f4b3228 Hash change: 3cb1621fa7625b4d47b6de644d82bccc8f7f31b4 -> f4b32289359d176fb0795d9f3735af0bd9d6d2fd Changelog: 51bec07: Guard T20 advanced ISP tuning init e5da7af: reformat sources with default clang width ea3a2f0: ignore local toolchain 093fa78: upgrade to gcc15 toolchain in docker f4b3228: update build.sh (incomplete)
- 6f4e594 ingenic-lib: use sdk 1.3.0 libs for t23 soc
- 47a7c15 sysupgrade: parse content-length case-insensitively Use a simple grep-based parser for Content-Length so lowercase HTTP headers from GitHub are handled correctly. Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
- 959bc13 wifi: move wlan module unload to wired-gateway Stop unloading the Wi-Fi driver from S38wpa_supplicant, and perform wired-priority teardown in S40wired-gateway instead. Also render S40wired-gateway as a template so WLAN_MODULE_NAME is injected at build time. Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
- 8c57ee9 cameras: move failing xburst2 configs to experimental
- ae881cc wireguard-tools: bump to 1.0.20260203 in override
- f5fe4ba wireguard: add hash for 1.0.20250521 bundle
- e53a9f3 move kernel patches for 4.4.94
- 89a357f thingino-live555: use release mirror for bundle downloads Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
- 9fe9ca7 buildroot: add busybox kconfig toolchain dependency patch Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
- 6c39437 make: remove OTA update from the guided compilation
- 9105091 ha: disable firmware updates by default
- ba1b53f webui: add reusable password reveal toggle Add a shared password-reveal helper and styles, then load it on web UI pages so password fields get a click-to-reveal eye icon. Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com webui: fold password reveal into common script Move password reveal toggle behavior into /a/main.js, remove per-page /a/password-reveal.js includes, and delete the standalone script file. Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
- 2aa975b make: skip dep check for update target Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
- fc4b4bd docker-build: no dependencies checking on the host system when compialtion is in a container
- 19081b8 restore kernel selection logic defaulting to xburst1 branch
- bab12bc webui: lock GPIO and ircut hardware fields Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
- 69e9a38 webui: make GPIO pin state fields read-only Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
- 5d9661d telegrambot: add allowed user ID filter Support filtering incoming messages by Telegram sender ID via a new allowed_user_ids config list, while keeping username filtering.
Also expose allowed_user_ids in telegrambot defaults and WebUI config page.
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
- 6f125b0 Add 'lzop' to build dependencies installation
- 88635f7 package/prudynt-t: update to 3cb1621 Update prudynt-t from d6c6742 to 3cb1621 Hash change: d6c6742ce65583c7b35c387b275d122244904794 -> 3cb1621fa7625b4d47b6de644d82bccc8f7f31b4 Changelog: 3cb1621: update submodule
- 8902684 package/prudynt-t: update to d6c6742 Update prudynt-t from f89af0c to d6c6742 Hash change: f89af0c6e5024954c378f50feeebc16410d812d9 -> d6c6742ce65583c7b35c387b275d122244904794 Changelog: d6c6742: update submodule
- ab8c106 package/ingenic-sdk: update to 0a402bf Update ingenic-sdk from 3efc0a1 to 0a402bf Hash change: 3efc0a108bc4c52b4c8bce219d6ae32e20558328 -> 0a402bf2524263ca227eba4ed7af049e7ff21c47 Changelog: 0a402bf: t41: update ISP module headers and source to SDK 1.2.6
- ae181b6 package/ingenic-lib: update to 9bfe42f Update ingenic-lib from 47bf9e5 to 9bfe42f Hash change: 47bf9e5d857a34bf9d5c86b6b53028980bffbf31 -> 9bfe42f4a20c65eefd33c509abfa38e383b4119f Changelog: 9bfe42f: T41: add 1.2.6 libs
- 010c927 package/ingenic-lib: update to 47bf9e5 Update ingenic-lib from 8f54b5a to 47bf9e5 Hash change: 8f54b5af3176997d49ff41eb75934e312a44bacb -> 47bf9e5d857a34bf9d5c86b6b53028980bffbf31 Changelog: 47bf9e5: T41: add 1.2.6 libs
- a1efb00 add T31 kernel defconfig for 7.1-rc1
- 7ad3842 skip BSP-only packages on kernel 7.1, update version refs to 7.1-rc1
- 1050f44 organize linux patches into per-version dirs, add 7.1-rc1 FIT image fix
- c911be4 package/ingenic-lib: skip libsysutils on a1 Hide BR2_PACKAGE_INGENIC_LIB_LIBSYSUTILS on SOC_FAMILY=a1 and gate target install logic so a1 builds don't try to install a missing libsysutils.so. Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
- 8f9df97 ingenic-lib: bump sdk libs for a1 soc to 1.7.0
- caef58e dhcpv6: fix typo
- 95f2d8d retire /usr/share/common
- 9221c72 rcS init: remove dependency on common; stop blinking boot inddicator
- 4ea08a9 ledd init: start blinking at boot with the first found LED
- 99e34dc ledd init: remove dependency on common; refactor to stay resident
- 2773fc8 sysupgrade init: remove dependency on common; remove partial update
- 69aab4d rcK: formatting
- 98345f6 rc.local init: remove dependency on common
- 142db0f ircut init: remove dependency on common
- a4b79f1 mdnsd init: remove dependency on common
- 0d5c95f dropbear init: remove dependency on common
- c3873d5 crond init: remove dependency on common
- 50af3df ntpd init: remove dependency on common
- 2d6af4a mounts init: remove dependency on common
- bac8a0d wireguard init: remove dependency on common
- 7bdd5cd network init: remove dependency on common
- d68e341 mdev init: remove dependency on common
- 04291e8 modules init: remove dependency on common
- c1aafae usb init: remove dependency on common
- 8ba6a1f led init: remove dependency on common
- d52969b dns init: remove dependency on common
- f4bf9ae hostname init: remove dependency on common
- 77c1961 timezone init: remove dependency on common
- 38acdbb syslog init: remove dependency on common
- a4a2bde seedrng init: remove dependency on common
- 0712789 sysctl init: remove dependency on common
- d4e15e1 watchdog init: remove dependency on common
- fe7ae66 failsafe init: remove dependency on common
- 361aa18 datetime init: remove dependency on common
- 2a4f496 formatsd: remove dependency on common
- 572f357 led: remove dependency on common; formatting
- 83b31ae Fix hardcoded /sbin/wpa_supplicant path in stop functions, use DAEMON_FULL
- 56ba0d9 Rename S40wpa_supplicant→S40wired-gateway to avoid service script name collision
- b43e3f4 udhcpc: remove dependency on common
- 829b0ed ircut: remove dependency on common; formatting
- 15959e9 light: remove dependency on common
- 9ec6042 wireguard watchdog: remove dependency on common; formatting
- c119be1 tzselect: remove dependency on common; formatting
- 9cca661 service: remove dependency on common
- 10712e1 send2termbin: remove dependency on common
- 913ac1e blink: remove dependency on common
- b4f3284 dhcpv6: remove dependency on common, refactor returning two values from a function
- 7524b26 mdev: remove dependency on common
- cf51bb4 init: formatting
- 3875a62 network scripts: remove dependency on common
- 1d353d5 stop_client: unload wireless module to free memory on wired preempt
- 74e222d stop_client: release DHCP lease and flush IP on wired preempt
- 6e6e258 Split wpa_supplicant init: S38 starts WiFi before network, S40 preempts if wired S38wpa_supplicant: starts wpa_supplicant/auth before S40network so DHCP runs on an already-authenticated interface. Portal mode defers DHCP/DNS/sound until S40 confirms no wired gateway is available. S40wpa_supplicant: runs after S40network, checks for wired gateway via is_gateway_reachable. If wired is up, stops WiFi. If not wired and portal was prepared, triggers portal_confirmed to start DHCP, DNS, and play the portal-up sound. Fixes: DHCP-on-unauthenticated-wlan0 race when wpa_supplicant runs after network, and premature portal announcement on dual-interface cameras with active Ethernet.
- d0c1ba2 Refine S40wpa_supplicant: proper argument passing for is_gateway_reachable, apply also to usb0
- f01ddde Fix wpa_supplicant not up when the camera have both wired ethernet and wireless.
- 9115bc7 thingino-ha: exit ha-daemon on INT/TERM Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
- ed79264 wolfssl: add missing Config.in
- 4c3915c prudynt: colorize errors
- c76b0c2 formatting
- 40fb367 raptor: refactor onvif discovery to remove dependency on common. formatting
- b4ab629 webui: do not reply on common
- ef81570 formatting
- 1c69ee2 prudynt: add photosensing schedule defaults
- 3fd74db busybox: add cksum applet (for ha-daemon)
- fb53597 webui: fix firmware reset file name
- ad0f09d package/thingino-libubox: update to 1501e60 Update thingino-libubox from f9b1f3f to 1501e60 Hash change: f9b1f3ff17baeb490cc896a037f176c0240ae776 -> 1501e60e5554bd206c9b13532b7352e668508420 Changelog: 2982bfb: blob: fix wrong type for realloc result in blob_buffer_grow() 78c20f6: json_script: convert recursive __json_script_file_free() to iterative e7c13bf: usock: fix off-by-one in nanosecond normalization in poll_restart() 68b3f15: uloop: usock: add error checking for fcntl and remove duplicate include 03821f9: uloop: fix undefined behavior in signal bit operations for signals > 32 e6e6fd8: blobmsg: fix policy name length overflow and add bounds check in blobmsg_parse() d30b9cc: usock: fix integer overflow in timeout calculations 406e342: udebug: fix double off-by-one in udebug_entry_vprintf() 700eca0: blobmsg_json: fix integer overflow in blobmsg_puts() 6351fe5: blobmsg_json: floor strbuf size and tighten the post-format guard 58b6543: blobmsg: fix unsigned integer overflow in blobmsg_alloc_string_buffer() d7a3ae6: blobmsg: use correct byte-order macro when setting BLOB_ATTR_EXTENDED 23c6618: blobmsg_json: fix double format string to avoid truncation and data loss 1edf1d7: jshn: fix integer overflow and type confusion in jshn_parse_file 9b48801: utils: fix integer overflow in __calloc_a() 40a87f7: blob: fix integer overflow in buffer growth functions 02fccb4: blob: use size_t for blob_memdup() length 0fa612c: json_script: avoid alloca() on attacker-controlled pattern length 8c9862b: blobmsg: fix integer overflow in blobmsg_realloc_string_buffer() 5fbef5b: ustream: avoid INT_MAX overflow on malloc in ustream_vprintf() 1501e60: md5: detect read errors in md5sum() instead of returning a bogus hash
- bce001b package/thingino-raptor-hal: update to 9efbea5 Update thingino-raptor-hal from a44f607 to 9efbea5 Hash change: a44f6078cbfe255c3687d5cd8e28af0c5d0933f1 -> 9efbea55544ef6a0d77a1b5c244ff245b44d43ff Changelog: 9efbea5: hal: add defog_strength setter, fix defog getter stub
- 11270f2 package/thingino-raptor-common: update to fe61fb7 Update thingino-raptor-common from cceb7ab to fe61fb7 Hash change: cceb7ab0fdfa5b1f1681e8fa84d303a214ef1703 -> fe61fb70b8750bf474fad379aa212767223aeef8 Changelog: 49b011c: ctrl: add set-log-level and get-log-level commands 5a886e4: ctrl: add daemon restart via self-exec fe61fb7: ctrl: add shutdown command for clean daemon stop
- 6f00583 package/thingino-raptor: update to 46dec1c Update thingino-raptor from d363d00 to 46dec1c Hash change: d363d006bb84dd865f00818482558c98cebeea78 -> 46dec1cf0f1875ace895f6668f83cde602ab0173 Changelog: 1955af7: rad: add ai-disable/ai-enable and ao-disable/ao-enable commands 5cc7a95: rac: record AAC as ADTS and Opus as OGG from audio ring a6f54a5: rvd: mute audio on privacy mode, unmute on privacy off 70e9362: rhd: add stream selection to MJPEG endpoint 89cd44a: rvd: add set-backlight-comp, set-defog-strength, expand get-isp fb64e10: raptorctl: add set-log-level and get-log-level help and dispatch 916dbaf: ric: add set-threshold and get-thresholds commands 6df4061: rod: add enable/disable and set-time-format commands 23d830a: rod: keep heartbeat alive when paused 8be160d: rsp: add set-url command for live RTMP target change f502ee1: rmr: add enable/disable commands, wire common handler, fix status 0d0a96b: raptorctl: restart is a normal socket command, not SIGTERM ace6f98: raptorctl: add start and stop commands 2b68596: raptorctl: fix start arg passthrough and stop timeout+SIGTERM 6ef744e: ric: add range validation to set-threshold, fix cJSON NULL checks c2ab823: rac: deadline-pace playback to stop producer outrunning realtime 46dec1c: rad: fix uninitialized ctrl_ctx reads in cleanup
- a81a1e6 Add new SoC signatures for QEMU variants
- af76ffc container: add missing packages
- d492a85 Add support for qemu-t31 SoC signature
- b0baf8a build system: add experimental kernel 7.0 support
- 5c68abd sdk: revert t23 to 1.1.0
- c6e9e57 Merge branch 'master' into stable-rebased-on-master
- efd2299 agent: add localhost fallback, fix authentication
- b732e2c formatting
- c0164b4 agent: drop dependency on common
- 01e04c8 webui: fix path to ntp configs
- d649c30 webui: rewrite send2gotify plugin
- 1c08d46 package/thingino-raptor: update to d363d00 Update thingino-raptor from b26c9b3 to d363d00 Hash change: b26c9b327efa54eb71f5ac3222efdfadd96cf054 -> d363d006bb84dd865f00818482558c98cebeea78 Changelog: 77f5dd1: tests: disable rod/ric/rmr in leak test (no x86 HAL support) c2aebc6: tests: re-enable rod/ric/rmr with DejaVu font (available on all distros) 4f8eb72: build: bump libsrt to 1.5.5 0f71ffb: build: revert libsrt to 1.5.4 (1.5.5 crashes under ASAN) b730019: rvd,rsd: fix TSAN data races exposed by leak test 2d106d4: rsd: add MJPEG over RTSP via RFC 2435 f7b08cc: rsd: add jpeg sub-stream, make jpeg configurable 1a15444: config: add [rtsp] jpeg options to stock config 850d88a: rsd: reject /jpeg endpoints when jpeg is disabled 785423c: rsr: validate passphrase length and check setsockflag return 8869e05: config: move [srt] section between [push] and [filesource] d363d00: rsr: use FATAL for passphrase errors that exit the daemon
- f36ac41 package/compy: update to 0c53f0f Update compy from f5c0391 to 0c53f0f Hash change: f5c0391d286c180365f863097c4f575d2f24a535 -> 0c53f0f48042e96781c74cf0359020dc5312857f Changelog: 2581602: add RFC 2435 JPEG RTP transport 0057dcb: reject JPEG scan data exceeding 24-bit fragment offset 64a571b: fix RFC 2435 type field: type 0 is 4:2:2, type 1 is 4:2:0 bf04bb7: fix restart header: F=1 L=1 on all packets per RFC 2435 e27f69b: readme: add JPEG/RFC 2435 to features and architecture 0c53f0f: fix include order for clang-format-19
- 1d6c223 formatting
- 49ce18f webui: add preview page for raptor; enhance ptz controls
- 1640388 usbnet: add support of webcam profile
- 13b735a webui: fix permissions on cgi scripts
- e99dc5b add motion driver selection and acceleration parameters to default motors.json
- dd4be54 add webcam.fragment and wire it to wansview 106 profile
- 53909e1 clean up
- 7c4c292 cameras: normalize motors.json, add missing invert axis settings
- 8c4e54e cameras: add auqee c1 version with sc2331 sensor
- ad460bd Merge branch 'stable' into fix/motion-video-wait-cap
- df0d208 webui: reorder services
- 3618ac8 subzeroclaw: update skills
- d43fd35 subzeroclaw: preserve argv and support stdin in szc Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
- 7ebc2a6 docs: add a page on subzeroclaw
- 6cb5615 subzeroclaw: add szc stderr-silencing wrapper Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
- 62072cb make: run target-finalize in rebuild target Update rebuild-% to run target-finalize after -reinstall and refresh docs/help text to match. Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
- 375f10d makefile: add -reinstall to rebuild- macro to repopulate target/
- 3f84c85 package/thingino-raptor-common: update to cceb7ab Update thingino-raptor-common from de15832 to cceb7ab Hash change: de15832cd90f9ef8ecc4a9a8c549a6e470455147 -> cceb7ab0fdfa5b1f1681e8fa84d303a214ef1703 Changelog: bb72769: add MPEG-TS muxer for SRT streaming 3ec966b: ts: ISO 13818-1 compliance fixes 2dfa731: ts: add G.711 and L16 audio support 09f14ff: ts: remove dead memmove in adaptation field stuffing cceb7ab: ts: remove unsupported PCMU/PCMA/L16 private stream types
- 1c451b1 package/thingino-raptor: update to b26c9b3 Update thingino-raptor from 25d74c5 to b26c9b3 Hash change: 25d74c5472a4caad8281bf0cca1fe8d39cf5cf58 -> b26c9b327efa54eb71f5ac3222efdfadd96cf054 Changelog: e5aeb7a: rvd: default stream fps to sensor fps when not set in config 13f7e26: rwd: fix opus decoder leak on client disconnect e64bf9a: rwd: fix ctrl socket and video buffer leaks on shutdown 03b812c: tests: add RWD/WHIP coverage to leak test fe161f1: tests: add RAD/ROD/RIC coverage and codec cycling to leak test c30a8fd: rsr: add SRT listener daemon 8549612: rsr: add IPv6 support b6a500e: rsr: pass DTS to TS muxer for B-frame readiness faf0c72: rsr: fix audio codec mapping to ring payload types 0b3477d: gitignore: add rsr binary ff07d83: rsr: audit fixes 32cda2b: tests: add RSR to ASAN build and leak test efb9a40: config: add default [srt] section for RSR a75f1d4: readme: add RSR to daemon table and architecture diagram e36ac45: rsr: set SRTO_TRANSTYPE to SRTT_LIVE explicitly ee01e32: rsr: revert explicit SRTO_TRANSTYPE, add frame debug logging 18a79ab: rsr: add ADTS framing for AAC audio, remove debug logging 33e885a: rsr: fix A/V sync with separate PTS bases ba619cd: rsr: skip unsupported audio codecs instead of corrupting TS stream e335f8a: rsr: add diagnostic logging, fix README audio codec list b26c9b3: readme: add libsrt to dependency list
- d83cee1 package/thingino-jct: update to 46e15ef Update thingino-jct from 0712698 to 46e15ef Hash change: 0712698af6b84d94ce53258ff8eadcdd9e761241 -> 46e15ef8a8688842bd7ef2d86ed03977360eeaa1 Changelog: 46e15ef: Fix string coercion on set updates
- b7c1a54 package/thingino-ledd: update to 55535e3 Update thingino-ledd from 4b4b075 to 55535e3 Hash change: 4b4b0757f45ff689e8ea046e3ba658ad3b75531a -> 55535e396ea486ccf6ee8a5b1dd19f6d655746cf Changelog: 55535e3: Avoid duplicate GPIO restore/stop logs
- 498e49a package/thingino-ledd: update to 4b4b075 Update thingino-ledd from d1a37a6 to 4b4b075 Hash change: d1a37a660cef20bc027f5059594ae2eece510161 -> 4b4b0757f45ff689e8ea046e3ba658ad3b75531a Changelog: 4b4b075: Add foreground/debug logging and robust GPIO stop handling
- cab0cd9 package/thingino-raptor-ipc: update to 8c68f61 Update thingino-raptor-ipc from bef2803 to 8c68f61 Hash change: bef2803f61ac4a03d23c9024cabce45b347959be -> 8c68f61f94fb88885b03c1fec9e14a9db89ac7a4 Changelog: 1ead3b6: Initial commit ad83114: Fix consumer rss_ring_wait: poll write_seq instead of broken eventfd 00bd61b: Add post-read seq validation to detect data region overwrite 58af869: Fix ring overflow recovery: skip to latest instead of oldest 8298604: Add profile and level fields to ring header 4142f69: replace polling with futex for ring consumer wake-up 16c02ce: add scatter-gather rss_ring_publish_iov, refactor publish to use it 478ae10: clang-format: initial format pass (LLVM/4-space style) a85a7d7: osd_shm: fix consumer mmap to PROT_READ|PROT_WRITE for clear_dirty bca097d: ring: copy-on-read API eliminates data race c30ce22: ring: add incarnation counter for crash recovery 17b798f: ring: cache-line alignment, memory ordering docs, futex comments 08680e6: ring: add IDR request flag for fast keyframe recovery 1df1484: ring: document ABA hazard impossibility in post-copy validation fbf9249: ring: document oversized frame rejection and wrap policy contracts 6038543: ring: clarify timestamp source is HAL/IMP_System clock (shared A/V sync) 8fe9776: add README 744429b: osd: add heartbeat, get_fd for staleness detection 93c3be1: ring: add overflow check to iov length summation e290089: ring: add demand signaling and crash recovery for on-demand encoding 33e63b7: clang-format 461eb33: tests: add unit test suite (25 tests) e556b5a: ring: static assert little-endian for futex on write_seq 7f7e56d: ipc: document 0666 permissions as intentional for single-user camera 10315e1: build shared library instead of static archive 2be5c88: makefile: add -Bsymbolic for direct internal calls b39d202: add static library target for standalone builds 75a4313: rss_ring: dedicated futex_seq field, eliminate strict-aliasing UB 2b45e09: rss_ring: document PID recycling limitation in reap_dead_readers 6dea7e4: rss_ring: invalidate slot seq before overwrite to close revalidation race 60c87b6: rss_osd_shm: bounds check dimensions, remove dead consumer eventfd 938a3a9: rss_ctrl: atomic socket permissions, write timeout on client fd 2a3b83b: rss_ctrl: heap-allocate resp_buf — 64KB overflows MIPS stack frame 682a6f9: rss_ctrl: fix resp_buf uninitialized use on early-exit paths c851b71: add --gc-sections to shared library link ac335f6: ring: add protocol v3 with zero-copy reference mode 22c7273: ring: add ref_buf_stride and fix max_frame_size for refmode bdd61c7: ring: fix consumer /dev/rmem mmap offset d86a9b3: ring: consumer tries named SHM before /dev/rmem for refmode 5856b16: ring: harden refmode — bounds checks, buf_idx validation, ordering 275747d: ring: add zero-copy peek/peek_done API for refmode consumers 0fdd242: ring: add rss_ring_version_ok() inline helper for version mismatch detection 2683c29: rss_ipc: include <stdbool.h> for bool type 7904a6f: ipc: add rss_ring_check_version helper to centralize version mismatch warnings 47a2064: ring: fix off-by-one in rss_ring_peek_done slot validation b02dd4e: ring: fix incarnation counter destroyed by memset c53e519: ring: validate header fields on open before pointer arithmetic 134ef4c: ring: make acquire/release transactional with PID registration d5cd129: ring: require exact version match on open bf113f9: ring: use UINT64_MAX sentinel to prevent phantom first-frame read 70d58a7: ring: use shm_unlink + O_EXCL to prevent dual-producer truncation a949d1f: ring: propagate EFAULT/EINVAL from futex_wait instead of spinning 2f6adb2: ring: wake blocked consumers on destroy 859f5e6: osd: validate header fields on open before pointer arithmetic 897bf56: osd: use atomic release/acquire on magic for header visibility 83def1b: osd: fix mmap leak on eventfd failure in rss_osd_create 2b0a413: ring: revert to O_CREAT without O_TRUNC or O_EXCL 1c11d45: build: add -Werror 200e65d: ring: add debug logging to rss_ring_open failure paths ea1b855: ipc: add log callback, replace silent failures with leveled logging a85bb55: tests: add ring version and magic mismatch tests 68822d0: ipc: add debug logging to refmode mmap path 1090b30: tests: add configurable sanitizer selection 7473090: gitignore: add *.so 8c68f61: ipc: add trace log level, downgrade shm_open failure from debug
- 301fdf2 package/thingino-raptor-hal: update to a44f607 Update thingino-raptor-hal from 4ed512a to a44f607 Hash change: 4ed512a6bb7fc60997a86750c0333cf2c1f34de1 -> a44f6078cbfe255c3687d5cd8e28af0c5d0933f1 Changelog: d190fa1: Initial commit 047597b: Fix audio encoder registration: replace memcpy hack with proper shim fdccb3c: Fix build: add missing sources, fix caps symbol, add extern decls 6d8d37b: Fix encoder init: correct gopCtrlMode, init order, bitrate unit 4cbc4f8: Fix issues found during T31 SDK PDF audit 6b5c2ae: Fix issues from multi-SoC PDF audit (T20/T21/T23/T30/T32/T40/T41) a4d8326: Change AI_DEV_ID to 1 for T31-X analog mic e436ff1: Add scaler config to rss_fs_config_t 8ac5353: fix new SDK RC overrides: bitrate values must be kbps, not bps 18a11bd: fix JPEG encoder init: SetDefaultParam with JPEG-specific params 79acd11: clang-format: initial format pass (LLVM/4-space style) ef9e8c8: hal_osd: CreateRgn(NULL) per SDK spec, remove Start from show_region 6853a32: hal_osd: CreateRgn(NULL) per SDK, no memset on UpdateRgnAttrData, ShowRgn via IMP_OSD_ShowRgn 9267215: hal_osd: CreateRgn only (SetRgnAttr deferred to caller) 4908338: hal_osd: add layer parameter to osd_show_region de5fc86: add audio_release_frame to HAL ops 46af6ad: remove unused rgn_attr variable 75473ed: add system info queries (IMP version, SYSUTILS version, CPU) fdc8da7: add ingenic-headers submodule ca2b7d9: add README eca5600: default INGENIC_HEADERS to local submodule path bfea1cc: add IVDC support for T23, T32, T41 ab3e6ee: add RSS IVS wrapper types, translate in hal_ivs create_move_interface 8478a2f: hal_isp: fix T40 AWB — use SetAwbAttr, no Awb_SetRgbCoefft in libimp e6ff117: hal: set power_gpio in IMPSensorInfo for T32/T40/T41 f32a1d1: add enc_set_rc_mode, expand WB modes to full IMP SDK enum b5572b4: hal: replace strncpy with snprintf for consistent NUL-termination b28022d: hal: shrink sensor name to 20 bytes to match IMPI2CInfo.type e4a19c9: hal: implement 27 encoder API features (Phase 1-6) 26f0c85: hal_isp: fix WB mode cast for T32/T40/T41 88b5800: hal: weak symbol for PollingModuleStream (missing from some T41 libimp) a11d7ca: hal: add multi-sensor support for T23/T32/T40/T41 6d9b7dc: hal: add ISP OSD support using IMP_ISP_Tuning API 16af832: hal: ISP OSD mask cover via IMP_OSD_MultiCamera_SetRgnAttr_ISP 159a335: hal_osd: guard T23-specific chx/sensornum struct members for T41 compat 419f52d: hal_osd: guard T23-specific ISP OSD mask function for T41 compat 918ce41: hal: fix JPEG quality init with QL tables, extend platform support 22b66dd: hal: add log callback — daemons can redirect HAL logs to syslog 6dc6878: hal: add person detection support 961f1f5: hal: add JZDL standalone inference for YOLOv5 cf514ac: hal_ivs_jzdl: remove debug logging, update header comment 706e122: hal_ivs_jzdl: audit fixes — bounds checks, null guard, size_t cast 407134f: hal: set OSD pool to 1MB for detection overlay support ea2c098: hal: dynamic OSD pool sizing via osd_set_pool_size before init ca70d59: hal_ivs: weak symbols for persondet — links without libpersonDet_inf 51e0799: update ingenic-headers submodule to include JZDL/IVS headers 9bf35b3: encoder: add ip/pb_delta, max_psnr fields and fix T41 JPEG crash 7abe3f9: encoder: match prudynt QP bounds and MaxPictureSize defaults 58cd84f: makefile: add gc-sections and size optimizations a8e5d90: makefile: enable LTO with gcc-ar for cross-module optimization a4b4ad6: split HAL into video and audio archives 93fe7ff: isp: widen setter signatures to int, clamp at API boundary dbe2f4b: encoder: fix old SDK QP bounds and add hSkip frame pattern d32bd50: framesource: add fs_set_channel_attr for runtime reconfiguration dec4c47: hal_memory: fix duplicate include, consolidate MIPS cache declarations 8282a91: hal_encoder: preallocate per-channel stream struct, eliminate per-frame malloc 2f1b576: hal: fix HAL_CHECK not propagating error code to caller c287de9: hal_framesource: fix signed overflow in snap_frame alloc size a7553a2: hal_audio: preallocate frame/stream structs, eliminate per-frame malloc 5a5fb39: hal_encoder: exclude T32 from JpegeQl API (not in hybrid SDK) 2da9705: hal_encoder: JpegeQl only on old SDK (T20/T21/T23/T30) 8e5e9fb: hal_encoder: fix remaining JpegeQl guard (set_jpeg_quality) 136cdfe: hal_osd: fix ISP OSD guards — T23-only chx/sensornum, T23/T32-only mask 317c0b7: hal_osd: platform-specific ISP OSD struct access for T23/T32/T40/T41 d79586c: hal_osd: T41 uses T32 struct layout, only T40 has flat IMPISPSingleOSDAttr b8452ac: hal_osd: implement ISP mask for T40 (array API) and T41 (block API) c65a82f: hal_osd: T32 uses SetMaskBlock (same as T41), not MultiCamera_SetRgnAttr_ISP 6a5a62c: hal_osd: T40 color value uses mask_argb not argb 12893d5: hal_memory: fix SPDX license — GPL-3.0, not MIT d854b84: hal: pre-CreateChn stream buffer config and rmem info 43939db: hal: return rmem mmap offset from enc_get_rmem_info 1349319: hal: add enc_inject_stream_shm for T2x SHM refmode 5836c19: hal: harden inject_stream_shm — verify marker, guard region size 0891958: hal: strip directory prefix from log FILE paths 01ee695: hal: call FlushStream after RequestIDR for immediate keyframe delivery 78103ee: hal: guard T31+ SetStreamBufSize and old-SDK JPEG tables for T32 compat 072412c: hal: make libsysutils a weak optional dependency 12bfc32: hal: add runtime SoC verification and platform name API 1aea921: hal: add T33 build target (T32-compatible SDK 2.0.2.1) 451d0a2: hal: add T33 to all source file ifdefs 4103bb2: hal: use PLATFORM_T32 for WDR guards, not HAL_HYBRID_SDK 9ad3fea: hal: add T33 to README supported platforms 74df6cf: hal: add AEC profile path setter and vtable entry fd35880: hal: unified AMIC/DMIC audio input through audio_init 7abc270: hal: add EV and AWB R/B gain to rss_exposure_t 09ec918: hal: add EV and AWB R/B gain to Gen3 exposure path 9fbdb72: hal: fix FIXQP channel creation — pass bitrate=0 and default QP 30389e5: hal: document old SDK maxGop rounding behavior 48d2931: hal: fix hSkip comment, remove unnecessary m/n fields 3b53ec1: build: promote -Werror from partial to full 27ae07a: hal: return RSS_ERR_NOTSUP from rss_hal_init_single on NULL init 404aa54: hal: fix FLOURESCENT → FLUORESCENT typo in WB mode enum 05da1a4: hal: enforce single-init and guard against double-deinit 4ffbb8d: hal: add T33 to caps error message and update SoC count 2d82db3: hal: remove dead hal_caps_get accessor 195905c: hal: add NULL/size guards to public version query functions 59c52a8: hal: warn on unknown deviceID in bind query fallback 4a6dcff: hal: warn when mipi_switch is enabled with single sensor f6e289d: hal: fix overflow in ring-buffer wrap detection f8a8ebb: hal: make scratch buffer per-channel for thread safety de97233: hal: document fragility of SHM injection 1a90ffb: hal: remove duplicate RSS_MAX_ENC_CHANNELS define in encoder 90794d8: hal: guard against zero packCount in enc_get_frame 6a0936f: hal: add static assert on JPEG quant table size match db87eb2: hal: propagate GetTotalGain return value in get_exposure_n c2ac04c: hal: pass timeout to IMP_ISP_Tuning_WaitFrame instead of NULL 64fd61b: hal: pass chn and level to SetScalerLv on T23/T31 5af10c2: hal: respect block parameter in audio frame polling b0ce518: hal: remove dead hal_adec_register_decoder stub 7240516: hal: fix snap_frame input validation, size, and ownership docs d87520c: hal: remove misleading (void)timestamp before actual use f29ef15: hal: use preallocated dmic_frame_priv instead of per-frame malloc 94dc801: hal: fix buffer overflow in IVS move sense[] copy da17937: hal: translate base_move params instead of raw passthrough dd51e38: hal: remove debug sizeof logging from IVS move init 1a81512: hal: validate JZDL frame dimensions before allocation 4e178e2: hal: validate model_path null-termination before use 27a3e6e: hal: reuse per-context vectors in JZDL detect hot path e3e8e8a: hal: guard JZ_MXU define, note vendor net_destory typo 6b134e3: hal: include imp_ivs_base_move.h for IMP_IVS_BaseMoveParam f32ac71: hal: fix FLOURESCENT typo in RSS_WB_WARM_FLUORESCENT enum c9b6ae6: hal: suppress unused variable warnings on non-DMIC builds 7c01fa5: hal: handle T20 256-byte JPEG quant table vs 128-byte on other SoCs ad61d1e: hal: add IMP_DMIC_DisableAec forward decl for T30 in audio 9593355: hal: guard ExposureValue access to T40/T41 only d0232a0: hal: undef IMP_IVS_MOVE_MAX_ROI_CNT before base_move include (T20 conflict) ebb33e1: hal: use configured fps for JPEG encoder instead of hardcoded 24 9dcf4f1: hal: clamp JPEG quality to 99, add QL table setter for old SDK b8cf8a2: hal: enable has_jpeg_qp for T20 a44f607: hal: clamp JPEG quality to 98, 99 also causes stream overflow
- 03adc45 package/thingino-raptor-common: update to de15832 Update thingino-raptor-common from 7cb6382 to de15832 Hash change: 7cb6382 -> de15832cd90f9ef8ecc4a9a8c549a6e470455147 Changelog: (old hash 7cb6382 not found; showing latest 30 commits) 93dcb7a: rss_tls: add client-side TLS for outgoing connections 8a7499f: fix signal/thread race on g_running c28303e: log: close previous syslog/file on re-init 11e5750: common: document thread-safety caveat on config get functions 034eba0: config: warn on section name truncation db7ff0d: config: clear dirty flags after successful save be71cca: config: warn when save lock acquisition fails 645fbbb: daemon: fix weak symbol check to test address not value 39f1891: util: fix three bugs in rss_secure_compare 2c69cd3: util: add O_NOFOLLOW to atomic write temp file 0ff42b0: util: fsync parent directory after atomic rename 59faeb7: ctrl: return structured error on malformed JSON 2f05a13: ctrl: detect response truncation in get-affinity handler 5bbd247: ctrl: merge duplicate ret==0 checks in config-save handler 704c9bc: ctrl: use rss_ctrl_resp_json for config-get-section and get-affinity ec2afe3: http: self-initialize base64 table on first decode e4b76fe: http: guard rss_http_check_basic_auth against NULL args 79c1940: http: derive auth needle length from sizeof instead of magic number 675f504: tests: add secure_compare edge case coverage 4e7471d: tls: require CA certs and VERIFY_REQUIRED for client connections ee439d2: tls: fix EINTR handling in BIO and stale timeout inheritance d1340d6: tls: remove wrong ca_chain set in server context d6849be: tls: log server-side handshake failures at DEBUG level 547a6d1: tls: require hostname and check set_hostname return on connect 4978f0b: tls: log mbedtls_ssl_setup failures in accept and connect 644e03f: build: add -Werror e142d5a: config: include file path and line number in parse warnings eca086b: daemon: wire IPC log callback via weak symbol at init 3011da8: tests: add configurable sanitizer selection de15832: gitignore: add *.so
- 84311fd package/thingino-raptor: update to 25d74c5 Update thingino-raptor from dcc8ee2 to 25d74c5 Hash change: dcc8ee2 -> 25d74c5472a4caad8281bf0cca1fe8d39cf5cf58 Changelog: (old hash dcc8ee2 not found; showing latest 30 commits) e0dd9f0: rwc: reduce payload transfer size and poll timeout 6484394: rsd-555: add live555-based RTSP server daemon 6e7c223: rsd: fix "No video PTS" and improve RTSP/SDP compliance 9ff6fd9: rsd-555: IDR request on connect and synthetic audio timestamps 009dbcf: build: statically link live555 for rsd-555 d958780: docs: add RSD-555 to README a4d292c: build: add rss_ipc_log.c to asan and test builds 04324d5: rsd-555: robust startup and RVD restart handling d8abf49: rsd: gate backchannel on [rtsp] backchannel config (default false) 01f9e6c: rsd-555: add RTSP backchannel (two-way audio) b201d6a: tests: enable backchannel in device test config and verify SDP 2f04ccb: bump opus to 1.6.1, match thingino buildroot 6723b6c: tests: add on-device RMR recording test c77e2e0: rmr: add MJPEG recording support and ring demand signaling 565beb9: tests: run sibling repo tests in test-all.sh 254f0bf: ric: fix photo mode EV direction and add AWB auto-calibration e932db7: rwc: add sub stream support and remove 720p f225915: ric: default photo mode poll interval to 100ms 84fa117: ric: fix fixed-drift threshold causing night/day flip-flop 142b46e: ric: skip gpio export if already exported 2907297: build: suppress shlib-undefined warnings from vendor libimp.so 264e100: config: point raptor.conf header to 23-rss-config.md f47170d: rvd: add set-jpeg-quality command 6ed08ae: rvd: keep rings alive across encoder restarts 8a14c24: rsd-555: add RTSP backchannel with live555 ONVIF patches 84a11ca: ric: check write return in gpio_export 58cf8d5: readme: slim down config/init/build sections, point to raptor-docs f9ee33d: rwd: default audio to opus, add pcmu mode, fix webtorrent ifdefs b98537b: config: update audio_mode default to opus, document pcmu option 25d74c5: run.sh: add -n flag for normal (daemonized) mode
- f904350 package/compy: update to f5c0391 Update compy from 5162d9d to f5c0391 Hash change: 5162d9df050c969cfc505492c830cd145a91bed5 -> f5c0391d286c180365f863097c4f575d2f24a535 Changelog: 7420393: tls: add per-connection mutex for thread-safe I/O c3bdf8c: audit: fix thread safety, memory safety, and correctness issues eb0e152: srtp: bulk AES-CTR, handshake timeout, remove BearSSL dc97cff: crypto: clean up error paths in PSA cipher and handshake timeout ef07f64: tests: add SRTP boundary, extension, and SRTCP replay tests c1cc7e2: tests: add raptor-pattern tests for RTP stats, SRTP sequences, RTCP SR c215654: tests: add interleaved parsing, RTP extension, dual SRTP stream tests 6ad1bfe: tests: add real TLS I/O tests with mbedTLS client 1e3cd38: add TSAN, multi-threaded stress test, fuzz targets, error handling 0772b4d: ci: suppress wolfSSL internal leak reports in ASAN 25a3d5a: cmake: add gc-sections and size optimizations 6933878: cmake: enable LTO for cross-module optimization 103c681: cmake: only enable LTO when cross-compiling (fixes CI) 18804bb: cmake: use CMake IPO for portable LTO support 0a16877: cmake: only enable LTO when cross-compiling 10d87b1: readme: remove BearSSL from TLS backends 5d488a7: transport/tcp: coalesce interleaved header and iovecs into one write d30cbc6: tls: add ciphersuite preference API (Compy_TlsContext_set_cipher_preference) 383a79e: tls/mbedtls: guard conf_preference_order for stripped-down builds abb347f: tls/mbedtls: version-gate conf_preference_order (added in 3.0) b421266: fd writer: handle partial writes and EINTR 64c0a0e: rtcp: fix NTP-RTP clock domain mismatch in Sender Reports c170e36: rtp: clang-format fix dfe2220: rtp: randomize initial sequence number per RFC 3550 §5.1 f5c0391: tests: fix seq assertion for random initial sequence number
- 92e0a23 wifi: reorder dns records alphabetically
- e526d41 wifi: simplify
- 41ed1ca webui: wording
- 4f6b2fd daynightd: fix typo
- 54ac578 button: revert to the original repo after the pr was merged
- 6328eac gpio: simplify
- 10cabb3 package/ingenic-sdk: update to 3efc0a1 Update ingenic-sdk from afa2026 to 3efc0a1 Hash change: afa2026a232794ca0cc6ef1a3ab3463c8b2bc15a -> 3efc0a108bc4c52b4c8bce219d6ae32e20558328 Changelog: 4c8926d: add SENSOR_BUS_TYPE and SENSOR_I2C_ADDRESS where missing, replace hardcoded values 3efc0a1: fix gpio-userkeys: unregister board device even when nbuttons==0, guard reload
- 1853f86 wifi portal: bring back sign-in request after connecting to the camera access point
- 6b5ee9b Address review feedback from @themactep - Source prudynt-helpers instead of common (motion only uses singleton/echo_info/echo_error, all in prudynt-helpers) - Run shfmt per pre-commit hook requirements
- be625e8 telegrambot: do not run in portal mode
- ecdf704 onvif: do not run in portal mode
- ddd9b23 webui: add send2gotify plugin
- 5dbebbf thingino-ha: add live view camera entity via MQTT discovery Publish a camera component with periodic base64-encoded snapshots over MQTT so Home Assistant auto-discovers and displays a live view. Uses ch1 substream (smaller JPEGs), defaults to 60s interval, publishes first frame immediately on startup. Toggleable per-camera from the HA config page under Sensors.
- cbcbc21 scripts: shorten RTSP stress SSH controlpath Use a dedicated short /tmp control socket directory for SSH multiplexing in rtsp-stress-test.sh, avoiding silent connection failures when output paths are long. Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
- 3fc343e add T32/T33 records to SOC database
- 54e8968 prudynt-t: preserve user overrides after websockets merge Add user prudynt.json layering (common/camera/device) to Makefile and re-import those files in prudynt-t after package websockets.json defaults so user websocket settings remain final. Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
- ef7c5f0 thingino-ha: preserve user MQTT overrides Re-apply user thingino.json layers after importing HA defaults so ha.mqtt.host, ha.mqtt.username, and ha.mqtt.password are not reset to empty values. Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
- 04ce435 cameras: correct syntax for buttons; wlan pin defaults to active_low false
- 296b061 ota: fix SD staging space requirement Only apply tmpfs working-space headroom when staging firmware in /tmp. For SD card staging paths, require only firmware-size free space. Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
- d7c59c8 thingino-ha: throttle OTA release checks Add a dedicated ha.ota_check_interval (default 6h) so firmware release lookups are decoupled from the 15s state loop. Cache latest release and next-check timestamp per camera, add deterministic jitter, and back off on failed checks to reduce GitHub API/DNS load. Wire ota_check_interval through defaults, Web UI, and json-config-ha.cgi, and document the new behavior in docs/homeassistant.md. Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
- e857872 webui: simplify styling
- 6038297 webui: simplify styling
- 1e4281f webui: better layout for media endpoints urls
- bd67e1a add known T32/T33 SoC models
- 1c6708d record manager: drop dependency on common
- 569765c makefile: expand KERNEL_BRANCH in .config
- a3f617e ingenic-sdk: pick up button gpio from thingino.json file instead of env.txt
- b259894 package/thingino-button: update to c1e6f94 Update thingino-button from 6a88c8e to c1e6f94 Hash change: 6a88c8e5fc203ceabc721ad03e2e1be8deb81c80 -> c1e6f94680b8b8ad118241d3b57230fae47735d3 Changelog: c1e6f94: add autodetect_gpio_keys_device to resolve DEVICE=auto
- ca7e3a0 cameras: move iget_c5pt_t41lq_gc4023_jl1101 to supported
- d930f0a finalize config iget_c5pt_t41lq_gc4023_jl1101
- 66ee717 kopt: check kernel version by a boolean value
- 4c3fee6 makefile: use boolean KERNEL_VERSION_X for kernel dependent selections
- 1df1c7f makefile: persist BR2_SOC_FAMILY in .config
- 60bdccf kopt: fix webcam gadget config for T20 T20 has VIDEO_TX_ISP built-in which depends on VIDEO_V4L2 and MEDIA_SUPPORT being built-in. Don't downgrade them to modules on T20 — only add VIDEOBUF2_VMALLOC and USB_G_WEBCAM.
- 32ece39 wire mbedtls-certgen package
- 0b0ebc3 prudynt: use human language in controls
- 0a62705 ha: drop dependency on common
- 0df8a06 webui: wire recovery url to nginx config
- bd2f721 webui: add list of endpoints to the preview page
- b46259d webui: mention agent data flow
- c94c3e9 webui: add missing raptor preview page
- ae18865 webui: codify data stream source on sensor data page
- 66febd6 webui: drop dependency on common
- 18cac56 webui: force drop web browser cached redirects from older webui
- 4227735 webui: install streamer-specific preview page
- 16f588d webui: add hub agent scripts
- 11b8f40 webui: remove dependency on common
- 319055a sysupgrade: temporarily disable service stopping. it crashes camera. remove a bashism.
- 4a0ccfb onvif: add streamer-specific discovery service file
- 7e439be conf: drop dependency on common, add support of optional file
- 2c24b9b zerotier: drop dependency on common
- 6f5cd41 wifi: drop dependency on common
- cf7552a usbnet: drop dependency on common
- 9537a69 ssl: drop dependency on common
- a8b563a uhttpd: drop dependency on common
- 6e19ede system files: drop dependency on common
- df28a74 xburst2 frag: switch abi to nan2008
- 7201b9c fix xburst2 nan2008 toolchain build in CI Revert buildroot patch to the simple original (no BR2_MIPS_CPU_MIPS32R2, no default swap) and move the override patch step before make source so Kconfig sees BR2_mips_xburst2 before defconfig runs.