Skip to content

Releases: jturbide/niri-fx

NiriFX 0.22.2

NiriFX 0.22.2 Pre-release
Pre-release

Choose a tag to compare

@jturbide jturbide released this 12 Oct 16:38
v0.22.2
8f15fcd

NiriFX 0.22.2 repairs managed Studio launchers that exit before opening a window. It is a focused patch based on 0.22.1; compositor patches, shaders, effect defaults and document schemas are unchanged.

Fixed

  • New managed launchers select the native editor explicitly, so automatic shell detection cannot send native storage options to another adapter.
  • Older retained launchers also work after a reviewed tools update. Their existing dispatcher and recovery metadata remain intact.
  • Explicit conflicting targets continue to fail before configuration changes.

Updating an existing installation

An installed package update does not automatically replace retained tools. For an adopted Arch installation, update niri-fx, then run /usr/bin/niri-fx native adopt, review its plan and apply the reported fingerprint. For a managed wheel/source installation, install the wheel in a new persistent environment and follow the tools update workflow. Keep older runtimes and saved effects.

Save any open draft and reopen Studio after selecting the updated tools. While preparing the update, an older installation can open the editor with niri-fx studio --target native.

Downloads and scope

The wheel contains Studio and CLI tools. The source archive also contains documentation, examples and the matching compositor build inputs. Verify downloads using SHA256SUMS.

The complete Arch package remains available through AUR. Browser previews and package checks do not extend the documented physical desktop acceptance. Development-branch preview features and compositor changes are outside this patch.

NiriFX 0.22.1

NiriFX 0.22.1 Pre-release
Pre-release

Choose a tag to compare

@jturbide jturbide released this 07 Oct 05:08
v0.22.1
e624114

NiriFX 0.22.1 improves session update and startup recovery. Niri is the sole compositor target.

Effect defaults, compositor patches and document schemas are unchanged. Adopted
sessions keep their retained tools until an explicit reviewed update; see
upgrade guidance.

Changed

  • Public guides and roadmap focus on Niri effects, the NiriFX session and
    integrations for Niri-compatible shells.

Fixed

  • Retrying an interrupted packaged-session update resumes matching partial
    compositor copies for both shared and frozen settings. Changed or unexpected
    files are preserved and refused; the previous selection remains available.
  • Session startup distinguishes an unavailable compositor executable from a
    rejected configuration, and retained tool startup failures include recovery
    guidance. Failed startup keeps the selected runtime and saved effects in place.

Installation and upgrades

Choose one complete AUR package: niri-fx or niri-fx-git. Both include the tools, compositor and login entry. Existing adopted sessions use /usr/bin/niri-fx native adopt without --config to review the update before Apply. See upgrading and Arch installation.

The Python wheel provides tools; the source archive contains the native build inputs. Package updates do not automatically select or restart a compositor.

Validation and limits

Validation includes 796 Python tests, 140 Node tests, browser rendering and Studio workflows, and GLSL/stock Niri checks for all 96 styles and profiles. Both complete Arch packages passed clean builds, archive inspection, two-user adoption/removal and dependency recovery checks. A rebuild of the signed 0.22.0 release upgraded to 0.22.1 with its saved recipe preserved; compositor and tools rollback also passed.

Physical login, GPU rendering, mixed monitors, screen sharing and suspend remain separate acceptance gates. This 0.x prerelease does not claim 1.0 stability. See validation.

NiriFX 0.22.0

NiriFX 0.22.0 Pre-release
Pre-release

Choose a tag to compare

@jturbide jturbide released this 06 Oct 06:23
v0.22.0
1e715c7

NiriFX 0.22 packages the complete product in either niri-fx or niri-fx-git: Studio, CLI, presets, compositor and login entry. Choose the release channel or development channel; no separate compositor package is needed. You can keep using the tools with stock Niri.

Added

  • Reviewed native adopt for packaged full sessions. It retains tools and the
    compositor in user storage, preserves saved effects and shared desktop settings
    on upgrade, and keeps earlier selections available for rollback. Package
    replacement does not switch the running or next-login version automatically.
  • Complete Arch/AUR packages in two channels: niri-fx for releases and
    niri-fx-git for development. Both include Studio, CLI, presets, the full
    compositor and a login entry. They build tools and compositor from the same
    source revision; no separate compositor package is needed.
  • Offline compilation from prepared pinned source and relocatable compositor
    provenance. The producer strips its executable before recording its identity.

