Releases: tier4/ota-client
v3.8.4
What's Changed
Bug Fixes
- fix(backport v3.8.x): fix otaclient doesn't interrupt OTA properly when OTA image is invalid(hit HTTPError 403, 404 or 401) by @Bodong-Yang in #438
- fix(backport v3.8.x): ota_proxy: fix disk space usage checker not working & backport #418 by @Bodong-Yang in #441
- fix(backport v3.8.x): ota_proxy: fix content-encoding header is not passed through in direct proxy mode by @Bodong-Yang in #442
Improvements & Refinements
- refactor(backport v3.8.x): ota_proxy: refine request handling flow by @Bodong-Yang in #443
Full Changelog: v3.8.3...v3.8.4
v3.8.4-rc0
What's Changed
Bug Fixes
- fix(backport v3.8.x): fix otaclient doesn't interrupt OTA properly when OTA image is invalid(hit HTTPError 403, 404 or 401) by @Bodong-Yang in #438
- fix(backport v3.8.x): ota_proxy: fix disk space usage checker not working & backport #418 by @Bodong-Yang in #441
- fix(backport v3.8.x): ota_proxy: fix content-encoding header is not passed through in direct proxy mode by @Bodong-Yang in #442
Improvements & Refinements
- refactor(backport v3.8.x): ota_proxy: refine request handling flow by @Bodong-Yang in #443
Full Changelog: v3.8.3...v3.8.4-rc0
v3.8.3
What's Changed
Bug Fixes
- fix(backport v3.8.x): backport PR#395: retry_task_map: fix mem leak when network is totally cut off by @Bodong-Yang in #436
Full Changelog: v3.8.2...v3.8.3
v3.8.2
Warning
This is an emergency update, fixing ota_metadata not working due to breaking changes caused by pyopenssl v24.3.0, users using v3.8.x MUST switch to v3.8.2 and newer.
What's Changed
New Features
- feat(boot_control): jetson_common, grub: support detecting and update rootfs indicating string that use device path by @Bodong-Yang in #393
Bug Fixes
- fix: fix jetson-cboot for BSP <= r32.5.x by @Bodong-Yang in #388
- fix: backport(v3.8.x): pin pyopenssl verison to 24.1.0, cryptography version to 42.0.8. by @Bodong-Yang in #434
Improvements & Refinements
- refactor(otaclient_common): retry_task_map now handles edge condition when input task iterable yields no task by @Bodong-Yang in #390
Chore & Misc.
- chore: minor fix to typings by @Bodong-Yang in #389
Full Changelog: v3.8.0...v3.8.2
v3.8.1
What's Changed
Warning
This version is yanked, please use otaclient v3.8.2 and later.
Bug Fixes
- fix: fix jetson-cboot for BSP <= r32.5.x by @Bodong-Yang in #388
- fix(boot_control): jetson_common, grub: support detecting and update rootfs indicating string that use device path by @Bodong-Yang in #393
Improvements & Refinements
- refactor(otaclient_common): retry_task_map now handles edge condition when input task iterable yields no task by @Bodong-Yang in #390
Chore & Misc.
- chore: minor fix to typings by @Bodong-Yang in #389
Full Changelog: v3.8.0...v3.8.1
v3.8.0
Warning
This version is yanked. Please use otaclient v3.8.2 and later. The release packages are removed to prevent accidentally installation.
What's Changed
New Features
- feature: introduce firmware package control for NVIDIA Jetson device by @Bodong-Yang in #376
- feat: add jetson-uefi boot control support, refine jetson-cboot boot control implementation by @Bodong-Yang in #300
Bug Fixes
- fix: proxy_info: allow to set string value to local_ota_proxy_listen_port field by @Bodong-Yang in #326
- build(deps): bump to simple-sqlite3-orm v0.2.1 by @Bodong-Yang in #369
Improvements & Refinements
- refactor: improve the performance of active slot scanning by @Bodong-Yang in #308
- refactor: project re-struct phase1, use hatch as build tool by @Bodong-Yang in #310
- refactor: project restruct phase2 by @Bodong-Yang in #311
- refactor: implement new ThreadPoolExecutorWithRetry to replace RetryTaskMap by @Bodong-Yang in #314
- refactor: refine log_setting to support new src layout by @Bodong-Yang in #317
- refactor: rpi_boot: detects slot by partition layout, not by checking slot fslabel by @Bodong-Yang in #321
- refactor: rpi_boot: use chroot to run flash-kernel, ditch double reboot strategy by @Bodong-Yang in #318
- refactor: retry_task_map now takes initializer and initargs params by @Bodong-Yang in #324
- refactor: create_standby: add semaphore during delta generating to limit pending tasks in memory by @Bodong-Yang in #320
- refactor: implement downloader as a library module, provide Downloader and DownloaderPool by @Bodong-Yang in #323
- refactor: DownloaderPool: implement watchdog func for breaking on max idling timeout by @Bodong-Yang in #351
- refactor: re-implement the OTA progress stats collector by @Bodong-Yang in #352
- refactor: otaclient module: restructure OTAUpdater, flatten nested internal methods by @Bodong-Yang in #353
- refactor: refine persist_file_handling internal implementation by @Bodong-Yang in #354
- refactor: ota_proxy: use simple-sqlite3-orm instead of vendoring an orm inside otaproxy package by @Bodong-Yang in #363
- refactor(otaproxy): refine the implementation of cache streaming by @Bodong-Yang in #370
- refactor: project restruct phase3 by @Bodong-Yang in #375
- refactor: include new protobuf generated code generated with new build system and grpcio-tools==1.57.0 by @Bodong-Yang in #379
Build, CI & Dependencies
- ci: fix sonarcloud setting by @Bodong-Yang in #315
- ci: minor fix to test CI by @Bodong-Yang in #316
- deps: bump requests to 2.32 by @Bodong-Yang in #319
- ci(pre-commit): add pre-commit-hooks check-yaml and check-toml by @Bodong-Yang in #328
- ci(deps): enable dependabot version updates by @Bodong-Yang in #327
- build(deps): Bump softprops/action-gh-release from 1 to 2 by @dependabot in #329
- build(deps): Bump zstandard from 0.18 to 0.22.0 by @dependabot in #333
- ci: deprecate the old proto version tracking github action by @Bodong-Yang in #338
- build(deps): Bump pytest-mock from 3.8.2 to 3.14.0 by @dependabot in #337
- build(deps): Bump MishaKav/pytest-coverage-comment from 1.1.51 to 1.1.52 by @dependabot in #341
- build(deps): Bump pydantic-settings from 2.2.1 to 2.3.4 by @dependabot in #349
- build(deps): Bump pydantic from 2.7 to 2.8.0 by @dependabot in #347
- build(deps): bump to use pyyaml 6.0.1 by @Bodong-Yang in #350
- build(deps): Bump uvicorn[standard] from 0.20 to 0.30.1 by @dependabot in #348
- build(deps): Bump aiofiles from 22.1 to 24.1.0 by @dependabot in #343
- build(deps): Update cryptography requirement from <43,>=42.0.4 to >=42.0.4,<44 by @dependabot in #357
- deps: loosen the deps version specifying by @Bodong-Yang in #366
- ci: introduce test for multiple OS version(ubuntu-18.04 and ubuntu-22.04) by @Bodong-Yang in #368
- build(deps): Update aiohttp requirement from <3.10,>=3.9.5 to >=3.9.5,<3.11 by @dependabot in #373
- build(deps): Bump zstandard from >=0.22,<0.23 to >=0.22,<0.24 by @dependabot in #356
- ci(proto): introduce modern build mechanism for generating otaclient service API proto package by @Bodong-Yang in #377
- ci: minor fix to release ci by @Bodong-Yang in #380
- ci: introduce ruff as linter by @Bodong-Yang in #381
Docs Updates
- docs: cleanup the old out-of-date docs by @Bodong-Yang in #307
Chore & Misc.
- chore(tools): remove out-of-date unmaintained tools by @Bodong-Yang in #313
- chore(tools): add a simple tool for triggering OTA update locally by @Bodong-Yang in #325
- chore: sonarcloud: exclude protobuf generated files; release_ci: only publish artifacts on release event by @Bodong-Yang in #378
- chore: prepare release for v3.8.0 by @Bodong-Yang in #386
Other Changes
- ci: depbot: enlarge open-pull-requests-limit to 10 by @Bodong-Yang in #345
- ci: configure github action release notes generation by @Bodong-Yang in #387
Full Changelog: v3.7.1...v3.8.0
v3.8.0-rc2
What's Changed
Note
This pre-release is exactly the same as v3.8.0-rc2. This release is only for testing whether #387 is working or not.
New Features
- feature: introduce firmware package control for NVIDIA Jetson device by @Bodong-Yang in #376
- feat: add jetson-uefi boot control support, refine jetson-cboot boot control implementation by @Bodong-Yang in #300
Bug Fixes
- fix: proxy_info: allow to set string value to local_ota_proxy_listen_port field by @Bodong-Yang in #326
- build(deps): bump to simple-sqlite3-orm v0.2.1 by @Bodong-Yang in #369
Improvements & Refinements
- refactor: improve the performance of active slot scanning by @Bodong-Yang in #308
- refactor: project re-struct phase1, use hatch as build tool by @Bodong-Yang in #310
- refactor: project restruct phase2 by @Bodong-Yang in #311
- refactor: implement new ThreadPoolExecutorWithRetry to replace RetryTaskMap by @Bodong-Yang in #314
- refactor: refine log_setting to support new src layout by @Bodong-Yang in #317
- refactor: rpi_boot: detects slot by partition layout, not by checking slot fslabel by @Bodong-Yang in #321
- refactor: rpi_boot: use chroot to run flash-kernel, ditch double reboot strategy by @Bodong-Yang in #318
- refactor: retry_task_map now takes initializer and initargs params by @Bodong-Yang in #324
- refactor: create_standby: add semaphore during delta generating to limit pending tasks in memory by @Bodong-Yang in #320
- refactor: implement downloader as a library module, provide Downloader and DownloaderPool by @Bodong-Yang in #323
- refactor: DownloaderPool: implement watchdog func for breaking on max idling timeout by @Bodong-Yang in #351
- refactor: re-implement the OTA progress stats collector by @Bodong-Yang in #352
- refactor: otaclient module: restructure OTAUpdater, flatten nested internal methods by @Bodong-Yang in #353
- refactor: refine persist_file_handling internal implementation by @Bodong-Yang in #354
- refactor: ota_proxy: use simple-sqlite3-orm instead of vendoring an orm inside otaproxy package by @Bodong-Yang in #363
- refactor(otaproxy): refine the implementation of cache streaming by @Bodong-Yang in #370
- refactor: project restruct phase3 by @Bodong-Yang in #375
- refactor: include new protobuf generated code generated with new build system and grpcio-tools==1.57.0 by @Bodong-Yang in #379
Build, CI & Dependencies
- ci: fix sonarcloud setting by @Bodong-Yang in #315
- ci: minor fix to test CI by @Bodong-Yang in #316
- deps: bump requests to 2.32 by @Bodong-Yang in #319
- ci(pre-commit): add pre-commit-hooks check-yaml and check-toml by @Bodong-Yang in #328
- ci(deps): enable dependabot version updates by @Bodong-Yang in #327
- build(deps): Bump softprops/action-gh-release from 1 to 2 by @dependabot in #329
- build(deps): Bump zstandard from 0.18 to 0.22.0 by @dependabot in #333
- ci: deprecate the old proto version tracking github action by @Bodong-Yang in #338
- build(deps): Bump pytest-mock from 3.8.2 to 3.14.0 by @dependabot in #337
- build(deps): Bump MishaKav/pytest-coverage-comment from 1.1.51 to 1.1.52 by @dependabot in #341
- build(deps): Bump pydantic-settings from 2.2.1 to 2.3.4 by @dependabot in #349
- build(deps): Bump pydantic from 2.7 to 2.8.0 by @dependabot in #347
- build(deps): bump to use pyyaml 6.0.1 by @Bodong-Yang in #350
- build(deps): Bump uvicorn[standard] from 0.20 to 0.30.1 by @dependabot in #348
- build(deps): Bump aiofiles from 22.1 to 24.1.0 by @dependabot in #343
- build(deps): Update cryptography requirement from <43,>=42.0.4 to >=42.0.4,<44 by @dependabot in #357
- deps: loosen the deps version specifying by @Bodong-Yang in #366
- ci: introduce test for multiple OS version(ubuntu-18.04 and ubuntu-22.04) by @Bodong-Yang in #368
- build(deps): Update aiohttp requirement from <3.10,>=3.9.5 to >=3.9.5,<3.11 by @dependabot in #373
- build(deps): Bump zstandard from >=0.22,<0.23 to >=0.22,<0.24 by @dependabot in #356
- ci(proto): introduce modern build mechanism for generating otaclient service API proto package by @Bodong-Yang in #377
- ci: minor fix to release ci by @Bodong-Yang in #380
- ci: introduce ruff as linter by @Bodong-Yang in #381
Docs Updates
- docs: cleanup the old out-of-date docs by @Bodong-Yang in #307
Chore & Misc.
- chore(tools): remove out-of-date unmaintained tools by @Bodong-Yang in #313
- chore(tools): add a simple tool for triggering OTA update locally by @Bodong-Yang in #325
- chore: sonarcloud: exclude protobuf generated files; release_ci: only publish artifacts on release event by @Bodong-Yang in #378
Other Changes
- ci: depbot: enlarge open-pull-requests-limit to 10 by @Bodong-Yang in #345
- ci: configure github action release notes generation by @Bodong-Yang in #387
New Contributors
- @pre-commit-ci made their first contribution in #312
Full Changelog: v3.7.1...v3.8.0-rc2
v3.8.0-rc1
Merge branch 'main' into chore/prepare_release_v3.8.0
v3.7.1
What's Changed
- fix(v3.6.x): persists file handling should be at PROCESS_POSTUPDATE phase by @Bodong-Yang in #274
- fix(v3.6.x): properly handling swapfile during persist file handling by @Bodong-Yang in #275
- refactor(v3.6.x): backport new persist file handling implementation to v3.6.x by @Bodong-Yang in #276
- refactor(v3.6.x): cleanup iot-logger related by @Bodong-Yang in #277
- chore(v3.6.x): change release CI trigger to published release by @Bodong-Yang in #278
- cleanup(v3.6.x): cleanup remaining copy_tree related code by @Bodong-Yang in #282
- fix(v3.6.x): fix and refine logs uploading by @Bodong-Yang in #280
- fix(v3.6.x): otaclient.persist_file_handling: fix incorrect new swapfile fpath by @Bodong-Yang in #281
- ci(v3.6.x): refine package build, add checksum file for built packages by @Bodong-Yang in #283
- refine(v3.6.x): log_setting by @Bodong-Yang in #284
- refactor(v3.7.x): change OTA cert dir to /opt/ota/client/certs by @Bodong-Yang in #285
- refine(v3.7.x): refactor proxy_info.yaml and ecu_info.yaml config files parsing by @Bodong-Yang in #286
- fix(v3.7.x): fix unexpected behavior related to available_ecu_ids by @Bodong-Yang in #290
- refine(v3.7.x): refine bootctrl.common CMDHelperFuncs by @Bodong-Yang in #289
- feature(v3.7.x): bootcontrol: refactor jetson-cboot, add new firmware update support by @Bodong-Yang in #287
- ci: enable pre-commit.ci by @Bodong-Yang in #292
- ci: refine tester dockerfile by @Bodong-Yang in #293
- ci: enable sonarcloud by @Bodong-Yang in #294
- ci: refine tester docker by @Bodong-Yang in #295
- refine: apply pre-commit fixes by @Bodong-Yang in #298
- build(deps): Bump aiohttp from 3.9.3 to 3.9.5 in /otaclient by @dependabot in #288
- build(deps): Bump grpcio from 1.53.1 to >=1.53.2, <1.54.0 in /otaclient by @dependabot in #299
- build(deps): bump cryptography to >=42.0.4, <43.0.0, pyopenssl to 24.1.0 in /otaclient by @Bodong-Yang in #301
- refactor: refine jetson boot, split common used methods from jetson-cboot by @Bodong-Yang in #302
- fix(jetson-cboot): save firmware version file to standby slot by @Bodong-Yang in #303
- refactor(otaclient): print out ecu_info.yaml on otaclient starts up by @Bodong-Yang in #304
- refactor: ignore swapfile entries during post-update persist files handling by @Bodong-Yang in #305
- chore: prepare release for v3.7.1 by @Bodong-Yang in #291
Full Changelog: v3.6.1...v3.7.1
Release notes: https://tier4.atlassian.net/l/cp/HSB2dc0h
v3.7.1-rc3
What's Changed
- refactor(otaclient): print out ecu_info.yaml on otaclient starts up by @Bodong-Yang in #304
- refactor: ignore swapfile entries during post-update persist files handling by @Bodong-Yang in #305
Full Changelog: v3.7.1-rc2...v3.7.1-rc3