Releases: tier4/ota-client
Releases · tier4/ota-client
v3.8.1
What's Changed
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
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
v3.7.1-rc2
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
Full Changelog: v3.6.1...v3.7.1-rc2
v3.6.1
[Chore] tag v3.6.1 (20231108) (#260) Commits from v3.6.0 to v3.6.1 * Bug fix 1. [Fix] grub: fix unintended behavior when updating grub_default #253 2. (Major) [Fix] grub: workaround for OTA failure/otaclient crashing if rootfs is not sda #258 * Refinement 1. [Chore] minor update and fix to tools.status_monitor #256 2. (Major) [Refinement] refine error handling, error report on status API now covers boot controller startup failure #259 * Chore 1. [Chore] minor update and fix to tools.status_monitor #256
v3.6.0
[Chore] tag v3.6.0 (20230830) (#255) Commits from v3.5.1 to v3.6.0 * Bug fix 1. [Fix] boot_ctrl.cboot: post_update error handling #240 2. [Fix] otaclient_stub: fix always export self ECU id in available_ecu_ids #250 * Features 1. [Feature] extend ota-file-cache-control header #244 2. [Feature & Refinement] otaproxy: OTA file sha256 aware, support new header #245 3. [Feature & Refinement] otaproxy, otaclient: introduce external cache dev support #246 * Chore 1. doc: update document especially available_ecu_ids #248 2. [Chore] tools: add new OTA status monitor #251 3. [Chore] tools: add offline OTA image builder #252 * Deps 1. Bump grpcio from 1.40.0 to 1.53.0 in /tools/emulator #241 2. [Deps] bumps grpcio to 1.53.1 #243 3. Bump aiohttp from 3.8.1 to 3.8.5 in /otaclient #247
v3.5.1
chore: tag v3.5.1 (#239) Commits from v3.5.0 to v3.5.1 * Bug fix 1. (non-bug fix, the fix doesn't directly resolve the bug) [Fix] rpi_boot: call os.sync on all important files replacement #229 2. [Fix] cboot.is_switching_boot: only check ota_status and slot_in_use #231 3. [Fix] rpi_boot: clear leftover switching_boot_flag_file from previous interrupted OTA #233 4. (non-bug fix, the fix doesn't directly resolve the bug) [Fix] cboot: fix wrong usage of mark-boot-successful, add dump-slots-info logging #235 5. [Fix] boot_control: reboot subprocess call should also terminate otaclient process, refine common.OTAStatusFilesControl #234 6. [Fix] boot_control.grub: fix update_grub_default #238 * Refinement 1. [Refinement] create_standby: shuffle the calculated download_list #230 2. [Refinement] refine downloader and align its behavior as doc #228 3. [Refinement] refactor RetryTaskMap #232 4. [Refinement] otaproxy: remove cache scrubbing, instead only checking over cache db file #236 5. [Refinement] otaproxy: minor refinements and fixes #237 * Deps 1. [Refinement] otaproxy: minor refinements and fixes #237 : bump typing_extensions to 4.6.3.