Changed

  • Updating from the earlier Arch tools-only packages also installs the full
    compositor. Existing users can keep using stock Niri and the tools; package
    installation does not enable effects, adopt a session or change configuration.
  • Native output diagnostics compare both capture orders and count owned child
    surface submissions against parent receipts. All 12 baseline cases still
    reproduce stale output; the report narrows the investigation without claiming
    a rendering or privacy fix.

Fixed

  • The Arch compositor recipe disables makepkg's C/C++ LTO flags to avoid missing
    PipeWire helper symbols when linking with Rust. Rust's release optimizations
    remain enabled.

Installation

Arch installation and upgrades cover the complete AUR packages. Updating does not activate a session or change effects. The Python wheel remains available for standalone tools installations; the source archive includes the full native build inputs.

Validation and limits

Both complete packages passed clean Arch builds, upgrades from their published 0.21 tools-only packages, two-user adoption/removal and normal switching between channels. Each clean build passed 785 Python tests and 168 native test executions. Installed Studio first-use checks passed standalone Niri and the real iNiR helper with temporary settings.

Physical login, mixed monitors, capture, suspend and upgrades between two already-adopted native versions remain separate acceptance gates. This 0.x prerelease does not claim 1.0 stability. See validation.

NiriFX 0.21.0

NiriFX 0.21.0 Pre-release
Pre-release

Choose a tag to compare

@jturbide jturbide released this 06 Oct 02:50
v0.21.0
3b8e03e

Added

  • Complete portable fragment recipes. Gentle, Tear and Cascade now save their
    movement material and all response values together. Local, online and offline
    Studio expose the same choices, with detailed delay, spread, rotation and
    release controls under Customize fragment response. My profiles, JSON,
    sharing and Undo/Redo retain the complete recipe.
  • Profile schema 4 carries explicit continuous-fragment settings and all five
    action choices. Earlier profile schemas keep their meaning. Move Preserve,
    Off or an incompatible material retains the response for later use; Timed
    movement explicitly removes it. Stock exports omit native controls.
  • profile --fragment-preset gentle|tear|cascade creates a complete recipe.
    native export BUNDLE_ID reads older managed recipes without changing their
    files, preserving the response recorded in the bundle even if preset defaults
    have since changed. See the migration guide.
  • Four importable continuous-fragment combos and a Studio workflow showcase.
    The browser preview shows the movement material; continuous gesture response
    still needs the NiriFX compositor.

Changed

  • JSON imports and share links accept up to 32 KiB to accommodate complete
    five-action recipes, desktop springs, pointer wobble and fragment response.
    NiriFX 0.20 cannot read schema 4 documents; retain older exports when sharing
    with older tools.

Fixed

  • Standalone Apply and Restore check the running native renderer contract before
    enabling continuous-fragment settings. Timed movement omits the shader marker
    that would otherwise enable the compositor's default continuous response.

Upgrade

Download the wheel and SHA256SUMS from this release, verify the checksum, and
follow the 0.20 to 0.21 upgrade guide.
Managed installations use a new persistent environment and the reviewed
shared tool update.
Save open drafts and reopen Studio after switching tools.

Existing schemas 1, 2 and 3 keep their meaning. Complete fragment recipes use
schema 4, which 0.20 tools cannot read. Keep older exports and retained bundles
for recovery; managed tool rollback refuses incompatible selected or previous
bundles. The new native export command reads older saved responses without
modifying them.

The compositor patch stack is unchanged from 0.20. Compatible full NiriFX builds
remain usable. This prerelease contains the Python tools and matching source,
not a supported compositor binary or distribution package. Browser previews
show the movement material; continuous gesture response needs the NiriFX
compositor. Physical desktop acceptance remains separate from automated tests.

NiriFX 0.20.0

NiriFX 0.20.0 Pre-release
Pre-release

Choose a tag to compare

@jturbide jturbide released this 06 Oct 01:20
v0.20.0
ab183d5

NiriFX 0.20.0 brings shared desktop settings, simpler action selection and reviewed session/tool updates together. This is a 0.x prerelease: 1.0 and its compatibility contract remain future milestones.

Install the wheel for the CLI and Studio. Use the source archive for the matching compositor build tools and patches. This release does not include a supported compositor binary or distribution package.

