v0.2.6
Pre-release
Pre-release
Denial 0.2.6
This is a signed x86-64 public-alpha release of Denial.
- Source tag:
v0.2.6 - Source commit:
c094b7f0952b1b679dfb1eb7b84b4fb694cca36f - Signing fingerprint:
AE4108FA5E91E26BE0EE331E0F5B3AD16E023091 - Required packages:
denialanddenial-flutter-engine - Optional live-development package:
denial-ui-development
Added
- A compositor-integrated Impeller GLES path for Flutter's desktop-wide GBM
atlas, including exact embedder FBO presentation, preserved partial damage,
backdrop-filter support, native synchronization, and external-texture
lifetime. - Backdrop blur now has a configurable minimum effective window-opacity
threshold, including an unconditional no-blur path for fully invisible
windows.
Changed
- Impeller is now Denial's default Flutter renderer. The retained Skia/Ganesh
path remains available through--flutter-renderer skiaor the packaged
DENIA_FLUTTER_RENDERER=skiasession override. - High-rate external-texture frames now preserve precise rotating-atlas
damage, reuse cached layer-diff metadata for only the dirty textures, and
avoid redundant Ganesh flushes when cached texture bindings need no GL work. - Output ticks use maintained per-output window membership, and output-control
snapshots are rebuilt only after state changes. - The guided Arch setup now stops after trusting the release key and adding
the signed repository. Package installation remains an explicit
sudo pacman -Syu denialcommand. - Signed tags now provide package and user-visible runtime versions without a
predictive Cargo, Dart, PKGBUILD, manual-page, or changelog version bump. devcandidates are never published. After an exact validated merge,
mainindependently builds the production candidate; a later signed tag
versions and publishes those exact compiled payloads without rebuilding.
Fixed
- Managed X11 toplevels now always receive Denial's frame, rounded corners,
and shadow, preventing decoration-free Xwayland windows from corrupting
Impeller backdrop blur and shadow damage when minimized. - Retained window-frame layers now include their shadow outset in partial
repaint damage instead of clipping repair to the window's layout bounds. - Denial now clears non-primary DRM planes inherited from the display manager
before its first compositor frame, preventing a stale hardware cursor or
overlay image from remaining latched above the Flutter desktop. - Retained builder checkouts now run Flutter revision-transition hooks with
the pinned depot_tools environment instead of depending on a host-global
vpython3command. - DPMS wake now absorbs transient connector disconnects while monitors retrain
their links, preserving Wayland outputs and client windows across display
power cycles. - Fully opaque client content no longer requests backdrop blur merely because
its shadow, rounded corners, or antialiased border carries alpha. - Complex Flutter damage regions no longer collapse touching L-shaped output
repairs into a full-atlas repaint. - Failed local tag-signing attempts now reliably erase the decrypted recovery
kit and temporary keyring after function scope unwinds. - Arch packages now disable host-default debug-package rewriting explicitly,
keeping tag-promoted payloads independent of the build host.
The production binaries were built and independently checked from main on
Denial's owner-operated x86-64 runner. This signed tag promoted those exact
compiled payloads, assigned their package and runtime versions, and signed and
re-verified the repository in GitHub-hosted jobs. This release does not yet
claim an offline dependency closure, reproducible packages, independent
rebuilding, an SBOM, or AArch64 support.
Installation instructions are in
docs/packaging/arch/INSTALL.md.