Skip to content

Releases: themactep/thingino-firmware

firmware-2026-03-16

16 Mar 08:49

Choose a tag to compare

Changes in this release:

  • 2f53dc1 busybox: enable strings applet
  • 0598a56 thingino-libwebsockets: bump libwebsockets to 4.5.2 Make the libwebsockets version override unconditional so package builds use 4.5.2 even without selecting BR2_PACKAGE_THINGINO_LIBWEBSOCKETS directly. Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
  • 783b664 libwebsockets: add netlink sign-conversion patch Add 0002-fix-netlink-sign-conversion.patch to the 4.5.2 global patch set so the netlink signedness fixes apply in non-override builds. Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
  • ddfe07c cameras: fix white light gpio definition for aoqee c1
  • 10b298a init: read data directly from uboot env
  • a0f2cef remove patches obsoleted by newer buildroot version
  • 11f7ff3 makefile: do not chmod buildroot
  • 275c849 buildroot: update to 2026.02 Update buildroot submodule from 2025.11.x to 2026.02 (tag: 2026.02, commit 52ee2f5644da5389634b2465f1dc31deb5a4807c). Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
  • a8c5cff webui: layout tweaks
  • 36b106b docs: send2gphotos
  • 0eccc84 docs: kernel 4.4
  • 16ed6e8 docs: shared host directory
  • e5f4313 docs: save agent's thought process for future reference
  • 0861af4 formatting
  • 30f0ba9 busybox: remove strings applet
  • 507ef9b copilot: extend instructions
  • 8fbc83c package/ingenic-sdk: update to 688d857 Update ingenic-sdk from 249f859 to 688d857 Hash change: 249f859b18589666ee16ff5328e0fd90a227119c -> 688d8570647c21f2ed075dd6bf553484c0b66712 Changelog: 8e74d4e: add sc2336p sensor driver for t31 (ported from t23) 688d857: add IQ file for sc2336p sensor for t31
  • 55abf66 package/thingino-onvif: update to 8fc2bd7 Update thingino-onvif from 8d2df21 to 8fc2bd7 Hash change: 8d2df21e9f040f31861dc64dbecc804e06b5fb0f -> 8fc2bd78b14373896e000dedd5ff3b2ea0d35438 Changelog: 435bbc0: ONVIF backchannel: use ch0 URI directly, remove profile URL fallback 8fc2bd7: add libtomcrypt artefacts to make clean
  • 669676c makefile: formatting
  • a559f30 webui: add support for thingino.json to info.cgi
  • e040e69 live555: patch onvif backchannel support for non-complient clients
  • 8d61213 docs: add onvif specs
  • 8be013f docs: add onvif specs
  • 5ec8e56 cameras: another round of env cleanup
  • 67a881f webui: reorganize files; use short option for launching mqttsub daemon
  • 96aeee7 copilot: extend instructions with overrides and basic rules
  • 9a5d3b9 mosquitto: add a preliminary mqtt subscription service with webui configuration
  • 1cef366 mosquitto: add mbedTLS broker support Rewrite mosquitto broker to use mbedTLS instead of OpenSSL for TLS, matching the mbedTLS backend already used by the client library. - 0002-broker-mbedtls.patch: full broker mbedTLS port - New src/net_mbedtls_broker.c/h: per-listener TLS context using mbedtls_ssl_config, srvcert, pkey, ca_chain; BIO callbacks over raw sockets; certificate CN extraction for logging - src/net.c: guard OpenSSL-specific code with WITH_TLS_OPENSSL - src/security_default.c: add WITH_TLS_MBEDTLS cert/key loading path - src/Makefile: add net_mbedtls_broker.o and tls_mbedtls.o for mbedtls - All other broker sources: ifdef guards for OpenSSL vs mbedTLS paths - mosquitto-override.mk: when broker+mbedtls, exclude apps/mosquitto_ctrl and apps/mosquitto_passwd from build (both require OpenSSL) Broker is opt-in via BR2_PACKAGE_THINGINO_MOSQUITTO_BROKER=y in defconfig. Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
  • 6e3ab62 webui: formatting
  • 677f522 httpd-ssl: fix indentation
  • 3899018 fixes to the second sensor handling
  • e58241d prudunt: move docs and test to prudynt repo
  • e2ebcf4 portal: make it work with uhttpd
  • ff98b35 webui: make ui buttons more responsive, update state immediately on chanage, reverify with heartbeats
  • 580193c webui: fix json-config-admin.cgi send_json response format Replace non-standard HTTP/1.1 status line and broken Content-Length header with correct CGI Status: header, matching the pattern used by other CGI scripts. This fixes the 502 Bad Gateway error on the config-admin.html page.
  • 7fed752 prudynt-t: add daynight pitch-black startup fix docs and tests Add documentation and a host-runnable test suite for the pitch-black startup bug fix in the prudynt-t day/night algorithm. docs/DAYNIGHT_PITCH_BLACK_STARTUP_FIX.md Describes the four bugs (TC-2/3/4/8b), their root causes, the three fixes applied (hysteresis decay, 2-confirm initial mode, fallback timeout), timing impact table, and how to run the tests. tests/test_daynight_algo.cpp Self-contained C++17 simulation of DayNightWorker's simple-gain loop with 10 test cases (21 assertions) covering all bug and fix scenarios. Build and run on the host with: g++ -std=c++17 test_daynight_algo.cpp -o test_daynight_algo && ./test_daynight_algo Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
  • 1fdf6b1 uhttpd: increase CGI workers from 2 to 20, connections from 50 to 100 -n 2 allowed only 2 simultaneous CGI instances. With json-heartbeat.cgi (and potentially other SSE streams) permanently holding slots, regular CGI requests like pan/tilt motor commands had no available worker and would queue indefinitely, appearing as 'pending' in the browser. Increase -n from 2 to 20 to accommodate persistent SSE connections (heartbeat, motor-stream, timegraph) plus concurrent API requests. Increase -N from 50 to 100 to match the higher concurrency. Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
  • d4f5b81 webui: add Connection: close to all remaining CGI response headers All CGI scripts that output HTTP responses without Content-Length were missing Connection: close, causing fetch requests to hang indefinitely under uhttpd (which uses HTTP/1.1 keep-alive by default). Covers all response patterns: - heredoc-style send_json() functions (firmware-reset, info, config-, tool-, etc.) - printf-style header blocks (login, session-status, api-key, logout, etc.) - echo-style headers (json-prudynt, json-telegrambot, ctl-telegrambot, restart-prudynt, etc.) - inline one-liner printf headers (json-motor-params, json-prudynt-save, json-send2, etc.) - redirect responses (restore, reboot, run) dl2.cgi is exempt as it already sets Content-Length. Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
  • 9b8a23f webui: add Connection: close to CGI json_header responses uhttpd uses HTTP/1.1 keep-alive by default. Without Content-Length or Connection: close, uhttpd cannot determine when a CGI response body ends, causing fetch requests to hang in pending state indefinitely. Add Connection: close to json_header() in all JSON CGI scripts so uhttpd knows to close the connection after the response, signalling the end of the response body to the client. Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
  • 8ce01dd refactor video storage garbage collector
  • 5044122 webserver: switch to uhttpd with ssl support (not enforced)
  • d195a87 thingino-uhttpd: disable CGI script timeout (-t 0) to fix SSE streams uhttpd's -t flag sets script_timeout: a hard wall-clock timer started at CGI process spawn. With -t 30, uhttpd kills every CGI after 30 seconds regardless of I/O activity. SSE endpoints (json-heartbeat.cgi, json-motor-stream.cgi, json-timegraph-stream.cgi) are long-lived streaming processes that must run until the client disconnects. The 30-second kill caused a 30-second disconnect/reconnect loop in the browser's EventSource after the earlier fix removed the duplicate Connection header (which had caused a 10-second loop via Keep-Alive: timeout=10 misinterpretation). Set -t 0 to disable script_timeout. proc.c checks script_timeout > 0 before arming the timer, so 0 safely disables it for all CGI scripts.
  • ec367d2 webui: remove Connection: keep-alive from SSE CGI headers uhttpd already adds Connection: Keep-Alive + Keep-Alive: timeout=10 for all HTTP/1.1 keepalive requests. The CGI scripts were also setting Connection: keep-alive, creating duplicate Connection headers. Chrome interprets the duplicate as listing keep-alive as a hop-by-hop header, making Keep-Alive: timeout=10 apply to the SSE stream itself. This causes EventSource connections to be closed after 10 seconds, firing onerror and reconnecting in a loop. Remove Connection: keep-alive from json-heartbeat.cgi, json-motor-stream.cgi, and json-timegraph-stream.cgi.
  • b73c975 thingino-webserver: add busybox httpd config fragment When BR2_PACKAGE_THINGINO_WEBSERVER_BUSYBOX is selected, inject a BusyBox kconfig fragment enabling all required httpd features: CGI, basic auth, MD5 auth, ranges, proxy, gzip, etag, last-modified, date, ACL, URL encoding, error pages, and script interpreter support. Fragment is appended via BUSYBOX_KCONFIG_FRAGMENT_FILES in busybox-httpd-override.mk, included from thingino-overrides.mk.
  • 5aa1866 thingino-webserver: add busybox httpd config fragment When BR2_PACKAGE_THINGINO_WEBSERVER_BUSYBOX is selected, inject a BusyBox kconfig fragment enabling all required httpd features: CGI, basic auth, MD5 auth, ranges, proxy, gzip, etag, last-modified, date, ACL, URL encoding, error pages, and script interpreter support. Fragment is appended via BUSYBOX_KCONFIG_FRAGMENT_FILES in busybox-httpd-override.mk, included from thingino-overrides.mk.
  • 417196e thingino-httpd-ssl: switch cert generation to ECDSA, add IP SAN The preferred_ciphers list in httpd-ssl.c is ECDSA-only (ECDHE_ECDSA_*). Generating an RSA cert caused alert 40 (handshake_failure) immediately - no cipher could be negotiated. Switch mbedtls-certgen call to ECDSA P-256 (-s 256 -t ecdsa) to match. Also auto-detect the primary IPv4 and pass -i to include an IP SAN, consistent with the uhttpd cert gen fix.
  • 3af214d add httpd-ssl package
  • 135d40c webserver: install httpd-ssl proxy along with busybox httpd
  • 8bc5a66 httpd-ssl: fix path to service file
  • 6458515 mbedtls-certgen: add SAN + Ba...
