2.2 KiB
2.2 KiB
Hyprland Version History — Breaking Config Changes
Focus: syntax changes that affect our config. Not a full changelog.
Installed: 0.51.1 (Sept 2025)
windowrule syntax timeline
Pre-0.48 (old — do not use)
windowrule = float, ^(class-regex)$ # v1: positional class, no prefix
windowrulev2 = float, class:^(regex)$ # v2: explicit class: prefix
0.48–0.51 (CURRENT — use this)
Both windowrule and windowrulev2 keywords work, but windowrulev2 is deprecated.
Use windowrule with match: prefixed props. Patterns are plain strings or bare regexes —
do NOT use the old rulev2 ^(...)$ wrapping; Hyprland 0.51 rejects it as "Invalid rulev2".
windowrule = match:class classname, effect
windowrule = match:class classname, match:title titlepattern, effect1, effect2
windowrule = match:class ^org\.gnome\., rounding 12 # prefix regex — anchor ok, no outer ()
Props can come in any order relative to effects.
Boolean effects: float, tile, pin, no_initial_focus (no "on" suffix needed)
Value effects: rounding 12, opacity 0.9
0.52+ (not yet installed — do not use until upgrade)
Block syntax introduced:
windowrule {
name = optional-name
match:class = ^(regex)$
float = yes
rounding = 12
}
Anonymous flat block syntax also available:
windowrule = match:class regex, effect value
layerrule syntax timeline
Pre-0.48 (old)
layerrule = no_anim, ^(namespace)$ # positional namespace
0.48–0.51 (CURRENT — use this)
layerrule = match:namespace namespacename, no_anim
Same rule as windowrule: plain string or bare regex, no ^(...)$ wrapping.
0.52+ (block syntax)
layerrule {
match:namespace = ^(regex)$
no_anim = on
}
Other notable changes
| Version | Change |
|---|---|
| 0.48 | windowrulev2 deprecated; new windowrule with match: prefix |
| 0.48 | layerrule updated to use match:namespace prefix |
| 0.52+ | Block syntax for windowrule and layerrule |
Upgrade checklist
When upgrading Hyprland:
- Check
hyprland --version(orrpm -q hyprland) - Scan release notes for "windowrule", "layerrule", "deprecated"
- Update this file
- Update the comment in
hyprland.confwindow rules section