v6.0.0

Wan-Video/Wan2.1v6.0.0Jan 13, 2026by mherrmann

AI Summary

This release improves the `find_all` function by correcting object reuse in loops and refining grid-based search logic. These behavior changes affect the elements returned by the API and require a major version bump.

Key Highlights

  • Fixes a bug where `find_all` reused the same element object in loops
  • Changes grid search to return only the first matching element instead of all matching elements
  • Provides a workaround for retrieving all grid elements using nested loops
  • Modifies the elements returned by Helium's API

Breaking Changes

  • The behavior of `find_all` has been changed
  • Grid searches now return a single element instead of multiple elements
  • Object reuse in loops has been fixed, altering how references are handled

New Features

  • Improvements to `find_all` loop iteration and grid search behavior

Full Release Notes

`find_all` had the following bug:

Imagine you have the following code:

```
for label in find_all(Text('Label')):
    print(Link(to_right_of=label).href)
```

The bug was that this used _the same_ `Link` for each `label`, producing output for links that actually were not `to_right_of` the `label` in the loop.

Furthermore, this release also changes the behavior of `find_all` in the following way. Say you have four buttons in a 2x2 grid:

<img width="276" height="62" alt="image" src="https://github.com/user-attachments/assets/d4ae31f1-6de7-41ca-9a4a-9e8e9a8ebd73" />

Previously, the following code used to return two buttons:

```
find_all(Button("Duplicate Button"), below=Button("Duplicate Button"))
```

(Namely, the two buttons in the second row, because they are both under a "Duplicate Button").

Now, this only returns one button (the first button in the second row). If you want both, you can still do:

```
for button in find_all(Button("Duplicate Button")):
    find_all(Button("Duplicate Button", below=button))
```

This release is a major version bump (6.x.x) because it changes the elements returned by Helium's API and may therefore be backwards-incompatible.