Added

  • Shared desktop settings for stock Niri and the NiriFX session. Reviewed adoption
    keeps normal configuration files in place and uses one saved recipe to generate
    stock-compatible effects plus native-only movement, swaps and pointer controls.
    Both executables validate changes; external edits invalidate stale reviews.
    Studio exposes sharing and frozen recovery in advanced settings; CLI equivalents
    are native share and native recover. Already-shared sessions watch includes;
    first adoption or a changed compositor build takes effect at the next NiriFX login.
    File updates are reported separately from confirmed live activation.

  • Local Studio installation status identifies changed tool selections, unfinished
    migration and unavailable installations. A notice explains when to save and
    reopen, including same-version updates and rollbacks. About offers a manual
    check; unsaved settings remain in the editor.

  • Studio's footer shows its version and UI build in local, web and offline modes,
    making different editor builds recognizable even when they share a version.
    About explains how to load updates and separates Studio from compositor identity.

  • Independent Swap styles for explicit left/right window swaps in updated NiriFX
    builds. Move continues to control ordinary movement and dragging. Preserve
    retains the underlying swap setting; older builds retain their shared behavior
    and require an update before applying a separate swap override.

  • Pixel Relay, Ripple Transit, Vortex Transit, Ribbon Cascade and Spring Rebound,
    with a Movement collection, shader previews and native rearrangement showcases.

  • Profile schema 3 and profile --swap carry a separate swap choice. Profiles
    without an override continue to serialize as schema 2; stock exports omit swap
    overrides. Native Apply checks the retained build and running swap renderer.

  • Reviewed shared tool-runtime updates for CLI, Studio and the login launcher.
    A one-time stable-entry migration keeps the working runtime selected until
    registration is verified. Later updates share one selector, retain the previous
    runtime, and check current compositor bundle compatibility before rollback.

  • Studio's NiriFX session target applies reviewed effects directly to a verified
    matching compositor and saves them for the next login. Stock, offline and
    different-build sessions keep next-login selection. It retains the previous
    binary/configuration pair, reopens saved recipes
    and reviews rollback separately. Independent action choices and Gentle, Tear
    and Cascade continuous-fragment presets use the retained build. Session and
    file details are collapsed behind the main preset controls.

  • native install --candidate DIR --config FILE prepares the full desktop build,
    configuration snapshot, NiriFX login entry and next-login selection in one
    reviewed transaction. Display-manager registration remains an administrator
    step until distribution packages provide it. Shell sources and the running
    session stay unchanged.

  • native configure exposes the same immutable preset editing through the CLI
    and agent discovery, with exact review fingerprints and retained rollback.

  • native configure --live and native rollback --live share Studio's verified
    desktop Apply flow. They require a live review fingerprint, refuse unavailable
    sessions before staging, and report failed or unconfirmed reloads separately
    from a saved next-login selection.

  • One build-nirifx-session.py command builds all compositor features with
    desktop support, release optimization and focused regressions. A pinned native
    compatibility matrix and isolated patch/build checks separate
    upstream port failures from desktop updates. The native release checklist
    covers dependency-aware packages, provenance, rollback and physical acceptance
    before compositor binaries are advertised as supported downloads.

  • native status distinguishes the advertised running session from next-login
    and rollback selections, and reports each retained bundle's file and allocated
    storage sizes. Missing selections stay visible. --offline skips IPC; status
    never executes a candidate or changes desktop settings.

  • native stage --snapshot-includes imports split Niri configurations into a
    closed, verified bundle while preserving include order and file boundaries.
    Review covers every source, including absent optional files. Login entries
    support custom names, and doctor reports continuous-fragment capability
    separately from timed movement.

  • native stage, status, select, rollback and session-entry
    commands prepare retained desktop binary/configuration pairs and reviewed
    next-login selection. The per-user systemd launcher preserves the stock Niri
    service lifecycle, pins one pair per login and falls back to stock for expired
    leases. Display-manager registration remains an administrator step; physical
    desktop acceptance and distribution packages are still pending.

  • Isolated native build candidates preserve earlier source trees, Cargo outputs
    and executables. Successful attempts publish their own manifest and copied
    binary; explicit per-variant selection lets native tests use a candidate
    without changing the login session or legacy demo selection.

  • A reviewed migration removes the earlier compact iRiS source integration
    without discarding newer upstream changes. Customized or ambiguous files are
    preserved for manual review.

  • Native build identity records the ordered patch stack, locked dependencies,
    toolchain, target and features. A read-only inspector checks artifact identity
    and desktop build prerequisites without starting or installing a compositor.

  • Continuous square-fragment motion for pointer dragging, timed
    movement and column reordering. Distant pieces initially lag behind the grabbed
    region, then catch up with per-piece delay and response variation. Pressing can
    expand the material before moving; held pauses keep that spread, and release
    reconstructs the window. Native controls expose timing, variation, spread,
    pinning, rotation, tilt and release. Focused native acceptance verifies
    screen-position retention, independently delayed pieces, queued reversals,
    long floating and tiled drags, stable endpoints and client input. Physical
    desktop acceptance remains separate.

  • Gentle, Tear and Cascade presets for continuous fragment motion, with
    a local comparison window, preset buttons and keyboard shortcuts. Validated
    native controls share one canonical definition. Settings and grid changes wait
    until the active motion has settled; Off takes effect immediately. Unsupported
    grids use protected fallback without repeated per-frame preparation.

  • Native fragment checks cover shader failure and recovery, direct screenshot
    privacy, interrupted clients and measured CPU state costs.

  • Continuous-fragment diagnostics cover simultaneous two- and four-window motion,
    dense input history and hardware GPU mesh workloads. CPU measurements expose
    remaining recovery spikes after short pauses; particle defaults and limits
    are unchanged.

  • NiriFX session resize-to-close continuation retains the current material,
    deformation phase and size paths while fading out. Borders and shadows follow
    the changing geometry; each capture target owns a separate frozen material.

  • Installed upgrade checks accept the published 0.19 package, including active
    Preserve/Off choices. CLI and Library Restore must retain their recovery history
    and refuse external edits before recovering the original files exactly.

  • NiriFX session resize effects retain their deformation phase, piece layout and
    current material across repeated size changes. Client content updates on a
    separate clock; shader replacements take effect on the next resize episode.
    Output and capture targets keep separate material caches and respond to
    changes in capture restrictions.

  • Native before/after comparisons for minimum-size width and height retargets
    and retained fragment and triangle resize effects.

  • A versioned 0.19 compatibility corpus shared by Python and browser tests,
    covering document migration, action choices, rejected input, representative
    catalog IDs and CLI JSON consumers. This begins compatibility testing toward
    1.0; it does not freeze current 0.x interfaces.

  • A clean-account first-use check for source and wheel installations, covering
    Library selection, all action modes, saved profiles, review/cancel, Apply,
    reopening Studio and exact Restore without connecting to a desktop session.

  • An overlapping-pointer diagnostic covering idle-device removal, held-owner
    removal, ownership changes and shared-button releases. It reproduces the
    stale-grab failure in unmodified Niri and records the limits of global cleanup.

