Skip to content

v0.9.0-rc.1

Pre-release
Pre-release

Choose a tag to compare

@mangelajo mangelajo released this 26 Jun 13:45

What's Changed

  • docs: align production service guide with operator TLS and gRPC behavior by @mangelajo in #388
  • Microshift bootc image by @mangelajo in #314
  • fix: reject deletion of already-released leases by @raballew in #401
  • fix: validate name argument in admin create/delete commands by @raballew in #398
  • fix: clean up listenQueues entry on listener disconnect by @raballew in #397
  • fix: reset retry counter after receiving data in exporter reconnect by @raballew in #396
  • chore(deps-dev): bump ruff from 0.15.6 to 0.15.8 in /python by @dependabot[bot] in #395
  • Import some of the operator-related release improvements to main by @mangelajo in #390
  • Android ADB and Emulator Power Drivers by @kirkbrauer in #403
  • fix: wire keepalive configuration fields into gRPC server options by @raballew in #399
  • fix(authorization): always derive resource names from OIDC username by @ambient-code[bot] in #404
  • Fix exporter state machine: stuck exporters on lease-end during hooks by @raballew in #349
  • Bump docker/setup-buildx-action from 3 to 4 by @dependabot[bot] in #323
  • build(deps): bump docker/setup-qemu-action from 3 to 4 by @dependabot[bot] in #300
  • build(deps): bump docker/login-action from 3 to 4 by @dependabot[bot] in #299
  • Revert "Revert "shell: keep shell usable after token refreshes"" by @bennyz in #290
  • NOYITO USB Relay Power Driver by @kirkbrauer in #268
  • revert "fix: clean up listenQueues entry on listener disconnect (#397)" by @ambient-code[bot] in #416
  • build(deps): bump actions/cache from 4 to 5 by @dependabot[bot] in #411
  • build(deps): bump actions/deploy-pages from 4 to 5 by @dependabot[bot] in #407
  • build(deps): bump docker/build-push-action from 6 to 7 by @dependabot[bot] in #408
  • e2e: dump debug logs on test failure by @ambient-code[bot] in #420
  • ci(e2e): run operator e2e on main push, drop helm matrix by @mangelajo in #406
  • Add mitmproxy driver for HTTP(S) interception and backend mocking by @kirkbrauer in #254
  • feat: show expires at and remaining columns in lease listing by @raballew in #343
  • docs: add note about ingress-nginx SSL passthrough requirement by @ambient-code[bot] in #421
  • fix: prevent lease assignment to non-ready exporters by @ambient-code[bot] in #426
  • build(deps): bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in #272
  • build(deps): bump actions/attest-build-provenance from 1 to 4 by @dependabot[bot] in #279
  • test(e2e): use -o name and wc -l for pagination count checks by @ambient-code[bot] in #419
  • Restrict operator ClusterRole RBAC on roles/rolebindings by @ambient-code[bot] in #430
  • feat: consolidate TLS flags into single --insecure option by @raballew in #333
  • fix(shell): block dangerous environment variables by @ambient-code[bot] in #429
  • fix(operator): restart controller pods when configmap changes by @ambient-code[bot] in #438
  • fix(hooks): display WARNING to client when hook fails with onFailure: warn by @ambient-code[bot] in #442
  • docs: add kubeconfig mount to container run examples by @ambient-code[bot] in #437
  • fix(deps): update Go dependencies to resolve known CVEs by @raballew in #447
  • Convert bats E2E tests to Go + Ginkgo by @ambient-code[bot] in #439
  • Fix swapped voltage/current in dutlink power readings by @ambient-code[bot] in #532
  • Add server-side Dial retry for transient Available status by @ambient-code[bot] in #440
  • Add tests for BLE driver by @ambient-code[bot] in #536
  • Fix nginx ingress for e2e tests in kind clusters by @ambient-code[bot] in #534
  • ci: parallelize e2e container image and wheel builds by @mangelajo in #539
  • Increase Dial retry timeout from 10s to 30s by @ambient-code[bot] in #542
  • improve error message in ridesx flashing by @bennyz in #543
  • feat: add SOME/IP driver wrapping opensomeip Python binding by @vtz in #391
  • Add Renode emulator driver for embedded target simulation by @vtz in #533
  • docs/ci: Renode driver listing and conditional macOS Renode install by @mangelajo in #557
  • fix(renode): address review follow-ups from PR #533 by @ambient-code[bot] in #558
  • build(deps-dev): update sphinxcontrib-programoutput requirement from >=0.18 to >=0.19 in /python by @dependabot[bot] in #554
  • build(deps-dev): update requests requirement from >=2.32.3 to >=2.33.1 in /python by @dependabot[bot] in #553
  • build(deps-dev): bump ruff from 0.15.8 to 0.15.10 in /python by @dependabot[bot] in #548
  • build(deps-dev): update myst-parser requirement from >=4.0.0 to >=5.0.0 in /python by @dependabot[bot] in #550
  • build(deps): bump actions/cache from 4 to 5 by @dependabot[bot] in #544
  • build(deps): bump github.com/cert-manager/cert-manager from 1.18.4 to 1.20.2 in /controller/deploy/operator by @dependabot[bot] in #546
  • ci: add quality gates for coverage and type checking by @raballew in #427
  • fix: resolve ty type diagnostics and add CI quality gates by @raballew in #568
  • Fix exporter deadlock when lease ends before before_lease_hook is set by @ambient-code[bot] in #569
  • Update install.sh default source from release-0.7 to release-0.8 by @ambient-code[bot] in #571
  • fix: drain remaining PTY data after reader stop on macOS by @raballew in #561
  • build(deps): bump astral-sh/ruff-action from 3.6.1 to 4.0.0 by @dependabot[bot] in #552
  • build(deps): bump korthout/backport-action from 4.2.0 to 4.3.0 by @dependabot[bot] in #551
  • build(deps): bump actions/create-github-app-token from 2.2.1 to 3.1.1 by @dependabot[bot] in #545
  • fix(ci): point devcontainers Dependabot entry to correct directory by @raballew in #563
  • fix(someip): defer OsipClient creation to first use by @ambient-code[bot] in #595
  • build(deps): bump actions/github-script from 8 to 9 by @dependabot[bot] in #591
  • build(deps): bump docker/metadata-action from 5 to 6 by @dependabot[bot] in #590
  • build(deps-dev): update sphinxcontrib-mermaid requirement from >=0.9.2 to >=2.0.1 in /python by @dependabot[bot] in #586
  • build(deps-dev): update diff-cover requirement from >=9.2.0 to >=10.2.0 in /python by @dependabot[bot] in #588
  • Adjust Dependabot CI Impact by grouping PRs and setting PR time by @ambient-code[bot] in #608
  • fix: skip afterLease flow when lease has already expired by @raballew in #603
  • Fix: log UNIMPLEMENTED gRPC errors from ReportStatus as warning by @ambient-code[bot] in #620
  • feat(someip): support static remote endpoint (no Service Discovery) by @vtz in #621
  • jumpstarter-driver-gpio: Add read method required by PowerInterface by @anobli in #616
  • fix(someip): use opensomeip PyPI release instead of git URL by @ambient-code[bot] in #624
  • fix: prevent transfer warning for non-owned leases by @bennyz in #570
  • Add Jumpstarter Enhancement Proposal (JEP) process and docs by @kirkbrauer in #423
  • fix: replace httpbin.org with local server in mitmproxy passthrough test by @ambient-code[bot] in #633
  • feat: add ST-LINK mass storage flasher driver for STM32 boards by @vtz in #635
  • qemu: add OCI flashing to qemu driver by @bennyz in #555
  • feat: add tags field to lease, to allow user set metadata by @bennyz in #622
  • feat: add DUT network isolation driver by @mangelajo in #642
  • oci: support existing OCI credentials by @bennyz in #649
  • fix: address PR #642 review follow-ups for dut-network driver by @mangelajo in #653
  • fix: guard beforeLease hook from setting LEASE_READY after lease expiry by @raballew in #655
  • JEP-0013: Metrics, Tracing, and Log Observability by @mangelajo in #631
  • JEP-0011: Protobuf Introspection and Interface Generation by @kirkbrauer in #565
  • fix(iscsi): block device allowlist confinement by @ambient-code[bot] in #432
  • fix(container): add procps-ng for sysctl in dut-network driver by @ambient-code[bot] in #670
  • fix(dut-network): make add_ip_alias idempotent by @ambient-code[bot] in #669
  • feat(dut-network): allow 1:1 NAT mappings without MAC address by @ambient-code[bot] in #671
  • feat(dut-network): add local NTP responder support by @ambient-code[bot] in #673
  • fix(dut-network): use renamed 'addresses' param in test_ntp.py by @ambient-code[bot] in #676
  • fix: release serial port before ESP32 flash to prevent port-locked errors by @ambient-code[bot] in #661
  • feat(dut-network): allow DNS hostnames in public_ip field by @ambient-code[bot] in #672
  • dut-network: add tcpdump streaming support by @ambient-code[bot] in #674
  • dut-network: enable dhcp-sequential-ip in dnsmasq by default by @ambient-code[bot] in #677
  • fix: preserve percent-encoding in presigned URLs to prevent signature invalidation by @bennyz in #662
  • fix: remove Helm charts and standardize on operator-based deployment by @raballew in #448
  • chore: remove obsolete migration script and leftover poetry.lock by @raballew in #683
  • chore: enable ruff ERA rule to catch commented-out code by @raballew in #684
  • fix: detect original_url before operator guard to fix encoding with explicit operators by @bennyz in #678
  • fix: clean up dut-network state dir on close by @ambient-code[bot] in #688
  • feat(dut-network): add egress and ingress traffic filtering by @ambient-code[bot] in #686
  • fix: detect exporter rapid failure loop and exit for container restart by @ambient-code[bot] in #691
  • feat: add internal token rotation for clients by @bennyz in #695
  • docs: consolidate and improve documentation across the repository by @raballew in #693
  • fix: fix ridesx local path upload by @bennyz in #699
  • fix: small fixes batch (#516, #525, #652, #517) by @raballew in #681
  • feat(docs): self-host asciinema player to remove branding by @raballew in #705
  • docs: add gRPC protocol reference and consistent field descriptions by @raballew in #703
  • docs: align README and docs landing page with org profile by @raballew in #706
  • docs: fix README link titles and CRDs ToC in multiversion build by @raballew in #702
  • fix: preserve URL query parameters in storage flash for signed URLs by @ambient-code[bot] in #435
  • fix: remove unreliable energenie.com link to prevent flaky CI by @raballew in #707
  • ci: skip e2e and python tests for docs-only changes by @raballew in #708
  • Add jumpstarter-driver-ssh-mount package for remote filesystem mounting by @ambient-code[bot] in #434
  • oci: add OciCredentials model and harden credential resolution by @ambient-code[bot] in #709
  • fix: serialize Dial/Listen queue handoff to prevent router token loss by @raballew in #573
  • fix: set default resource requests/limits for controller and router pods by @ambient-code[bot] in #714
  • fix(someip): fail fast when opensomeip native extension is unavailable by @vtz in #629
  • Update opensomeip dependency to 0.1.5 by @vtz in #716
  • fix: retry Dial and StatusMonitor poll on transient UNAVAILABLE by @raballew in #606
  • feat: default exporter configs to ~/.config/jumpstarter by @mmahut in #712
  • ci: make linkcheck job non-blocking for PRs by @raballew in #729
  • ci: extract e2e artifact loading into a reusable composite action by @raballew in #731
  • Remove opendal dependency from QEMU driver by @ambient-code[bot] in #535
  • fix: guard DurationParamType against OverflowError on large values by @raballew in #722
  • fix: use select() in PTY drain loop to prevent output loss on macOS (#733) by @ambient-code[bot] in #734
  • ci: collect controller, router and exporter logs from e2e runs by @raballew in #730
  • fix: include exporter/client name and namespace in auth error messages by @raballew in #726
  • fix: raise TypeError in V1Alpha1Lease.from_dict for non-dict spec by @raballew in #723
  • fix: deduplicate NotIn values in ParseLabelSelector by @raballew in #741
  • Replace Dependabot with Renovate for cross-ecosystem dependency grouping by @raballew in #745
  • fix: pin uv container image and fix docs substitutions by @raballew in #749
  • fix: HttpServer.close() properly releases port on cleanup by @ambient-code[bot] in #740
  • feat: expose gRPC health checking protocol on the controller by @ambient-code[bot] in #747
  • chore(deps): update github-actions-official (major) by @renovate[bot] in #767
  • chore(deps): update python-dev-tools by @renovate[bot] in #758
  • chore(deps): update github-actions-astral to v8 by @renovate[bot] in #766
  • feat: make INSTALL_DIR and VENV_DIR configurable via environment variables by @pypingou in #771
  • chore(deps): update python-dev-tools to v9 by @renovate[bot] in #769
  • fix(deps): update dependency semver to v3 by @renovate[bot] in #770
  • fix: consolidate Renovate Go groups and restrict Fedora to stable by @raballew in #773
  • chore(deps): update github-actions-other to v4 by @renovate[bot] in #768
  • fix(deps): update dependency pysnmp to v7.1.27 by @renovate[bot] in #759
  • fix: restrict Fedora to stable and create go-toolchain group by @raballew in #777
  • chore(deps): update go-toolchain by @renovate[bot] in #779
  • fix: remove stale e2e section from README by @raballew in #752
  • chore(deps): update github-actions-other by @renovate[bot] in #760
  • chore(deps): pin dependencies by @renovate[bot] in #754
  • chore(deps): update github-actions-astral to v0.11.20 by @renovate[bot] in #783
  • fix: use {doc} role for symlinked doc references for Sphinx 8.2 by @raballew in #778
  • fix: skip uninstalled child drivers in composite CLI by @mangelajo in #785
  • feat: add jumpstarter-driver-obd for OBD-II vehicle diagnostics by @mmahut in #789
  • chore(deps): update python-dev-tools to v0.15.17 by @renovate[bot] in #793
  • chore(deps): update github-actions-astral to v0.11.21 by @renovate[bot] in #792
  • fix: drop container image digest pinning, unify uv version, bump Fedora to 44 by @raballew in #781
  • fix: construct image URL after HTTP server starts by @bennyz in #797
  • chore(deps): update docker-base-images to v10 by @renovate[bot] in #765
  • chore(deps): update docker-base-images by @renovate[bot] in #753
  • fix(renovate): drop extractVersionTemplate for uv github-releases by @raballew in #802
  • fix(renovate): sync Go versions via go-toolset and merge into kubernetes group by @raballew in #801
  • chore(deps): pin dependencies by @renovate[bot] in #755
  • chore(deps): update uv-toolchain to v0.11.21 by @renovate[bot] in #799
  • feat: add description field to access policy rules by @bennyz in #803
  • fix(renovate): enable gomodTidy for Go dependency PRs by @raballew in #805
  • fix(renovate): store exact Python version, migrate devfile images to uv by @raballew in #804
  • fix(renovate): disable digest pinning for devfile base-developer-image by @raballew in #807
  • Add exporter context env vars to jmp shell and env_with_metadata() helper by @mangelajo in #291
  • ci: move linkcheck to weekly scheduled workflow by @mangelajo in #813
  • flashers: add default CA to be inject into flashing command by @bennyz in #742
  • feat: driver/sdwire: support unprogrammed FT200X EEPROM + macOS storage/mux fixes by @mmahut in #748
  • chore(deps): update python-dev-tools to v0.15.18 by @renovate[bot] in #816
  • CI: per-package test logs, parallel runs, and uboot OOM fix by @mangelajo in #815
  • feat: add Secret/ConfigMap references for JWT CA certificates by @bkhizgiy in #772
  • fix(container): pin UV binary to build platform in cross-compilation stages by @raballew in #819
  • chore(deps): update uv-toolchain to v0.11.23 by @renovate[bot] in #817
  • chore(deps): update github-actions-official (major) by @renovate[bot] in #818
  • docs(jep-0014): simplified virtual exporter design by @mangelajo in #744
  • fix(ci): use merge commit ref in backport workflow for fork PRs by @raballew in #820
  • fix(controller): fix Containerfile build with rootless Podman by @mangelajo in #822
  • fix(ble): fix race condition in test_ble_driver_connect_stream by @mangelajo in #825
  • fix(hooks): release lease when beforeLease hook fails with onFailure=endLease by @mangelajo in #823
  • fix: retry PTY drain on empty select() to prevent data loss on macOS by @mangelajo in #826
  • ci: reduce PR test matrix, run full matrix in merge queue by @mangelajo in #830
  • fix: use shared uv cache for package tests by @mangelajo in #832
  • ci: stop re-running validation workflows on push to main by @mangelajo in #834
  • update fls to 0.3.0 by @bennyz in #838
  • feat: parse power measurements in http-power and add a power read CLI command by @mmahut in #790
  • use 0.3.0 default for CLI by @bennyz in #839
  • test: mark PTY-dependent hooks tests as xfail on macOS (#821) by @mangelajo in #836
  • fix: retry connection when exporter is temporarily unavailable by @evakhoni in #829

New Contributors

Full Changelog: v0.8.1...v0.9.0-rc.1