Stability and support
PAM Desktop 1.1.2 defines a stable application contract for Linux x86-64.
pam desktop is the public workflow; pam-desktop is the Composer-managed
internal native host.
Version axes
Section titled “Version axes”| Contract | Version | Compatibility scope |
|---|---|---|
| Public application API | 1 |
PHP objects and frozen JavaScript bridge |
| Worker protocol | 6 |
PAM/PHP bootstrap, requests, responses, and events |
| Rust plugin protocol | 1 |
Supervised executable transport and SDK |
PHP exposes Application::API_VERSION and
Application::PROTOCOL_VERSION. Rust exposes the matching public, worker, and
plugin constants. Frontend code can feature-check window.pam.apiVersion.
Application-owned identifiers remain strings. Statuses, kinds, categories,
themes, policies, and other coded variants are sequential integer enums
beginning at 1.
SemVer promise
Section titled “SemVer promise”- Patch releases fix defects without changing successful public behavior.
- Minor releases may add optional API while existing 1.x applications keep working.
- Removing a symbol, changing a required parameter, reassigning an integer
discriminator, or changing existing successful behavior requires public API
2and a SemVer major. - Worker protocol
6remains accepted throughout 1.x.
Executable compatibility gates
Section titled “Executable compatibility gates”CI enforces:
- reflection of every public PHP symbol and signature against
compat/php-api-v1.txt; - typed round-trip of golden protocol-6 payloads;
- compilation of an external Rust plugin protocol-1 consumer;
- duplicate archive generation with byte-for-byte comparison; and
- clean rootless install, executable smoke test, and exact uninstall.
The 1.1.2 validation record also passes 10 protocol tests, 25 host tests, the PHP API snapshot, Composer validation, PHPStan with 35 analyzed files, a byte-identical archive rebuild, clean rootless install/uninstall, SHA-256 verification and public artifact attestation.
Supported platform
Section titled “Supported platform”- Linux x86-64;
- glibc baseline from Ubuntu 22.04;
- PHP 8.4 workers;
- Rust 1.88 for rebuilding the host and SDK;
- supported X11 or Wayland environments in the pinned Winit/Servo stack.
Tray visibility and global shortcut availability depend on the desktop environment and compositor; graceful fallback is part of the contract.
Windows and macOS code is experimental, unbuilt, unpublished, and outside the 1.x compatibility promise. Apple packaging and physical certification are deferred until Apple hardware is available.