## v26.38.0 (16.09.2026) ### Fixes - Fixed the dashboard temperature widget undersampling data on long time ranges with sparse readings. - Fixed a pub/sub socket leak that could exhaust file descriptors over time. - Fixed a kernel shutdown deadlock that could hang a service. - General bugfixes (removed periodic auto-refresh from the Service Logs widget, ensured user data shared folders are created, centralized dashboard page titles so extensions can't clash, addressed review feedback on the Getting Started pop-up). ### Features - Added a chrome-free embeddable architecture diagram page. ### Documentation ### Full release notes - refactor: simplify coroutine module and name retrieval in log_exception_callback([!509](https://gitlab.com/orangeqs/juice/-/merge_requests/509)) - fix(dashboard): fix temperature widget undersampling on long ranges over sparse data([!508](https://gitlab.com/orangeqs/juice/-/merge_requests/508)) - chore: release 26.37.0([!506](https://gitlab.com/orangeqs/juice/-/merge_requests/506)) - fix(dashboard): remove periodic auto-refresh from Service Logs widget([!505](https://gitlab.com/orangeqs/juice/-/merge_requests/505)) - fix(messaging): release pub/sub sockets to stop fd exhaustion (#409)([!503](https://gitlab.com/orangeqs/juice/-/merge_requests/503)) - fix(data): ensure user data shared folders are created([!501](https://gitlab.com/orangeqs/juice/-/merge_requests/501)) - fix(ipython): prevent kernel shutdown deadlock from hanging the service([!496](https://gitlab.com/orangeqs/juice/-/merge_requests/496)) - feat(docs): add chrome-free embeddable architecture diagram page([!497](https://gitlab.com/orangeqs/juice/-/merge_requests/497)) - fix(dashboard): set page titles centrally so extensions can't clash (#411)([!498](https://gitlab.com/orangeqs/juice/-/merge_requests/498)) - fix(dashboard): address review feedback on Getting Started pop-up (!491)([!495](https://gitlab.com/orangeqs/juice/-/merge_requests/495))