Skip to content

Releases: jumpstarter-dev/jumpstarter

v0.7.2

06 Nov 15:52
a5107a3

Choose a tag to compare

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

24 Sep 15:26
7a5a95e

Choose a tag to compare

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

05 Sep 11:48
b960370

Choose a tag to compare

🚀 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).

👉 Full changelog

v0.6.0

16 May 21:24
c2927a2

Choose a tag to compare

✨ 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

08 Nov 18:46
v0.5.0
d80431d

Choose a tag to compare

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

06 Nov 15:37
v0.5.0rc2
7b1367d

Choose a tag to compare

v0.5.0rc2 Pre-release
Pre-release

What's Changed

  • Remove redundant tags from docker images by @NickCao in #173

Full Changelog: v0.5.0rc1...v0.5.0rc2

v0.5.0rc1

06 Nov 15:15
9ed3d68

Choose a tag to compare

v0.5.0rc1 Pre-release
Pre-release

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

21 Oct 10:45
5a19508

Choose a tag to compare

v0.0.3 Pre-release
Pre-release

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

04 Oct 20:57
1fbeff7

Choose a tag to compare

v0.0.2 Pre-release
Pre-release

What's Changed

Full Changelog: v0.0.1...v0.0.2

v0.0.1

26 Sep 13:27
361fe12

Choose a tag to compare

v0.0.1 Pre-release
Pre-release

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