Read more

firmware-2026-03-09

09 Mar 08:47

Choose a tag to compare

Changes in this release:

  • c6041d6 package/thingino-onvif: update to 8d2df21 Update thingino-onvif from b9a9b8a to 8d2df21 Hash change: b9a9b8a368ecb19acfdc7047e6753a5c8193dce8 -> 8d2df21e9f040f31861dc64dbecc804e06b5fb0f Changelog: 8d2df21: fix: restore correct snapshot URLs reverted by ccd0d17
  • cdb0990 package/prudynt-t: update to d8e9707 Update prudynt-t from a37ad5d to d8e9707 Hash change: a37ad5d6205abaf2f4602f295128abc72a5a7291 -> d8e97072b6e45fece965ee6f4954ce9d0874f4fb Changelog: d8e9707: framesource: allow 1 buffer on memory-constrained devices
  • 9a41efc package/prudynt-t: update to a37ad5d Update prudynt-t from 48104af to a37ad5d Hash change: 48104af430b48df13c678048b06669b97c776a81 -> a37ad5d6205abaf2f4602f295128abc72a5a7291 Changelog: a37ad5d: audio: use monotonic counter-based PTS for AAC RTSP streams
  • ab95935 motion: do not limit stop run
  • 80da651 cameras: add Wansview Q6 variant (T21N, OV2735B, RTL8188FTV)
  • e88fe8f webui: remove .small class from timelapse recorder form subtitle
  • 8113300 cameras: remove unused gpio data from uboot environment
  • 68771e8 makefile: add missing default value to isp freq parameter
  • 51b7be3 webui: use soc app to get the soc family
  • 458005f sysupgrade: enforce fail-safe reboot
  • 3c7961e docs: add notes on mosquitto mbedtls bug fix
  • b08bc6f prudunt: move docs and test to prudynt repo
  • f3c7e80 package/thingino-onvif: update to b9a9b8a Update thingino-onvif from 20bcff8 to b9a9b8a Hash change: 20bcff82ff019671d07b5f623cee8f9b75c23b91 -> b9a9b8a368ecb19acfdc7047e6753a5c8193dce8 Changelog: 16554fe: add ONVIF media1 backchannel (AudioOutputConfiguration) to profiles 9562ec5: Fix cat() num param for GetProfile_AOC.xml: 8->10 (5 pairs) bbae3f0: use direct urls for snapshots per channel. 307ae69: add authentication challenge header on error 401 ccd0d17: extend with support of 25.12 specs 87bd5e5: update onvif spec set 9868ece: update test suite with new functionality 12b7618: update existing wsdl files to 25.12, add missing ones e0f9e85: clean up a816fc2: correct message id format 9827189: use SetHomePositionResponse in SetHomePosition as per specs 983ec28: add documentation on motion detection events b9a9b8a: Merge branch 'local-3b347677e6adf1d516459b0f07e47b'
  • f1ea445 prudynt: remove custom audio settings from wyze v3 cameras for better audio quality
  • a7ccf5c prudynt: adjust default audio settings to higher sampling bitrate and slightly higher default audio level
  • 2ea49f6 Sonoff B1P: simplify WLAN GPIO
  • 615d60c cameras: add Hugolog E5 (T31L, SC2336P, ATBM6012BX)
  • 562cff0 Add BR_THINGINO_MOTORS to Vanhua H33 (#1096)
  • edab715 package/faac: update to f7ae97b Update faac from edc0246 to f7ae97b Hash change: edc02462e529b23539d932681fc0f96120e4708e -> f7ae97b3ec40694de07e4866838f8b186ab694f3 Changelog: f7ae97b: optimize MDCT by removing conditional branches and hoisting logic (#72)
  • f35154a copilot: add onboadding instructions
  • b0adae7 do not use uboot environment settings in linux
  • 9669abb Add GNCC P5 profile config files (#1094) Add fully functional profile config files for gncc_p5_t23n_sc3332_atbm6012bx
  • 222b975 Telegram motion enable (#1093) * add shortcuts to motion to enable/disable Allow easy commandline control of motion detection.

The 'set' routine also modifies the config file to make it persistent so it can survive a power blip and come back rearmed. This might be an option.

I happen to like seeing the json return output, however corking it might be another option. * add arm/disarm motion detection commands to telegrambot Requires updated motion script with the shortcuts.

  • 79de037 faac: use fast math to save power (#1091) * makefile: do not pad empty extras, flash_eraseall in sysupgrade cleans entire partition * package/faac: update to edc0246 Update faac from 64fc541 to edc0246 Hash change: 64fc54142912088eecabaa159339768eca30f3d6 -> edc02462e529b23539d932681fc0f96120e4708e Changelog: 33558e6: CI: add native MSVC build and fix Windows compatibility (#66) 081d81d: remove dead code (#65) 0622a3a: optimize FFT reordering by combining real and imaginary passes (#68) a5abf5e: optimize FFT performance (#70) 07fb0b4: ci: update GitHub Actions and add Dependabot configuration (#74) 0a01417: Bump the actions group with 2 updates (#75) d3a9c22: remove redundant defines (#76) 4f74d18: make faacgui usable again (#77) c5c142d: report library version on version mismatch 407db12: maintain library SONAME version 0.0.0 ab58250: Merge branch 'master' of https://github.com/knik0/faac c79fd73: build both static and shared library by default 779a803: properly declare symbol visibility as hidden ad7e4f0: refactor quantizer for portable C and extensible SIMD dispatch (#71) edc0246: optimize memory allocation and unify MDCT implementation (#73) * faac: use fast math to save power --------- Co-authored-by: Paul Philippov paul@themactep.com Co-authored-by: Paul Philippov themactep@gmail.com
  • 7991f04 package/faac: update to edc0246 Update faac from 64fc541 to edc0246 Hash change: 64fc54142912088eecabaa159339768eca30f3d6 -> edc02462e529b23539d932681fc0f96120e4708e Changelog: 33558e6: CI: add native MSVC build and fix Windows compatibility (#66) 081d81d: remove dead code (#65) 0622a3a: optimize FFT reordering by combining real and imaginary passes (#68) a5abf5e: optimize FFT performance (#70) 07fb0b4: ci: update GitHub Actions and add Dependabot configuration (#74) 0a01417: Bump the actions group with 2 updates (#75) d3a9c22: remove redundant defines (#76) 4f74d18: make faacgui usable again (#77) c5c142d: report library version on version mismatch 407db12: maintain library SONAME version 0.0.0 ab58250: Merge branch 'master' of https://github.com/knik0/faac c79fd73: build both static and shared library by default 779a803: properly declare symbol visibility as hidden ad7e4f0: refactor quantizer for portable C and extensible SIMD dispatch (#71) edc0246: optimize memory allocation and unify MDCT implementation (#73)
  • a9412a7 add auth check to json-telegrambot.cgi (#1090)
  • e68b55e remove onvif-simple-server package in favour of customized thingino-onvif fork
  • e2afaf2 remove long broken legacy prudynt package
  • 601fa5d webui: clean up
  • 0f4a3d5 webui: rework network configuration form to support new wifi configuration
  • 3eb94f2 webui: add more space on top of the screen. fix alert bar dismiss on click.
  • cdecf34 Add Date email header to send2email (#1085) This prevents email clients (i. e. Thunderbird) from often showing the received date instead of the actual send date.
  • 1b64b4f makefile: do not pad empty extras, flash_eraseall in sysupgrade cleans entire partition
  • 1fcb1d8 thingino config: remove unused parameters
  • ccc577a webui: remove redundant example config
  • fce9d1a webui: remove outdated mjpeg tools
  • 2e75d65 prudynt: default to autosized osd pool
  • 641612b extend ignoring of selected camera flags in git
  • 641c456 webui: fallback assets for offline/isolated mode
  • af5756a wpa_supplicant: refactor to reuse global variables
  • 2c67234 wifi: clean up
  • 215034b do not reconfigure network in ap mode
  • 86d07ec wifi: fix access point mode
  • 6c41620 wifi: refactor wireless configuration. merge ap mode with the rest of wlan
  • ed72332 eufy T8410: flip tilt (#1081)
  • 360044f cameras: add o-kam qc3 variant with aic8800dc wifi module
  • bb0fe98 do not dump environment
  • de801af makefile: add run target to run compiled binaries with qemu
  • d356d0e onvif: start onvif discovery daemon on every non-loopback network interface
  • 77060f8 add virtual thingino-ssl package

firmware-2026-03-02

02 Mar 08:47

Choose a tag to compare

Changes in this release:

  • d6baa86 jooan w8u: adjust isp direct mode
  • 1f53401 remove unused $SENSOR variable
  • 377a57c cameras: add okam qc3 t23dl variant
  • 2ad11ae jooan w8u: move to supported
  • d31560c faac: bump. switch to single precision and use upstreamed DRM patch (#1077)
  • 487e0d3 jooan w8u: lower isp clock to 200mhz
  • a41e967 ffmpeg: clean up package
  • 5d486cd edison wk1mpx: no need for wifi module in env
  • 7f283b5 Check pt fix smartnvr build (#1075)
  • d44eff0 telegrambot: do not welect web ui package
  • 9c1615d ffmpeg: fix version variable usage to build 8.0.1 instead of 6.1.4
  • 50c9d16 package/ingenic-lib: update to 9a70bb8 Update ingenic-lib from 8172ef3 to 9a70bb8 Hash change: 8172ef3fa0249aba8178f060ad3e2d82e8f19346 -> 9a70bb8562dbc32303349c92ec6ecf26a7b74b61 Changelog: 9a70bb8: Add A1 1.7.0
  • 7d32c91 Fix tilt for wuuk and vanhua (#1070) Co-authored-by: Josh at WLTechBlog wltechblog@wanderlounge.net
  • 720c271 bump lightnvr version (#1062) * bump lightnvr to 0.26.1 * bump
  • 0a6dbb8 camera: add experimantal iget_c5pt_t41lq_gc4023_jl1101 (#1067) * camera: add experimantal iget_c5pt_t41lq_gc4023_jl1101 * camera: add experimantal iget_c5pt_t41lq_gc4023_jl1101 --------- Co-authored-by: Lukáš Mojžíš lukas.mojzis@grenames.cz
  • 77daa36 edison wk1mpx: tidy up config
  • f61709a jooan w8u: toggle wifi gpio to activate module
  • c80e434 wifi: fix connection to hidden ssid (continued)
  • 0934ca0 wifi: fix connection to hidden ssid
  • caf6eb4 webui: remove httpd proxy, read token from onvif requests
  • daceafc makefile: define qstrip macro if not defined
  • 6a0e2e4 wording
  • 04b2a85 use correct payload to check for dhcp time zone data
  • 6e5b25d dts: add iGET C5PT (#1063) Co-authored-by: Lukáš Mojžíš lukas.mojzis@grenames.cz
  • 2271e8f clean up
  • 9e165fc cameras: sort and deduplicate defcondig parameters
  • 4189b14 Update Buildroot documentation formatting
  • b66c9e5 package/thingino-onvif: update to 20bcff8 Update thingino-onvif from 86a11ce to 20bcff8 Hash change: 86a11ce4249167e60c842e0431ba1accb438db5f -> 20bcff82ff019671d07b5f623cee8f9b75c23b91 Changelog: 20bcff8: Add ONVIF Media1 backchannel (#4)
  • 3bf4f43 package/prudynt-t: update to 642116d Update prudynt-t from 6566b90 to 642116d Hash change: 6566b9029c3f846282ebeb3b9ef2f98deaae312b -> 642116d92db8ec0eab3d1044d8d6e0a4fc330d78 Changelog: 4fcc0c4: fix parser flow when NO_TUNING is defined 642116d: improve hal: correct h265 support; add missing t10
  • 058b163 webui: generate a random api key on boot if it does not exist
  • 1de5575 sysupgrade: add sync and enforce reboot in case watchdog reboot fails
  • b13729e cameras: remove gpio settings already migrated from env to json configs
  • ecf9cd8 cameras exp: configs clean up; remove pure modules; sort defconfigs params
  • 3717762 use compilation timestamp from os-release as a fallback date and time
  • d10a41a ensure ${DL_DIR} exists before bind-mounting it to prevent permission issues (#1061) Co-authored-by: Lukáš Mojžíš lukas.mojzis@grenames.cz
  • 4d7a556 ingenic lib: add definition for sdk 1.3.0
  • 1cd85dc cameras: add edison wk1mpx t20 variant with jxh62 image sensor (#1051) Co-authored-by: Lukáš Mojžíš lukas.mojzis@grenames.cz
  • 19fbe50 webui: fix file permissions

firmware-2026-02-23

23 Feb 08:48

Choose a tag to compare

Changes in this release:

  • 3bf4f43 package/prudynt-t: update to 642116d Update prudynt-t from 6566b90 to 642116d Hash change: 6566b9029c3f846282ebeb3b9ef2f98deaae312b -> 642116d92db8ec0eab3d1044d8d6e0a4fc330d78 Changelog: 4fcc0c4: fix parser flow when NO_TUNING is defined 642116d: improve hal: correct h265 support; add missing t10
  • 058b163 webui: generate a random api key on boot if it does not exist
  • 1de5575 sysupgrade: add sync and enforce reboot in case watchdog reboot fails
  • b13729e cameras: remove gpio settings already migrated from env to json configs
  • ecf9cd8 cameras exp: configs clean up; remove pure modules; sort defconfigs params
  • 3717762 use compilation timestamp from os-release as a fallback date and time
  • d10a41a ensure ${DL_DIR} exists before bind-mounting it to prevent permission issues (#1061) Co-authored-by: Lukáš Mojžíš lukas.mojzis@grenames.cz
  • 5b2e3a1 package/ingenic-sdk: update to 249f859 Update ingenic-sdk from 8c79b17 to 249f859 Hash change: 8c79b177452a74c9a7c8bd5c3e4bdc1df292333a -> 249f859b18589666ee16ff5328e0fd90a227119c Changelog: 29dcab6: add sensor IQ files for T41 platform harvested from stock fw 249f859: formatting
  • b0b20bb package/nino: update to 1a0ee53 Update nino from 08fd839 to 1a0ee53 Hash change: 08fd8390fbcd0d832fb629516e44272f47d1babd -> 1a0ee5315423a0f24b71ec96d8bdcc5eda53ee5b Changelog: 1a0ee53: Fix helpinfo on loading state crash
  • b62536b buildroot: ditch reproducible builds
  • 53ceb2a dhcp ntp: fix logic of ntp server override
  • 88e944d cameras exp: add quotes to sensor values
  • 43f0d7c Add initial user configuration files
  • 2e6005e move user-specific configuration to users/, move overlay files directly to overlay/
  • 4a83fc0 gncc gc2: remove deprecated gpio settings from env, sort defconfig entries
  • 607d49c makefile: quote sensor name values per kconig requirements, strip them later for sendor model
  • 1f96255 package/thingino-onvif: update to 3b34767 Update thingino-onvif from 0e72593 to 3b34767 Hash change: 0e72593682ca1bac254a0c03c8b6a4c48df75122 -> 3b347677e6adf1d516459b0f07e47b18377252ec Changelog: 3b34767: use in-url api key to authenticate on the snapshot endpoint
  • 3ef05af webui: accept token as a GET parameter
  • 492f096 uboot: add dependency on host-uboot-tools for mkimage
  • 8bcbab0 libwebsockets: add explicit dependency on mbetls
  • a21311e streamer: better clean up
  • 4192b78 streamer: hide extra configuration until the package is selected
  • 4b55747 streamer: rename opus package dependency
  • 064ff1d uniflasher: erase entire partition before flashing new data
  • 2f4478a makefile: read keypress without an extra enter
  • 573785c wifi ap: remove custom header
  • 2ef0d32 wifi ap: rename wpa supplicant configuration file
  • ccdc1e8 prudynt: add default settings for scheduled photosensing
  • 23a2415 prudynt: add modular configuration
  • ba31287 joona w3u: clean up and formatting
  • 2171fae wifi: refactor disable_timeline script, move it from overlay to wifi package
  • f083feb udhcpc: add missing time zone filename variable
  • 6504ba9 webui: remove h.265 support from t21 soc
  • e662fbe linux: apply patch directly to kernel 3.10 to avoid conflicts with 4.4
  • ec6a7ff sysupgrade: self-contained colored echo; dynamic offset calculation; cleanup
  • 9f62f23 webui: fix typo on send to ntfy test handing
  • ed45ba7 webui: add prudynt config saving script
  • 715e1dc makefile: remove invalid select. bar is handled in uboot
  • 5b5a4a4 makefile: add config variables for t23 sdk 1.3.0
  • 4851648 makefile: organize selects
  • 9f57f27 portal: merge captive portal to global wifi package. store wireless configuration in wpa config
  • d08e428 webui: correct files installation
  • 75b806d package/prudynt-t: update to bfe39ad Update prudynt-t from 3c8e835 to bfe39ad Hash change: 3c8e8350cffbf5f66856e1a8902fbc22711f8895 -> bfe39ad3ce4af7c4593fb377f1bf6adf8d1eb972 Changelog: 835fca2: prudunt: verbose logging aroung AAC encoder f0c89a9: prudynt: remove excessive logging in audio buffer 50b0d0e: prudynt: wait for sensor initialization to complete d9d0e00: adjust .gitignore 84fa818: init daynight algo in an undetermined mode, do not assume day or night 3f400cc: try to recover failing AAC encoding 90ac6cc: implement modular design. disable unwanted components as needed. 3dbe563: extend hal to add missing prototypes bfe39ad: add time schedule configuration for photosensing
  • 987d1dd package/lightnvr: update to 791f5ac Update lightnvr from 41fa993 to 791f5ac Hash change: 41fa993c9b253dc19aab5c083619ef9f8e99fcf8 -> 791f5ac332fb0dca7c98a9323b7fe03b0f207e8f Changelog: 8801a37: health check improvements for libuv server 791f5ac: 0.25.1
  • 7126a5d package/jsonpath: update to e5a07f4 Update jsonpath from f4fe702 to e5a07f4 Hash change: f4fe702d0e8d9f8704b42f5d5c10950470ada231 -> e5a07f468508f5e599723373445d442623ece70d Changelog: afe72ad: main: usage spell fixes e5a07f4: main: defer processing until options are processed
  • 51cb5b8 package/ingenic-sdk: update to 8c79b17 Update ingenic-sdk from 77f3a57 to 8c79b17 Hash change: 77f3a5784873718e6222c8f49b706a9149c7b792 -> 8c79b177452a74c9a7c8bd5c3e4bdc1df292333a Changelog: 3f48188: add gc1084 sensor driver for t23 472b2b1: formatting 78d0cf5: media bus format compatibility layer for kernel 3.10 and 4.4 c068e06: hardcode old kernel color format for now 327a248: add IQ file for GC5603 sensor (from CamHi) 8c79b17: sensor IQ files for T41 from WUUK Y0110 doorbell firmware dump
  • 9f57766 package/ingenic-lib: update to 8172ef3 Update ingenic-lib from 98b6f0d to 8172ef3 Hash change: 98b6f0d5b6abf5b91e48c74d398101776c3df5ae -> 8172ef3fa0249aba8178f060ad3e2d82e8f19346 Changelog: 9e4945b: T23: add 1.3.0 libs cc7c118: add prj007 libs 3c6bfef: t40: add 1.3.1 libs 8172ef3: t41: add 1.2.5 libs
  • 25df07a odhcp6c: patch for modern cmake
  • 119efa1 formatting
  • 2e67a3c udhcpc: split scripts per option, remove dependency on shared common
  • a43c407 makefile: refactor partition sizes calculation
  • f1adcbd makefile: cleanup and formatting
  • ad5bd31 makefile: respect explicitly provided CAMERA variable
  • d1470be makefile: remove deprecated module configs parsing
  • 25a8f30 buildroot: give thingino tree a proper name
  • 63ac723 makefile: strip quotes from sensor models and sensor parameters
  • c779184 adjust .gitignore
  • f1e710d mosquitto: do not prefer openssl over mbedtls
  • ba2b024 mosquitto: hide mosquitto options unless enabled
  • 2f59b03 webui: chnages to wireless network configuration create wpa_supplicant directly
  • 82ceba3 webui: more granular data selection for daynight status in heartbeat info
  • 4107d80 webui: correct parameter name for wlan ap status
  • 6b1f19c webui: add soc family to camera runtime config
  • b164e5c webui: controls for time controlled photosensing schedule
  • 7289192 webui: correct links to reset actions
  • b3aff25 webui: read wlan ap status from thingino.json
  • 664fb20 webui: layout tweaking
  • 1d580a5 webui: add controls to ignore the timezone supplied by dhcp server
  • 5958c75 webui: formatting
  • 3cd33d0 webui: drop symlink, it's created from .mk file
  • ef621f6 webui: clean up
  • b9fea7e webui: refactor form data decoding
  • c7d16a6 bump lightnvr (#1055) * bump lightnvr * lightnvr depends on go2rtc * check pt
  • a4013ef makefile: strip kernel suffix from image id for ota upgrade
  • 8e5dd3d webui: dynamically populate streamer options by soc
  • 7640551 fix reset overlay/firmware in webui (#1053)
  • 6aebe04 webui: add a link to photosensing config page to daynight dropdown
  • 3e7f769 fixed S01rsyslogd in /etc/init.d to allow remote logging at boot (#1046) amazing. thank you.
  • 4fbf6a4 Add support for the PY25Q256HB, a 32MB flash seen in newer Personal Pan Cam cameras (#1044)

firmware-2026-02-16

16 Feb 08:48

Choose a tag to compare

Changes in this release:

  • 4b6a6bc docker: expand path to download directory if it's a symlink
  • 148ba6f libcurl: reenable telnet support (needed for send2termbin)
  • 15b7655 clean up
  • d5c3c9c add libuv to smartnvr dependencies
  • d4fb1ab webui: prefer navigation bar links over tabs
  • 808ca6b webui: correct wording in subtitles
  • 3399cc0 update readme
  • 546d7a4 add a script to validate and fix json files in cameras/
  • c017b3b restore github workfow from oldmaster
  • e3ef897 fix invalid json syntax

firmware-2026-02-11

11 Feb 11:11
7c43396

Choose a tag to compare

Changes in this release:

  • 50aa532 add libuv to smartnvr dependencies
  • 8184560 webui: correct wording in subtitles
  • 46e24e8 update readme
  • b635e73 add a script to validate and fix json files in cameras/
  • 7c43396 fix invalid json syntax (#1040)
  • 367dd0b builder: use host network with docker
  • 9a072bf ignore container produced artefacts
  • de684ff package/lightnvr: update to 72865cf Update lightnvr from bff86d1 to 72865cf Hash change: bff86d1c9f23da72db87f83cd200278adaa74d53 -> 72865cf2a3b7ee2470af1fb48397f60e50c891f7 Changelog: 9878720: Migrate off mongoose to libuv (#83) 1481247: bug fix for HLS 9035836: bug fix for HLS 2445f52: bug fix for HLS 002b2ef: Rework shutdown/restart buttons. c737b8e: refine go2rtc shutdown sequencing b24182a: refine go2rtc shutdown sequencing fb19931: refine go2rtc shutdown sequencing b1030c4: refine go2rtc shutdown sequencing 98bf9aa: iterate on restart button. 62051cf: refine restart sequencing e0509f5: refine restart sequencing 18d27fc: Optimize shutdown sequencing f5816e9: Optimize shutdown sequencing; new retro theme 74efc5f: DRY the theme config 8d158b5: DRY the theme config 994e8c1: DRY the theme config ccb6b2e: Fix HTTP/2 bug 511e2e9: Fix favicon (generate one for now). 745f66d: Fix HTTP/2 bug 555bbb7: Fix HTTP/2 bug b3510e2: 0.20.2 13d3d93: try to fix integration tests eae9036: try to fix playwright login fa6a156: remove cruft ad63536: remove cruft 94c7bad: Fallback to migration issue affecting playwright f619ac5: Fallback to migration issue affecting playwright 8d351af: avoid proxying go2rtc a36b656: prep 0.20.3 a397be0: prep 0.20.3 aa678cc: Fix go2rtc routing in deployed container e1be248: Check pt e09796e: Add /api/ice-servers endpoint for TURN configuration d9b0f76: Check pt b794acb: try fixing integration tests cc59aa8: try fixing integration tests. 779c8cd: try fixing integration tests 2663864: iterate on integration tests 2f963b4: Update integration test pipeline. ce82fdc: Update integration test pipeline. 6453f18: Add diagnostic logging to integration tests to debug startup failures c304b9b: Remove accidentally committed submodules and untracked files 0428792: Update .gitignore to exclude local development directories 7728377: Remove frigate and prudynt-t submodules from git index afa8208: Fix stream delete API 75be945: Fix: Respect HTTP keep-alive in file serving c23ba1e: try fixing integration tests c6184c3: Convert off old hard coded migrations. 98cc8af: Fix playwright test runner 2b43e8d: Fix playwright test runner 0263887: Improvements to user management. 865ea37: Add test cleanup to prevent stream accumulation 99451e3: Restart lightNVR in container fix 6e36fb0: Add socket timeouts to go2rtc API client dc67889: Remove redundant go2rtc_sync_streams_from_database() call on stream add f1f2bdb: Optimize add stream d82da10: Non blocking delete stream b1bc6a7: Check if the listener handler is closed during restarts etc 15c0a00: HLS dts bugfix 88de102: iterate on remaining failing tests 52f5e2f: Fix: Skip re-registering streams already registered with go2rtc fd88384: libuv safety c211192: ONVIF discovery ux improvements. 5debbd1: Add optional TOTP MFA (Two-Factor Authentication) support (#84) 8e46048: Fix missing migrations f678d42: Fix missing migrations 72865cf: Fix missing migrations

firmware-2026-02-09

09 Feb 08:45

Choose a tag to compare

Changes in this release:

  • 54ed53f exfat: delete the patch that breaks mkdir
  • 22e3940 fix usb_en gpio pins for multiple cameras
  • 8bc7baf libcurl: slim down stripping unused protocols for regular users
  • 4388917 prudynt: set hybrid compilation default in the package config
  • 0aa3ec6 correct conditional guarding of swap fixups
  • 4541a35 add gpio pin toggle for ethernet device on network start
  • 564487c uhttpd: correct dependencies
  • 626d59d webui: enable text editor on info page (to edit crontab)
  • fa49be3 webui: fix typo
  • 771c6ae sysupgrade: pre-erase entire partition with flash_eraseall
  • b6b1463 gpio: enforce debugfs in kernel for gpio list
  • e7f1c44 send2storage: use actual hostname
  • 1c61d00 makefile: enforce default kernel version per soc
  • d6edbbe makefile: fix packages that install directly into /lib/ not into /usr/lib/
  • 7e5da4e exfat: another attempt to install into correct directory
  • d758d4a makefile: do not default to kernel 4.4 for t23 platform
  • 686180b wifi scan for web: refactor json forming
  • 5a69908 wifi: add wpa_supplicant interface to configs for wpa_cli
  • 5d7a1f4 webui: add an nginx config stub
  • 9222977 uhttpd: generate certificates in der format
  • 07b581f uhttpd: patch the sources to allow onvif/ and x/ directories as cgi
  • b64a9d7 wifi: enable wpa_supplicant ap scanning create wpa_supplicant config with scanning parameters install wpa_cli add wifi network scanning to the portal and webui network settings pages disable in-driver scanning/roaming to avoid conflicts
  • 6cc1e82 add extensive kernel debugging options with thingino-developer package
  • 332c9c9 buysbox: port -A flag from mtd tools to erase the entire partition with flashcp
  • fd35ed6 exfat: strip debug info from the module
  • 8c558c5 package/thingino-onvif: update to 0e72593 Update thingino-onvif from 478e17a to 0e72593 Hash change: 478e17a7a24fb0f3f7026aafd427051a19603ebf -> 0e72593682ca1bac254a0c03c8b6a4c48df75122 Changelog: 0e72593: ensure NVR gets the highest resolution first
  • b59cc54 package/thingino-jct: update to be0009e Update thingino-jct from 11733cb to be0009e Hash change: 11733cbb66b8cdfad401bca17206c224258efa78 -> be0009e1795408c2d27cc81a0e3edaa79ff3842f Changelog: be0009e: docs: add export feature documentation to README
  • 983e5be package/nino: update to 08fd839 Update nino from 91add72 to 08fd839 Hash change: 91add728f73f123b09e7a3df31dc1fc5ca028297 -> 08fd8390fbcd0d832fb629516e44272f47d1babd Changelog: e11ec10: Fix auto indent on new scope 2a3099a: Fix incorrect printf format argument 416c45f: Save file by replacing it 947db18: Improve file type detection 1da922e: In-place save on link files d5b77f0: Add .cxx .hxx for C++ 8fc9ed5: Focus on explorer when open directory 722f993: Allow creating file in explorer mode 9442b12: Refresh editor in editorAddFile 99b73f8: Move bracket helper functions to utils cb3e6ac: Change clear prompt timing 0c57a8d: Fix cursor display bug 9f3c8bc: Change formatting style f9e0659: Fix helpinfo 9990b0f: Add isFileModified 8c491dd: Change save as bind 463d342: Add file dangerous save detection function be2990c: Refactor unsaved changes protection f713258: Fix file tab width calculation for untitled files ef5bcba: Fix wchar path buffer size 798b4e4: Remove access() calls b0a30a2: Refactor rendering 4109fac: Try save in-place on save replace fail d88d681: Update license copyright year 08fd839: Fix transparent color
  • d13d589 package/lightnvr: update to bff86d1 Update lightnvr from 635f1e1 to bff86d1 Hash change: 635f1e1a830a358c2937efc961c48ff8f0da7c6b -> bff86d1c9f23da72db87f83cd200278adaa74d53 Changelog: 4892ca3: check pt mqtt docs c7d0afd: Preiodically ensure that recordings are still operating. 25b523e: Preiodically ensure that recordings are still operating. 4877e55: Preiodically ensure that recordings are still operating. ce0449d: simplify the dts handling as go2rtc handles this for us now. 0fbfb01: Reset HLS timestamp state on reconnect. 54dc30f: fix mongoose event loop recovery db6aa6e: Reregister stream with go2rtc when its becomes unresponsive. 918a24b: memory safety fix for the reconnect logic 7fcd306: show light-object-detect memory usage too b002e21: Enhance mp4 recorder health check 0911124: Enhance mp4 recorder health check d1ce69d: Check pt new detections recording system (simplified). d7e76e1: More corrections to the unified detections thread rework. 2abc2e4: Get isolated detection based recording working. 8052f1e: iterate on shutdown improvements 48efcc6: prep 0.19.0 ea8f769: prep 0.19.0 c693fb0: shutdown improve a1c0ad3: iterate on mqtt shutdown bug; improve styling matching 8a06049: iterate on mqtt shutdown bug 92437aa: iterate on shutdown bug d43d5d7: prep 0.19.0 a0333a4: better layout peristence 99cfedc: better shutdown timeouts. d7e7396: better shutdown timeouts. 2e293e9: HLS Page reliability improvements. 3f16f92: prep 0.19.1 9e585a8: prep 0.19.1 06548fa: Preload streams so detection based recording works better 23016ac: Debug detections consistency issue b0fcefa: Dont lock detections across threads behind a single curl/mutex a3b588d: Fix regressions with continuous recordings. 9107be0: shutdown safety patch b0d4ba6: prep 0.19.2 c1ce00d: fix test dc6f2a0: Further overhaul detections recordings to be more reliable. 76fe8aa: 0.19.3 5dbe652: fix detection recording durations. 0190a37: Detection snapshot fallback logic; Fix duration of pre+post buffer detection based recording. 5cb192d: fix edge case of detection only recording fc05bcf: fix edge case of detection only recording 75c6a61: fix edge case of detection only recording aa1eee9: fix edge case of detection only recording 891a19b: Address jittery detection based recordings. bec11e2: Prep 0.19.4 84f4c66: Prep 0.19.4 f2d3a77: 0.19.5 315c88e: Fix GitHub Actions: checkout submodules for go2rtc build d04084b: Fix WebRTC proxy: forward Content-Type header to go2rtc b2e6c9f: Fix: remove legacy config-based auth fallbacks so password changes persist 01ea0e3: ffmpeg to Dockerfile to fix audio in deployment. 1cc60ac: Improve parallelism of webserver 583493f: Fix HLS is cloud container 8d721b6: Prep 0.19.7 f80243e: Revert change that broke mongoose; at UX improvements to liveview bff86d1: Check pt fix for playwright test
  • b5f68d2 Updated defconfig for Jooan W3-U to enable SD card (#1034)
  • df70217 fix: fix broken config of IR850 and white for all tplink devices (#1036) (#1036)
  • 551b976 alias vi as vim in thingino shell
  • 7d6ac43 package/thingino-jct: update to 11733cb Update thingino-jct from 97dc94f to 11733cb Hash change: 97dc94f7079a4f9a75914ba9691ce7be2064b7ab -> 11733cbb66b8cdfad401bca17206c224258efa78 Changelog: 11733cb: Add export feature to display difference between two json files, defaults to the file in /rom/
  • e09f91b Added GPIO definition to enable wired Ethernet for Jooan W3-U (#1026)
  • 83990f4 makefile: pack and pad extra partition to the flash size to prevent md5 rot
  • 7f1f0ed makefile: unified output directory, subdirectories by branch, kernel version
  • 540fe61 sysupgrade: better log; strip kernel info from the image id
  • a856fd8 makefile: derive image id from the actual camera profile name
  • 8abc99d webui: use substream video feed for ch1 OSD page
  • 7d469e4 daynight: read GPIO pins from /etc/thingino.json (#1024) * daynight: read GPIO pins from /etc/thingino.json * Refactor daynight control logic to remove unused pin checks --------- Co-authored-by: Paul Philippov themactep@gmail.com
  • a8e53cc webui: fix file manager file name
  • 622289f Fix CI failure: make TFTP copy conditional on TFTP_IP_ADDRESS - Set TFTP_IP_ADDRESS to empty by default - Only copy to TFTP when TFTP_IP_ADDRESS is set - Prevents sudo command errors in CI environments - Local developers can enable by setting TFTP_IP_ADDRESS
  • 1927f72 mbedtls: expand certificate generator to support both der and pem formats.
  • 29a21b4 add preliminary send2xmpp package. wip.
  • 5b56bc2 esphome: pacth compilation warnings
  • 944c292 add containerized tftpd. wip, needs more love.
  • 0cbc674 makefile: make sdk selection based not only on soc but also on kernel version
  • e852552 makefile: exclude tftpd targets from mandatory camera selection
  • 3fccab9 makefile: mark processed fragments during processing
  • 5e0b0f7 makefile: protect buildroot from changes
  • 85a2bc6 makefile: add tftpd support
  • a73bc4a makefile: fix help output formatting
  • 10b9cd8 makefile: mark output directory with a kernel version
  • 4b0ef97 add more logging to thingino.json assembling script
  • f02c75e add https wrapper for httpd package
  • c0e7112 ingenic-lib: display kernel version in logs
  • a1823db exfat: implement access time
  • 84bdf01 exfat: add performance patch
  • 2a1727f wireguard: patch for kernel 4.4
  • 45c88dc busybox: add documentation on ACL patch
  • 1398ecb remove ircut, ir led, indicator led and white light gpio from legacy configs
  • 46e1bab package/lightnvr: update to 635f1e1 Update lightnvr from 8646519 to 635f1e1 Hash change: 8646519255ac00b7babc721092fed53205a647a0 -> 635f1e1a830a358c2937efc961c48ff8f0da7c6b Changelog: 1e5dbe8: Fix webrtc two-way audio c08385d: 0.18.2 9387042: Return 202 early for update stream API. Fix 6-stream fullscreen grid. 5d76a3d: check pt webrtc enhancements 2f265bf: Better webRTC logic with many streams waiting 0641212: Better retry webRTC support. d1dbde1: Fix batch delete recordings. 635f1e1: Detection event streaming via mqtt
  • b2a1936 cameras: add cinnado d1 t23 variant with sc2331 image sensor
  • 39d43dc webui: install files individually. add timestamps to assets to avoid excessive caching.
  • d1bfea8 webui: fix network config creation with proper tabulation
  • 4d39cd9 webui virtual package to handle uhttpd
  • cce543a webui: update modal to change password inline
  • 9588a4c add host-shared/ to gitignore
  • 7f93fa7 makefile: T23 ca...
Read more

buildroot-dl-cache

08 Feb 06:15
db38b6c

Choose a tag to compare

Fix link for user attachments in README

Updated link for user attachments in README.

firmware-2026-02-02

02 Feb 08:44

Choose a tag to compare

Changes in this release:

  • 622289f Fix CI failure: make TFTP copy conditional on TFTP_IP_ADDRESS - Set TFTP_IP_ADDRESS to empty by default - Only copy to TFTP when TFTP_IP_ADDRESS is set - Prevents sudo command errors in CI environments - Local developers can enable by setting TFTP_IP_ADDRESS

  • 1927f72 mbedtls: expand certificate generator to support both der and pem formats.

  • 29a21b4 add preliminary send2xmpp package. wip.

  • 5b56bc2 esphome: pacth compilation warnings

  • 944c292 add containerized tftpd. wip, needs more love.

  • 0cbc674 makefile: make sdk selection based not only on soc but also on kernel version

  • e852552 makefile: exclude tftpd targets from mandatory camera selection

  • 3fccab9 makefile: mark processed fragments during processing

  • 5e0b0f7 makefile: protect buildroot from changes

  • 85a2bc6 makefile: add tftpd support

  • a73bc4a makefile: fix help output formatting

  • 10b9cd8 makefile: mark output directory with a kernel version

  • 4b0ef97 add more logging to thingino.json assembling script

  • f02c75e add https wrapper for httpd package

  • c0e7112 ingenic-lib: display kernel version in logs

  • a1823db exfat: implement access time

  • 84bdf01 exfat: add performance patch

  • 2a1727f wireguard: patch for kernel 4.4

  • 45c88dc busybox: add documentation on ACL patch

  • 1398ecb remove ircut, ir led, indicator led and white light gpio from legacy configs

  • 46e1bab package/lightnvr: update to 635f1e1 Update lightnvr from 8646519 to 635f1e1 Hash change: 8646519255ac00b7babc721092fed53205a647a0 -> 635f1e1a830a358c2937efc961c48ff8f0da7c6b Changelog: 1e5dbe8: Fix webrtc two-way audio c08385d: 0.18.2 9387042: Return 202 early for update stream API. Fix 6-stream fullscreen grid. 5d76a3d: check pt webrtc enhancements 2f265bf: Better webRTC logic with many streams waiting 0641212: Better retry webRTC support. d1dbde1: Fix batch delete recordings. 635f1e1: Detection event streaming via mqtt

  • b2a1936 cameras: add cinnado d1 t23 variant with sc2331 image sensor

  • 39d43dc webui: install files individually. add timestamps to assets to avoid excessive caching.

  • d1bfea8 webui: fix network config creation with proper tabulation

  • 4d39cd9 webui virtual package to handle uhttpd

  • cce543a webui: update modal to change password inline

  • 9588a4c add host-shared/ to gitignore

  • 7f93fa7 makefile: T23 can have a 4.4 kernel

  • be59eb0 makefile: set default rmem size for cameras with 32MB RAM

  • e4c5dee makefile: set default download directory inside the thingino working directory.

  • 176072a capjpeg: remove package

  • 0befb36 webui: remove active session time limit

  • 1faf4bf package/lightnvr: update to 8646519 Update lightnvr from 5a7611a to 8646519 Hash change: 5a7611a059b7eea69592fa88ffd470833d0c93d8 -> 8646519255ac00b7babc721092fed53205a647a0 Changelog: 8646519: check pt

  • 53d77ff add .wget-hist to ignored files

  • 961a951 cameras: sort config

  • 2e75185 wifi: enable autoscan in wpa_supplicant

  • fd0d99d makefile: clean up # Conflicts: # Makefile

  • 8c00386 package/prudynt-t: update to 3c8e835 Update prudynt-t from 09ca87e to 3c8e835 Hash change: 09ca87e2bf68e15aa3c15d7c092a1bcdbead9916 -> 3c8e8350cffbf5f66856e1a8902fbc22711f8895 Changelog: 1497803: Add enhanced crash diagnostics with signal handler 3c8e835: musl build now uses execinfo lib

  • a24764e prudynt: add libexecinfo to musl builds

  • 1cf500d webui: goodbye basic auth. # Conflicts: # package/thingino-webui/files/www/a/main.js # package/thingino-webui/thingino-webui.mk

  • 588a994 telegrambot: operational improvements and wiring to web ui - fix operating in a group - fix exit by ctrl-c when running in foreground - reorganize files, move controls to web ui # Conflicts: # package/thingino-webui/thingino-webui.mk

  • 4f2ac81 wifi: better handling of overrides from env

  • dbb5aef webui: clean up # Conflicts: # package/thingino-webui/files/www/a/main.js

  • b74eafc webui: clean up # Conflicts: # package/thingino-webui/thingino-webui.mk

  • 7fbd4ff webui: better active theme handling, before page load.

  • 67ed977 webui: refactor JS timezone with UTC fallback. enforce reconfiguration on boot.

  • 6d80690 webui: enforce password change when using default 'root' password Add client-side password check to detect if the default 'root' password is still in use. When detected, display a non-dismissible warning modal that directs users to change their password immediately. The check: - Attempts authentication with root:root credentials via Basic Auth - Shows warning modal on all pages except config-webui.html and 401.html - Uses sessionStorage to avoid repeated checks in the same session - Modal has static backdrop (cannot be dismissed without action) This improves security by making users aware of the insecure default password and guiding them to change it.

  • e8aba82 webui: fix MJPEG stream not resuming when focus tracking disabled When track_focus setting was disabled (default), the preview stream would only restart if isWindowVisible was true. If focus tracking was disabled after the browser had lost focus, the stream would remain stopped indefinitely. Fix by unconditionally setting isWindowVisible=true and starting the preview when disabling focus tracking, ensuring the stream always resumes regardless of previous window state.

  • 84d6da2 Fix jooan a2r-u audio gpio config (#1014) BR2_THINGINO_AUDIO_GPIO_LOW=y is commented out and needs to be enabled

  • 77a9e9c webui: detect motors by /etc/motors.json presence only SPI motors do not use GPIO pins, so checking for gpio_pan configuration prevents motors controls from being displayed for SPI motor boards. Now motors controls are shown whenever /etc/motors.json exists, regardless of motor type. GPIO inputs are already disabled by the JavaScript when is_spi flag is set.

  • 59fb04c package/prudynt-t: update to 09ca87e Update prudynt-t from 9d72193 to 09ca87e Hash change: 9d72193de9e22ad9a4267d9d3e59bd906dca60b8 -> 09ca87e2bf68e15aa3c15d7c092a1bcdbead9916 Changelog: 09ca87e: Use sensor reading on launch to force intial mode

  • f86c0c6 package/lightnvr: update to 5b75d66 Update lightnvr from 05520a9 to 5b75d66 Hash change: 05520a91110d2db948d2f0d7b533004f5dd7bc61 -> 5b75d6655907bf29e5830c02440809460a3f0928 Changelog: 5b75d66: mp4 recording memory bug

  • 60741b7 package/prudynt-t: update to 9d72193 Update prudynt-t from e030dd6 to 9d72193 Hash change: e030dd663b06609bfef36f582014afd28b535179 -> 9d72193de9e22ad9a4267d9d3e59bd906dca60b8 Changelog: 9d72193: Fix compilation errors when PREBUFFER_ENABLED is not defined

  • 575eab5 package/lightnvr: update to 05520a9 Update lightnvr from 9d07baa to 05520a9 Hash change: 9d07baaf950018d8e6f73ecaca983e3421c09456 -> 05520a91110d2db948d2f0d7b533004f5dd7bc61 Changelog: 26e8d9f: Fix curl bug 47d0363: more libcurl usage safety fixes 05520a9: Memory fix for light-object-detect usage.

  • ef9a265 Add buildroot integration for pre-trigger buffer feature - Add BR2_PACKAGE_PRUDYNT_T_PREBUFFER config option - Smart defaults: enabled for T31/T40/T41, disabled for T20/T21/T10 - Automatic USE_PREBUFFER flag passing to Makefile - Comprehensive documentation in docs/PREBUFFER_BUILDROOT_INTEGRATION.md - Zero configuration required - works out of the box - Compatible with menuconfig for custom overrides

  • 9403105 makefile: handle undefined SOC_RAM_MB

  • 8390488 makefile: add safe defaults to memory configurations

  • c04c59d makefile: formatting

  • 686720f makefile: rewrite board.mk for better camera selection handling, default to fzf

  • ca1cd79 docker: clear screen after fzf selection

  • 451e65c webui: colorize log by ANSI codes

  • 8db65a8 Add ZTE K540 V2 support (#1012) Co-authored-by: nhkefus df@e.c

  • 745f786 sysupgrade: check for both old and new httpd scripts

  • 07f836c Set webupgrade on uploaded firmware update (#1011)

  • 2c34b10 webui: rewrite sysupgrade page and scripts

  • 1f2dbca webui: change http headers to end with

  • 8d9e7ea webui: make separate snapshot download buttons for main and sub streams

  • 1381243 webui: add save to file button to photosensing

  • f885fd6 webui: fix name of ch1 snapshot file

  • 962254b webui: add a dedicated save config button for prudynt settings

  • b4ff90b sysupgrade: check for the new name of httpd script to spare

  • e11f88a sysupgrade: support both http/1.1 and http/2 header variants

  • 6c09947 add missing flash size, make default size 8MB

firmware-2026-01-26

26 Jan 08:43
4d06da1

Choose a tag to compare

Changes in this release:

  • 2c34b10 webui: rewrite sysupgrade page and scripts

  • 1f2dbca webui: change http headers to end with

  • 8d9e7ea webui: make separate snapshot download buttons for main and sub streams

  • 1381243 webui: add save to file button to photosensing

  • f885fd6 webui: fix name of ch1 snapshot file

  • 962254b webui: add a dedicated save config button for prudynt settings

  • b4ff90b sysupgrade: check for the new name of httpd script to spare

  • e11f88a sysupgrade: support both http/1.1 and http/2 header variants

  • 6c09947 add missing flash size, make default size 8MB

  • 4d06da1 fix: fix broken config of IR850 and white on tplink tapo c200 (#1008)

  • f4c8855 docs: add a detailed document on working with our makefile

  • eb6b72a docs: add documentation on firmware image structure

  • 8e27157 makefile: make extras content aware - ignore .gitkeep files. - do not create extras partition if empty. - do not pack extras partition if empty. that gives us smaller images.

  • df89767 makefile: start with a 8MB blank image, make it grow as needed

  • d0a7508 menuconfig: show audio settings only if audio is selected

  • 98f8a41 menuconfig: wording

  • 933fda7 move onvif to system packages

  • 70c79b9 vpn: abstract vpn choice to a virtual package

  • 3b66c48 webui: use js shorthand

  • f2e28e4 makefile: correct second stage filename for ota upgrades

  • ff6173b zerotier: rewrite webui controls

  • 7851ac8 Fix RMEM to new format and correct value (#992) * Fix RMEM to new format and correct value * Rename BR2_THINGINO_RMEM_MR to BR2_THINGINO_RMEM_MB --------- Co-authored-by: Josh at WLTechBlog wltb@wanderlounge.net Co-authored-by: Paul Philippov themactep@gmail.com

  • 6bfda0a prudynt: disable osd lux indicator by default

  • 90abf00 add documentation

  • 39e271c fix the script generating uboot environment. sed brings havoc, use awk.

  • bbec59e package/thingino-onvif: update to 478e17a Update thingino-onvif from 5494d2a to 478e17a Hash change: 5494d2a21d5a262b1846ae2f937844edd393ff8a -> 478e17a7a24fb0f3f7026aafd427051a19603ebf Changelog: 215a423: Add custom relay token support 478e17a: remove imaging services from installable config

  • 3b5b001 package/thingino-onvif: update to 5494d2a Update thingino-onvif from 212ea39 to 5494d2a Hash change: 212ea39862f0bcd5a2dc6ce2d2be7df16f5ff811 -> 5494d2a21d5a262b1846ae2f937844edd393ff8a Changelog: 5494d2a: Add SetRelayOutputState to device_service per ONVIF spec

  • 1a420a9 package/thingino-onvif: update to 212ea39 Update thingino-onvif from a45c5b3 to 212ea39 Hash change: a45c5b319192ae4a099526cb8a6bbb47ecb51bba -> 212ea39862f0bcd5a2dc6ce2d2be7df16f5ff811 Changelog: 212ea39: remove credentials from snapshot URI to comply with ONVIF specs

  • a70eb6f remove alternative webui packages

  • 81513d3 remove haserl portal package

  • af22d8d remove lua portal package

  • dbd06c6 refactor daynight to simplify reading values from config

  • 356bd15 abstract choice of a web server in a virtual package

  • a914048 webui: fix labels on h/v-flip switches

  • f912f56 httpd: unrestricted access to /onvif/ with its own acl

  • a545a1c package/prudynt-t: update to 57e3fff Update prudynt-t from cabada0 to 57e3fff Hash change: cabada04e86914535cf9673ceb97a494c6fb7f5d -> 57e3fffad302a4cd12dc944f538339da7faa40c3 Changelog: 57e3fff: disable photosensing when set running mode manually

  • fd288e7 package/prudynt-t: update to cabada0 Update prudynt-t from 240cfca to cabada0 Hash change: 240cfca53b9f5902424e48cba8dc900d87d42f2d -> cabada04e86914535cf9673ceb97a494c6fb7f5d Changelog: cabada0: switch imp-control from web api to unix socket

  • 7a67637 package/prudynt-t: update to 240cfca Update prudynt-t from 5389de6 to 240cfca Hash change: 5389de6693519e8775b39dbe8e02b79cc19b1c59 -> 240cfca53b9f5902424e48cba8dc900d87d42f2d Changelog: 7fdf2b5: fix forced mode switching racing with photosensing 3076bc7: increase total gain values upper limit 240cfca: abstract platform differences as old and new sdk

  • b257169 Update docker build script to remove unnecessary folders and work on … (#1003) * Update docker build script to remove unnecessary folders and work on Docker * Set workspace --------- Co-authored-by: Josh at WLTechBlog josh@wltechblog.com

  • e9d619e formatting

  • e2a3520 webui: remove config stub from the firmware, it's created on boot

  • b5ef7f4 webui: more generic config stub

  • d23782b webui: fix path to the config

  • 16d201f webui: install webui config creator

  • 1742567 webui: make focus tracking an opt-in settings rather than opt-out

  • 9aac0f1 wifi: straighten up password to psk conversion

  • 1f6ac83 webui: update time settings page

  • 9986700 webui: adjust navigation menu

  • 68b4f12 webui: fix mjpeg preview inactivity tracker

  • dc854ce webui: does not need haserl anymore

  • d003646 Fix nfs check (#1000) nfs check was bombing build

  • a79fcff docker: force remove dependend containers

  • d6d3406 Update base image from debian:testing to debian:trixie and remove packaged compiler (#1001) testing is now forky and can't be trusted. gcc-mips is unused and being removed in the next version.

  • c194838 add support for GROUP to docker builder

  • 8f30fa2 wifi: use wlan_pass if no wlan_psk found

  • bb65b34 new pure html/js/cgi web ui without haserl

  • d5620d1 fix the type of makefile variable

  • 6998292 uhttpd: fix compilation of the newer version due to added unicode support

  • cf75255 add http2 and alpn to libcurl with mbedtls, fix compilation with openssl

  • 1281ba6 buildroot: expand toolchain url

  • 8d0b329 Fix lightNVR static asset serving when gzip (#997)

  • f484de4 Change button styles for upgrade and flash actions to trigger confirmation dialog

  • 937fd27 Update curl command to use TLS 1.2 for Telegram server

  • 43f3122 Bump lightnvr -- serves gzip assets; saves space (#996)

  • aac7ce2 Modify JN-107AR-D-WIFI configuration to the new format (#994)

  • 4c4f13c Fix command syntax for setting WLAN AP status (#991) 'set' missing

  • d623fd8 Fix MAC address retrieval for eth interface

  • b9a449c Retrieve and set MAC address from configuration

  • e3d708e package/thingino-onvif: update to a45c5b3 Update thingino-onvif from 3997b45 to a45c5b3 Hash change: 3997b4592dcd3025993565d85f0953a7426479b3 -> a45c5b319192ae4a099526cb8a6bbb47ecb51bba Changelog: a45c5b3: fix Synology authentication bypass hack

  • 456dc1d Update thingino-diag

  • 788dde5 cameras: fix sd card power for dekco_t23n_sc3332p_ws73v100 (#984)

  • 5448381 Add more params for experimental DEKCO T23 profile. wifi, sd card, an… (#986) * Add more params for experimental DEKCO T23 profile. wifi, sd card, and lamps now working. * move itcut to -1 * Fixup wlan gpio * Fix wlan value format in thingino-camera.json --------- Co-authored-by: Josh at WLTechBlog wltechblog@wanderlounge.net Co-authored-by: Paul Philippov themactep@gmail.com

  • 18661d5 Fix MQTT topic_photo and topic_video config reading (#985) The send2mqtt script was missing topic_photo and topic_video in the read_config() function, causing the error 'MQTT topic for sending snapshot is not set' even when configured. Added topic_photo and topic_video to read_config(). Co-authored-by: mark mark@retallack.org.uk

  • 12ebb70 JN-107AR-D-WIFI support (#936) (#979)

  • a0d331e improve wireless configuration handling, use explicit psk, store settings in thignino.json

  • 84008de core: relocate and rename common thingino.json file, reduce package to only handling changes

  • 32e4ba5 httpd: guard config files installation with checking for explicit package inclusion

  • 3c2a8a7 docs: add documentation on overlayfs

  • d0f95a0 delete empty thingino.json override

  • 432e9e4 Re-work webui upgrade options to remove OTA bootloader updates (only (#982) possibly useful for developers who should be using ssh anyway, arguably not useful for them either), make Full upgrades the default option, and add a note that Partial upgrades are not recommended. Co-authored-by: Josh at WLTechBlog josh@wltechblog.com

  • 3b63216 restore missing -e restore missing -e

  • 54a51ab restore missing -e

  • cfae585 restore missing argument for echo

  • 72cbac4 webui: save change in photosensing thresholds from sliders, too

  • 1dfd9fc portal: disable timeout pop-up after provisioning is completed.

  • 9cb8012 sysupgrade: restrict partial upgrades for older firmware

  • a75cb29 Add support for SONOFF CAM-PT2 (#978) * Add support for SONOFF CAM-PT2. * Catch up with config option changes. * Enable blue LED by default to mimic the stock fw behaviour.

  • c0521e0 busybox: add colors to echo

  • 733352d portal: trim trailing spaces from entered data

  • 7e0acaf webui: update layout, improve day/night controls

  • 7ed4d4a docker: do not seek for confirmation if the camera is defined in the command line

  • 391d280 docker: add ota upgrade with docker images

  • 496a254 buildroot: update submodule to 2025.11

  • 22b2574 package/thingino-jct: update to 97dc94f Update thingino-jct from 725000f to 97dc94f Hash change: 725000f01e497e89785f9a875ab7fe274c996d6c -> 97dc94f7079a4f9a75914ba9691ce7be2064b7ab Changelog: 97dc94f: install CLI binary

  • 2efbb69 makefile: restore fast for CI

  • 3734092 add files to ignore

  • cd32f20 format tables in documents

  • e12c25c add non-interactive containerized compilation

  • 11d7963 makefile: make default build fast

  • 2749732 use relative paths for overrides

  • 8955a36 thingino: add a utility script to manage override sources for easier development

  • c8207d0 portal: switch to simple portal

  • 85333a3 simple portal: clean up; optimize json config update; drop env variables

  • d4c4b19 add thignino.json to diagnostics

  • 77727c5 wlan ap: compact assets

  • 84a8e3d refactor scripts to read and set data using json configuration. preserve legacy as fallback for now

  • 47f3f09 package/prudynt-t: update to 5389de6 Update prudynt-t from a5f7aaf to 5389de6 Hash change: a5f7aafa902ee12725f6bd028d93ddef1078a5c8 -> 5389de6693519e8775b39dbe8e02b79cc19b1c59 Changelog: b3ccc71: add dynamic IQ file switching for T41 and future T23 to HAL 2732f87: add IQ bin ...

Read more