Releases: jumpstarter-dev/jumpstarter
v0.7.2
What's Changed
- [Backport release-0.7] add NXP S32G-VND-RDB3 flasher by @jumpstarter-backport-bot[bot] in #649
- [Backport release-0.7] pyserial: add "cps" option for slow-typing simulation by @jumpstarter-backport-bot[bot] in #650
- [Backport release-0.7] S32g3 by @jumpstarter-backport-bot[bot] in #651
- [Backport release-0.7] Uboot prompt by @jumpstarter-backport-bot[bot] in #653
- [Backport release-0.7] Make j logging output nicer by using the rich logger by @jumpstarter-backport-bot[bot] in #654
- [Backport release-0.7] Tmtee helper driver by @jumpstarter-backport-bot[bot] in #655
- [Backport release-0.7] Fix grpc warnings in jmp/j by @jumpstarter-backport-bot[bot] in #660
- [Backport release-0.7] Add SSHWrapper driver by @jumpstarter-backport-bot[bot] in #663
- [Backport release-0.7] overriding the reboot method requires --feeling-safe parameter by @jumpstarter-backport-bot[bot] in #667
- [Backport release-0.7] Do not use rich logging in exporters/jmp run by @jumpstarter-backport-bot[bot] in #669
- [Backport release-0.7] unregister from controller only on proper exit by @jumpstarter-backport-bot[bot] in #662
- [Backport release-0.7] Add jumpstarter-driver-tmt to all package by @jumpstarter-backport-bot[bot] in #673
- [Backport release-0.7] unzboot with zstd landed in Fedora 42 by @jumpstarter-backport-bot[bot] in #670
- [Backport release-0.7] Lease handling user enhancements by @jumpstarter-backport-bot[bot] in #676
- [Backport release-0.7] Change the default keepalive timeout by @jumpstarter-backport-bot[bot] in #677
- [Backport release-0.7] add tracking to created resources in OpenDAL by @jumpstarter-backport-bot[bot] in #678
- [Backport release-0.7] Wait for connection to exporter to be ready on unix socket by @jumpstarter-backport-bot[bot] in #682
- [Backport release-0.7] treewide: never ellipsis or wrap name column by @jumpstarter-backport-bot[bot] in #683
- [Backport release-0.7] don't add to group by @jumpstarter-backport-bot[bot] in #691
- [Backport release-0.7] Custom driver descriptions by @jumpstarter-backport-bot[bot] in #695
- [Backport release-0.7] Lease progress details while users wait by @jumpstarter-backport-bot[bot] in #693
- [Backport release-0.7] add ssh identity configuration by @jumpstarter-backport-bot[bot] in #694
- [Backport release-0.7] flashers: support http headers by @jumpstarter-backport-bot[bot] in #697
- [Backport release-0.7] don't ask the "unsafe" question in noninteractive login by @jumpstarter-backport-bot[bot] in #702
- [Backport release-0.7] Handle curl / xz / dd failures and perform retries by @jumpstarter-backport-bot[bot] in #703
- [Backport release-0.7] server-side proxy calls by @jumpstarter-backport-bot[bot] in #706
- [Backport release-0.7] add ssh driver to jumpstarter-all by @jumpstarter-backport-bot[bot] in #709
- [Backport release-0.7] tmt: remove default reboot_cmd which causes issues with some tmt versions by @jumpstarter-backport-bot[bot] in #711
- [Backport release-0.7] Create token for the proper repository by @jumpstarter-backport-bot[bot] in #714
- [Backport release-0.7] Parallel SSL cert retrieval by @jumpstarter-backport-bot[bot] in #718
- [Backport release-0.7] ridesx: power off device if power is referenced by @jumpstarter-backport-bot[bot] in #719
- [Backport release-0.7] client lease improvements by @jumpstarter-backport-bot[bot] in #720
- [Backport release-0.7] Update installer default branch to 0.7 by @jumpstarter-backport-bot[bot] in #723
- [Backport release-0.7] flashers: make dhcp failure flash retryable by @jumpstarter-backport-bot[bot] in #731
- Backport lazy ssh by @mangelajo in #734
- [Backport release-0.7] flasher-driver: add support for using fls as flasher by @jumpstarter-backport-bot[bot] in #736
Full Changelog: 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 #609
- [Backport release-0.7] Add direct address reporting support for tcp/udp by @jumpstarter-backport-bot[bot] in #619
- [Backport release-0.7] client: compare lease selectors by @jumpstarter-backport-bot[bot] in #621
- [Backport release-0.7] client: exclude None selector from match check by @jumpstarter-backport-bot[bot] in #632
Full Changelog: 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 #137
- Install, user creation and exporter configuration instructions by @mangelajo in #139
- Fix loose ends around driver client allow list handling by @NickCao in #140
- Rework and add test for pytest plugin by @NickCao in #141
- Implement reset/close on DutlinkPower and DutlinkStorageMux by @NickCao in #143
- Make JUMPSTARTER_HOST a const by @NickCao in #142
- Test novnc/websocket adapter by @NickCao in #144
- Set grpc.lb_policy_name to round_robin in all grpc channels by @NickCao in #147
- Improve Introduction Content for Docs by @kirkbrauer in #146
- Make Exporter take a channel_factory instead of a single channel by @NickCao in #149
- Build multi arch container images by @NickCao in #156
- Add getting started guide for local client by @NickCao in #157
- Devspaces support by @mangelajo in #161
- Devspaces client container by @mangelajo in #162
- Cache image build by @NickCao in #163
- Fix pushing container images by @NickCao in #164
- Split jmp cli into client and exporter part by @NickCao in #168
- Devspaces improvements by @mangelajo in #167
- Use the same uid/gid combination as for /home/user by @mangelajo in #169
- Remove http-docs, otherwise dynamic discovery fails to share route by @mangelajo in #170
- Simplify makefile with new features of uv 0.4.30 by @NickCao in #171
- Update glossary with definition for in-tree/out-of-tree standard/cust… by @NickCao in #172
- Remove redundant tags from docker images by @NickCao in #173
- Cross build python wheels by @NickCao in #175
- Use PEP 735 Dependency Groups instead of uv specific dev-dependencies… by @NickCao in #178
- Set license field in pyproject.toml by @NickCao in #179
- Parameterize version numbers in docs by @NickCao in #177
Full Changelog: v0.0.3...v0.5.0
v0.5.0rc2
What's Changed
Full Changelog: v0.5.0rc1...v0.5.0rc2
v0.5.0rc1
What's Changed
- Allow specifying existing lease name in jmp client shell by @NickCao in #137
- Install, user creation and exporter configuration instructions by @mangelajo in #139
- Fix loose ends around driver client allow list handling by @NickCao in #140
- Rework and add test for pytest plugin by @NickCao in #141
- Implement reset/close on DutlinkPower and DutlinkStorageMux by @NickCao in #143
- Make JUMPSTARTER_HOST a const by @NickCao in #142
- Test novnc/websocket adapter by @NickCao in #144
- Set grpc.lb_policy_name to round_robin in all grpc channels by @NickCao in #147
- Improve Introduction Content for Docs by @kirkbrauer in #146
- Make Exporter take a channel_factory instead of a single channel by @NickCao in #149
- Build multi arch container images by @NickCao in #156
- Add getting started guide for local client by @NickCao in #157
- Devspaces support by @mangelajo in #161
- Devspaces client container by @mangelajo in #162
- Cache image build by @NickCao in #163
- Fix pushing container images by @NickCao in #164
- Split jmp cli into client and exporter part by @NickCao in #168
- Devspaces improvements by @mangelajo in #167
- Use the same uid/gid combination as for /home/user by @mangelajo in #169
- Remove http-docs, otherwise dynamic discovery fails to share route by @mangelajo in #170
- Simplify makefile with new features of uv 0.4.30 by @NickCao in #171
- Update glossary with definition for in-tree/out-of-tree standard/cust… by @NickCao in #172
Full Changelog: v0.0.3...v0.5.0rc1
v0.0.3
What's Changed
- Ustreamer driver: ensure the old ustreamer process is killed by @NickCao in #118
- Do not run tests in parallel to avoid race condition in test coverage… by @NickCao in #117
- Allow any pydantic deserializable object in driver config dict by @NickCao in #116
- Make StorageMuxClient.write_local_file accept relative path by @NickCao in #115
- Make Session a context manager by @NickCao in #119
- Build contrib driver docs by @mangelajo in #121
- Build docs within uv for full access to python classes and methods by @mangelajo in #125
- Make use of new status method by @NickCao in #123
- Misc improvement by @NickCao in #124
- Convert more cli code to blocking by @NickCao in #126
- Test unsatisfiable lease and pending lease by @NickCao in #127
- Drop redundant instantiation of TypeAdapter by @NickCao in #128
- Create the jumpstarter_imagehash library by @mangelajo in #129
- Imagehash followup by @NickCao in #130
- Allow skipping grpc tls verification with JUMPSTARTER_GRPC_INSECURE by @NickCao in #131
- soc testing example usign pytest and imagehash by @mangelajo in #120
- Fix typo in soc-pytest/pyproject.toml by @NickCao in #132
- Drop grpcs scheme from endpoints by @NickCao in #135
- Move wait_and_login back to the soc-pytest example by @mangelajo in #138
Full Changelog: v0.0.2...v0.0.3
v0.0.2
What's Changed
- Generate python package index as part of doc by @NickCao in #96
- Initial sd-wire driver by @NickCao in #91
- Addtional debug logging for multiple components (part 1) by @NickCao in #90
- Simplify build target by @NickCao in #100
- Implement jmp client lease list/release by @NickCao in #102
- Use conditions in lease handling by @NickCao in #99
- Add automatic reconnect to exporter by @NickCao in #107
- Add ustreamer to container image by @NickCao in #103
- Also test on python 3.13 by @NickCao in #105
- Fixup dutlink example by @NickCao in #104
- Add libusb1 to container image by @NickCao in #108
- Reliably send EOF on stream disconnect by @NickCao in #109
- dutlink: use better method for detecting storage media presence by @NickCao in #110
Full Changelog: v0.0.1...v0.0.2
v0.0.1
What's Changed
- Add Dockerfile and github action for publishing to quay by @NickCao in #89
- Use dynamic versioning from git in python wheels by @mangelajo in #92
- Add git to builder container to fix generating version by @NickCao in #94
- Add github action for publishing wheels by @NickCao in #93
Full Changelog: v0.0.0...v0.0.1