Changed

  • Studio calls whole-window pointer deformation Pointer wobble and explains
    that its Off setting leaves continuous fragments enabled when Move uses them.
    Move Off disables continuous fragments as well as the timed movement effect.

  • Studio puts the current combo, primary Apply action and JSON download above the
    preview. Profile tools are secondary, review stays beside the action that opens
    it, and session details are collapsed. The narrow layout wraps controls and
    keyboard selections retain focus and catalog position.

  • Separate Move and Swap tabs preview each choice immediately. Movement choices
    lead with curated presets; swap previews show two windows exchanging positions...

Read more

NiriFX 0.19.0

NiriFX 0.19.0 Pre-release
Pre-release

Choose a tag to compare

@jturbide jturbide released this 05 Oct 00:26
v0.19.0
1398f34

NiriFX 0.19.0 is a prerelease.

Added

  • Independent Preserve / NiriFX Style / Off controls for opening, closing,
    resizing, movement and pointer drag in Library and Studio, with matching CLI
    choices, portable JSON, previews, shared styles and Undo.
  • A recorded action-selection workflow and native comparisons for resize
    reversals, orthogonal retargets and timing reloads, with reproducible checks.
  • A path to 1.0 with proposed public-interface boundaries, backward compatibility
    throughout 1.x and concrete acceptance criteria. Current 0.x interfaces remain
    under development; this does not announce a stability freeze.
  • Public Discussions, GitHub Sponsors links, README badges and star history.
    CodeQL scanning and grouped weekly dependency updates complement existing
    secret scanning and push protection.

