Skip to content

Revision 167

Compare
Choose a tag to compare
@github-actions github-actions released this 26 Jun 16:25
3915d19

resources:
- testflinger-image: ghcr.io/canonical/testflinger:main
resource-revision: 140

Static resources:
Released to 'latest/beta' at 16:25 UTC on 26 Jun 2025

What's Changed

  • Add: iotscript connector with dedicated code owner by @p-gentili in #188
  • consolidate server github workflows to avoid race by @plars in #187
  • Limit the charm libs check to server/charm/** by @mz2 in #172
  • Tagged job searching by @plars in #191
  • Fix potential unhandled exception when no advertised queues found by @plars in #192
  • Update dependency GitPython to v3.1.41 [SECURITY] by @renovate in #185
  • Update dependency Jinja2 to v3.1.3 by @renovate in #186
  • Update actions/setup-python action to v5 by @renovate in #170
  • Update actions/checkout action to v4 by @renovate in #108
  • Use importlib instead of imp by @plars in #193
  • device-name in connector modules is no longer needed by @plars in #194
  • Encode datetime as ISO8601 when returning job search results by @plars in #195
  • remove logmsg helper function by @plars in #197
  • Update docker/build-push-action digest to 4976231 by @renovate in #55
  • Update docker/login-action digest to 3d58c27 by @renovate in #56
  • Update docker/metadata-action digest to 8e5442c by @renovate in #58
  • Update actions/checkout digest to b4ffde6 by @renovate in #145
  • Add ZapperConnector base class for Zapper-based device connectors by @p-gentili in #198
  • Include "completed" jobs in the ones that are not active by @plars in #202
  • rearrange and simplify how advertised queues/images are handled by @plars in #203
  • Make the UI more closely follow vanilla by @jocave in #162
  • Remove the pymongo SocketTimeoutMS setting by @plars in #210
  • Allow setting the number of units as an option in the module by @plars in #211
  • fix(muxpi): shell-quote the URL by @thp-canonical in #212
  • Maasstorageerror is provisionerror by @plars in #200
  • Improve js filter code and use it with the new search box by @plars in #213
  • remove oem image once provision is completed by @nancyc12 in #208
  • Make max pool size adjustable by @plars in #218
  • Fix jobid wrapping on agent page, and add link for jobs by @plars in #217
  • Add new indexes by @plars in #219
  • typo s/int/number by @plars in #220
  • Reboot the control host before provisioning by @plars in #222
  • feat(muxpi): provisioning: skip user creation, boot check via URL by @thp-canonical in #214
  • Don't use the reboot control host workaround on zapper devices by @plars in #223
  • Fix: add missing logger name. by @kevinyehk in #224
  • Add: Zapper KVM connector by @p-gentili in #221
  • Update: Add timeout to subprocess call for oemrecovery by @kevinyehk in #228
  • Refactor run with log by @plars in #225
  • Fix typo in docs for *-timeout -> *_timeout by @plars in #231
  • Ignore transmitting results if testflinger.json is missing by @plars in #234
  • Ensure self.process is None in CommandRunner in case it's reused by @plars in #235
  • Temporarily disable output timeout checking until we have a better fix by @plars in #237
  • Revert patches to reboot the control host before provisioning by @plars in #229
  • Add more details to the reference section about provision_data by @plars in #232
  • Add: provision OEM images via Zapper KVM connector by @p-gentili in #230
  • Add the jammy tag to all self-hosted runner invocations by @mthaddon in #242
  • Muxpi improvement by @rmartin013 in #227
  • All queues view by @plars in #243
  • Fix an unlikely corner-case where an agent has no queues declared by @plars in #246
  • Implement zapper_iot method by @kiya956 in #233
  • Alert the user about the nature of advertised queues by @plars in #244
  • Fix documenation checking on link anchors by @tang-mm in #248
  • Add: documentation on the zapper_kvm device connector by @p-gentili in #247
  • Add: reboot control host from poe switch for muxpi devices by @nancyc12 in #238
  • Add docs about agents and queues to the explanation section by @plars in #245
  • Add a help-icon link to the relevant docs for agents/queues by @plars in #252
  • Extend oemrecovery timeout for checking boot type to 15s by @plars in #253
  • Avoid splitting cmd in runner.py by @nancyc12 in #256
  • Add a fake device connector for testing purposes by @plars in #254
  • [CERTTF-303] Introduce support for file attachments by @boukeas in #250
  • Update cloud-init data to also work with uc24 by @plars in #257
  • fix: match python version in agent test workflow to version on agent by @boukeas in #258
  • Allow setting nginx max-body-size in terraform module by @plars in #261
  • Testflinger server agent poetry by @plars in #262
  • [CERTTF-316] Use attachments for provisioning (muxpi) by @boukeas in #265
  • [CERTTF-303] Handle case of file upload interrupted by the user by @boukeas in #266
  • Fix sdwire detection issue by @nancyc12 in #267
  • Re-enable and fix output_timeout by @plars in #272
  • Web service API change related guidelines by @mz2 in #268
  • Small fix to env vars referenced in some docs by @plars in #276
  • Return a reason for why CommandRunner stopped execution of a phase by @plars in #273
  • update: move reboot_sdwire() back to the beginning of the provision phase by @kevinyehk in #279
  • [CERTTF-327] Introduce submit GitHub action by @boukeas in #277
  • docs(muxpi): cross-reference attachment info by @thp-canonical in #280
  • Add a testflinger_common module with example usage by @plars in #275
  • Remove redundant "Testing" section from the PR template by @mz2 in #284
  • Multi improve submit error reporting by @plars in #281
  • Report a nicer error if the user looks for a non-existant agent by @plars in #282
  • Give more detail if job submission fails by @plars in #285
  • Refine submit action check by @boukeas in #290
  • Fix riverside errors on muxpi by @rmartin013 in #299
  • timeout muxpi hdparm after 40s to workaround usb reset by @plars in #301
  • Send provision log data to the server to display on agent-details page by @plars in #293
  • Fix missing exit code if we fall through to the finally block by @plars in #300
  • Fix an issue where we might not post the provision log unless it fails by @plars in #302
  • Auto deploy tf-cmd-scripts in agent-host charm by @nancyc12 in #291
  • Add TTL for agents and advertised queues by @plars in #294
  • Nicer handling of job not found on the job details view by @plars in #295
  • Fix agent charm on focal by @plars in #287
  • [CERTTF-344] Return job ID as output from submit composite action by @boukeas in #309
  • Display the number of consecutive failed provsion attempts on the agents page by @plars in #306
  • Documentation Link in Dashboard Header by @val500 in #311
  • Add job status endpoint to server by @val500 in #263
  • Charm building needs rust in some cases now by @plars in #313
  • Exit when we know we're unable to get the list of queues from the server by @plars in #312
  • Add: support for live ISOs to zapper_kvm connector by @p-gentili in #303
  • Add api and view for queue wait time percentiles by @plars in #319
  • Syntax highlighted YAML rendering in README.md by @mz2 in #320
  • fix incorrect formatting for file not found error in submit by @andersson1234 in #322
  • fix filepath in docs/how-to/install-cli.rst in instructions by @andersson1234 in #325
  • Log the error and fail gracefully for artifact download issues by @plars in #321
  • Change: additional arguments/assertions for UC24 and OEM 24.04 via Zapper KVM by @p-gentili in #324
  • Small fixes for the agent-host charm tests by @plars in #326
  • Add github token secret to the workflow for uploading agent charms by @plars in #327
  • Add device connector to provision laptops with 24.04 using image-deploy.sh [OEX86-359] by @Artur-at-work in #304
  • Add stream parameter when downloading OEM ISO by @Artur-at-work in #331
  • Fix provision_log reporting by @plars in #333
  • Update dependency Jinja2 to v3.1.4 [SECURITY] by @renovate in #323
  • Add option to wget ISO on DUT. Refactor image-deploy.sh by @Artur-at-work in #334
  • device-connectors: Fix handling attachments with absolute path in oem-autoinstall by @Artur-at-work in #338
  • fix(device-connectors): Remove unused code by @thp-canonical in #339
  • Fix documenation builds on readthedocs by @tang-mm in #345
  • fix(muxpi): Escape/quote partition labels by @thp-canonical in #344
  • device-connectors: oemscripts to wget ISO directly to DUT by @Artur-at-work in #343
  • chore(muxpi): Move storage plugging to context manager by @thp-canonical in #342
  • fix(serial): Write log file from TCP in binary format by @thp-canonical in #341
  • Trigger an agent restart if USR1 signal is received by @plars in #346
  • Mount value needs to be converted to a string from Path object by @plars in #347
  • fix(oem_autoinstall): Fix download ISO from webdav URL with password by @Artur-at-work in #348
  • Add agent_name in TF environment by @rmartin013 in #354
  • Add check for series after 24 in sdwire by @LiaoU3 in #356
  • feat: add custom timeout option to zapper provisioning stage by @andersson1234 in #357
  • Provision error logs by @val500 in #310
  • MaaS disk config documentation example fix by @plars in #358
  • Cancel job on cancel by @Hook25 in #364
  • [CERTTF-414] Generalise how the exit status of the submit action is determined by @boukeas in #363
  • Lock pymongo to version < 4.9.0 - fails to start with newer versions by @plars in #366
  • Reset storage to flat layout if no default is specified by @plars in #359
  • Create new endpoint in Testflinger Server to authenticate clients and distribute tokens for submitting jobs with priority by @val500 in #335
  • [CERTTF-413] fix: include chmod method in the tarfile patch by @boukeas in #368
  • Add logic to validate token and check priority permissions by @val500 in #361
  • Add REBOOT_SCRIPT in TF agent environment by @rmartin013 in #381
  • Default user data for oem autoinstall by @Artur-at-work in #377
  • fix(agent): make sure phase exit codes are in the 0-255 range by @boukeas in #385
  • Update server logic to select jobs with high priority by @val500 in #375
  • Add priority test case across multiple queues by @val500 in #389
  • Add authentication to CLI when submitting jobs with priority by @val500 in #360
  • [CERTTF-424] feat: support a reference directory for attachments by @boukeas in #374
  • Update snap metadata by @pedro-avalos in #393
  • Remove redundant level "iot_provision" by @kiya956 in #394
  • Update parser schema of zapper_iot by @baconYao in #380
  • device_connectors: zapper_iot: provide non blocking console command by @kiya956 in #384
  • Create new script to create client credentials in MongoDB by @val500 in #388
  • [CERTTF-452] Modify submit action behaviour for reservation jobs by @boukeas in #400
  • Automatically release and power-off maas nodes at the end of a job by @plars in #382
  • rename tplan to more appropriate name "provision_plan" by @kiya956 in #408
  • chore(deps): update docker/login-action digest to 7ca3450 by @renovate in #240
  • chore(deps): update docker/build-push-action digest to 5e99dac by @renovate in #241
  • chore(deps): update docker/metadata-action digest to 44d81d6 by @renovate in #251
  • fix(deps): update dependency prometheus-client to ^0.21.0 by @renovate in #409
  • update: resolve issues while provisioning noble oem machine using oem_autoinstall by @kevinyehk in #398
  • Fix snap environment variables by @pedro-avalos in #407
  • Generate prometheus metrics for flask and add metrics endpoint by @plars in #399
  • Change: get rid of any Zapper-related documentation by @p-gentili in #419
  • Restricted Queues by @val500 in #406
  • Add a github workflow to release testflinger-k8s charm to stable by @plars in #403
  • Add bash completion for testflinger-cli by @pedro-avalos in #418
  • Fix for Testflinger submit action by @boukeas in #427
  • Add jwt_signing_key as a supported terraform variable by @plars in #429
  • Check for online agents when submitting a job by @plars in #423
  • Update device-connector-types.rst by @jocave in #420
  • Add better messages for 401 and 403 errors from job submissions by @val500 in #424
  • Fix MAAS spelling by @pedro-avalos in #431
  • Fix broken logo on Documentation by @baconYao in #379
  • testflinger cli promote snap stable by @plars in #426
  • Add: concept of preset to zapper-iot connector by @p-gentili in #401
  • Add testflinger-testenv container by @plars in #417
  • fix(deps): update dependency gunicorn to v23 by @renovate in #413
  • Fix bad output with ssh keys in testflinger reserve command by @plars in #425
  • remove hostname field, we don't support this anymore by @kiya956 in #436
  • Unified agent host charm by @plars in #437
  • oem_autoinstall: Change default password for user ubuntu by @Artur-at-work in #439
  • Moved client_id and secret_key options to submit command by @val500 in #432
  • update: Increase the timeout to 5400 seconds. by @kevinyehk in #441
  • minor pyupdate improvements by @plars in #440
  • chore(deps): update dependency jinja2 to v3.1.5 [security] by @renovate in #435
  • Handle output from call_cmd better in maas_storage by @plars in #283
  • Add: copy SSH keys at the end of zapper_iot provisioning by @p-gentili in #446
  • Show all the agents serving a queue on the queue details page by @plars in #430
  • publish snap to edge/beta at the same time to avoid error by @plars in #447
  • Suppress most cli errors, but still warn if we get too many by @plars in #416
  • Add extended reservation checks in the server by @val500 in #428
  • remove agent charm by @plars in #449
  • Remove python 3.8 from the CI test matrix for the agent by @plars in #450
  • Update credential script to add ability to set maximum reservation time by @val500 in #433
  • [CERTTF-457] feat: Github action for retrieving data from multi-device jobs by @boukeas in #434
  • RTD sphinx settings, don't fail on warning by @jocave in #455
  • Fix warning in the docs (missing equals) by @Hook25 in #456
  • Prevent token from expiring while waiting for agent by @val500 in #452
  • fix: default error threshold by @boukeas in #457
  • Fix authentication how-to link by @pedro-avalos in #459
  • Sort Order Improvements for the Agents table by @val500 in #448
  • [CERTTF-458] feat: use agent config in reimplemented log truncation by @boukeas in #458
  • Docs: Add documentation on provision_data/kernel parameter, and make lp username format in reserve_data more explicit by @MitchellAugustin in #468
  • Rework setting up local juju environment using multipass and cloud-init by @omar-selo in #471
  • job-schema: clarify output timeout by @cpaelzer in #470
  • Fix server juju cloud init setup by @omar-selo in #475
  • Fix broken MAAS links in documentation by @val500 in #474
  • Remvoe method from deploy in schema check. by @kiya956 in #464
  • Chore: Update terraform gitignore files by @pedro-avalos in #477
  • Chore: Make agent-host ssh variables sensitive by @pedro-avalos in #478
  • Add builtin account support for Classic image by @kiya956 in #466
  • Minor fix in the agent table for absent provision-streak items by @val500 in #481
  • Add HTML linting and formatting to CI by @pedro-avalos in #480
  • [Zapper-IOT] Not do the copy_ssh_id when using the console-conf by @seankingyang in #472
  • Revert "Add HTML linting and formatting to CI" by @val500 in #482
  • Add device_ip into zapper_iot provisioning_data by @LaiderLai in #484
  • Remove url_for from the Testflinger templates by @val500 in #483
  • Remove provision plan validation from device connector by @kiya956 in #487
  • Add "Circle of Friends" favicon by @pedro-avalos in #486
  • Use url_for in templates by @pedro-avalos in #485
  • Update docker/metadata-action digest to 902fa8e by @renovate in #414
  • Update docker/build-push-action digest to 471d1dc - autoclosed by @renovate in #445
  • Add poll-serial option in CLI by @val500 in #476
  • CERTTF-498 Create serial output endpoints by @val500 in #463
  • Fail POST v1/result with a 413 if the input is too large by @mz2 in #492
  • FIx typo to trigger build pipeline by @andrejvelichkovski in #493
  • feat: use unique identifier as a header when pinging testflinger by @boukeas in #495
  • Fix links for agents and queues docs by @pedro-avalos in #490
  • Add links to agents and queues in details by @pedro-avalos in #496
  • Update dependency Jinja2 to v3.1.6 [SECURITY] by @renovate in #488
  • Extract agents table by @pedro-avalos in #497
  • fix: test in submit action hits /v1/ instead of v1 by @boukeas in #504
  • fix(deps): update dependency flask-pymongo to v3 by @renovate in #498
  • chore(deps): update dependency gitpython to v3.1.44 by @renovate in #201
  • Add location to agents table by @pedro-avalos in #502
  • Fix tab title by @pedro-avalos in #500
  • Update vanilla framework design of Testflinger server by @pedro-avalos in #501
  • Fix two broken MAAS links by @val500 in #508
  • Use versioned GitHub actions by @pedro-avalos in #505
  • Add data headings to cards by @pedro-avalos in #509
  • Replace xdg with xdg-base-dirs by @pedro-avalos in #503
  • chore(deps): update dependency pytest to v8.3.5 by @renovate in #396
  • chore(deps): update canonical/charming-actions action to v2.7.0 by @renovate in #336
  • chore(deps): update terraform juju to ~> 0.17.0 by @renovate in #215
  • Fix type error during check initial log method by @kiya956 in #515
  • fix(cli): Add removable-media plug by @pedro-avalos in #513
  • fix(server): Fix filter disappearing when pressing enter by @pedro-avalos in #517
  • Update tf-cleanup to use environment variables provided by the charm by @val500 in #516
  • fix(cli): Fix stdin filename argument for submit by @pedro-avalos in #514
  • chore(server): Update testflinger-k8s charmcraft.yaml definition by @pedro-avalos in #518
  • chore(agent): Update testflinger-agent-host charmcraft.yaml definition by @pedro-avalos in #519
  • fix(agent): Revert charmcraft platforms syntax by @pedro-avalos in #523
  • fix(server): Add reserve_data schema in server by @pedro-avalos in #521
  • Add ability to select branch in agent charm action update_testflinger by @val500 in #522
  • Bugfix to client in agent to handle error status codes from the server by @val500 in #527
  • Search the IP address line with the right message by @nobuto-m in #529
  • Added logging to node read function in MaasStorage by @val500 in #531
  • chore: Simplify pyproject setup and tools by @pedro-avalos in #534
  • Add reference to extended reservation in authentication docs by @val500 in #535
  • chore(agent): Add agent-host-charm-promote-stable workflow by @pedro-avalos in #524
  • fix(agent): Update tf-test to use ghcr.io testenv image by @pedro-avalos in #539
  • fix(cli): Fix typo in testflinger-completion by @pedro-avalos in #540
  • chore: Add charm libs check/update CI by @pedro-avalos in #520
  • Add retries to the maas device connector to mitigate timeout issues by @val500 in #536
  • fix: Update commit user and email in charm libs workflow by @pedro-avalos in #548
  • chore: update charm libraries by @Canonical-Certification-Bot in #546
  • chore(agent): Update agent host charm systemd lib by @pedro-avalos in #552
  • Parallelize agent unit tests by @val500 in #551
  • chore(muxpi): improve provisioning messages by @flotter in #569
  • chore: Add license information to Testflinger CLI by @pedro-avalos in #543
  • feat(ci): Generalize Charm promotion CI by @pedro-avalos in #594
  • fix(CI): Validate charm promote inputs by @pedro-avalos in #595
  • fix(CI): Validate snap promote CI by @pedro-avalos in #596
  • feat(server): Add a variable for the charm revision, such that it takes precedence over channel by @mz2 in #494
  • Add health check to pebble configuration by @val500 in #573
  • fix(ci): Fix charm-update-libs.yml by @pedro-avalos in #576
  • Include reference for authentication procedure in Testflinger Tutorial by @rene-oromtz in #621
  • Fix: add retries when trying to copy the agent SSH key by @p-gentili in #622
  • Allow trailing slash in Testflinger routes by @rene-oromtz in #623
  • feat(cli): Add uv to cli by @pedro-avalos in #537
  • chore(deps): update astral-sh/setup-uv digest to d4b2f3b by @renovate in #626
  • chore: update charm libraries by @Canonical-Certification-Bot in #625
  • chore: Fix test warnings by @pedro-avalos in #628
  • feat(server): Update testflinger-server to use uv by @rene-oromtz in #629
  • Add ability to enter list of restricted queues for client credentials script by @val500 in #635
  • chore: Update snapcraft channels for lxd and juju by @pedro-avalos in #634
  • update: reset the efi before releasing the machine by @kevinyehk in #637
  • device-connectors: add TZ to reservation timestamps by @ariel-anieli in #638
  • chore(server): Fix server src layout by @pedro-avalos in #639
  • feat(agent): Update testflinger-agent to use uv by @rene-oromtz in #636
  • chore: update charm libraries by @Canonical-Certification-Bot in #641
  • fix(agent): Fix agent host charm by @pedro-avalos in #644
  • Local deployment agent host by @pedro-avalos in #640
  • chore(deps): update ghcr.io/astral-sh/uv docker tag to v0.6.16 by @renovate in #633
  • feat(device): Add uv to device-connectors by @pedro-avalos in #571
  • feat(common): Update testflinger-common to use uv by @pedro-avalos in #575
  • chore: harden GitHub workflows and actions by @pedro-avalos in #630
  • chore(deps): update astral-sh/setup-uv digest to d4b2f3b by @renovate in #632
  • feat(server): Define provision_data schema by @pedro-avalos in #541
  • chore: Update readmes by @pedro-avalos in #544
  • feat(server): Update testflinger-server to use Ruff by @rene-oromtz in #645
  • chore(deps): update canonical/observability digest to 404613a by @renovate in #650
  • chore(deps): update astral-sh/setup-uv action to v6 - autoclosed by @renovate in #646
  • feat(cli): Update testflinger-cli to use Ruff by @rene-oromtz in #648
  • chore(deps): update ghcr.io/astral-sh/uv docker tag to v0.6.17 by @renovate in #653
  • feat(agent): Update testflinger-agent to use Ruff by @rene-oromtz in #647
  • fix(server): Update dockerfile by @pedro-avalos in #656
  • fix(server): Update app name in pebble layer by @pedro-avalos in #660
  • fix(server): Add proxy variables to server charm and terraform by @pedro-avalos in #662
  • fix(server): Add python3-venv installation by @pedro-avalos in #663
  • fix(server): Add server venv to path by @pedro-avalos in #664
  • chore(deps): update astral-sh/setup-uv digest to 6b9c606 by @renovate in #657
  • chore(deps): update canonical/charming-actions digest to 1753e08 by @renovate in #649
  • chore(deps): update docker/build-push-action digest to 14487ce by @renovate in #651
  • Fix warnings related to non-test classes picked up by pytest by @pedro-avalos in #665
  • feat(ci): Split tox tests in workflows by @pedro-avalos in #667
  • chore(deps): update ghcr.io/astral-sh/uv docker tag to v0.7.2 by @renovate in #659
  • chore(deps): update dependency uv-build to >=0.7,<0.8 by @renovate in #658
  • chore: Document GitHub actions by @pedro-avalos in #605
  • oem_autoinstall: Disable copy oem public ssh keys after provisioning by @Artur-at-work in #669
  • Update to jammy by @pedro-avalos in #654
  • feat(agent): Add terraform option for charm channel and revision by @pedro-avalos in #593
  • chore(deps): update canonical/observability digest to 615489c by @renovate in #670
  • chore(deps): update docker/build-push-action digest to 1dc7386 by @renovate in #676
  • chore(deps): update ghcr.io/astral-sh/uv docker tag to v0.7.6 by @renovate in #671
  • [CERTTF-550] Support private-endpoint runners in submit action by @boukeas in #679
  • feat(cli): Check for snap-private dirs in arguments by @pedro-avalos in #668
  • fix(ci): Fix typo in charm-promote by @pedro-avalos in #683
  • feat(devices): Update testflinger-devices to use Ruff by @rene-oromtz in #655
  • chore(deps): update ghcr.io/astral-sh/uv docker tag to v0.7.7 by @renovate in #684
  • oem_autoinstall: to verify oem iso before provisioning by @Artur-at-work in #690
  • feat(cli): Add JSON output option to list-queues command by @pedro-avalos in #692
  • feat(server): Add GET method for /agents/data/<agent_name> endpoint by @rene-oromtz in #687
  • feat(server): Add endpoint to retrieve all the jobs assigned to a queue. by @rene-oromtz in #689
  • feat(devices): Use uv-build for device-connectors by @pedro-avalos in #693
  • fix(server): Modify /queues/<queue_name>/agents to return correct status code by @rene-oromtz in #699
  • oem_autoinstall: Exit provisioning when Secure Boot enabled and unsigned image is used by @Artur-at-work in #696
  • Change: log error on console by @p-gentili in #702
  • infra: Update workflows for more testing by @pedro-avalos in #695
  • build packages with uv by @nancyc12 in #697
  • chore: update charm libraries by @Canonical-Certification-Bot in #704
  • fix(ci): Fix the release channels of charms and snaps by @pedro-avalos in #705
  • fix(ci): Fix snap-promote.yml typo by @pedro-avalos in #708
  • feat(cli): Extract parts from init to helpers and consts by @pedro-avalos in #685
  • feat (devices): Retry importing ssh keys by @rene-oromtz in #707
  • Add firmware_update support for HPE devices by @nancyc12 in #526
  • update: add support for provisioning plucky desktop image for RPIs. by @kevinyehk in #701
  • oem_autoinstall: add ubuntu to group adm and sudo by @xanthein in #710
  • fix: Add noprovision provision_data schema by @pedro-avalos in #709
  • oem_autoinstall: Update docs to specify oem images only by @Artur-at-work in #533
  • feat(cli): Add enhancements for testflinger-cli to retrieve agent/queues status. by @rene-oromtz in #680
  • feat(server): Modify server and agents table to allow comments on agent state by @rene-oromtz in #712
  • fix(CI): Fix typos in Snap and Charm workflows by @rene-oromtz in #714
  • Change: with autoinstall_oem=true provide a custom user-data file by @p-gentili in #703
  • fix(agent): Include install_dependencies during upgrade_charm. by @rene-oromtz in #715
  • feat: Add a yaml option to the show subcommand by @Hook25 in #718
  • chore: update charm libraries by @Canonical-Certification-Bot in #722
  • feat: add restricted_to field to /agents/data API by @diohe0311 in #720
  • ci: fix noisy errors in charm upload ci by @pedro-avalos in #725

New Contributors

Full Changelog: rev53...rev167