github themactep/thingino-firmware firmware-2026-05-04

3 hours ago

Changes in this release:

  • 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)
  • 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
  • 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
  • 3ec6d3d prusa: drop dependency on common
  • c513098 provision: drop dependency on common
  • dccdcfa onvif: drop dependency on common
  • 04cb7a7 motors: drop dependency on common
  • 8446412 mmc: drop dependency on common
  • c31feff esphome: drop dependency on common
  • 82f227a button: drop dependency on common
  • 32a06c9 strero: drop dependency on common
  • 1cc758b gadget serial: drop dependency on common
  • 2c065ca go2rtc mini: drop dependency on common
  • 8a05b74 go2rtc: drop dependency on common
  • 0168e2e iad: drop dependency on common
  • ef1b112 impconfig: drop dependency on common
  • a1ef072 pwm: drop dependency on common
  • e41442e lightnvr: drop dependency on common
  • 6a4350c telegrambot: drop dependency on common
  • ce86d65 daynightd: drop dependency on common
  • 02016f2 dev scripts: drop dependency on common
  • 0c26ae9 dusk2dawn: drop dependency on common
  • cf7ca98 gpio: drop dependency on common
  • fcd680e ircut: drop dependency on common
  • 72f9d20 kopt: add fixups for webcam
  • ded4978 formatting
  • 953989a streamer virtual package, remove duplicate entry
  • 440a34a gestalt: drop dependency on common
  • 9d677f9 webserver virtual package, add a variant with no webserver
  • 72fa93b init: harden overlayfs handling
  • 2f5881f wyze acc: remove rependency on common
  • 0508155 motors: do not try to merge empty files
  • 313c767 Fix live555 Date header Add the live555 patch for the RTSP Date header format fix. Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
  • 4e28b4d Fix dependency package Require the host crypt development package in dep_check.sh across supported native distros. Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
  • 0d41918 clean up
  • b420090 motors: add math lib
  • ca16aef clean up
  • 1f2665a live555: bump to 2026.04.22, fix patches
  • def34db build: add setup-hooks target for git hook bootstrap
  • a32ac4c Fix motion video wait cap: use clip duration instead of hardcoded 15s The motion script waited a maximum of 15 seconds for video encoding to complete before copying to storage, causing truncated clips for any recording longer than ~13 seconds. Changes: - Read video_length from motion config (new key), fallback to recorder.duration, then default to 10s - Set wait cap dynamically: clip duration + 10s buffer (min 20s) - Add motion.video_length to prudynt.json defaults - Expose video_length in json-motion.cgi for web UI configuration Fixes: #1115 (issue 2)
  • 0ad891d container: add memory to podman machine
  • c1d282d makefile: remove partial image
  • 9b97dd4 Improve responsive #button-bar controls Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
  • 9b71a95 Add LIBC and toolchain metadata to scripts/rootfs_script.sh os-release Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
  • 1695d79 formatting
  • 5888605 sysupgrade: disable partial upgrades.
  • 7f7ee64 libc: switch stable branch to uclibc (!)
  • 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.
  • b558dfd show recent package hash when no update found
  • be2d728 switch overlooked defconfigs to core.fragment
  • bd74fbe Update buildroot to latest stable release 2026.02.1
  • bfab9e9 handle existing short hashes in packages
  • c1a1a50 update buildroot to the last known stable version
  • 6ef3c19 package/ingenic-musl: update to be103c4 Update ingenic-musl from 7ddd435 to be103c4 Hash change: 7ddd435 -> be103c48b47ce5491c4ae051793124f877d32f45 Changelog: be103c4: shim: add stat64/lstat64/fstat64/lseek64 for musl
  • d4f0dce package/ingenic-lib: update to 8f54b5a Update ingenic-lib from 9a70bb8 to 8f54b5a Hash change: 9a70bb8562dbc32303349c92ec6ecf26a7b74b61 -> 8f54b5af3176997d49ff41eb75934e312a44bacb Changelog: 8f54b5a: T33: add 2.0.21 libs
  • 5158b33 buildroot: patch for mips32r2 architecture
  • fd4506d Wire Makefile.update to manage Buildroot override patches Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
  • fb3476c Add record stop command handling Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
  • fac815a Update record default mount path Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
  • 0e30322 Add build info generator Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
  • c850db7 ingenic-lib: remove noise that breaks buildroot stats collection
  • c38d6cf makefile: log compilation; build update files with a script; track compilation time
  • 96a1364 sysupgrade: add rm applet
  • 8e863dd makefile: stop packing rootfs.tar
  • 0d810c1 makefile: upload update image to tftp only if it exists
  • 2c5f623 recorder: harden the stopping routine
  • ae090c4 S02ssl: change permissions in the repo, the scrtipt will become executable after installation
  • cae4884 package/thingino-uhttpd: update to e619cb0 Update thingino-uhttpd from 506e249 to e619cb0 Hash change: 506e24987b97fbc866005bfb71316bd63601a1ef -> e619cb04cddba8316d6928ff99f55a49e6ddc561 Changelog: e619cb0: client: use base-10 parsing for Content-Length header
  • 1caa847 package/faac: update to 6858080 Update faac from ecd5a10 to 6858080 Hash change: ecd5a10122a9ce698516bb587b6036efab0a787d -> 6858080dd1abf528d5a946066b9f71cc3d8e0b21 Changelog: 6858080: Bump msys2/setup-msys2 from 2.31.0 to 2.31.1 in the actions group (#101)
  • ebcb559 make: shorter prompt for providing the IP address
  • 640bb8a Set MBEDTLS_PLATFORM_DEV_RANDOM to /dev/urandom for thingino-mbedtls Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
  • 06bded4 package/thingino-motors: update to c27bb9a Update thingino-motors from 148997d to c27bb9a Hash change: 148997d87c66f36c5c2f579e9e07ca68978687e8 -> c27bb9a64368e3bfe838b20002a557244a47ec98 Changelog: c27bb9a: motors: serialize muxed XY moves and honor per-request speed
  • c708ccb package/prudynt-t: update to f89af0c Update prudynt-t from 25ac7c5 to f89af0c Hash change: 25ac7c5fe058d7de668fb94566b8e4257451d535 -> f89af0c6e5024954c378f50feeebc16410d812d9 Changelog: f89af0c: Disable startup IMP recovery by default
  • a4ce2f7 package/ingenic-sdk: update to afa2026 Update ingenic-sdk from d634d9e to afa2026 Hash change: d634d9eb912f04a9a519b71f7b68012cac7181f5 -> afa2026a232794ca0cc6ef1a3ab3463c8b2bc15a Changelog: be7fbfb: sensor-info: expand struct with boot/mclk/vi/gpio for xburst2 (4.4.94) c1ee22b: t23: update ISP module headers and source to SDK 1.3.0 e1818ff: mpsys: fix KERNEL_VERSION match for 4.4.94 firmware blob selection 58095a9: isp/t41: remove unused KVERSION variable afa2026: add jz-aes
  • faa7e96 webui: correct token usage sample
  • 8d1b276 prudynt: add a non-osd privacy screen plugin
  • 95fb175 webui: restart audio thread on toggling audio
  • 8e75ac5 prudynt: refactor scripts controlling mic and speaker
  • 62c0986 prydynt: remove failing patches
  • f58ba48 package/prudynt-t: update to 25ac7c5 Update prudynt-t from cffc631 to 25ac7c5 Hash change: cffc6318a19ff64234776a86dfe18f9fddb0f950 -> 25ac7c5fe058d7de668fb94566b8e4257451d535 Changelog: 25ac7c5: server a static black jpeg when in privacy mode
  • 0307cb1 package/thingino-jct: update to 0712698 Update thingino-jct from c96a708 to 0712698 Hash change: c96a70888923af7033c7b9af9987658b983e6f46 -> 0712698af6b84d94ce53258ff8eadcdd9e761241 Changelog: 3a05919: Add json-c compatibility entry points 0712698: Broaden json-c serialization compatibility
  • fdf2066 package/subzeroclaw: update to 1d203dd Update subzeroclaw from 8f2f2f3 to 1d203dd Hash change: 8f2f2f38bd95aa2e95908316addb2a4ff07bab31 -> 1d203dd4a896b02d521b300431c9127f2917d10a Changelog: 1d203dd: small fix
  • e17dbd8 package/strero: update to a91cd52 Update strero from 1ca86c6 to a91cd52 Hash change: 1ca86c6901d2af919def4708b5feefd5dc3eac63 -> a91cd5251ce300e7c6cb1106b5c5a9d8ea021350 Changelog: 8814d9c: merge documentation directories a91cd52: update libs
  • 541efc0 Add automatic make relaunch with explicit CAMERA and IP Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
  • 97b4173 package/faac: generate faac.pc inline — upstream dropped the template Upstream knik0/faac commit 9ed7f23 ("remove obsolete pkg-config template") deleted libfaac/faac.pc.in, and our faac bump to ecd5a10 (commit af499ec) didn't notice. FAAC_INSTALL_STAGING_CMDS still tried to sed the now-missing template: sed: can't read .../faac-ecd5a10.../libfaac/faac.pc.in: No such file Emit the .pc file via printf using the fixed staging paths directly, with the same Name/Description/Libs/Cflags the old template carried. No more dependency on an upstream file that's been gone since 2025.
  • cd8a6c1 fixing thingino-diag arguments in docs/diagnostics.md Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
  • 071fdb3 fixing make.ota target names in documentation Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
  • 14ab5bd faac: drop outdated patch

Don't miss a new thingino-firmware release

NewReleases is sending notifications on new releases.