Changed

  • Profiles export schema 2. Schema 1 imports retain their behavior. Preserve uses
    the desktop configuration underneath NiriFX; Off disables the selected action.
  • Experimental movement and pointer contracts advance to version 2. Explicit
    merge flags preserve sibling settings; timed movement Off no longer disables
    pointer deformation. Rebuild the matching experimental compositor before native
    activation. Stock exports continue to omit native overrides.
  • CI selects expensive checks by changed paths, caches dependency downloads and
    runs independent browser/rendering matrices in parallel. A required aggregate
    rejects missing or failed checks. The same local workload measured 127.8 seconds
    sequentially and 74.1 seconds in parallel; this is not a GitHub runner benchmark.
  • User guides distinguish available features and support limits from future work;
    contributor and maintainer references are grouped separately.
  • Refresh affected Studio, Library, picker and native showcases for the current
    controls and compositor patches.

Fixed

  • Interrupted resizes retain per-axis size velocity and timing alongside adjacent
    tiles and columns. Unchanged axes keep their existing deadlines; reloaded timing
    applies to new transitions. Extreme negative size samples are floored before
    constructing renderer geometry, preventing a debug-build panic. Neighbor alignment
    at that floor and retained resize shader state remain separate limitations.
  • Browser tests pass imported documents and geometry through protocol arguments
    rather than interpolating fixture data into executable JavaScript.

Upgrade

Install the new wheel in the same environment and reopen Studio. Installation
preserves configuration, saved profiles, favorites, registrations and Restore
history. Saving a profile writes schema 2, which older versions cannot read.
Keep original exports for downgrades. Native activation requires a rebuilt
contract-2 compositor; installing NiriFX does not replace it.
See upgrading from 0.18.

Downloads

Choose the wheel for the CLI and Studio. The source archive includes the complete documentation, 209 showcases, test tools and experimental compositor patches. Verify downloads against SHA256SUMS before installing.

sha256sum --ignore-missing -c SHA256SUMS
python3 -m venv .venv
.venv/bin/python -m pip install --no-index --no-deps ./niri_fx-0.19.0-py3-none-any.whl
.venv/bin/niri-fx studio

Installing the package leaves your active desktop settings unchanged. Native movement and pointer effects require the separate contract-2 compositor; the package does not install it.

NiriFX 0.18.0

NiriFX 0.18.0 Pre-release
Pre-release

Choose a tag to compare

@jturbide jturbide released this 04 Oct 22:26
v0.18.0
a550dc7

Added

  • Interactive pointer dragging in Studio and a deterministic drag/reverse/release
    phase in complete combo previews. Both use the experimental compositor's spring
    and deformation math, with a keyboard demo and reduced-motion behavior.
  • Three portable pointer example combos and browser showcases with JSON downloads.
    Browser playback previews synthetic input; live dragging still requires the
    experimental compositor.
  • A pointer-wobble prototype for the pinned experimental compositor.
    Windows bend around the grab point, respond to direction changes and settle
    after release, with bounded spring motion and ordinary input/layout behavior.
  • Gentle, Rubber Sheet and Release Settle drag presets, native KDL examples and
    an isolated demo with draggable synthetic cards. This optional native feature
    responds to dragging separately from Studio's timed Elastic effects.
  • An optional compositor patch and separate build directory, with a dedicated
    runtime capability query and real Wayland pointer lifecycle checks.
  • Three looping native pointer showcases with real return drags, exact
    configuration downloads, input acceptance results and separately labelled
    nested submission diagnostics.
  • Portable pointer settings and Library controls for preset choice, strength,
    damping and frequency. JSON, saved profiles, sharing and Undo retain them;
    stock exports omit experimental nodes.
  • Explicit experimental config downloads and capability-verified standalone
    pointer Apply/Restore, including combined movement and zero-strength profiles.
    --niri-binary selects the executable used for diagnostics and validation.
  • Agent command discovery, canonical parameter metadata, compact catalog
    summaries, a packaged reusable skill and public automation/contributor guides.
  • Isolated native checks for profile activation, runtime capability loss,
    stock-binary mismatch and exact Restore through the Studio backend.
  • Native layout regressions for output removal and restoration during tiled and
    floating pointer drags, checking spring continuity, window ownership and settle
    cleanup. Physical monitor hotplug remains separate acceptance work.
  • Isolated pointer hardening checks for direct ScreenCapture privacy during
    dragging and closing, changing privacy rules, and abrupt grabbed-client exit
    followed by clicks and dragging in a surviving client.
  • An isolated unmodified Niri build and reproducible comparison of held-pointer
    disconnection and stale nested output. Both failures reproduce without FX
    patches; diagnostic results keep the remaining input/capture limits explicit.
  • An installed 0.17-to-0.18 upgrade check preserving existing Library profiles,
    favorites, shell registrations and exact CLI/Library Restore histories.

