Hi folks,
The 2026.05 tag has been pushed to master on gitlab.com/lava/lava. .deb packages have been built in GitLab CI and are published at
https://apt.lavasoftware.org/release
Docker images for amd64 and arm64 have been built in GitLab CI and are available from
and
https://hub.docker.com/u/lavasoftware
Changes in this release ==================
# New debugfs implementation for generating mountable images
Instead of using `libguestfs` LAVA uses `debugfs` command from `e2fsprogs`. This should in theory result in fewer bugs compared to `libguestfs`.
To fallback to `libguestfs` implementation is in place if `debugfs` command is not found.
An optional `overlay_backend` key in the deploy stage allows explicit selection of the backend (`auto`, `e2fsprogs`, or `guestfs`):
```yaml - deploy: overlay_backend: e2fsprogs images: rootfs: url: https://example.com/rootfs.ext4 format: ext4 overlays: lava: true ```
# Device-types
## New device-types
* r9a09g057-rzv2h-evk * imx952-15x15-evk
# Server
## Job cancellation tracking
Admin log entries are now recorded when a job is cancelled, making it easier to track who cancelled a job and when.
## Database
New indexes on `state` and `health` columns improve performance when filtering jobs. The deprecated `index_together` on `TestJob` has been replaced with dedicated per-column indexes.
## 500 error responses
Server 500 errors now return JSON instead of HTML when the client sends an `Accept: application/json` header (as `lava-worker` and `lava-run` now do). This prevents raw HTML from appearing in job logs.
## UI improvements
Enable search for device-type and all workers pages. Also order tags by name (case insensitive) in the devices page.
## Future proofing
A lot of changes has been done recently to remove deprecated and old django and python features from the LAVA source code. This was possible due to the removal of support for Debian 10.
Multiple fixes for Debian 13 are also part of this LAVA release:
* Fixed `text_offset` not being part of device type schema even thought it was used by some u-boot devices. * Fixed REST API pages having invalid layout on Debian 13. * Fixed various deprecation warnings. * Fixed LDAP settings not working on Debian 13. * Fix OIDC settings not working on Debian 13.
# Dispatcher
## Docker test action
Docker test actions no longer require the boot action to stop at a shell prompt. This allows booting minimal systems without a proper shell and running tests exclusively from the Docker test shell on the worker.
## fastboot
### fastboot autodetect
When using fastboot auto-detect feature, LAVA will now run fastboot in a container if that's requested in the job definition. Prio to this release, LAVA was ignoring the docker configuration for running the auto-detection step.
### DUT power sequence
LAVA is now downloading and preparing image prior to powering DUT on. This aligns fastboot deployment with the typical download-then-deploy pattern used by the other deployment methods in LAVA.
## Test services
Environment variables from the device dictionary and job definition are now written to a `.env` file in the test service repository. Docker Compose reads this file automatically, making it easy to pass per-device information to service containers.
Device dictionary example:
```jinja2 {% set environment = { 'BOARD_QDL_ID': 'D902AA38'} %} ```
Docker Compose example to expose the variable to the container:
```yaml services: srv1: environment: - BOARD_QDL_ID ```
## u-boot
`#conf@XXX` is no longer required for every device when using the `bootm` command with FIT images. The config suffix is only appended when `bootm_device_tree_config` is set in the device dictionary.
Rgds