# What changed in ashpd

> 27 changes in ashpd 0.12 to 0.14 from its official release notes, upgrade guides and advisories: 3 breaking, 2 security, 5 new APIs and options. Each one cited. Sources checked 2026-11-12. HTML: https://unstale.sh/cargo/ashpd/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## ashpd 0.14

### Breaking changes

- Input Capture switches to the create_session2 invocation. (0.14.0) — [release notes](https://github.com/bilelmoussaoui/ashpd/releases/tag/0.14.0)
- Lifetime bounds were removed from signal stream return types. (0.14.0) — [release notes](https://github.com/bilelmoussaoui/ashpd/releases/tag/0.14.0)

### Security

- Portal frontends are authenticated on the backend. (0.14.0) — [release notes](https://github.com/bilelmoussaoui/ashpd/releases/tag/0.14.0)
- Security advisories for XML, event-listener, and gettext are patched. (0.14.0) — [release notes](https://github.com/bilelmoussaoui/ashpd/releases/tag/0.14.0)

### New APIs and options

- A persist_mode backend option is added for ScreenCast. (0.14.0) — [release notes](https://github.com/bilelmoussaoui/ashpd/releases/tag/0.14.0)
- ScreenCast adds support for pipewire_serial. (0.14.0) — [release notes](https://github.com/bilelmoussaoui/ashpd/releases/tag/0.14.0)
- Client settings add reduced-motion support. (0.14.0) — [release notes](https://github.com/bilelmoussaoui/ashpd/releases/tag/0.14.0)

### Behavior and default changes

- Color picking in the screenshot portal no longer requires portal version >= 2. (0.14.0) — [release notes](https://github.com/bilelmoussaoui/ashpd/releases/tag/0.14.0)
- InputCapture support is enabled for clipboards. (0.14.0) — [release notes](https://github.com/bilelmoussaoui/ashpd/releases/tag/0.14.0)
- Tokens are no longer required when deserializing sessions. (0.14.0) — [release notes](https://github.com/bilelmoussaoui/ashpd/releases/tag/0.14.0)
- URIs without an authority component are allowed. (0.14.0) — [release notes](https://github.com/bilelmoussaoui/ashpd/releases/tag/0.14.0)
- Property caching is disabled for Request and Session objects. (0.14.0) — [release notes](https://github.com/bilelmoussaoui/ashpd/releases/tag/0.14.0)

### Tooling

- The minimum supported Rust version was lowered from 1.92 to 1.87. (0.14.0) — [release notes](https://github.com/bilelmoussaoui/ashpd/releases/tag/0.14.0)

### Fixes and other changes

- Barrier position moves into a dedicated struct. (0.14.0) — [release notes](https://github.com/bilelmoussaoui/ashpd/releases/tag/0.14.0)
- Choice now accepts DesktopID. (0.14.0) — [release notes](https://github.com/bilelmoussaoui/ashpd/releases/tag/0.14.0)
- ConfigureShortcutsOptions now implements Default. (0.14.0) — [release notes](https://github.com/bilelmoussaoui/ashpd/releases/tag/0.14.0)
- A panic when a handle token begins with a digit is fixed. (0.14.0) — [release notes](https://github.com/bilelmoussaoui/ashpd/releases/tag/0.14.0)
- Tokens are consistently provided on the backend. (0.14.0) — [release notes](https://github.com/bilelmoussaoui/ashpd/releases/tag/0.14.0)
- A compilation issue is fixed when ashpd is built solely with the screenshot feature enabled. (0.14.0) — [release notes](https://github.com/bilelmoussaoui/ashpd/releases/tag/0.14.0)
- A missing MIME types setter was added. (0.14.0) — [release notes](https://github.com/bilelmoussaoui/ashpd/releases/tag/0.14.0)

## ashpd 0.13

### Breaking changes

- Unnecessary lifetime parameters were removed from proxy types, changing their type signatures. (0.13.0) — [release notes](https://github.com/bilelmoussaoui/ashpd/releases/tag/0.13.0)

### New APIs and options

- The backend now allows watching for NameLost signals. (0.13.0) — [release notes](https://github.com/bilelmoussaoui/ashpd/releases/tag/0.13.0)
- Each portal is now available as a separate feature, allowing developers to select portals individually. (0.13.0) — [release notes](https://github.com/bilelmoussaoui/ashpd/releases/tag/0.13.0)

### Behavior and default changes

- The builder requests the name after exporting interfaces. (0.13.0) — [release notes](https://github.com/bilelmoussaoui/ashpd/releases/tag/0.13.0)

### Fixes and other changes

- PortalError is matched to Response in the request backend. (0.13.0) — [release notes](https://github.com/bilelmoussaoui/ashpd/releases/tag/0.13.0)
- The screencast restore_data type was corrected. (0.13.0) — [release notes](https://github.com/bilelmoussaoui/ashpd/releases/tag/0.13.0)

## ashpd 0.12

### Fixes and other changes

- The Session::Closed signal is no longer silently discarded. (0.12.3) — [release notes](https://github.com/bilelmoussaoui/ashpd/releases/tag/0.13.0), [release notes](https://github.com/bilelmoussaoui/ashpd/releases/tag/0.12.3)
