# niri v25.01 - Product: niri (https://whatsnew.fyi/product/niri) - Vendor: niri - Date: 2025-01-11 - Version: v25.01 - Original notes: https://github.com/niri-wm/niri/releases/tag/v25.01 - Permalink: https://whatsnew.fyi/product/niri/releases/v25.01 - Labels: Platforms: Linux What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **added** — Floating windows support with auto-float for dialogs and fixed-size windows - **added** — Actions for focusing floating or tiling layout and moving windows between them - **added** — Window rule matchers and rules for floating windows including is-floating, open-floating, and default-floating-position - **added** — Mouse right-click dragging to move windows between floating and tiling layouts - **changed** — Switch to year.month versioning scheme instead of semantic versioning - **changed** — Minimum required Rust version is now 1.80 - **added** — Environment variables NIRI_BUILD_VERSION_STRING and NIRI_BUILD_COMMIT to override version and commit during builds - **changed** — Floating windows are positioned relative to monitor size and automatically kept within monitor bounds - **changed** — Floating windows are restored to their previous size and position when moved back from tiling layout Niri is a scrollable-tiling Wayland compositor. Windows are arranged in columns on an infinite strip going to the right. Opening a new window never causes existing windows to resize. Here are the improvements from the last release... hang on, how come we jumped from v0.1 all the way to v25? Starting now, niri ~~escapes [ZeroVer](https://0ver.org)~~ is switching to year.month versioning. In **25.01**, the "25" is year 2025, and "01" is month 01 (January). So version 25.01 tells you that this release was tagged in January of 2025. Hotfix releases will use the third component. For example, the first hotfix for the 25.01 release would be called 25.01.1. There are a few reasons for this change. - For niri, semver isn't very useful. Big and small features are added every release, and so far we've managed to avoid any breaking changes to the config file. Calendar versioning at least tells you how old of a version you're running. - v0.1.x left no place for a hotfix version. I couldn't even put v0.1.10.1 into `Cargo.toml` because it has four components instead of three. The new versioning has just two components, leaving one extra for the hotfix version. - I feel like niri is now sufficiently featureful to graduate from v0.1. :) I expanded the [Status section](https://github.com/YaLTeR/niri/blob/main/README.md#status) of the README to cover some of the frequently asked "is this thing supported" questions. Similar versioning is also used in other projects like [Helix](https://github.com/helix-editor/helix), [NixOS](https://nixos.org) and [Ubuntu](https://ubuntu.com/). With this change, the niri releases remain unscheduled: once every few months, and not bound to any particular cycle. Whenever I feel that it's a good time for a new version. > [!NOTE] > Packagers: niri now requires Rust 1.80. Also, there are new environment variables to override the niri version string and commit: `NIRI_BUILD_VERSION_STRING` and `NIRI_BUILD_COMMIT`. The new [Packaging niri](https://github.com/YaLTeR/niri/wiki/Packaging-niri) wiki page shows how to use them, along with everything else important for packaging. > > New niri tests need `XDG_RUNTIME_DIR` to be set. You can use `export XDG_RUNTIME_DIR="$(mktemp -d)"`. > > If some tests fail with `Err::AlreadyInUse` on a heavily multi-threaded CPU, set `RAYON_NUM_THREADS=1`. This is tracked in #953. ##### Floating windows Floating windows are here! It took a big refactor and a good month of hard work, but the most *liked* niri feature request is done.  Like other WMs, niri will auto-float dialogs and fixed-size windows. With no extra configuration, this release does away with most of the annoying dialog scrolling. https://github.com/user-attachments/assets/d560582c-07fd-4fcb-bf86-9ed305df515f