Changed

  • Expand the roadmap into native-pointer acceptance, Studio/profile integration
    and physical presentation milestones, each with a concrete checklist.
  • Distinguish native KDL downloads from Studio JSON in the showcase gallery.
  • Refresh Library, Studio, combo and pointer recordings for the current controls.
  • Verify browser pointer math against traces generated from the native Rust
    spring and retain GPL attribution for the derived browser adapter.
  • Allow pointer-only portable profiles in the isolated native demo.
  • Document retained grabs after held-button virtual-pointer disconnection and a
    failing optional two-compositor output probe. Keep Output/Screencast and
    PipeWire privacy separate from the tested direct ScreenCapture path.

Fixed

  • Verify current compositor support before Restore reactivates a previous native
    pointer or movement selection. Returning to stock settings remains available.
  • Preserve the current profile operation when an earlier dialog's queued close
    event arrives after a new dialog has opened, including rename conflict recovery.

Upgrade

Existing saved profiles, favorites, shell registrations and Restore history remain
supported. Pointer settings are optional profile metadata; existing profiles keep
pointer drag unset. The browser preview and agent commands are included in the
package. Live pointer deformation requires a separately built, verified native
extension and explicit activation. The compositor is not installed by the wheel.
See the upgrade guide and
pointer validation limits.

NiriFX 0.17.0

NiriFX 0.17.0 Pre-release
Pre-release

Choose a tag to compare

@jturbide jturbide released this 04 Oct 17:13
v0.17.0
b59d832

NiriFX 0.17.0 adds the shared Library, saved profiles and complete combo previews.

Added

  • One-click complete combo previews with per-action styles and durations, selected
    resize/movement loops, stable variations and reduced-motion endpoints. Playback
    leaves editing, Undo and saved documents unchanged.
  • Five refined recommended combos and complete opening/pause/closing showcases:
    Fragment Flow, Soft Landing, Ribbon Current, Playful Motion and Geometric Flow.
  • An isolated upgrade check using the official 0.16 wheel and saved settings,
    favorites, shell registration and exact Restore, including installed Studio.
  • A Library view in the existing NiriFX app, with recommended looks, collections,
    profile favorites, My profiles and a simple shared-style/per-action combo builder.
  • Reviewed Apply and Restore in the local app through standalone, iNiR and
    connected Noctalia configurations. Paths remain fixed at launch, stale reviews
    are rejected and external edits are preserved.
  • The same combo builder in Web Studio, with browser-local profiles and portable
    JSON/config exports. Detailed Studio controls remain in the same app.
  • An optional compact iRiS entry with the NiriFX logo, active look, Choose effects,
    Customize and Restore, plus a Noctalia 5 launcher shortcut.
  • Saved-profile copying, renaming and removal in the local and online Library,
    with explicit replacement confirmation and preserved favorites on rename.

Changed

  • DMS explicitly opens the standalone target. Quickshell/GTK preview dispatch
    opens detailed Studio controls and carries the selected Niri config path.

Fixed

  • Correct the validation guide's gallery total and reject stale GIF/preset
    counts in the three public showcase guides during documentation checks.
  • Preserve other sessions' saved-profile edits and reject rename collisions.
    Skip damaged saved documents individually and report invalid names in the UI.
  • Wait for Chrome's debugging-port file to finish writing within the bounded
    startup deadline, with regression coverage for incomplete and invalid ports.
  • Enable browser lifecycle domains before startup hooks and navigation, with
    regression coverage for error capture during repeated reloads and page-target
    discovery during startup. Library checks
    wait for completed operations and use an intact preview frame while separate
    rendering checks retain intermediate-frame coverage.

