Skip to content

Releases: tier4/ota-client

v3.8.1

18 Sep 13:44
8ae1ca8
Compare
Choose a tag to compare
v3.8.1 Pre-release
Pre-release

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.

Full Changelog: v3.8.0...v3.8.1

v3.8.0

09 Sep 03:05
fbed237
Compare
Choose a tag to compare

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

Docs Updates

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

Full Changelog: v3.7.1...v3.8.0

v3.8.0-rc2

09 Sep 02:13
ff0f060
Compare
Choose a tag to compare
v3.8.0-rc2 Pre-release
Pre-release

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

Docs Updates

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

New Contributors

Full Changelog: v3.7.1...v3.8.0-rc2

v3.8.0-rc1

03 Sep 08:12
d3338b8
Compare
Choose a tag to compare
v3.8.0-rc1 Pre-release
Pre-release
Merge branch 'main' into chore/prepare_release_v3.8.0

v3.7.1

20 May 09:05
d494af3
Compare
Choose a tag to compare

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

20 May 02:39
b8edc50
Compare
Choose a tag to compare
v3.7.1-rc3 Pre-release
Pre-release

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

15 May 15:39
f92c29c
Compare
Choose a tag to compare
v3.7.1-rc2 Pre-release
Pre-release

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

08 Nov 00:58
33847e7
Compare
Choose a tag to compare
[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

30 Aug 05:57
00b6208
Compare
Choose a tag to compare
[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

20 Jun 08:51
1c21f89
Compare
Choose a tag to compare
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.