Releases: jumpstarter-dev/jumpstarter-python
v0.7.4
What's Changed
- [Backport release-0.7] ridesx: add timeouts and boot-to-fastboot by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/752
- [Backport release-0.7] j: better error if JUMPSTARTER_HOST isn't set by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/758
- [Backport release-0.7] j: return exit code properly by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/759
- [Backport release-0.7] fix: lease-acquisition loop can fail with temporary grpc issues by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/762
- [Backport release-0.7] pyserial driver: add pipe command on cli by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/782
Full Changelog: jumpstarter-dev/jumpstarter@v0.7.3...v0.7.4
v0.7.3
What's Changed
- flashing stability improvements
- using fls instead of shell by default
- [Backport release-0.7] flasher driver: always set system date by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/744
- [Backport release-0.7] flasher: make unknown exceptions retriable by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/747
Full Changelog: jumpstarter-dev/jumpstarter@v0.7.2...v0.7.3
v0.7.2
What's Changed
- [Backport release-0.7] add NXP S32G-VND-RDB3 flasher by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/649
- [Backport release-0.7] pyserial: add "cps" option for slow-typing simulation by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/650
- [Backport release-0.7] S32g3 by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/651
- [Backport release-0.7] Uboot prompt by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/653
- [Backport release-0.7] Make j logging output nicer by using the rich logger by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/654
- [Backport release-0.7] Tmtee helper driver by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/655
- [Backport release-0.7] Fix grpc warnings in jmp/j by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/660
- [Backport release-0.7] Add SSHWrapper driver by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/663
- [Backport release-0.7] overriding the reboot method requires --feeling-safe parameter by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/667
- [Backport release-0.7] Do not use rich logging in exporters/jmp run by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/669
- [Backport release-0.7] unregister from controller only on proper exit by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/662
- [Backport release-0.7] Add jumpstarter-driver-tmt to all package by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/673
- [Backport release-0.7] unzboot with zstd landed in Fedora 42 by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/670
- [Backport release-0.7] Lease handling user enhancements by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/676
- [Backport release-0.7] Change the default keepalive timeout by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/677
- [Backport release-0.7] add tracking to created resources in OpenDAL by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/678
- [Backport release-0.7] Wait for connection to exporter to be ready on unix socket by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/682
- [Backport release-0.7] treewide: never ellipsis or wrap name column by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/683
- [Backport release-0.7] don't add to group by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/691
- [Backport release-0.7] Custom driver descriptions by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/695
- [Backport release-0.7] Lease progress details while users wait by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/693
- [Backport release-0.7] add ssh identity configuration by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/694
- [Backport release-0.7] flashers: support http headers by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/697
- [Backport release-0.7] don't ask the "unsafe" question in noninteractive login by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/702
- [Backport release-0.7] Handle curl / xz / dd failures and perform retries by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/703
- [Backport release-0.7] server-side proxy calls by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/706
- [Backport release-0.7] add ssh driver to jumpstarter-all by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/709
- [Backport release-0.7] tmt: remove default reboot_cmd which causes issues with some tmt versions by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/711
- [Backport release-0.7] Create token for the proper repository by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/714
- [Backport release-0.7] Parallel SSL cert retrieval by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/718
- [Backport release-0.7] ridesx: power off device if power is referenced by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/719
- [Backport release-0.7] client lease improvements by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/720
- [Backport release-0.7] Update installer default branch to 0.7 by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/723
- [Backport release-0.7] flashers: make dhcp failure flash retryable by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/731
- Backport lazy ssh by @mangelajo in https://github.com/jumpstarter-dev/jumpstarter/pull/734
- [Backport release-0.7] flasher-driver: add support for using fls as flasher by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/736
Full Changelog: jumpstarter-dev/jumpstarter@v0.7.1...v0.7.2
v0.7.1
What's Changed
- [Backport release-0.7] reap zombie processes by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/609
- [Backport release-0.7] Add direct address reporting support for tcp/udp by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/619
- [Backport release-0.7] client: compare lease selectors by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/621
- [Backport release-0.7] client: exclude None selector from match check by @jumpstarter-backport-bot[bot] in https://github.com/jumpstarter-dev/jumpstarter/pull/632
Full Changelog: jumpstarter-dev/jumpstarter@v0.7.0...v0.7.1
v0.7.0
🚀 Highlights in v0.7.0
🔌 New Drivers & Hardware Support
• Added drivers for TFTP, HTTP, SNMP, iSCSI, DBus, Proxy, Opendal, QEMU, Corellium, SDWire, RcarS4, Qualcomm RideSX4, EnerGenie PMS, TasmotaPower, HTTP Power, and more.
• Improved support for Raspberry Pi GPIO (moved to generic gpiod).
• New Flasher framework and integration with multiple devices.
• Added probe-rs debugging driver.
🖥️ CLI & Client Improvements
• Unified jmp CLI with kubectl-style commands.
• New commands for listing/exporters, drivers, configs, and shell enhancements (custom commands, fish/zsh prompts, duration handling, JSON/YAML output).
• Streamlined exception handling and clearer logging with rich.
• Lease management improvements (lease duration display, expiration notifications, reduced verbosity).
• Added support for OIDC login & token exchange (machine-to-machine auth).
⚙️ Exporter & Infrastructure
• Exporter is now more resilient: survives disconnections, streams logs, forwards logs to client, supports labels and TLS config.
• Added MultipathExporterStub for connecting to multiple exporters.
• Improved gRPC (keepalive, async SSL handling, configurable options).
📚 Documentation & Dev Experience
• Major doc revamp with versioning, onboarding improvements, and better formatting.
• Added docs for new drivers (TFTP, Corellium, RideSX4, CAN Bus, etc.).
• Added developer experience enhancements: Nix dev env, utils container image, SH installer, action workflows, backports, CI improvements.
• Cleaner onboarding with improved examples, references, and troubleshooting.
🛠️ Stability & Quality
• Extensive test improvements (doctests, unit tests, end-to-end).
• Improved Dutlink drivers and tests.
• Fixed bugs across exporters, flashers, and drivers.
• Consolidated codebase (package re-org, harmonized patterns, deduped options).
⸻
🙌 Community
• 7 new contributors joined this release (@ahadas, @eballetbo, @raballew, @odra, @michalskrivanek, @oglok, @vraiti).
⸻
v0.6.0
✨ Major Features
• OIDC Authentication: Full support for OIDC login and token exchange to enable secure machine-to-machine and interactive authentication flows.
• Driver Expansion: Added several new drivers including: http, tftp, snmp, shell, corellium, qemu, proxy, and opendal
• PySerialClient Enhancements: New console mode, async version
• Specialized power and flashing drivers: Flasher, Tasmota, EnerGenie, SDWire
• Unified CLI: Jumpstarter now offers a consistent and kubectl-style CLI with support for structured output formats (JSON/YAML) across jmp-client, jmp-exporter, and jmp-admin.
⚙️ Infrastructure & Client Improvements
• Per-driver log levels and client-side logging support (#184, #242)
• Lease workflow enhancements including duration display, notifications, expiration handling, and verbosity reduction.
• Improved exception handling, including a new exception module, jmp-client exception catching, and Ctrl-C handling.
• Config system updates:
• TLS support in config files, ca and insecure tls fields added.
• Labels, aliases, and ObjectMeta (#252) in configuration
• Use of XDG_CONFIG_HOME and JMP_CLIENT_CONFIG_HOME for client settings
📦 Developer Experience
• Driver development tooling: Driver scaffold generator, jmp driver list command to enumerate installed drivers
📕 Documentation
• Overhaul of documentation
• Support for versioned docs and open graph previews
• Added doctests, CLI examples, and cleanup of outdated content
🧪 Testing & CI
• New E2E tests, improved driver tests, and added matrix testing support.
• Added CI actions to build utility containers and cache Fedora images
• Fixed various ruff config, test stability, and doc warnings.
🧹 Cleanups & Refactoring
• Reorganized packages for a sparse dependency tree
• Unified context managers, improved configuration examples, and harmonized post_init
⸻
🙌 New Contributors
• @ahadas
• @raballew
• @eballetbo
• @odra
⸻
📜 Full Changelog: v0.5.0…v0.6.0
v0.5.0
What's Changed
- Allow specifying existing lease name in jmp client shell by @NickCao in jumpstarter-dev/jumpstarter#137
- Install, user creation and exporter configuration instructions by @mangelajo in jumpstarter-dev/jumpstarter#139
- Fix loose ends around driver client allow list handling by @NickCao in jumpstarter-dev/jumpstarter#140
- Rework and add test for pytest plugin by @NickCao in https://github.com/jumpstarter-dev/jumpstarter/pull/141
- Implement reset/close on DutlinkPower and DutlinkStorageMux by @NickCao in https://github.com/jumpstarter-dev/jumpstarter/pull/143
- Make JUMPSTARTER_HOST a const by @NickCao in https://github.com/jumpstarter-dev/jumpstarter/pull/142
- Test novnc/websocket adapter by @NickCao in https://github.com/jumpstarter-dev/jumpstarter/pull/144
- Set grpc.lb_policy_name to round_robin in all grpc channels by @NickCao in https://github.com/jumpstarter-dev/jumpstarter/pull/147
- Improve Introduction Content for Docs by @kirkbrauer in https://github.com/jumpstarter-dev/jumpstarter/pull/146
- Make Exporter take a channel_factory instead of a single channel by @NickCao in https://github.com/jumpstarter-dev/jumpstarter/pull/149
- Build multi arch container images by @NickCao in https://github.com/jumpstarter-dev/jumpstarter/pull/156
- Add getting started guide for local client by @NickCao in https://github.com/jumpstarter-dev/jumpstarter/pull/157
- Devspaces support by @mangelajo in https://github.com/jumpstarter-dev/jumpstarter/pull/161
- Devspaces client container by @mangelajo in https://github.com/jumpstarter-dev/jumpstarter/pull/162
- Cache image build by @NickCao in https://github.com/jumpstarter-dev/jumpstarter/pull/163
- Fix pushing container images by @NickCao in https://github.com/jumpstarter-dev/jumpstarter/pull/164
- Split jmp cli into client and exporter part by @NickCao in https://github.com/jumpstarter-dev/jumpstarter/pull/168
- Devspaces improvements by @mangelajo in https://github.com/jumpstarter-dev/jumpstarter/pull/167
- Use the same uid/gid combination as for /home/user by @mangelajo in https://github.com/jumpstarter-dev/jumpstarter/pull/169
- Remove http-docs, otherwise dynamic discovery fails to share route by @mangelajo in https://github.com/jumpstarter-dev/jumpstarter/pull/170
- Simplify makefile with new features of uv 0.4.30 by @NickCao in https://github.com/jumpstarter-dev/jumpstarter/pull/171
- Update glossary with definition for in-tree/out-of-tree standard/cust… by @NickCao in https://github.com/jumpstarter-dev/jumpstarter/pull/172
- Remove redundant tags from docker images by @NickCao in https://github.com/jumpstarter-dev/jumpstarter/pull/173
- Cross build python wheels by @NickCao in https://github.com/jumpstarter-dev/jumpstarter/pull/175
- Use PEP 735 Dependency Groups instead of uv specific dev-dependencies… by @NickCao in https://github.com/jumpstarter-dev/jumpstarter/pull/178
- Set license field in pyproject.toml by @NickCao in https://github.com/jumpstarter-dev/jumpstarter/pull/179
- Parameterize version numbers in docs by @NickCao in https://github.com/jumpstarter-dev/jumpstarter/pull/177
Full Changelog: jumpstarter-dev/jumpstarter@v0.0.3...v0.5.0
v0.5.0rc2
What's Changed
- Remove redundant tags from docker images by @NickCao in https://github.com/jumpstarter-dev/jumpstarter/pull/173
Full Changelog: jumpstarter-dev/jumpstarter@v0.5.0rc1...v0.5.0rc2
v0.5.0rc1
What's Changed
- Allow specifying existing lease name in jmp client shell by @NickCao in jumpstarter-dev/jumpstarter#137
- Install, user creation and exporter configuration instructions by @mangelajo in jumpstarter-dev/jumpstarter#139
- Fix loose ends around driver client allow list handling by @NickCao in jumpstarter-dev/jumpstarter#140
- Rework and add test for pytest plugin by @NickCao in https://github.com/jumpstarter-dev/jumpstarter/pull/141
- Implement reset/close on DutlinkPower and DutlinkStorageMux by @NickCao in https://github.com/jumpstarter-dev/jumpstarter/pull/143
- Make JUMPSTARTER_HOST a const by @NickCao in https://github.com/jumpstarter-dev/jumpstarter/pull/142
- Test novnc/websocket adapter by @NickCao in https://github.com/jumpstarter-dev/jumpstarter/pull/144
- Set grpc.lb_policy_name to round_robin in all grpc channels by @NickCao in https://github.com/jumpstarter-dev/jumpstarter/pull/147
- Improve Introduction Content for Docs by @kirkbrauer in https://github.com/jumpstarter-dev/jumpstarter/pull/146
- Make Exporter take a channel_factory instead of a single channel by @NickCao in https://github.com/jumpstarter-dev/jumpstarter/pull/149
- Build multi arch container images by @NickCao in https://github.com/jumpstarter-dev/jumpstarter/pull/156
- Add getting started guide for local client by @NickCao in https://github.com/jumpstarter-dev/jumpstarter/pull/157
- Devspaces support by @mangelajo in https://github.com/jumpstarter-dev/jumpstarter/pull/161
- Devspaces client container by @mangelajo in https://github.com/jumpstarter-dev/jumpstarter/pull/162
- Cache image build by @NickCao in https://github.com/jumpstarter-dev/jumpstarter/pull/163
- Fix pushing container images by @NickCao in https://github.com/jumpstarter-dev/jumpstarter/pull/164
- Split jmp cli into client and exporter part by @NickCao in https://github.com/jumpstarter-dev/jumpstarter/pull/168
- Devspaces improvements by @mangelajo in https://github.com/jumpstarter-dev/jumpstarter/pull/167
- Use the same uid/gid combination as for /home/user by @mangelajo in https://github.com/jumpstarter-dev/jumpstarter/pull/169
- Remove http-docs, otherwise dynamic discovery fails to share route by @mangelajo in https://github.com/jumpstarter-dev/jumpstarter/pull/170
- Simplify makefile with new features of uv 0.4.30 by @NickCao in https://github.com/jumpstarter-dev/jumpstarter/pull/171
- Update glossary with definition for in-tree/out-of-tree standard/cust… by @NickCao in https://github.com/jumpstarter-dev/jumpstarter/pull/172
Full Changelog: jumpstarter-dev/jumpstarter@v0.0.3...v0.5.0rc1
v0.0.3
What's Changed
- Ustreamer driver: ensure the old ustreamer process is killed by @NickCao in jumpstarter-dev/jumpstarter#118
- Do not run tests in parallel to avoid race condition in test coverage… by @NickCao in jumpstarter-dev/jumpstarter#117
- Allow any pydantic deserializable object in driver config dict by @NickCao in jumpstarter-dev/jumpstarter#116
- Make StorageMuxClient.write_local_file accept relative path by @NickCao in jumpstarter-dev/jumpstarter#115
- Make Session a context manager by @NickCao in jumpstarter-dev/jumpstarter#119
- Build contrib driver docs by @mangelajo in jumpstarter-dev/jumpstarter#121
- Build docs within uv for full access to python classes and methods by @mangelajo in jumpstarter-dev/jumpstarter#125
- Make use of new status method by @NickCao in jumpstarter-dev/jumpstarter#123
- Misc improvement by @NickCao in jumpstarter-dev/jumpstarter#124
- Convert more cli code to blocking by @NickCao in jumpstarter-dev/jumpstarter#126
- Test unsatisfiable lease and pending lease by @NickCao in jumpstarter-dev/jumpstarter#127
- Drop redundant instantiation of TypeAdapter by @NickCao in jumpstarter-dev/jumpstarter#128
- Create the jumpstarter_imagehash library by @mangelajo in jumpstarter-dev/jumpstarter#129
- Imagehash followup by @NickCao in jumpstarter-dev/jumpstarter#130
- Allow skipping grpc tls verification with JUMPSTARTER_GRPC_INSECURE by @NickCao in jumpstarter-dev/jumpstarter#131
- soc testing example usign pytest and imagehash by @mangelajo in jumpstarter-dev/jumpstarter#120
- Fix typo in soc-pytest/pyproject.toml by @NickCao in jumpstarter-dev/jumpstarter#132
- Drop grpcs scheme from endpoints by @NickCao in jumpstarter-dev/jumpstarter#135
- Move wait_and_login back to the soc-pytest example by @mangelajo in jumpstarter-dev/jumpstarter#138
Full Changelog: jumpstarter-dev/jumpstarter@v0.0.2...v0.0.3