Upgrade

Install the new package to use Library and combo previews. Existing exported JSON,
favorites, shell entries and CLI Restore snapshots remain valid. Named Library
profiles and Library Apply history are new in this version. Five built-in combos
have refined settings; re-export or re-register a shell pack to refresh them.
Updating a pack does not select an active style. Resize and movement remain unset
in every built-in profile. See the upgrade guide.

Download the wheel for a small installation, or the source archive for the complete catalog. Verify it with SHA256SUMS.

Install and upgrade · Web Studio

NiriFX 0.16.0

NiriFX 0.16.0 Pre-release
Pre-release

Choose a tag to compare

@jturbide jturbide released this 04 Oct 02:25
v0.16.0
14c8ea2

Choose Fragments Motion, Ribbons Motion or Elastic Motion for coordinated opening, closing and stock desktop timing. Studio suggests matching optional resize and movement settings; each action requires explicit inclusion. The existing CLI supports the same choices through profile --action-set.

  • Three new profiles and an Action Sets collection, for 75 presets and 16 profiles across nine collections.
  • Nine portable examples and nine new GIFs covering base effects, resize companions and real experimental swaps.
  • Suggestions preserved across renamed imports and Undo, without changing saved document schemas.
  • Native interruption/cleanup checks, measured resize shader costs, public guides, upgrade notes and an updated roadmap.

Resize stays unset in every built-in profile. Movement requires the separately built experimental Niri compositor and is omitted from stock exports. Existing preset defaults and the compositor patch are unchanged.

Try the action sets · Interactive gallery · Upgrade guide

Download the wheel for the small standalone package, or the source archive for the full examples and media. Verify downloads against SHA256SUMS before installing. This is a prerelease; no PyPI publication is provided.

Validation includes 153 Python tests, 69 Node tests, six browser checks, the complete 75-preset rendering/save suite, GLSL compilation and 91 stock exports. All three experimental companions pass swaps, seven reversals, fallback and close cleanup. All ten curated resize profiles pass native growth/shrink and empty endpoints. Quickshell, GTK and actual iNiR helper checks pass. Physical DRM, integrated-GPU and mixed-output acceptance remain roadmap work.

NiriFX 0.15.0

NiriFX 0.15.0 Pre-release
Pre-release

Choose a tag to compare

@jturbide jturbide released this 04 Oct 01:20
v0.15.0
d8be771

NiriFX 0.15.0 adds coordinated desktop motion and mixed fragment shapes while keeping ordinary preset defaults intact.

  • Gentle, Balanced and Playful: finished window profiles with stock workspace, camera and overview springs. Choose them through the existing CLI, Studio or shell picker.
  • Mixed Confetti and Orbiting Shapes: deterministic mixtures of two built-in shapes, with a secondary shape, mixture amount and stable layout seed.
  • Verified experimental activation: a matching running compositor must advertise and compile movement contract 1. Explicit standalone Apply rechecks support; Restore retains the previous files.
  • Native output feedback: separate Winit submissions, DRM presentation and capture delivery. Published nested measurements make no physical-scanout claim.
  • Expanded acceptance: floating/tiled and resize/open/close overlap fixtures, strict picker review of window and desktop timing, refreshed native media and a complete catalog of 75 presets, 13 profiles and 187 showcases.

Resize and custom movement remain opt-in. No compositor is installed or replaced. Physical mixed-monitor measurements, integrated-GPU acceptance and pointer-driven wobble remain on the roadmap.

Update NiriFX before importing new mixture or desktop-motion settings. Re-register or re-export shell packs to expose the new names; this does not activate them. Rebuild the experimental compositor for runtime verification and frame feedback. Older experimental builds cannot pass live activation checks.

Use the wheel for normal installation; the source archive includes documentation, examples and showcase media. Download SHA256SUMS alongside your chosen package and run sha256sum --ignore-missing -c SHA256SUMS. The Git tag is signed.

Validation includes 147 Python tests, 69 Node tests, five real-browser tests, all 75 presets rendered in Chromium, GLSL compilation, 88 stock exports and actual iNiR helper validation, pinned compositor build/tests, native overlaps, Quickshell/GTK/AGS transactions, package inspection and a secret scan.

Quick start · Desktop motion · Shape mixtures · Upgrade notes · Gallery