Hyprland

Operating SystemsLinux

A dynamic tiling Wayland compositor with animations and per-window rules.

Latest v0.56.2 · · Linuxby HyprlandWebsitehyprwm/Hyprland

Release activity

Release activity — 10 releases across 10 days since Mar 10, 2026. Each cell is one day; darker means more releases that day. Nothing is recorded before Mar 10, 2026. Older weeks are hidden at this screen width.
MayJunJulAug
SundayNo releases on Apr 26, 2026No releases on May 3, 2026No releases on May 10, 2026No releases on May 17, 2026No releases on May 24, 2026No releases on May 31, 20261 release on Jun 7, 2026No releases on Jun 14, 2026No releases on Jun 21, 2026No releases on Jun 28, 2026No releases on Jul 5, 2026No releases on Jul 12, 2026No releases on Jul 19, 2026No releases on Jul 26, 2026No releases on Aug 2, 2026No releases on Aug 9, 2026
MondayNo releases on Apr 27, 2026No releases on May 4, 2026No releases on May 11, 2026No releases on May 18, 2026No releases on May 25, 2026No releases on Jun 1, 2026No releases on Jun 8, 2026No releases on Jun 15, 2026No releases on Jun 22, 2026No releases on Jun 29, 2026No releases on Jul 6, 2026No releases on Jul 13, 20261 release on Jul 20, 20261 release on Jul 27, 2026No releases on Aug 3, 2026No releases on Aug 10, 2026
TuesdayNo releases on Apr 28, 2026No releases on May 5, 2026No releases on May 12, 2026No releases on May 19, 2026No releases on May 26, 2026No releases on Jun 2, 2026No releases on Jun 9, 2026No releases on Jun 16, 2026No releases on Jun 23, 2026No releases on Jun 30, 2026No releases on Jul 7, 2026No releases on Jul 14, 2026No releases on Jul 21, 2026No releases on Jul 28, 2026No releases on Aug 4, 2026No releases on Aug 11, 2026
WednesdayNo releases on Apr 29, 2026No releases on May 6, 20261 release on May 13, 2026No releases on May 20, 2026No releases on May 27, 2026No releases on Jun 3, 2026No releases on Jun 10, 2026No releases on Jun 17, 2026No releases on Jun 24, 2026No releases on Jul 1, 2026No releases on Jul 8, 2026No releases on Jul 15, 2026No releases on Jul 22, 2026No releases on Jul 29, 20261 release on Aug 5, 2026
ThursdayNo releases on Apr 30, 2026No releases on May 7, 2026No releases on May 14, 2026No releases on May 21, 2026No releases on May 28, 2026No releases on Jun 4, 20261 release on Jun 11, 2026No releases on Jun 18, 2026No releases on Jun 25, 2026No releases on Jul 2, 2026No releases on Jul 9, 2026No releases on Jul 16, 2026No releases on Jul 23, 2026No releases on Jul 30, 2026No releases on Aug 6, 2026
FridayNo releases on May 1, 2026No releases on May 8, 2026No releases on May 15, 2026No releases on May 22, 2026No releases on May 29, 2026No releases on Jun 5, 2026No releases on Jun 12, 2026No releases on Jun 19, 2026No releases on Jun 26, 2026No releases on Jul 3, 2026No releases on Jul 10, 2026No releases on Jul 17, 2026No releases on Jul 24, 2026No releases on Jul 31, 2026No releases on Aug 7, 2026
SaturdayNo releases on May 2, 20261 release on May 9, 20261 release on May 16, 2026No releases on May 23, 2026No releases on May 30, 2026No releases on Jun 6, 2026No releases on Jun 13, 2026No releases on Jun 20, 2026No releases on Jun 27, 2026No releases on Jul 4, 2026No releases on Jul 11, 2026No releases on Jul 18, 2026No releases on Jul 25, 2026No releases on Aug 1, 2026No releases on Aug 8, 2026

10 releases since Mar 10, 2026

Changelog

v0.56.2

Added 1
  • Add missing lua stub
Changed 2
  • Render IME above all desktop components
  • Apply minor improvements to layout, scrolling, and fullscreen behavior
Fixed 13
  • Fix unfullscreening window sticking to the left corner instead of respecting focus_fit_method
  • Fix duplicate config value crash
  • Allow layout managed fullscreens to not block seeking window in direction and fix related issues
  • Fix floating window rendering order when one of them is fullscreened
  • Fix gaps_out rule overriding float_gaps
  • Fix wiki strings in hyprctl

A standard patch release backporting some fixes from main on top of 0.56.2.

Fixes backported
  • algo/scrolling: fix unFSing window sticking to the left corner instead of respecting focus_fit_method (#15716) by @erstarr
  • config: fix duplicate config value crash (#15708) by @gulafaran
  • core/fullscreen: allow layout managed fullscreens to not block seeking window in direction, and other fixes (#15569) by @erstarr
  • core/fullscreen: fix floating window rendering order when one of them is FSed (#15703) by @erstarr
  • desktop/rules: fix gaps_out rule overriding float_gaps (#15662) by @Dregu
  • hyprctl: fix wiki strings (#15739) by @vaxerski
  • screenshare: fix toplevel capture missing software cursor (#15638) by @Dregu
  • algo/scrolling: bring back old behavior of fs (#15660) by @vaxerski
  • bindings/dispatchers: Don't inherit key state modmask during key sym lookup (#15401) by @masnax
  • config/monitorRuleManager: recheck mirrors on ensure (#15733) by @vaxerski
  • desktop/hitTest: exclusive layer popup event handling (#15729) by @aurelleb
  • desktop: render IME above all desktop components (#15646) by @vaxerski
  • feat: add missing lua stub (#15579) by @nath1416
  • ipc/socket1: don't round/truncate hyprctl monitors scale (#15628) by @frebib
  • layout/scrolling/fullscreen: minor improvements ontop of 15660 (#15685) by @erstarr
  • opengl: invalidate depth too (#15657) by @gulafaran
Special thanks

Special thanks as always to these gigachads for supporting Hyprland's continued development:

Sponsors
Diamond

37Signals

Gold

Framework, Butterfly

Donators
Top Supporters:

soy_3l.beantser, taigrr, RaymondLC92, Xoores, Bonsai, d, DHH, alukortti, miget.com, Ammar Hossain, Jas Singh, yamauchihiroshi, iain, Seishin, Brandon Wang, ExBhal, Hunter Wesson, RayJameson, Kay, Ki☆, alexmanman5, Tonao Paneguini, John Shelburne, 3RM, gfunnymoney, ari-cake, TyrHeimdal, Illyan, --, Insprill, lzieniew, MadCatX, Theory_Lukas

New Monthly Supporters:

Anon, wmeints, Twinkybot, ryan, jakhub, JMH, Le Juju, ercument, xff, Mike Raphone, Mike E, Martijn, mfed, leomoon, OldPastaFace, ferngg_, damirk, Ghostxsalmon, Flo, DavDood, bamboo, Justin, Cpl. Roth, irontom10, Eric, phage-zn, erotourtes, Streifenfrei

One-time Donators:

Wawan, Jim, Marco Celis, JDM, LPGames, joscani, trvnkwil, davinsky, Santiago Perez, Mantas, Javier, asdfasdfasdfasdf, Leo, saltchicken, Yakedo, J Fernandes, PasiS, Marcelo, RammFire, jrgd, elandi, Xenia, Paul H, Jonathan Lopez, mir0, sheik, Supporter, Gérald, Ghoul, uniuni, Lei Huang, BTCharlie, marckeelingiv, ArisTheInquiring, anon, 9x25dillon, DCyph360, inittux111, Steve, Rowan, Awachuwere, Hank, Chloessica, escuco, Boriana, CRUDB, EndoliteMatrix, King, tdha, SillyingAround, Ag, MrElo, fraxineus, Dobrovschi Stefan, MrCharless, 4everN00b, bogdan.bagno@gmail.com, Shoh Berdy, araneae, Skrazzo, Carlos martinez, Kimli, Antoni, Ed R, Aphrofluff, ThatOneShortGuy, gtm, ChristophLHR, Sam C, deven, Alezarine, golanv, Praegustator, zaafiel428, skatos24, Louis Nicholas, Ivan Ucha, Andrejs, mirolPirol, dacero, cmquesada, Nando, an, shkz, Rob H, TrentZent#5307, Snil, Rigle, NikodemRafalski, Bishop James, Some random dude from China, jo, Roy, ProfessorNova, Ikey, nihilfm, Serj007, GVM, DucSpa, LinuxHG, WetSeal, sikor666, djledda, Dominik, jolteroli, Jkob, Valerie, Valentino, A374377, evandroev@gmail.com, w00z4, Mateusz, Dirk, mdereje, Joy, Celerodlak, BabawabatheSuperSlender, Paulin, Manuel P., Cobra1one, Abhinav, houdinihacker, JohnAtl, Blackcat, yDog-1, CUhRip, Alex, Kodlak, ReallyFluffy, Miguel Padilla, wronguy, JWHall, TheGreatMcPain, mykey, ThePreviousOne, poor_man, FarLT, Élder Bernardi, Citizen5, Gus, GKL, falparsi, @ericmoyer@hachyderm.io, labo, MeaTLoTioN, Caja, Willem van Ede, @elmorek, anonymous-supporter, William Caicedo, Hello, aussiedini, omnicroissant, cadds, Evan LeSage, Pierre, Marugun, Robbie, Henry, paradaimu, Cody Weaver, jbsbuilder, zongben, Pawel, ManosG, revitalist, marcs100, Azrael Alpha, erkre, brainfxk, PaulG, Ivan Shakuta, taqashh/abbo0dio, curu, Chaosz, GedeSaika, Amor, 7NK01, abby, Ren, luomichael, Alon, Matthew Feidt, xtarr, Annoying Moose, carpet.lover, Emil Folino, kanito, Nael, Christoffer, Arepa, Kazunari Irie, Ebrithil, Daan, Cbriss, Gustavo Rodriguez, Keylack, kern, McMelon, Aser, zerocool823, Tony, Tom C, Mike B, Thank you, JB, Henrik, kusanaginoturugi, Shmoo Maru, Lou, Oleks Sheremet, kagenou-sama, J, Blueh, decoy, Skaz, Neno, CurlyDude, Dmitrii Gol, Roger Powell, Joseba.dev, oddi, gumbum, Alejandro

Full Changelog: https://github.com/hyprwm/Hyprland/compare/v0.56.1...v0.56.2

View originalPermalink
How v0.56.2 went

v0.56.1

Added 1
  • Add changeworkspaceid to socket2
Changed 3
  • Update hyprutils dependency to 0.14.0
  • Use openLate for window.open events in lua config
  • Update hyprland.lua default springs
Fixed 11
  • Fix exec rules leaking
  • Fix json output for binds
  • Fix allow_input_capture bind flag with capture_modifiers enabled
  • Fix rotate and mirror regression
  • Fix in-band resize for the first window of a band
  • Initialize eventManager earlier
Deprecated 1
  • Add a deprecation notice to .conf configs

As usual, a patch release with a few fixes backported from main onto 0.56.0

Fixes backported
  • compositor: add a deprecation notice to .conf configs (#15538) by @vaxerski
  • workspace: add changeworkspaceid to socket2 (#15571) by @vaxerski
  • desktop/windowRule: fix exec rules leaking (#15543) by @vaxerski
  • hyprctl: fix json output for binds (#15507) by @vaxerski
  • input-capture: fix allow_input_capture bind flag with capture_modifiers enabled (#15477) by @littleblack111
  • monitor: fix rotate and mirror regression (#15587) by @gulafaran
  • scrolling: fix in-band resize for the first window of a band (#15532) by @jwiseuk
  • build: update hyprutils dependency to 0.14.0 (#15518) by @aruhier
  • compositor: init eventManager earlier (#15522) by @vaxerski
  • config/lua: do not nuke package.path (#15622) by @vaxerski
  • config/lua: use openLate for window.open events (#15540) by @vaxerski
  • example: update hyprland.lua default springs (#15499) by @cebem1nt
  • input: nullptr check eis_client_get_name (#15520) by @gulafaran
  • protocols/pointerwarp: send mouse frame event after motion (#15599) by @awused
  • renderer: round m_scale calculations (#15594) by @gulafaran
  • view: do not render monitor for tearing if it's blocked (#15500) by @vaxerski
Special thanks

Special thanks as always to these gigachads for supporting Hyprland's continued development:

Sponsors
Diamond

37Signals

Gold

Framework, Butterfly

Donators
Top Supporters:

soy_3l.beantser, taigrr, RaymondLC92, Xoores, Bonsai, d, DHH, alukortti, miget.com, Ammar Hossain, Jas Singh, yamauchihiroshi, iain, Seishin, Brandon Wang, ExBhal, Hunter Wesson, RayJameson, Kay, Ki☆, alexmanman5, Tonao Paneguini, John Shelburne, 3RM, gfunnymoney, ari-cake, TyrHeimdal, Illyan, --, Insprill, lzieniew, MadCatX, Theory_Lukas

New Monthly Supporters:

Anon, wmeints, Twinkybot, ryan, jakhub, JMH, Le Juju, ercument, xff, Mike Raphone, Mike E, Martijn, mfed, leomoon, OldPastaFace, ferngg_, damirk, Ghostxsalmon, Flo, DavDood, bamboo, Justin, Cpl. Roth, irontom10, Eric, phage-zn, erotourtes, Streifenfrei

One-time Donators:

Wawan, Jim, Marco Celis, JDM, LPGames, joscani, trvnkwil, davinsky, Santiago Perez, Mantas, Javier, asdfasdfasdfasdf, Leo, saltchicken, Yakedo, J Fernandes, PasiS, Marcelo, RammFire, jrgd, elandi, Xenia, Paul H, Jonathan Lopez, mir0, sheik, Supporter, Gérald, Ghoul, uniuni, Lei Huang, BTCharlie, marckeelingiv, ArisTheInquiring, anon, 9x25dillon, DCyph360, inittux111, Steve, Rowan, Awachuwere, Hank, Chloessica, escuco, Boriana, CRUDB, EndoliteMatrix, King, tdha, SillyingAround, Ag, MrElo, fraxineus, Dobrovschi Stefan, MrCharless, 4everN00b, bogdan.bagno@gmail.com, Shoh Berdy, araneae, Skrazzo, Carlos martinez, Kimli, Antoni, Ed R, Aphrofluff, ThatOneShortGuy, gtm, ChristophLHR, Sam C, deven, Alezarine, golanv, Praegustator, zaafiel428, skatos24, Louis Nicholas, Ivan Ucha, Andrejs, mirolPirol, dacero, cmquesada, Nando, an, shkz, Rob H, TrentZent#5307, Snil, Rigle, NikodemRafalski, Bishop James, Some random dude from China, jo, Roy, ProfessorNova, Ikey, nihilfm, Serj007, GVM, DucSpa, LinuxHG, WetSeal, sikor666, djledda, Dominik, jolteroli, Jkob, Valerie, Valentino, A374377, evandroev@gmail.com, w00z4, Mateusz, Dirk, mdereje, Joy, Celerodlak, BabawabatheSuperSlender, Paulin, Manuel P., Cobra1one, Abhinav, houdinihacker, JohnAtl, Blackcat, yDog-1, CUhRip, Alex, Kodlak, ReallyFluffy, Miguel Padilla, wronguy, JWHall, TheGreatMcPain, mykey, ThePreviousOne, poor_man, FarLT, Élder Bernardi, Citizen5, Gus, GKL, falparsi, @ericmoyer@hachyderm.io, labo, MeaTLoTioN, Caja, Willem van Ede, @elmorek, anonymous-supporter, William Caicedo, Hello, aussiedini, omnicroissant, cadds, Evan LeSage, Pierre, Marugun, Robbie, Henry, paradaimu, Cody Weaver, jbsbuilder, zongben, Pawel, ManosG, revitalist, marcs100, Azrael Alpha, erkre, brainfxk, PaulG, Ivan Shakuta, taqashh/abbo0dio, curu, Chaosz, GedeSaika, Amor, 7NK01, abby, Ren, luomichael, Alon, Matthew Feidt, xtarr, Annoying Moose, carpet.lover, Emil Folino, kanito, Nael, Christoffer, Arepa, Kazunari Irie, Ebrithil, Daan, Cbriss, Gustavo Rodriguez, Keylack, kern, McMelon, Aser, zerocool823, Tony, Tom C, Mike B, Thank you, JB, Henrik, kusanaginoturugi, Shmoo Maru, Lou, Oleks Sheremet, kagenou-sama, J, Blueh, decoy, Skaz, Neno, CurlyDude, Dmitrii Gol, Roger Powell, Joseba.dev, oddi, gumbum, Alejandro

Full Changelog: https://github.com/hyprwm/Hyprland/compare/v0.56.0...v0.56.1

View originalPermalink
How v0.56.1 went

v0.56.0

Added 21
  • Add an option to focus master when window is closed in the master algorithm
  • Add inhibit_scroll dispatch for scrolling algorithm
  • Add fit expand layout message to scrolling algorithm
  • Add fit_into_view layout message to scrolling algorithm
  • Add Primaries to ICC-generated SImageDescription
  • Add change_id workspace API to lua config

A big new release with tons of features and fixes, brought to you by the Hyprland Corp.

No breaking changes! :)

New features:
  • algo/master: add an option to focus master when window is closed (#14306) by @ArchSav
  • algo/scrolling: add inhibit_scroll dispatch for scrolling algorithm (#13955) by @erstarr
  • algo/scrolling: add a "fit expand" layout message (#14761) by @LichtMarv
  • algo/scrolling: add new fit_into_view layout msg (#14991) by @erstarr
  • cm/icc: add Primaries to ICC-generated SImageDescription (#15227) by @GamingLiamStudios
  • config/lua: add a change_id workspace API (#15298) by @vaxerski
  • config/lua: add get_loaded_plugins (#14582) by @vaxerski
  • config/lua: add hl.clear_crashed_lockscreen() and fix tty instructions (#15299) by @vaxerski
  • config/lua: add is_key_down and a key event (#14779) by @zacoons
  • config/lua: add lua-driven custom live gestures (#15393) by @vaxerski
  • config/lua: add physicalWidth and physicalHeight to lua's Monitor (#14657) by @leiserfg
  • config/propRefresher: add capability to execute scheduled prop refresh immediately with lua helper function, add event for prop refresh (#14990) by @erstarr
  • crashreporter: fix SIGSEGV on dladdr1 failure (#15352) by @oclaw
  • decoration/glow: add gradient and angle animation (#15208) by @Undeadamien
  • decoration/shadow: add gradient and angle animation (#14809) by @Undeadamien
  • desktop/windowRule: add no_auto_hdr window rule (#14694) by @fxzzi
  • desktop/windowRule: add stableid: window selector (#14984) by @LRitzdorf
  • desktop/windowRule: add a suppressevent for X11 configure requests (#13313) by @lichie567
  • desktop/windowrule: add silent option to monitor effect (#14357) by @ArchSav
  • event/bus: add specialActive event to workspace (#14971) by @vaxerski
  • groups: add groupbar disable_when_only option (#15009) by @feelamee
  • groups: sync window monitor/workspace when added to a group (#14478) by @andresilva
  • hyprctl: add config full-reload for performing a ground-up reload (#14748) by @vaxerski
  • hyprctl: add interactive Lua REPL mode (#15043) by @Dregu
  • hyprctl: add onCreatedEmpty field to workspacerules dispatcher data (#14826) by @ikalco
  • hyprtester: add -t option for running specific tests (#14846) by @ArchSav
  • input/tablet: add TabletTool config options for eraser button and tool pressure (#14110) by @marcello505
  • lua/monitor: add set_ functions for raw workspace management (#14875) by @vaxerski
  • lua/objects: add cm and reserved properties to monitor (#14523) by @ndavd
  • meta/lua: add missing notification text field and make timeout required (#14665) by @atomicptr
  • meta/lua: add proper lua stub types to the general config (#14993) by @JustLinuxUser
  • plugins: add api for registering and dispatching events (#14734) by @zacoons
  • protocols/xdg-shell: add support for xdg interactive drags (#15343) by @vaxerski
  • renderer: add a motion blur option to windows (#14911) by @vaxerski
  • renderer: add tonemap settings (#14903) by @UjinT34
  • renderer: add wrapping options to SRenderData (#14666) by @zacoons
  • socket2: add back changefloatingmode and togglegroup events (#14089) by @ErrorNoInternet
  • splashes: add 5th comp winner's splash
Fixes:
  • Minor fixes today (#14401) by @vaxerski
  • Tests/scroll: fix window hiding test passing inconsistently (#15384) by @erstarr
  • algo/dwindle: fix moving windows across a split (#15079) by @LRitzdorf
  • algo/master: fix drag-swap with two tiled windows (#14974) by @karaolidis
  • animation: refactor manager, fixup desktopAnimationManager, clean up code (#15302) by @vaxerski
  • binds/submap: fix mouse binds inside submaps (#15060) by @jestemleonard
  • binds/submap: fix submap enter bind == bind inside submap (#14856) by @bendi-github
  • ci: fix codeownersplus (#15383) by @vaxerski
  • AGENTS: add agents.md (#14835) by @vaxerski
  • CI/Arch: add libheif dep
  • code: fix clang-format
  • compositor: fix monitor re-enabling on hotplug when dpms is off (#14818) by @samsyu518
  • compositor: fix render unfocused for subsurfaces (#14718) by @UjinT34
  • config/actions: fix null derefs in pin dispatcher (#14914) by @DxCx
  • config/lua: add hl.clear_crashed_lockscreen() and fix tty instructions (#15299) by @vaxerski
  • config/lua: fix layout ctx checking the wrong argument (#15061) by @vaxerski
  • config/lua: fix missing event from know events lists (#15232) by @nath1416
  • config: fix VRR not applying on runtime change (#14744) by @BlueManCZ
  • config: fix cycle_next using nonexist layoutmsg for prev (#15396) by @Dregu
  • config: fix decoration values to refresh on runtime eval/keyword change (#14590) by @BlueManCZ
  • config: fix description matching for default workspaces (#15074) by @vaxerski
  • config: fix initial workspace tracking (#15395) by @gulafaran
  • config: fix plugin variables with dashes (#14379) by @VirtCode
  • config: fix slide animation direction param (#15240) by @Dregu
  • core: fix --verify-config crash (#15418) by @gulafaran
  • core: fix a few fd leaks (#14870) by @vaxerski
  • core: refactor fullscreen logic, improve maintainability and add a lot of tests (#14705) by @erstarr
  • core: various SHM handling fixes (#15315) by @vaxerski
  • crashreporter: fix SIGSEGV on dladdr1 failure (#15352) by @oclaw
  • decoration/glow: fix visibility when no decorate is set (#14602) by @vaxerski
  • desktop/groups: fix crash on dissolution (#15135) by @vaxerski
  • desktop/popup: fix crash on destroy (#15416) by @gulafaran
  • desktop/popup: fix reposition artifacts (#14820) by @gulafaran
  • desktop/popup: fix subsurface scaling (#14936) by @Brandtweary
  • desktop/view: fix IView virtual inheritance and erase_if ptr (#15421) by @gulafaran
  • desktop/window: fix crash on requested workspace not having a mon (#15234) by @vaxerski
  • desktop/window: fix unwanted reswallow (#12993) by @tomben13
  • desktop/window: fix wrong scale being applied after workspace rules (#14832) by @awused
  • desktopAnimation: fix crash in startAnimation on ws with no parent (#15224) by @vaxerski
  • dispatchers: fix fullscreen movefocus regression (#15226) by @MightyPlaza
  • frame: fix frame scheduling being skipped or one vblank off (#15404) by @gulafaran
  • fullscreen: fix some bars remaining invisible when unfullscreening (#15370) by @erstarr
  • gestures: fix live cursorZoom anchoring to a mid-animation value (#14996) by @barrettruth
  • gestures: fix toggle cursorZoom sharing a single on/off flag (#14998) by @barrettruth
  • glframebuffer: fix spurious incomplete framebuffer errors (#15380) by @gulafaran
  • groups: fix border color for locked groups (#15015) by @EnzoBarizza
  • hyprtester: Fix some failing tests terminating early (#14969) by @kolayne
  • hyprtester: misc bug fixes & refactorings (#15025) by @kolayne
  • i18n: completed italian translation and fixed some previous italian translation inaccuracies (#14763) by @Lucad44
  • input/dnd: fix touch-driven drag-and-drop (#15077) by @hjanuschka
  • input/window: fix dragging pointer-locked and fullscreen game windows (gamescope) (#15165) by @ZStud
  • input: fix inverted scrollwheel direction in keybinds (#14749) by @zjeffer
  • input: fix missing a pointer frame after absolute pointer motion (#15003) by @seven-mile
  • input: fix wheel scroll events from virtual pointers being dropped (#15319) by @Nicholas-Arthur-Cook
  • internal: fix bugs revealed by hu update
  • internal: fix filename string not being computed at compile time in RASSERT and GLCALL macros (#14972) by @danielkrupinski
  • internal: fix more fd leaks (#15225) by @vaxerski
  • internal: fix null deref in setWindowFullscreenInternal when fullscreen state stale (#14725) by @neonetizen
  • internal: fix tokens for xdg-desktop-portals (#15433) by @gulafaran
  • internal: minor spelling fixes (#15199) by @bjoernab
  • internal: modernize truthy(fix possible UB) (#15217) by @b1tflyyyy
  • jeremy: fix auto-generating hyprlang instead of lua config file by default (#14944) by @LionHeartP
  • keybinds: fix nested submaps and resets (#15213) by @ItsOhen
  • layout/WindowTarget: fix crash when toggling float on oversized windows (#14587) by @floresce
  • layout/monocle: fix w[tv1] workspace rule not working on monocle layout (#15382) by @erstarr
  • layout/scrolling: fix prop refresh triggering hard input (#14594) by @erstarr
  • layout/target: fix unmanaged configure loops in x11 (#15336) by @vaxerski
  • meta/lua: fix capture of lua events (#15071) by @SteinGaming
  • monitor: refactor inheritance, expand query, add unit tests for position and query (#15073) by @vaxerski
  • monitor: fix cursor default_monitor option (#15322) by @lichie567
  • monitor: fix special fade state update (#15316) by @vaxerski
  • monitor: fix top-layer bar visibility on workspace change with scrolling-layout fullscreen (#14425) by @zerbiniandrea
  • nix/tests: fix deprecation warning
  • pointer-warp: fix forgetting enter serial (#15462) by @Dregu
  • pointer: fix cursor bounds not updating on monitor layout changes (#14393) by @x1h0
  • pointer: fix two stale cursor images clearings (#15376) by @gulafaran
  • protocols/foreignToplevel: fix class and title reporting on map and afterwards (#15037) by @vaxerski
  • protocols/grab: fix refocus to unreachable windows (#14555) by @gusjengis
  • protocols/pointerWarp: fix crash when warp is on a non interactive surf (#15021) by @vaxerski
  • protocols: Fix crash when creating inert workspace resource (#15303) by @PlasmaPower
  • protocols: fix SHM cursor partial damage copy (#15399) by @gulafaran
  • protocols: fix protocol null dereference paths (#15275)
  • render/cm: fix premult in shaders (#14403) by @vaxerski
  • render/gl/framebuffer: fix swizzle comparisons (#14481) by @vaxerski
  • renderer/cm: fix blur clipping with HDR (#15371) by @ryanpholt
  • renderer: fix SEGV on monitor disconnect (#15048) by @neonetizen
  • renderer: fix cursor:zoom_rigid being ignored with detached camera (#14995) by @barrettruth
  • renderer: fix border cm for mirroring (#14574) by @UjinT34
  • renderer: fix mirror draw buffers on rotating work buffers (#15427) by @gulafaran
  • renderer: fix screenshader with fp16 (#14918) by @UjinT34
  • renderer: minor shader fixes (#14584) by @fxzzi
  • screencopy: fix screenshare copyfb pending frames (#14837) by @imperishableSecret
  • screenshare: minor fence and copy fixes (#15429) by @gulafaran
  • scripts: fixup static asan patch (#14889) by @vaxerski
  • scrolling/fullscreen: fix fullscreen/maximise behaviour, existing bugs with scrolling fullscreen (#14387) by @erstarr
  • state/monitorQuery: fix monitor desc selector being treated as "down" selector (#15109) by @lichie567
  • state/workspace: refactor workspace state, add querying, move off of CCompositor (#15075) by @vaxerski
  • tests: fix broken test and flakiness (#14506) by @andresilva
  • tests: fix failing cases (#15200) by @vaxerski
  • xwayland: fix ICCCM synthetic event comparison (#14827) by @umbrageodotus
Other:
  • AGENTS: include m_ rule
  • CI: do not auto-comment on PRs from contributors (#15183) by @kolayne
  • README: update showcase
  • algo/dwindle: do not remove node before assigning (#15373) by @vaxerski
  • algo/floating: do not alter pinned windows' state on ws move (#14513) by @vaxerski
  • algo/master: avoid nullptr dereferences (#15422) by @gulafaran
  • algo/master: guard target in remove (#14756) by @vaxerski
  • algo/master: respect center_master_fallback when resizing slave cols (#14961) by @karaolidis
  • algo/scrolling: hide the top layer in workspace swipe to scrolling layout fullscreen (#15137) by @Vic-41148
  • algo/scrolling: intelligently decide where to drop a dnd'd window (#15251) by @vaxerski
  • algo: prevent shadowing of m_parent (#15270) by @erstarr
  • animation: dont .lock() a uniqueptr (#15470) by @gulafaran
  • assets: update lockdead png with new dispatch commands (#14213) by @imperishableSecret
  • buffer: wait on seperate fences instead of merging (#15088) by @gulafaran
  • build: bump libinput to 1.29 (#14593) by @marcello505
  • build: link Glaze to the compositor core (#15454)
  • ci: add code owners via codeowners-plus (#15261) by @kolayne
  • ci(codeowners-plus): fetch PR head before trying to diff against it (#15486) by @LRitzdorf
  • ci: upgrade actions/checkout to v6 (#14885) by @danielkrupinski
  • ci: upgrade actions/upload-artifact to v7 (#14887) by @danielkrupinski
  • ci: upgrade github/codeql-action/upload-sarif to v4 (#14886) by @danielkrupinski
  • cleanup: remove comment made for self (#14724) by @erstarr
  • compositor: allow to request focusing windows behind fullscreen (#14942) by @kolayne
  • compositor: give preference to same-workspace windows in getWindowInDirection (#14941) by @vaxerski
  • config: add path in stdout log disabling message (#14793) by @davc0n
  • config/actions: unfocus last window on changeWorkspace when moving monitors (#15374) by @vaxerski
  • config/lua: allow disabling workspace rules (#15362) by @vaxerski
  • config/lua: allow manual group control (#15363) by @vaxerski
  • config/lua: allow re-enabling monitors (#14447) by @bizmythy
  • config/lua: allow wildcards or absolute paths in require (#15461) by @vaxerski
  • config/lua: do not wrap std::function in std::optional (#15197) by @danielkrupinski
  • config/lua: expose monitor serial/available modes (#14973) by @karaolidis
  • config/lua: improve error handle-ability with Lua require (#14937) by @LRitzdorf
  • config/lua: make resizewindow param accessible to lua (#14658) by @SteinGaming
  • config/lua: match lua output naming to hyprctl output and match naming convention (#15367) by @erstarr
  • config/lua: report errors better without check* (#14695) by @vaxerski
  • config/lua: restrict package module loading to lua-only modules (#14526) by @x1h0
  • config/lua: revert "restrict package module loading to lua-only modules (#14526)" (#14533) by @x1h0
  • config/lua: use function pointers instead of std::function for fields (#15154) by @danielkrupinski
  • config/lua: use ref for workspace destroy events (#14562) by @vaxerski
  • config/monitor: allow per-monitor vrr to inherit misc:vrr (#14746) by @BlueManCZ
  • config/monitor: refresh splash texture on monitor reload (#14632) by @DavidLokison
  • config/monitorRule: default scale to auto (#15019) by @vaxerski
  • config/propRefresher: avoid crash if event loop manager isn't loaded (#14423) by @vaxerski
  • config/propRefresher: schedule frames on screen shader refresh (#14874) by @vaxerski
  • config/values: default no_hardware_cursors to 2 (#14575) by @vaxerski
  • config/values: update general:layout description (#15175) by @Undeadamien
  • config: monitors default to "preferred" res, "auto" pos and scale (#15193) by @davc0n
  • core/output: don't destroy bound wl_output resources on same-name global replace (#15351) by @titosymanankasina
  • core: refactor more compositor state into separate classes and states (#15282) by @vaxerski
  • crashReporter: don't skip trailing zeros in the stack trace (#15300) by @LRitzdorf
  • cursor: revert "transform hardware cursors within content bounds (#14988)"
  • cursor: transform hardware cursors within content bounds (#14988)
  • debug: replace sizeof(x)/sizeof(x[0]) with std::size (#14871) by @VPeruS
  • desktop/fadeout: extract bad logic, simplify fadeouts (#15260) by @vaxerski
  • desktop/focusstate: restore keyboard focus after layer closed (#15419) by @myamusashi
  • desktop/rule: optimize mapping rule properties to strings and engines (#14945) by @danielkrupinski
  • desktop/view: ignore client maximize requests for tiled windows (#13790) by @charisvt
  • desktop/view: sync layout's m_box in clampWindowSize (#15266) by @swomf
  • desktop/window: allow focus while held to non-OR X11 windows (#14821) by @vaxerski
  • desktop/windowRule: use original monitorstr if not silent (#14621) by @lichie567
  • desktop: extract a lot of view state from compositor (#15245) by @vaxerski
  • desktop: move window manipulation functions out of compositor (#15256) by @vaxerski
  • desktop: remove using directives, move to geometric functions (#15402) by @vaxerski
  • dmabuf: ensure both create and create_immed verify v4 (#15424) by @gulafaran
  • dmabuf: revert "ensure both create and create_immed verify v4 (#15424)" by @gulafaran
  • docs/hyprctl: update example code for hyprctl dispatch (#14656) by @raluvy95
  • drm: init sync_merge_data::name field directly with a string literal (#15153) by @danielkrupinski
  • drm: refactor merging and exporting fences (#14808) by @gulafaran
  • dwindle: avoid crashing on expired weakptr (#15415) by @gulafaran
  • elementrenderer: allow smaller viewports near the top/left edges of the buffer (#14891) by @awused
  • eventmanager: handle partial IPC writes (#15262)
  • gestures/scroll_move: guard col to avoid crash (#14394) by @vaxerski
  • gestures: clamp toggle cursorZoom like mult and live (#14997) by @barrettruth
  • gestures: configure client to final size on fullscreen/float gesture completion (#14981) by @TimaDub
  • helpers: include numbers header (#14406) by @LinuxUserGD
  • helpers: remove old header (#15095) by @vaxerski
  • hyprctl: handle partial IPC transfers (#15408)
  • hyprctl: hide C++ symbols by default (#14959) by @danielkrupinski
  • hyprctl: remove redundant mutex locking from SRollingLogFollow::get() (#15114) by @danielkrupinski
  • hyprctl: use .transform() instead of .and_then() (#15116) by @danielkrupinski
  • hyprpm: allow distro packagers to provide extra cflags for building plugins (#14755) by @GaugeAndGravity
  • hyprpm: continue after repository update failures (#15391) by @gfhdhytghd
  • hyprpm: hide C++ symbols by default (#14958) by @danielkrupinski
  • hyprtester: handle empty Lua include path in plugin build (#15241)
  • hyprtester: improvements, remove some redundancy and other things. (#15038) by @cebem1nt
  • hyprtester: report failures at the end (#14421) by @vaxerski
  • i18n: Adjust some awkward English (#14831) by @tremby
  • i18n: reduce the size of the machine code generated from CI18nEngine constructor (#15036) by @danielkrupinski
  • i18n: update italian translation (#14556) by @alba4k
  • init: gain real-time through rtkit (#15411) by @andresilva
  • init: revert "gain real-time through rtkit (#15411)" by @andresilva
  • input-capture: impl protocol (#7919) by @3l0w
  • input-capture: permission type not in lua config (#15481) by @littleblack111
  • input: aggregate modifier states from all keyboards on focus enter (#14633) by @ahmedkall
  • input: disable libinput send events when pointer device is disabled (#15327) by @sitiyou
  • input: properly make input-blocked windows inaccessible (#14517) by @vaxerski
  • internal: do not use std::make_pair() (#15122) by @danielkrupinski
  • internal: extract rarely executed code from RASSERT macro to a non-inline function (#15013) by @danielkrupinski
  • internal: make ColorManagement constants inline to reduce binary file size (#15267) by @danielkrupinski
  • internal: make color constants inline to reduce binary file size (#15211) by @danielkrupinski
  • internal: optimize Env::envEnabled() (#15295) by @danielkrupinski
  • internal: pass lua includes to hyprtester plugin (#14747) by @UjinT34
  • internal: removed Herobrine
  • internal: rename getWindows to getWindowCount to be more descriptive. (#15268) by @erstarr
  • internal: replace O_CLOEXEC with FD_CLOEXEC for file descriptor flags (#14909)
  • internal: replace PI macro with std::numbers::pi (#15115) by @danielkrupinski
  • internal: replace std::vformat() with std::format() when the format string is known at the compile time (#15119) by @danielkrupinski
  • internal: use std::lerp() (#15296) by @danielkrupinski
  • ipc/lua: rxpose tearingHint for windows (#15431) by @SergeyKasmy
  • keybinds: set a fallback releasePending flag for special lua binds (#14600) by @vaxerski
  • keybinds: store hit binds first, then execute callbacks (#14743) by @vaxerski
  • layersurface: dont nullptr deref on compositor cleanup (#15379) by @gulafaran
  • layersurface: inform layer surfaces of scale changes (#14771) by @awused
  • layout/dragController: reset floating offset on ended drag (#14940) by @vaxerski
  • layout/scrolling: check if cursor overlaps with target in focusOnInput (#14687) by @cebem1nt
  • layout: harden workspace layout refresh during monitor changes (#14893) by @awsms
  • logger: avoid multiple instances of static variables being created in CLogger::log() (#15012) by @danielkrupinski
  • main: gain SCHED_RR and drop CAP_SYS_NICE earlier (#14897) by @ErrorNoInternet
  • meta/lua-stubs: overwrite scale to accept float and int (#14461) by @vaxerski
  • meta/lua: Gestures can accept a lua function (#14649) by @kolayne
  • meta: update lua stubs for permissions (#14400) by @alba4k
  • monitor: don't modeset on reserved changes (#14397) by @vaxerski
  • monitor: don't refresh background textures on small changes (#15117) by @vaxerski
  • monitor: don't set back to 8 bit when applying rules (#14404) by @fxzzi
  • monitor: move floating windows with layout changes (#14928)
  • monitor: retry transient mode selection failures (#14927)
  • monitor: revert "set format back after failing DS activation (#14168)" (#14864) by @fxzzi
  • monitor: skip fallback monitor on recovery flag evaluation (#15332) by @oclaw
  • nix/module: link /share path
  • nix: gcc15Stdenv -> gcc16Stdenv
  • opengl: optimize CShaderLoader::getDefines() (#15212) by @danielkrupinski
  • output/icc: avoid unnecessary VCGT resampling (#15144)
  • output: simplify trying DRM formats (#15198) by @danielkrupinski
  • perf: avoid unnecessary copies and allocation (#15147)
  • presentation: ensure feedbacks arent silently dropped (#15473) by @gulafaran
  • protocols/background-effect: don't automatically destroy object on surface destroy (#14758) by @vaxerski
  • protocols/cm: implement WP CM v1.3 (#15026) by @UjinT34
  • protocols/dmabuf: don't send mods on v4 and above (#15189) by @vaxerski
  • protocols/fractional-scale: track if scale is known and send scales eagerly when known (#14798) by @awused
  • protocols/pointerwarp: allow warp on layer surfaces (#14949) by @awused
  • protocols/toplevelExport: null-check pixel format (#15203) by @Kuenec
  • protocols/vicinae-hotkey-v1: implement client-managed global shortcuts (#15010) by @aurelleb
  • protocols: avoid crash in lease (#15417) by @gulafaran
  • protocols: bump xdg-decoration to rev 2 (#14869) by @vaxerski
  • protocols: guard protocol callback resource lookups (#15276)
  • protocols: guard protocol output resource lookups (#15273)
  • protocols: implement ext-background-effect-v1 protocol (#13211) by @aurelleb
  • render: handle explicit sync fallback safely (#14986)
  • render: rollback failed direct scanout state (#14987)
  • renderer/gl: release failed fence syncs (#14956) by @sluongng
  • renderer/gl: skip invalidation clear on empty damage (#14921) by @tazzo343
  • renderer/rbo: avoid nullptr deref (#15167) by @gulafaran
  • renderer: allow blurring of the session lock surface (#15283) by @NamorNiradnug
  • renderer: block solitary on fadeouts (#15428) by @gulafaran
  • renderer: harden damage handling and workspace color cache (#15035)
  • renderer: intersect blur region with bbox to normalize it (#14639) by @aurelleb
  • renderer: optimize text rendering (#15124) by @umbrageodotus
  • renderer: reduce per-frame heap allocations (#14932)
  • renderer: reject invalid damage before region handling (#15242)
  • renderer: reject invalid damage regions (#15064)
  • renderer: send frame callbacks on presented if no change (#14849) by @gulafaran
  • renderer: set proper image description in snapshots (#14398) by @vaxerski
  • renderer: unbreak text rendering (#15127) by @umbrageodotus
  • screenshare: only copy fb for pending frames (#14672) by @imperishableSecret
  • screenshare: revert "only copy fb for pending frames (#14672)" by @imperishableSecret
  • shaders: replace SHADERS std::map with a constexpr sorted std::array (#15113) by @danielkrupinski
  • start: re-show display lock died screen on restart after crash (#15334) by @neal98
  • state/monitor: refactor monitor state, init fallback state (#14547) by @vaxerski
  • state/monitorQuery: implement monitor query, move logic off of Compositor (#15070) by @vaxerski
  • state: extract layout control functions from compositor (#15104) by @vaxerski
  • tests/misc: remove isDirection(char)
  • tests: check that we can auto-group floating windows (#14453) by @Aqa-Ib
  • tests: some code improvements (#14774) by @cebem1nt
  • texture: cache G and A swizzle channels aswell (#14605) by @gulafaran
  • treewide: clean up and performance (#15230)
  • window: cache process environment lookups (#15264)
  • windows/focus: differentiate fullscreen focus reason into default and layout handled reasons. (#14370) by @erstarr
  • windowstate/layerstate: don't dynamic_cast a view's self-ptr during destruction (#15471) by @gulafaran
  • xwayland: avoid unmanaged geometry configure loop (#15280) by @moetayuko
  • xwayland: guard unknown selection events (#15409)
  • xwayland: lock focus while dragging an xwayland window (#12051) by @enzi
  • xwayland: preserve title fallback state (#15449)
  • xwayland: validate ICCCM hint replies (#15450)
Special thanks

Special thanks as always to these gigachads for supporting Hyprland's continued development:

Sponsors
Diamond

37Signals

Gold

Framework, Butterfly

Donators
Top Supporters:

soy_3l.beantser, taigrr, RaymondLC92, Xoores, Bonsai, d, DHH, alukortti, miget.com, Ammar Hossain, Jas Singh, yamauchihiroshi, iain, Seishin, Brandon Wang, ExBhal, Hunter Wesson, RayJameson, Kay, Ki☆, alexmanman5, Tonao Paneguini, John Shelburne, 3RM, gfunnymoney, ari-cake, TyrHeimdal, Illyan, --, Insprill, lzieniew, MadCatX, Theory_Lukas

New Monthly Supporters:

Anon, wmeints, Twinkybot, ryan, jakhub, JMH, Le Juju, ercument, xff, Mike Raphone, Mike E, Martijn, mfed, leomoon, OldPastaFace, ferngg_, damirk, Ghostxsalmon, Flo, DavDood, bamboo, Justin, Cpl. Roth, irontom10, Eric, phage-zn, erotourtes, Streifenfrei

One-time Donators:

Wawan, Jim, Marco Celis, JDM, LPGames, joscani, trvnkwil, davinsky, Santiago Perez, Mantas, Javier, asdfasdfasdfasdf, Leo, saltchicken, Yakedo, J Fernandes, PasiS, Marcelo, RammFire, jrgd, elandi, Xenia, Paul H, Jonathan Lopez, mir0, sheik, Supporter, Gérald, Ghoul, uniuni, Lei Huang, BTCharlie, marckeelingiv, ArisTheInquiring, anon, 9x25dillon, DCyph360, inittux111, Steve, Rowan, Awachuwere, Hank, Chloessica, escuco, Boriana, CRUDB, EndoliteMatrix, King, tdha, SillyingAround, Ag, MrElo, fraxineus, Dobrovschi Stefan, MrCharless, 4everN00b, bogdan.bagno@gmail.com, Shoh Berdy, araneae, Skrazzo, Carlos martinez, Kimli, Antoni, Ed R, Aphrofluff, ThatOneShortGuy, gtm, ChristophLHR, Sam C, deven, Alezarine, golanv, Praegustator, zaafiel428, skatos24, Louis Nicholas, Ivan Ucha, Andrejs, mirolPirol, dacero, cmquesada, Nando, an, shkz, Rob H, TrentZent#5307, Snil, Rigle, NikodemRafalski, Bishop James, Some random dude from China, jo, Roy, ProfessorNova, Ikey, nihilfm, Serj007, GVM, DucSpa, LinuxHG, WetSeal, sikor666, djledda, Dominik, jolteroli, Jkob, Valerie, Valentino, A374377, evandroev@gmail.com, w00z4, Mateusz, Dirk, mdereje, Joy, Celerodlak, BabawabatheSuperSlender, Paulin, Manuel P., Cobra1one, Abhinav, houdinihacker, JohnAtl, Blackcat, yDog-1, CUhRip, Alex, Kodlak, ReallyFluffy, Miguel Padilla, wronguy, JWHall, TheGreatMcPain, mykey, ThePreviousOne, poor_man, FarLT, Élder Bernardi, Citizen5, Gus, GKL, falparsi, @ericmoyer@hachyderm.io, labo, MeaTLoTioN, Caja, Willem van Ede, @elmorek, anonymous-supporter, William Caicedo, Hello, aussiedini, omnicroissant, cadds, Evan LeSage, Pierre, Marugun, Robbie, Henry, paradaimu, Cody Weaver, jbsbuilder, zongben, Pawel, ManosG, revitalist, marcs100, Azrael Alpha, erkre, brainfxk, PaulG, Ivan Shakuta, taqashh/abbo0dio, curu, Chaosz, GedeSaika, Amor, 7NK01, abby, Ren, luomichael, Alon, Matthew Feidt, xtarr, Annoying Moose, carpet.lover, Emil Folino, kanito, Nael, Christoffer, Arepa, Kazunari Irie, Ebrithil, Daan, Cbriss, Gustavo Rodriguez, Keylack, kern, McMelon, Aser, zerocool823, Tony, Tom C, Mike B, Thank you, JB, Henrik, kusanaginoturugi, Shmoo Maru, Lou, Oleks Sheremet, kagenou-sama, J, Blueh, decoy, Skaz, Neno, CurlyDude, Dmitrii Gol, Roger Powell, Joseba.dev, oddi, gumbum, Alejandro

Full Changelog: https://github.com/hyprwm/Hyprland/compare/v0.55.0...v0.56.0

View originalPermalink
How v0.56.0 went

v0.55.4

Fixed 10
  • fix layout ctx checking the wrong argument in config/lua
  • fix subsurface scaling in desktop/popup
  • fix live cursorZoom anchoring to a mid-animation value in gestures
  • fix toggle cursorZoom sharing a single on/off flag in gestures
  • fix border color for locked groups
  • fix class and title reporting on map and afterwards in protocols/foreignToplevel

Another small round of patches on top of 0.55.3.

Fixes backported
  • config/lua: fix layout ctx checking the wrong argument (#15061)
  • desktop/popup: fix subsurface scaling (#14936)
  • gestures: fix live cursorZoom anchoring to a mid-animation value (#14996)
  • gestures: fix toggle cursorZoom sharing a single on/off flag (#14998)
  • groups: fix border color for locked groups (#15015)
  • protocols/foreignToplevel: fix class and title reporting on map and afterwards (#15037)
  • protocols/pointerWarp: fix crash when warp is on a non interactive surf (#15021)
  • renderer: fix SEGV on monitor disconnect (#15048)
  • gestures: clamp toggle cursorZoom like mult and live (#14997)
  • gestures: configure client to final size on fullscreen/float gesture completion (#14981)
Special Thanks

As always, special thanks to these people / companies for supporting Hyprland's continued development:

Sponsors
Diamond

37Signals

Gold

Framework, Butterfly

Donators
Top Supporters:

Tonao Paneguini, Semtex, soy_3l.beantser, Seishin, Nox Æterna, Illyan, Snorezor, Bonsai, Joshua Weaver, ExBhal, DHH, Mikko_Nyman, Kay, iain, TyrHeimdal, miget.com, alexmanman5, Hunter Wesson, --, RaymondLC92, Theory_Lukas, Brandon Wang, Insprill, lzieniew, 3RM, johndoe42, Jas Singh, RayJameson, MadCatX, Xoores, d, Ammar Hossain, Ki☆, inittux111, Arkevius, John Shelburne, DeWattaUnk, ari-cake, gfunnymoney, alukortti, taigrr

New Monthly Supporters:

tubid2wenty, Uros Cotman, yafantik, Guy, goblin_engineer, Julius John Puno, Peter Buijs, mb, StellaBuckley, haikuolin, Antibaddy, sludge10123, C Money, Lipski, KampotKaca, Kazuhide Takahashi, Skeptomai, bombadurelli, Rebellen, Álan, StreamCyper, taras, Yury, Sherab, Filinto Delgado, Taddelladius

One-time Donators:

Quuton, Selvan, Tyler Adams, tonis, Sam, Dimitrios Liappis, Chivtar, Eric, aponsasan888, bkode, LonestarF1, Chris, Dogmatic Polack, Larry, maxx, MonolithImmortal, edrix, I like GameNative, take my money., nyxloom, Frederic Toemboel, Schmendiey, himes, brandonia, Xphelus, New user, Miguel Flores-Acton, R3dGh0st, Glen, Vitor Moura GUEDES, Anersyum, le_04, Dan, AT, chorr, Awesome, IdeaSpring, Jacobrale, anonymous, Elias Griffin, w00z4, Marcus Edvardsson, Gerhard, Bashmaks, Benjaneb, R4dicalEdward, Matýsek ^^, Michael, Gene Raymond, naivesheep, Neginja, anarchuser, Uta, Francois KERISIT, ay4, Lorenzo santacreu, Gitznik, Jure S, Oliver, Pipes, Mein, ironick, Nlight, Pfoid, DasCleverle, Jaf Endee, DIEBUSTER, senorBeard, alex, Mike, luxxa, JasonPettys, One, Daniel, Sven Eppler, L3rdy, Ilunn, Thorff, XurxoMF, Wonkhester, Brian, Doc O, Mortja, Spook, Miguel Cordero Collar, bennyzen, deah, Sean, Higor, nanea808, Torsten Schieber, I3lack5hield, Kevin Steffer, Zarenno, vfosterm, Nikola, EGB, Dietmar, KilahDentist, Wilf Lin, Rad, Yuza, Supporter, nooob, esseonline, Naresh, darquill, BrnPrs, Pani, BYK, Amaury, nythix, Mika, Patriarch, Gambit, GoatCedric, Adam, MirasM, bl4ckb1rd, Loon, KevOlek, AsciiWolf, Brian Barrow, Anon, Kilian, Cristian M., abhinavmishra094, Dejv78, LinoDB, Trofim, Konstantin, JoaquinCamposPlaza(Ximo), Gabo, Phil, dev2and0m, Neil Brown, zarilion, JavierArias(Javi), Thank you, Mystrasun, Skrazzo, MeguminLoli, revitalist, barcellos-pedro, Juh, Goldie, benabrig, mynus, Daniel Zudel, Grant, Jacob Felknor, Noah, e033x, Nick, Niklas, mkami, Slippy, joenu, Oleksandr, t.i.m., Joss001, M4CETO, Nighty, Donater, David N, Cameron, Ekoban, Kieran, brotiii, Doug, Hypruser#0224975, Shadesofastar, sonicbhoc, GKL, Damien, João Seixas, mothmashine, James Freiwirth, Mek, Krizzkrozz, Panzer, mika.dev, Franky Valley, Sycho sMILEz, Roy, Amundis, willibenmula ❤️, Justin, marvelousIT, pablo, Alex, Ryan, cito, Juergen, Eric Koslow, valerius21, jfk, Andrejs, tyforupdate, skwrl, DaintyFox

Full Changelog: https://github.com/hyprwm/Hyprland/compare/v0.55.3...v0.55.4

View originalPermalink
How v0.55.4 went

v0.55.3

Added 2
  • Add hyprctl config full-reload for performing a ground-up reload
  • Gestures can accept a lua function
Fixed 19
  • Add missing notification text field in meta/lua and make timeout required
  • Fix submap enter bind conflicting with bind inside submap
  • Fix monitor re-enabling on hotplug when dpms is off
  • Fix render unfocused for subsurfaces
  • Fix null derefs in pin dispatcher
  • Fix VRR not applying on runtime change

A small (or maybe not that small) patch release backporting some fixes from main onto 0.55.2.

Fixes backported
  • hyprctl: add config full-reload for performing a ground-up reload (#14748)
  • meta/lua: add missing notification text field and make timeout required (#14665)
  • binds/submap: fix submap enter bind == bind inside submap (#14856)
  • compositor: fix monitor re-enabling on hotplug when dpms is off (#14818)
  • compositor: fix render unfocused for subsurfaces (#14718)
  • config/actions: fix null derefs in pin dispatcher (#14914)
  • config: fix VRR not applying on runtime change (#14744)
  • config: fix decoration values to refresh on runtime eval/keyword change (#14590)
  • core: fix a few fd leaks (#14870)
  • decoration/glow: fix visibility when no decorate is set (#14602)
  • desktop/popup: fix reposition artifacts (#14820)
  • desktop/window: fix wrong scale being applied after workspace rules (#14832)
  • internal: fix null deref in setWindowFullscreenInternal when fullscreen state stale (#14725)
  • jeremy: fix auto-generating hyprlang instead of lua config file by default (#14944)
  • renderer: fix cursor:zoom_rigid being ignored with detached camera (#14995)
  • renderer: fix screenshader with fp16 (#14918)
  • renderer: minor shader fixes (#14584)
  • screencopy: fix screenshare copyfb pending frames (#14837)
  • xwayland: fix ICCCM synthetic event comparison (#14827)
  • algo/master: guard target in remove (#14756)
  • compositor: give preference to same-workspace windows in getWindowInDirection (#14941)
  • config/lua: improve error handle-ability with Lua require (#14937)
  • config/lua: report errors better without check* (#14695)
  • config/monitor: refresh splash texture on monitor reload (#14632)
  • config/propRefresher: schedule frames on screen shader refresh (#14874)
  • desktop/rule: optimize mapping rule properties to strings and engines (#14945)
  • desktop/window: allow focus while held to non-OR X11 windows (#14821)
  • input: aggregate modifier states from all keyboards on focus enter (#14633)
  • internal: replace O_CLOEXEC with FD_CLOEXEC for file descriptor flags (#14909)
  • keybinds: set a fallback releasePending flag for special lua binds (#14600)
  • keybinds: store hit binds first, then execute callbacks (#14743)
  • layersurface: inform layer surfaces of scale changes (#14771)
  • layout/dragController: reset floating offset on ended drag (#14940)
  • layout/scrolling: check if cursor overlaps with target in focusOnInput (#14687)
  • main: gain SCHED_RR and drop CAP_SYS_NICE earlier (#14897)
  • meta/lua: Gestures can accept a lua function (#14649)
  • monitor: move floating windows with layout changes (#14928)
  • monitor: retry transient mode selection failures (#14927)
  • protocols/fractional-scale: track if scale is known and send scales eagerly when known (#14798)
  • protocols: bump xdg-decoration to rev 2 (#14869)
  • renderer/gl: release failed fence syncs (#14956)
  • renderer/gl: skip invalidation clear on empty damage (#14921)
  • renderer: reduce per-frame heap allocations (#14932)
  • renderer: send frame callbacks on presented if no change (#14849)
  • texture: cache G and A swizzle channels aswell (#14605)
Special Thanks

As always, special thanks to these people / companies for supporting Hyprland's continued development:

Sponsors
Diamond

37Signals

Gold

Framework, Butterfly

Donators
Top Supporters:

Tonao Paneguini, Semtex, soy_3l.beantser, Seishin, Nox Æterna, Illyan, Snorezor, Bonsai, Joshua Weaver, ExBhal, DHH, Mikko_Nyman, Kay, iain, TyrHeimdal, miget.com, alexmanman5, Hunter Wesson, --, RaymondLC92, Theory_Lukas, Brandon Wang, Insprill, lzieniew, 3RM, johndoe42, Jas Singh, RayJameson, MadCatX, Xoores, d, Ammar Hossain, Ki☆, inittux111, Arkevius, John Shelburne, DeWattaUnk, ari-cake, gfunnymoney, alukortti, taigrr

New Monthly Supporters:

tubid2wenty, Uros Cotman, yafantik, Guy, goblin_engineer, Julius John Puno, Peter Buijs, mb, StellaBuckley, haikuolin, Antibaddy, sludge10123, C Money, Lipski, KampotKaca, Kazuhide Takahashi, Skeptomai, bombadurelli, Rebellen, Álan, StreamCyper, taras, Yury, Sherab, Filinto Delgado, Taddelladius

One-time Donators:

Quuton, Selvan, Tyler Adams, tonis, Sam, Dimitrios Liappis, Chivtar, Eric, aponsasan888, bkode, LonestarF1, Chris, Dogmatic Polack, Larry, maxx, MonolithImmortal, edrix, I like GameNative, take my money., nyxloom, Frederic Toemboel, Schmendiey, himes, brandonia, Xphelus, New user, Miguel Flores-Acton, R3dGh0st, Glen, Vitor Moura GUEDES, Anersyum, le_04, Dan, AT, chorr, Awesome, IdeaSpring, Jacobrale, anonymous, Elias Griffin, w00z4, Marcus Edvardsson, Gerhard, Bashmaks, Benjaneb, R4dicalEdward, Matýsek ^^, Michael, Gene Raymond, naivesheep, Neginja, anarchuser, Uta, Francois KERISIT, ay4, Lorenzo santacreu, Gitznik, Jure S, Oliver, Pipes, Mein, ironick, Nlight, Pfoid, DasCleverle, Jaf Endee, DIEBUSTER, senorBeard, alex, Mike, luxxa, JasonPettys, One, Daniel, Sven Eppler, L3rdy, Ilunn, Thorff, XurxoMF, Wonkhester, Brian, Doc O, Mortja, Spook, Miguel Cordero Collar, bennyzen, deah, Sean, Higor, nanea808, Torsten Schieber, I3lack5hield, Kevin Steffer, Zarenno, vfosterm, Nikola, EGB, Dietmar, KilahDentist, Wilf Lin, Rad, Yuza, Supporter, nooob, esseonline, Naresh, darquill, BrnPrs, Pani, BYK, Amaury, nythix, Mika, Patriarch, Gambit, GoatCedric, Adam, MirasM, bl4ckb1rd, Loon, KevOlek, AsciiWolf, Brian Barrow, Anon, Kilian, Cristian M., abhinavmishra094, Dejv78, LinoDB, Trofim, Konstantin, JoaquinCamposPlaza(Ximo), Gabo, Phil, dev2and0m, Neil Brown, zarilion, JavierArias(Javi), Thank you, Mystrasun, Skrazzo, MeguminLoli, revitalist, barcellos-pedro, Juh, Goldie, benabrig, mynus, Daniel Zudel, Grant, Jacob Felknor, Noah, e033x, Nick, Niklas, mkami, Slippy, joenu, Oleksandr, t.i.m., Joss001, M4CETO, Nighty, Donater, David N, Cameron, Ekoban, Kieran, brotiii, Doug, Hypruser#0224975, Shadesofastar, sonicbhoc, GKL, Damien, João Seixas, mothmashine, James Freiwirth, Mek, Krizzkrozz, Panzer, mika.dev, Franky Valley, Sycho sMILEz, Roy, Amundis, willibenmula ❤️, Justin, marvelousIT, pablo, Alex, Ryan, cito, Juergen, Eric Koslow, valerius21, jfk, Andrejs, tyforupdate, skwrl, DaintyFox

Full Changelog: https://github.com/hyprwm/Hyprland/compare/v0.55.2...v0.55.3

View originalPermalink
How v0.55.3 went

v0.55.2

Changed 1
  • Default no_hardware_cursors to 2
Fixed 6
  • Fix crash when toggling float on oversized windows
  • Fix refocus to unreachable windows
  • Fix border color management for mirroring
  • Revert restriction of package module loading to lua-only modules
  • Use ref for workspace destroy events
  • Lock focus while dragging an xwayland window

Another round of minor fixes backported from main onto 0.55.1.

Fixes backported
  • layout/WindowTarget: fix crash when toggling float on oversized windows (#14587)
  • protocols/grab: fix refocus to unreachable windows (#14555)
  • renderer: fix border cm for mirroring (#14574)
  • config/lua: revert "restrict package module loading to lua-only modules (#14526)" (#14533)
  • config/lua: use ref for workspace destroy events (#14562)
  • config/values: default no_hardware_cursors to 2 (#14575)
  • xwayland: lock focus while dragging an xwayland window (#12051)
Special Thanks

As always, special thanks to these people / companies for supporting Hyprland's continued development:

Sponsors
Diamond

37Signals

Gold

Framework, Butterfly

Donators
Top Supporters:

Tonao Paneguini, Semtex, soy_3l.beantser, Seishin, Nox Æterna, Illyan, Snorezor, Bonsai, Joshua Weaver, ExBhal, DHH, Mikko_Nyman, Kay, iain, TyrHeimdal, miget.com, alexmanman5, Hunter Wesson, --, RaymondLC92, Theory_Lukas, Brandon Wang, Insprill, lzieniew, 3RM, johndoe42, Jas Singh, RayJameson, MadCatX, Xoores, d, Ammar Hossain, Ki☆, inittux111, Arkevius, John Shelburne, DeWattaUnk, ari-cake, gfunnymoney, alukortti, taigrr

New Monthly Supporters:

tubid2wenty, Uros Cotman, yafantik, Guy, goblin_engineer, Julius John Puno, Peter Buijs, mb, StellaBuckley, haikuolin, Antibaddy, sludge10123, C Money, Lipski, KampotKaca, Kazuhide Takahashi, Skeptomai, bombadurelli, Rebellen, Álan, StreamCyper, taras, Yury, Sherab, Filinto Delgado, Taddelladius

One-time Donators:

Quuton, Selvan, Tyler Adams, tonis, Sam, Dimitrios Liappis, Chivtar, Eric, aponsasan888, bkode, LonestarF1, Chris, Dogmatic Polack, Larry, maxx, MonolithImmortal, edrix, I like GameNative, take my money., nyxloom, Frederic Toemboel, Schmendiey, himes, brandonia, Xphelus, New user, Miguel Flores-Acton, R3dGh0st, Glen, Vitor Moura GUEDES, Anersyum, le_04, Dan, AT, chorr, Awesome, IdeaSpring, Jacobrale, anonymous, Elias Griffin, w00z4, Marcus Edvardsson, Gerhard, Bashmaks, Benjaneb, R4dicalEdward, Matýsek ^^, Michael, Gene Raymond, naivesheep, Neginja, anarchuser, Uta, Francois KERISIT, ay4, Lorenzo santacreu, Gitznik, Jure S, Oliver, Pipes, Mein, ironick, Nlight, Pfoid, DasCleverle, Jaf Endee, DIEBUSTER, senorBeard, alex, Mike, luxxa, JasonPettys, One, Daniel, Sven Eppler, L3rdy, Ilunn, Thorff, XurxoMF, Wonkhester, Brian, Doc O, Mortja, Spook, Miguel Cordero Collar, bennyzen, deah, Sean, Higor, nanea808, Torsten Schieber, I3lack5hield, Kevin Steffer, Zarenno, vfosterm, Nikola, EGB, Dietmar, KilahDentist, Wilf Lin, Rad, Yuza, Supporter, nooob, esseonline, Naresh, darquill, BrnPrs, Pani, BYK, Amaury, nythix, Mika, Patriarch, Gambit, GoatCedric, Adam, MirasM, bl4ckb1rd, Loon, KevOlek, AsciiWolf, Brian Barrow, Anon, Kilian, Cristian M., abhinavmishra094, Dejv78, LinoDB, Trofim, Konstantin, JoaquinCamposPlaza(Ximo), Gabo, Phil, dev2and0m, Neil Brown, zarilion, JavierArias(Javi), Thank you, Mystrasun, Skrazzo, MeguminLoli, revitalist, barcellos-pedro, Juh, Goldie, benabrig, mynus, Daniel Zudel, Grant, Jacob Felknor, Noah, e033x, Nick, Niklas, mkami, Slippy, joenu, Oleksandr, t.i.m., Joss001, M4CETO, Nighty, Donater, David N, Cameron, Ekoban, Kieran, brotiii, Doug, Hypruser#0224975, Shadesofastar, sonicbhoc, GKL, Damien, João Seixas, mothmashine, James Freiwirth, Mek, Krizzkrozz, Panzer, mika.dev, Franky Valley, Sycho sMILEz, Roy, Amundis, willibenmula ❤️, Justin, marvelousIT, pablo, Alex, Ryan, cito, Juergen, Eric Koslow, valerius21, jfk, Andrejs, tyforupdate, skwrl, DaintyFox

Full Changelog: https://github.com/hyprwm/Hyprland/compare/v0.55.1...v0.55.2

View originalPermalink
How v0.55.2 went

v0.55.1

Fixed 20
  • Sync window monitor and workspace when added to a group
  • Fix invalid capture in vectorToWindowUnified
  • Fix bad format log in handleSource
  • Fix plugin variables with dashes
  • Fix top-layer bar visibility on workspace change with scrolling-layout fullscreen
  • Fix cursor bounds not updating on monitor layout changes

This is a standard patch release backporting some fixes from main onto 0.55.0.

Fixes backported
  • groups: sync window monitor/workspace when added to a group (#14478)
  • compositor: fix invalid capture in vectorToWindowUnified
  • config/legacy: fix bad format log in handleSource
  • config: fix plugin variables with dashes (#14379)
  • monitor: fix top-layer bar visibility on workspace change with scrolling-layout fullscreen (#14425)
  • pointer: fix cursor bounds not updating on monitor layout changes (#14393)
  • render/cm: fix premult in shaders (#14403)
  • render/gl/framebuffer: fix swizzle comparisons (#14481)
  • algo/floating: do not alter pinned windows' state on ws move (#14513)
  • config/lua: allow re-enabling monitors (#14447)
  • config/lua: restrict package module loading to lua-only modules (#14526)
  • config/propRefresher: avoid crash if event loop manager isn't loaded (#14423)
  • gestures/scroll_move: guard col to avoid crash (#14394)
  • helpers: include numbers header (#14406)
  • input: properly make input-blocked windows inaccessible (#14517)
  • meta/lua-stubs: overwrite scale to accept float and int (#14461)
  • meta: update lua stubs for permissions (#14400)
  • monitor: don't modeset on reserved changes (#14397)
  • monitor: don't set back to 8 bit when applying rules (#14404)
  • renderer: set proper image description in snapshots (#14398)
Special Thanks

As always, special thanks to these people / companies for supporting Hyprland's continued development:

Sponsors
Diamond

37Signals

Gold

Framework, Butterfly

Donators
Top Supporters:

Tonao Paneguini, Semtex, soy_3l.beantser, Seishin, Nox Æterna, Illyan, Snorezor, Bonsai, Joshua Weaver, ExBhal, DHH, Mikko_Nyman, Kay, iain, TyrHeimdal, miget.com, alexmanman5, Hunter Wesson, --, RaymondLC92, Theory_Lukas, Brandon Wang, Insprill, lzieniew, 3RM, johndoe42, Jas Singh, RayJameson, MadCatX, Xoores, d, Ammar Hossain, Ki☆, inittux111, Arkevius, John Shelburne, DeWattaUnk, ari-cake, gfunnymoney, alukortti, taigrr

New Monthly Supporters:

tubid2wenty, Uros Cotman, yafantik, Guy, goblin_engineer, Julius John Puno, Peter Buijs, mb, StellaBuckley, haikuolin, Antibaddy, sludge10123, C Money, Lipski, KampotKaca, Kazuhide Takahashi, Skeptomai, bombadurelli, Rebellen, Álan, StreamCyper, taras, Yury, Sherab, Filinto Delgado, Taddelladius

One-time Donators:

Quuton, Selvan, Tyler Adams, tonis, Sam, Dimitrios Liappis, Chivtar, Eric, aponsasan888, bkode, LonestarF1, Chris, Dogmatic Polack, Larry, maxx, MonolithImmortal, edrix, I like GameNative, take my money., nyxloom, Frederic Toemboel, Schmendiey, himes, brandonia, Xphelus, New user, Miguel Flores-Acton, R3dGh0st, Glen, Vitor Moura GUEDES, Anersyum, le_04, Dan, AT, chorr, Awesome, IdeaSpring, Jacobrale, anonymous, Elias Griffin, w00z4, Marcus Edvardsson, Gerhard, Bashmaks, Benjaneb, R4dicalEdward, Matýsek ^^, Michael, Gene Raymond, naivesheep, Neginja, anarchuser, Uta, Francois KERISIT, ay4, Lorenzo santacreu, Gitznik, Jure S, Oliver, Pipes, Mein, ironick, Nlight, Pfoid, DasCleverle, Jaf Endee, DIEBUSTER, senorBeard, alex, Mike, luxxa, JasonPettys, One, Daniel, Sven Eppler, L3rdy, Ilunn, Thorff, XurxoMF, Wonkhester, Brian, Doc O, Mortja, Spook, Miguel Cordero Collar, bennyzen, deah, Sean, Higor, nanea808, Torsten Schieber, I3lack5hield, Kevin Steffer, Zarenno, vfosterm, Nikola, EGB, Dietmar, KilahDentist, Wilf Lin, Rad, Yuza, Supporter, nooob, esseonline, Naresh, darquill, BrnPrs, Pani, BYK, Amaury, nythix, Mika, Patriarch, Gambit, GoatCedric, Adam, MirasM, bl4ckb1rd, Loon, KevOlek, AsciiWolf, Brian Barrow, Anon, Kilian, Cristian M., abhinavmishra094, Dejv78, LinoDB, Trofim, Konstantin, JoaquinCamposPlaza(Ximo), Gabo, Phil, dev2and0m, Neil Brown, zarilion, JavierArias(Javi), Thank you, Mystrasun, Skrazzo, MeguminLoli, revitalist, barcellos-pedro, Juh, Goldie, benabrig, mynus, Daniel Zudel, Grant, Jacob Felknor, Noah, e033x, Nick, Niklas, mkami, Slippy, joenu, Oleksandr, t.i.m., Joss001, M4CETO, Nighty, Donater, David N, Cameron, Ekoban, Kieran, brotiii, Doug, Hypruser#0224975, Shadesofastar, sonicbhoc, GKL, Damien, João Seixas, mothmashine, James Freiwirth, Mek, Krizzkrozz, Panzer, mika.dev, Franky Valley, Sycho sMILEz, Roy, Amundis, willibenmula ❤️, Justin, marvelousIT, pablo, Alex, Ryan, cito, Juergen, Eric Koslow, valerius21, jfk, Andrejs, tyforupdate, skwrl, DaintyFox

Full Changelog: https://github.com/hyprwm/Hyprland/compare/v0.55.0...v0.55.1

View originalPermalink
How v0.55.1 went

v0.55.0

Added 15
  • Add center option for centering the current column in dwindle layout
  • Add config options for focus and swapcol wrapping in scrolling algorithm
  • Add expel, consume, and consume_or_expel scrolling operations
  • Add springs to animations
  • Add auto_consuming flag to binds
  • Add ExpressionVec2 and support for using a table for vec2 rules in Lua config
Changed 1
  • Move misc:vfr to debug: as it is a debug variable that should not be changed in production environments
Removed 3
  • Remove dwindle:pseudotile configuration option as it was not functional
  • Remove decoration:shadow:ignore_window configuration option, now defaults to enabled
  • Remove render:cm_fs_passthrough configuration option, now automatic with render:cm_auto_hdr

A massive update brought to you by the All Hyprland Corp!

Breaking changes
  • dwindle:pseudotile has been removed as it wasn't doing anything
  • decoration:shadow:ignore_window has been removed (defaults to enabled)
  • render:cm_fs_passthrough has been removed, should be automatic with render:cm_auto_hdr
  • misc:vfr moved to debug: as it's a debug variable that should not be changed in prod environments
New features:
  • algo/scroll: add center for centering the current col (#14059)
  • algo/scrolling: add config options for focus and swapcol wrapping (#13518)
  • algo/scrolling: add expel, consume, and consume_or_expel (#13869)
  • animations: add springs (#14171)
  • binds: add an auto_consuming flag (#13919)
  • config/lua: add ExpressionVec2, allow using a table for vec2 rules (#14197)
  • config/lua: add clear tag api (#14273)
  • config/lua: add noop
  • config/lua: add simple layout API (#14258)
  • config/workspacerule: add animation style (#13380)
  • config: add device tags (#13728)
  • debug-tools: add flame
  • desktop/window: add alpha container for alpha calculations
  • desktop/windowRule: add confine_pointer window rule (#13379)
  • desktop/windowRule: add parser switch for confine pointer (#14263)
  • dispatchers: add moveintoorcreategroup (#13325)
  • dwindle: add rotatesplit layoutmsg and tests (#13235)
  • gestures: add live pinch cursor zoom (#14049)
  • gestures: add scroll_move (#14063)
  • groups: add groupbar middle_click_close option (#14242)
  • hl.mata.lua: add string to NotificationOptions's icon param. (#14334)
  • hyprctl: add hw cursor flag
  • hyprland.pc.in: add src include flag
  • i18n: add Greek translations (#13865)
  • i18n: add Punjabi translations (#13807)
  • input: add device specific binds (#13073)
  • layerrules: add dynamically registered rules for plugins (#13331)
  • layout/windowTarget: add visualBox (#13626)
  • render/cm: add ICC profile pipeline (#12711)
  • renderer/deco: add glow decoration (#13862)
  • renderer: add a cm settings cache
  • window/rules: add scrolling_width (#13754)
  • windows/focus: add fallbacks when focussing workspaces (#14270)
Fixes:
  • config/descriptions: add missing desc entry
  • cmake: add -fno-omit-frame-pointer to debug
  • InputManager: add guards to confineToRegion to avoid issues (#14269)
  • algo/dwindle: add back splitratio (#13498)
  • algo/dwindle: fix precise mouse setting (#13678)
  • algo/master: fix crash after dpms (#13522)
  • algo/master: fix crash on null target in getNextTarget
  • algo/scroll: fix std::clamp assertion crash on resume from suspend (#13737)
  • algo/scroll: fix unsigned wrap (#13634)
  • algo/scrolling: fix offset on removeTarget (#13515)
  • algo/scrolling: fix rare crash
  • algo/scrolling: various scrolling view related bugfixes (#13974)
  • build: add glaze dependency with FetchContent fallback (#13666)
  • build: add format-check and format-fix Makefile targets (#13936)
  • build: fix build on gcc 16.x after #6b2c08d (#13429)
  • clang-tidy: fix duplicate entry in .clang-tidy (#14045)
  • cmake: fix permissions for directories by default
  • cmakelists: fixup errors failing build on arch ci (#14259)
  • compositor: fix floating input/visual z-order desync after fullscreen (#14015)
  • compositor: fix focus edge detection (#13425)
  • compositor: fix missing recheckWorkArea to prevent CReservedArea assert failure (#13590)
  • config/actions: fix misuse of ActionResult's error type (#14221)
  • config/legacy: fix crash on getConfigValue of plugin fns
  • config/legacy: fix missing fallbacks crashing device getters
  • config/lua: fix device bool int reads (#14313)
  • config/lua: fix dispatcher shapes to not be callable (#14268)
  • config/lua: fix unbind behavior (#14199)
  • config/lua: fix window object to selector logic
  • config/refresher: fix refreshing of cursor zooms (#14283)
  • config: fix crash in safe mode due to null Config::mgr() (#13855)
  • config: fix propRefresher to not run on first launch
  • config: fix safe mode config generation (#14024)
  • config: fix type confusion in getOption with complex types
  • core: fix i586 build (#13550)
  • deco/border: fix damage region
  • deco/border: fix damageEntire
  • desktop/group: fix movegroupwindow not following focus (#13426)
  • desktop/rule: fix matching for content type by str
  • desktop/rules: fix empty workspace handling (#13544)
  • desktop/rules: fix static rules and content type. (#13725)
  • desktop/view: fix SIGABRT in CWindow::onUnmap when monitor is expired (#14148)
  • desktop/window: fix floating windows being auto-grouped (#13475)
  • desktop/window: fix idealBB reserved (#13421)
  • desktop/windowRule: fix matching CONTENT (#13636)
  • desktop/workspace: fix visibility criteria matching (#14349)
  • example/hyprland.lua: fix wiki links for new stuff (#14172)
  • examples: fix missing permissions entry in lua example config (#14177)
  • groups: fix movewindoworgroup when moving from group to group (#14086)
  • hyprctl: fix bools in getoption
  • hyprctl: fix buffer overflowing writes to the socket
  • hyprctl: fix getoption with custom types (#14243)
  • hyprctl: fix invalid type cast
  • hyprctl: fix json output for the submap command (#13726)
  • hyprctl: fix lib64 pkgconfig for version-checking (#14051)
  • hyprctl: fix workspace dynamic effect reloading (#13537)
  • hyprpm: fix url sanitization in add
  • input: fix device configs for pointer devices
  • input: fix focus_on_close=2 (MRU) routing to cursor path instead of getNextCandidate (#13969)
  • input: fix the multimon touch fix (#13819)
  • input: fix touch monitor focus ordering (#14310)
  • input: fix touch screen focus on multi monitor (#13764)
  • internal: fix relative path header locations (#13650)
  • keybinds: fix keycode matching on lua (#14254)
  • keybinds: fix missing z-order update on floating toggle (#14100)
  • keybinds: fix wrong space assignment in pin (#14061)
  • keybinds: fixup changegroupactive
  • layershell: fix popup crash with nullptr mon (#13763)
  • layout/algo: fix swar on removing a target (#13427)
  • layout/groupTarget: fix crash on null space assignment (#13614)
  • layout/master: fix rollprev/rollnext focusing the wrong window (#14209)
  • layout/scroll: fix configuredWidths not setting properly on new workspaces (#13476)
  • layout/scrolling: fix edge detection in recalculate() (#14359)
  • layout/scrolling: fix size_t underflow in idxForHeight (#13465)
  • layout/windowTarget: fix size_limits_tiled (#13445)
  • layout: fix crash on monitor reconnect due to stale workspace state
  • layout: fix drag_threshold window snap regression (rebased for #12890) (#13140)
  • layout: fix null deref in focalPointForDir and moveInDirection (#13652)
  • layouts: fix crash on missed relayout updates (#13444)
  • meta/stubs: fix notification icon type (#14320)
  • misc: fix missing noreturn attribute for throwError (#13746)
  • monitor: fix centered floating windows off-screen in special workspace (#14203)
  • opengl/shadow: fix shadow offset rendering (#14156)
  • overridableVar: fix reassignment
  • pointer: fix hardware cursor rendering on rotated/flipped monitors (#13574)
  • propRefresher: fix misnamed value
  • protocols/compositor: fix presentFeedback being blocked
  • protocols/sessionLock: fix crash when monitor is gone during lock surface creation
  • protocols: fix image-copy-capture stop handling and remove non protocol errors (#13706)
  • render/pass: fix debug:pass rendering
  • render: fix SIGFPE in addWindowToRenderUnfocused when misc:render_unfocused_fps is 0 (#13973)
  • render: fix layer blur_popups ignoring ignore_alpha when blur is off (#13947)
  • renderer/groupbar: fix a group indicator rounding bug (#13975)
  • renderer/groupbar: fix gradients rendering (#13875)
  • renderer: Various CM fixes, part 8 of refactors (#13860)
  • renderer: fix blockBlurOptimization check (#13685)
  • renderer: fix crash on mirrored outputs needing recalc (#13534)
  • renderer: fix crash on null blur framebuffer during monitor disconnect
  • renderer: fix crash when shader path isn't a file (#13756)
  • renderer: fix crash with nullptr FBs (#13641)
  • renderer: fix decoration colors with linear FP16 (#14361)
  • renderer: fix sdr mod (#13630)
  • renderer: fix shadow CM calculations (#14364)
  • renderer: fix share window projection (#13695)
  • renderer: more FP16 fixes (#14070)
  • renderer: refactor part 7: api fixes (#13631)
  • renderer: small fixes in OpenGL.cpp and OpenGL.hpp (#13842)
  • screencopy: fix crash in screensharing toplevel with invalid handle (#13781)
  • screencopy: fix isOutputBeingSSd (#13586)
  • screencopy: fix minor crash (#13566)
  • screencopy: fix nullptr deref if shm format is weird
  • screenshare: round captureBox after scaling to fix region capture at fractional scales (#14257)
  • seat/compositor: fix minor issues (#13958)
  • seat: fix dropped wl_keyboard.enter after stale keyboardFocusResource (#14143)
  • tests/workspace: fix one test case failing
  • tests: Fix more tests failing on CI (#14159)
  • tests: fix ConfigLuaValueTypes - boolBadType test, 0 and 1 are allowed integer values for bool type (#14240)
  • tests: fix gtests crashing (#14244)
  • workspace: fix missing null access guard (#14119)
  • xwayland: fix compiler warnings (#13920)
Other:
  • CI/Nix/Test: check gtest exit status
  • CI/Nix: use org-wide actions
  • CI/build: remove commented-out clang-format action (#13893)
  • Nix: always test in debug mode
  • NotificationOverlay: take reserved space into account (#14184)
  • algo/dwindle: Respect force_split when moving windows to workspaces (#13038)
  • algo/dwindle: do NOT use smart_split for overridden focal point (#13635)
  • algo/dwindle: don't crash on empty swapsplit (#13533)
  • algo/dwindle: use focal point correctly for x-ws moves (#13514)
  • algo/scroll: improve directional moves (#13423)
  • algo/scroll: reverse horizontal dir mapping of vertical scroll directions (#13647)
  • algo/scrolling: improve behavior with focus_fit_method = center (#13795)
  • animation: avoid redundant damage calls in tick
  • build: bump hyprgraphics to 0.5.1 (#14013)
  • build: bump hyprutils to 0.13.1 (#14365)
  • build: remove auto-generated hyprctl/hw-protocols/ files during make clear (#13399)
  • build: remove legacy clang-format workflow (#13887)
  • clang-format: run formatter
  • cleanup: avoid repeated weak_ptr lock() calls in conditions (#14057)
  • cleanup: avoid repeated weak_ptr::lock() usage in MasterAlgorithm (#14226)
  • cmake: install the default example hyprland.lua (#14174)
  • cmake: remove dependence on hyprland.conf
  • cmakelists: search for any possible lua package name (#14204)
  • compositor: When processing fullscreen states, only use effective mode where necessary (#13607)
  • compositor: be more selective about how we expand the window box in getting coord (#13720)
  • compositor: damage monitors on workspace attachment updates
  • compositor: move SessionLockManager init from STAGE_LATE to STAGE_BASICINIT (#14272)
  • compositor: recalculate workspace state after fs state update (#14369)
  • config/actions: remove spammy errors and make them silent
  • config/errors: Report and categorize errors properly for actions (#14192)
  • config/executor: actually execute exec-shutdown (#13872)
  • config/legacy: default to active window for movetoworkspace dispatchers (#14170)
  • config/legacy: translate default window args properly
  • config/lua: cannot disable animation (#14215)
  • config/lua: don't pop up an error if no target was found (#14175)
  • config/lua: expand properties in the workspace object (#14194)
  • config/lua: init lua config manager, use lua if available (#13817)
  • config/lua: workspace.move/rename should accept "workspace" instead of "id" as a parameter (#14232)
  • config/refresher: refresh watcher state properly (#14307)
  • config/workspace-rules: support modifying persistent and monitor (#14217)
  • config: allow hashes for parsing colors (#14337)
  • config: always call refresh after config reload (#14346)
  • config: cleanup the entire config infrastructure (#13785)
  • config: find lua paths first (#14335)
  • config: move misc:vfr to debug: (#14021)
  • config: refresh window states on border_size changes (#14201)
  • config: use lua by default, generate lua if no config present
  • data/dnd: guard against expired dndPointerFocus and ensure consistent usage (#13996)
  • debug/overlay: optimize rendering, cleanup and nicetify (#14097)
  • decoration/border: simplify damage callback
  • desktop/group: respect direction when moving window out of group (#13490)
  • desktop/history: include ranges header (#14000)
  • desktop/layerRule: use variants for storage internally
  • desktop/popup: cache popup extents
  • desktop/popup: cache tree count
  • desktop/reserved: do not crash on invalid box init (#13880)
  • desktop/rule: cleanup inheritance, use templates to avoid dup
  • desktop/rule: recheck eating the applied rule (#14362)
  • desktop/rule: use Numeric for number parsing
  • desktop/window: don't group modals
  • desktop/window: expand hidden into proper states
  • desktop/window: guard null monitor in xwaylandSizeToReal (#13876)
  • desktop/window: optimize getRealBorderSize()
  • desktop/window: reduce window deco updates (#13980)
  • desktop/window: refactor over fullscreen state
  • desktop/windowRule: use variants for storage internally
  • desktop/workspaceHistory: small refactor to work better with multi monitor setups (#13632)
  • egl: move over to use hyprgraphics (#12988)
  • errorOverlay: modernize, refactor, use GPU rendering (#14122)
  • example: remove old .conf file
  • examples: merge config blocks in lua example as demo
  • format: safeguard drmGetFormat functions (#13416)
  • gitignore: ignore pointer scroll test artifact
  • helpers/systemInfo: extract info fns (#14222)
  • hyprtester: minor refactoring/restructure (#14154)
  • i18n: update Tatar translations (#13930)
  • i18n: update Vietnamese translations (#13489)
  • i18n: update brazillian portuguese (pt_BR) translation (#14248)
  • init: drop CAP_SYS_NICE from ambient set after gaining SCHED_RR (#14082)
  • input: allow focus to switch to most recently used window on closed (#13769)
  • input: avoid repeated weak_ptr::lock() and ensure consistent usage (#14039)
  • input: focus monitor on touch down events (#13773)
  • input: implement follow_mouse_shrink (#13707)
  • input: keep pointer focus on layer surfaces during keyboard refocus (#14018)
  • input: lazy cache getWindowIdeal()
  • internal: improve cursor size logging (#14180)
  • internal: include setByUser in CConfigManager::getConfigValue (#14155)
  • internal: removed Herobrine
  • internal: rewrite deviceNameToInternalString using a single range pipeline (#13806)
  • internal: silence compiler warnings about unused return values (#13997)
  • keybind/actions: cycle_next w/ tiled = true doesn't choose only tiled windows (#14164)
  • keybindMgr: use legacy behavior for single-key binds on lua (#14176)
  • keybinds: Remove removed keybinds (#13605)
  • layersurface: simulate mouse movement on layer change (#13747)
  • layout/algo: preserve focused target if applicable on layout switches (#14058)
  • layout/algos: use binds:window_direction_monitor_fallback for moves (#13508)
  • layout/dwindle,master: return invalid layoutmsg errors
  • layout/scrolling: handle fullscreen manually (#14190)
  • layout/windowTarget: damage before and after moves (#13496)
  • layout/windowTarget: don't use swar on maximized (#13501)
  • layout/windowTarget: override maximized box status in updateGeom (#13535)
  • layout: guard null workspace in CWindowTarget::updatePos() (#13861)
  • layout: replace string comparison with ID-based matching in WorkspaceAlgoMatcher (#13943)
  • layout: revert "replace string comparison with ID-based matching in WorkspaceAlgoMatcher (#13943)"
  • layout: store and preserve size and pos after fullscreen (#13500)
  • layouts/dwindle: override force after window drags (#14002)
  • logging: update uri of debug log in ConfigManager to reflect change in wiki (#14185)
  • main: improve error reporting during initialization in main.cpp (#14181)
  • meta/stubs: update gesture hints to match new fields (#14195)
  • miscfunctions: reuse monitor pointer instead of repeated calls (#13977)
  • monitor: centralize solitary and scanout eligibility checks
  • monitor: damage old special monitor on change
  • monitor: ensure swapchain is updated before mode test (#14065)
  • monitor: keep workspace monitor bindings on full reconnect (#13384)
  • monitor: set format back after failing DS activation (#14168)
  • monitor: update pinned window states properly on changeWorkspace (#13441)
  • monocle: avoid repeated workspace monitor lock() calls (#14085)
  • nix/tests: print gtests logs
  • nix: separate overlay with deps
  • notifications: move and small refactor (#14094)
  • notifications: optimize rendering (#14088)
  • opengl: minor egl changes (#14147)
  • pass/surface: cache texBox
  • pointer: damage entire buffer in begin of rendering hw
  • protocolMgr: set m_self properly when updating mirrored outputs
  • protocols/workspace: schedule done after output update (#13743)
  • protocols: allow xdg-foreign to be used by sandboxed apps (#13854)
  • protocols: avoid repeated per-client work in hot paths
  • protocols: prune stale subsurface refs in hot traversals
  • protocols: reimplement unstable/xdg-foreign-v2 (#13716)
  • refactor: improve readability of monitor rule comparison (#13884)
  • render/decoration: cache input extents as well
  • render/decoration: improve extent calculations
  • render/decorations: improve cache performance
  • render/opengl: optimize getShaderVariant's map access
  • render/pass: optimize simplification and blur calculations
  • render: scale background to monitor resolution (#14250)
  • renderer/cm: Support wp-cm-v1 version 2 (#12817)
  • renderer: don't damage decos individually in damageWindow
  • renderer: extract window skip conditions into named booleans (#14005)
  • renderer: guard against null monitor in renderMonitor (#13823)
  • renderer: handle HDR -> SDR with cm_auto_hdr (#14102)
  • renderer: move m_renderData to renderer (#13474)
  • renderer: only set presentationmode when required (#14252)
  • renderer: refactor Texture, Framebuffer and Renderbuffer (#13437)
  • renderer: refactor gl renderer (#13488)
  • renderer: refactor projection setting (#13485)
  • renderer: refactor render elements (#13438)
  • renderer: refactor resources and flags (#13471)
  • renderer: shader variants refactor (#13434)
  • renderer: simplify renderWorkspaceWindowsFullscreen
  • renderer: simplify shadows (#14047)
  • renderer: skip redundant render-path work
  • renderer: swizzle on shm screencopy (#14167)
  • repo: ignore the autogen file meta/hl.meta.lua (#14336)
  • rules: make rule prop reset less cursed (#14003)
  • scheduler: keep a strong monitor ref in frame callbacks
  • screencopy: check share session state (#13839)
  • screencopy: clear buffer before rendering (#14064)
  • screencopy: scale window region for toplevel export (#13442)
  • screenshare/frame: set m_copied after shm copy succeeds (#14165)
  • screenshare: adjust session cleanup and event emission order (#14229)
  • screenshare: improve destroy logic of objects (#13554)
  • scroll: clamp column widths properly
  • seat: store surface in pointerFocus before sendEnter (#13941)
  • sessionLock: send locked instead of denied when missing a lock frame for 5 seconds (#14271)
  • shader: delete shader on success path (#13682)
  • socket2: emit kill event (hyprctl kill) (#13104)
  • source: c-f for new clang version
  • splashes: update splashes
  • subsurface: use geometry-aware damage and recurse into nested trees (#13933)
  • tests: add unit tests for ByteOperations helpers (#13886)
  • tests: add unit tests for CDamageRing (#13995)
  • tests: add unit tests for CHyprColor (#13891)
  • tests: add unit tests for CMType helpers (#13888)
  • tests: add unit tests for CMonitorRuleParser (#13895)
  • tests: add unit tests for CTagKeeper (#13970)
  • tests: add unit tests for Direction helpers (#13885)
  • tests: add unit tests for Format utilities (#13923)
  • tests: add unit tests for Math transform utilities (#13935)
  • tests: add unit tests for Math::CExpression (#13924)
  • tests: add unit tests for MiscFunctions helpers (#13934)
  • tests: add unit tests for TransferFunction helpers (#13889)
  • tests: add unit tests for match engine types (#13903)
  • tests: skip pointer tests in CI due to missing input environment (#14238)
  • tests: stabilize CI by relaxing env-dependent checks and timing-sensitive assertions (#14142)
  • tests: tolerate plugin config mismatch in CI (#14173)
  • treewide: alejandra -> nixfmt
  • view: consolidate group flags and apply window rules (#13694)
  • workspace: remove deprecated and unused members (#14198)
  • xdg-foreign-v2: Keep invalid imported objects alive (#14166)
  • xdg-shell: queue state updates for toplevel (#14227)
  • xwayland: handle transient read errors in selection transfer (#14135)
  • xwayland: pipe through monitor in coordinate mapping (#13700)
  • xwayland: prevent potential buffer overflow in socket path handling (#13797)
Special Thanks

As always, special thanks to these people / companies for supporting Hyprland's continued development:

Sponsors
Diamond

37Signals

Gold

Framework, Butterfly

Donators
Top Supporters:

Tonao Paneguini, Semtex, soy_3l.beantser, Seishin, Nox Æterna, Illyan, Snorezor, Bonsai, Joshua Weaver, ExBhal, DHH, Mikko_Nyman, Kay, iain, TyrHeimdal, miget.com, alexmanman5, Hunter Wesson, --, RaymondLC92, Theory_Lukas, Brandon Wang, Insprill, lzieniew, 3RM, johndoe42, Jas Singh, RayJameson, MadCatX, Xoores, d, Ammar Hossain, Ki☆, inittux111, Arkevius, John Shelburne, DeWattaUnk, ari-cake, gfunnymoney, alukortti, taigrr

New Monthly Supporters:

tubid2wenty, Uros Cotman, yafantik, Guy, goblin_engineer, Julius John Puno, Peter Buijs, mb, StellaBuckley, haikuolin, Antibaddy, sludge10123, C Money, Lipski, KampotKaca, Kazuhide Takahashi, Skeptomai, bombadurelli, Rebellen, Álan, StreamCyper, taras, Yury, Sherab, Filinto Delgado, Taddelladius

One-time Donators:

Quuton, Selvan, Tyler Adams, tonis, Sam, Dimitrios Liappis, Chivtar, Eric, aponsasan888, bkode, LonestarF1, Chris, Dogmatic Polack, Larry, maxx, MonolithImmortal, edrix, I like GameNative, take my money., nyxloom, Frederic Toemboel, Schmendiey, himes, brandonia, Xphelus, New user, Miguel Flores-Acton, R3dGh0st, Glen, Vitor Moura GUEDES, Anersyum, le_04, Dan, AT, chorr, Awesome, IdeaSpring, Jacobrale, anonymous, Elias Griffin, w00z4, Marcus Edvardsson, Gerhard, Bashmaks, Benjaneb, R4dicalEdward, Matýsek ^^, Michael, Gene Raymond, naivesheep, Neginja, anarchuser, Uta, Francois KERISIT, ay4, Lorenzo santacreu, Gitznik, Jure S, Oliver, Pipes, Mein, ironick, Nlight, Pfoid, DasCleverle, Jaf Endee, DIEBUSTER, senorBeard, alex, Mike, luxxa, JasonPettys, One, Daniel, Sven Eppler, L3rdy, Ilunn, Thorff, XurxoMF, Wonkhester, Brian, Doc O, Mortja, Spook, Miguel Cordero Collar, bennyzen, deah, Sean, Higor, nanea808, Torsten Schieber, I3lack5hield, Kevin Steffer, Zarenno, vfosterm, Nikola, EGB, Dietmar, KilahDentist, Wilf Lin, Rad, Yuza, Supporter, nooob, esseonline, Naresh, darquill, BrnPrs, Pani, BYK, Amaury, nythix, Mika, Patriarch, Gambit, GoatCedric, Adam, MirasM, bl4ckb1rd, Loon, KevOlek, AsciiWolf, Brian Barrow, Anon, Kilian, Cristian M., abhinavmishra094, Dejv78, LinoDB, Trofim, Konstantin, JoaquinCamposPlaza(Ximo), Gabo, Phil, dev2and0m, Neil Brown, zarilion, JavierArias(Javi), Thank you, Mystrasun, Skrazzo, MeguminLoli, revitalist, barcellos-pedro, Juh, Goldie, benabrig, mynus, Daniel Zudel, Grant, Jacob Felknor, Noah, e033x, Nick, Niklas, mkami, Slippy, joenu, Oleksandr, t.i.m., Joss001, M4CETO, Nighty, Donater, David N, Cameron, Ekoban, Kieran, brotiii, Doug, Hypruser#0224975, Shadesofastar, sonicbhoc, GKL, Damien, João Seixas, mothmashine, James Freiwirth, Mek, Krizzkrozz, Panzer, mika.dev, Franky Valley, Sycho sMILEz, Roy, Amundis, willibenmula ❤️, Justin, marvelousIT, pablo, Alex, Ryan, cito, Juergen, Eric Koslow, valerius21, jfk, Andrejs, tyforupdate, skwrl, DaintyFox

Full Changelog: https://github.com/hyprwm/Hyprland/compare/v0.54.0...v0.55.0

View originalPermalink
How v0.55.0 went

v0.54.3

Fixed 14
  • Fix precise mouse setting in dwindle algorithm
  • Fix crash on null target in master algorithm getNextTarget
  • Fix std::clamp assertion crash on resume from suspend in scroll algorithm
  • Fix static rules and content type in desktop rules
  • Fix JSON output for the submap command in hyprctl
  • Fix popup crash with nullptr mon in layershell
Security 1
  • Prevent potential buffer overflow in socket path handling in xwayland

A standard patch release with more fixes on top of 0.54.2

Fixes backported
  • algo/dwindle: fix precise mouse setting (#13678)
  • algo/master: fix crash on null target in getNextTarget
  • algo/scroll: fix std::clamp assertion crash on resume from suspend (#13737)
  • desktop/rules: fix static rules and content type. (#13725)
  • hyprctl: fix json output for the submap command (#13726)
  • layershell: fix popup crash with nullptr mon (#13763)
  • overridableVar: fix reassignment
  • protocols: fix image-copy-capture stop handling and remove non protocol errors (#13706)
  • compositor: When processing fullscreen states, only use effective mode where necessary (#13607)
  • compositor: be more selective about how we expand the window box in getting coord (#13720)
  • layersurface: simulate mouse movement on layer change (#13747)
  • layout: guard null workspace in CWindowTarget::updatePos() (#13861)
  • protocols/workspace: schedule done after output update (#13743)
  • view: consolidate group flags and apply window rules (#13694)
  • xwayland: prevent potential buffer overflow in socket path handling (#13797)
Special thanks

As always, massive thanks to our wonderful donators and sponsors:

Sponsors
Diamond

37Signals

Gold

Framework

Donators
Top Supporters:

Seishin, Kay, johndoe42, d, vmfunc, Theory_Lukas, --, MasterHowToLearn, iain, ari-cake, TyrHeimdal, alexmanman5, MadCatX, Xoores, inittux111, RaymondLC92, Insprill, John Shelburne, Illyan, Jas Singh, Joshua Weaver, miget.com, Tonao Paneguini, Brandon Wang, Arkevius, Semtex, Snorezor, ExBhal, alukortti, lzieniew, taigrr, 3RM, DHH, Hunter Wesson, Sierra Layla Vithica, soy_3l.beantser, Anon2033, Tom94

New Monthly Supporters:

monkeypost, lorenzhawkes, Adam Saudagar, Donovan Young, SpoderMouse, prafesa, b3st1m0s, CaptainShwah, Mozart409, bernd, dingo, Marc Galbraith, Mongoss, .tweep, x-wilk, Yngviwarr, moonshiner113, Dani Moreira, Nathan LeSueur, Chimal, edgarsilva, NachoAz, mo, McRealz, wrkshpstudio, crutonjohn

One-time Donators:

macsek, kxwm, Bex Jonathan, Alex, Tomas Kirkegaard, Viacheslav Demushkin, Clive, phil, luxxa, peterjs, tetamusha, pallavk, michaelsx, LichHunter, fratervital, Marpin, SxK, mglvsky, Pembo, Priyav Shah, ChazBeaver, Kim, JonGoogle, matt p, tim, ybaroj, Mr. Monet Baches, NoX, knurreleif, bosnaufal, Alex Vera, fathulk, nh3, Peter, Charles Silva, Tyvren, BI0L0G0S, fonte-della-bonitate, Alex Paterson, Ar, sK0pe, criss, Dnehring, Justin, hylk, 邱國玉KoryChiu, KSzykula, Loutci, jgarzadi, vladzapp, TonyDuan, Brian Starke, Jacobrale, Arvet, Jim C, frank2108, Bat-fox, M.Bergsprekken, sh-r0, Emmerich, davzucky, 3speed, 7KiLL, nu11p7r, Douglas Thomas, Ross, Dave Dashefsky, gignom, Androlax, Dakota, soup, Mac, Quiaro, bittersweet, earthian, Benedict Sonntag, Plockn, Palmen, SD, CyanideData, Spencer Flagg, davide, ashirsc, ddubs, dahol, C. Willard A.K.A Skubaaa, ddollar, Kelvin, Gwynspring, Richard, Zoltán, FirstKix, Zeux, CodeTex, shoedler, brk, Ben Damman, Nils Melchert, Ekoban, D., istoleyurballs , gaKz, ComputerPone, Cell the Führer, defaltastra, Vex, Bulletcharm, cosmincartas, Eccomi, vsa, YvesCB, mmsaf, JonathanHart, Sean Hogge, leat bear, Arizon, JohannesChristel, Darmock, Olivier, Mehran, Anon, Trevvvvvvvvvvvvvvvvvvvv, C8H10N4O2, BeNe, Ko-fi Supporter :3, brad, rzsombor, Faustian, Jemmer, Antonio Sanguigni, woozee, Bluudek, chonaldo, LP, Spanching, Armin, BarbaPeru, Rockey, soba, FalconOne, eizengan, むらびと, zanneth, 0xk1f0, Luccz, Shailesh Kanojia, ForgeWork , Richard Nunez, keith groupdigital.com, pinklizzy, win_cat_define, Bill, johhnry, Matysek, anonymus, github.com/wh1le, Iiro Ullin, Filinto Delgado, badoken, Simon Brundin, Ethan, Theo Puranen Åhfeldt, PoorProgrammer, lukas0008, Paweł S, Vandroiy, Mathias Brännström, Happyelkk, zerocool823, Bryan, ralph_wiggums, DNA, skatos24, Darogirn , Hidde, phlay, lindolo25, Siege, Gus, Max, John Chukwuma, Loopy, Ben, PJ, mick, herakles, mikeU-1F45F, Ammanas, SeanGriffin, Artsiom, Erick, Marko, Ricky, Vincent mouline

Full Changelog: https://github.com/hyprwm/Hyprland/compare/v0.54.2...v0.54.3

View originalPermalink
How v0.54.3 went

v0.54.2

Fixed 18
  • Add missing description entry in config
  • Add visualBox to layout windowTarget
  • Fix unsigned wrap in algo scroll
  • Fix missing recheckWorkArea to prevent CReservedArea assert failure in compositor
  • Fix i586 build
  • Fix damage region in deco border

Another patch release backporting some fixes from main onto 0.54.1.

Fixes backported
  • config/descriptions: add missing desc entry
  • layout/windowTarget: add visualBox (#13626)
  • algo/scroll: fix unsigned wrap (#13634)
  • compositor: fix missing recheckWorkArea to prevent CReservedArea assert failure (#13590)
  • core: fix i586 build (#13550)
  • deco/border: fix damage region
  • desktop/rules: fix empty workspace handling (#13544)
  • desktop/windowRule: fix matching CONTENT (#13636)
  • layout/groupTarget: fix crash on null space assignment (#13614)
  • layout: fix crash on monitor reconnect due to stale workspace state
  • layout: fix drag_threshold window snap regression (rebased for #12890) (#13140)
  • layout: fix null deref in focalPointForDir and moveInDirection (#13652)
  • pointer: fix hardware cursor rendering on rotated/flipped monitors (#13574)
  • protocols/sessionLock: fix crash when monitor is gone during lock surface creation
  • screencopy: fix minor crash (#13566)
  • algo/dwindle: Respect force_split when moving windows to workspaces (#13038)
  • algo/dwindle: do NOT use smart_split for overridden focal point (#13635)
  • screenshare: improve destroy logic of objects (#13554)
Special thanks

As always, massive thanks to our wonderful donators and sponsors:

Sponsors
Diamond

37Signals

Gold

Framework

Donators
Top Supporters:

Seishin, Kay, johndoe42, d, vmfunc, Theory_Lukas, --, MasterHowToLearn, iain, ari-cake, TyrHeimdal, alexmanman5, MadCatX, Xoores, inittux111, RaymondLC92, Insprill, John Shelburne, Illyan, Jas Singh, Joshua Weaver, miget.com, Tonao Paneguini, Brandon Wang, Arkevius, Semtex, Snorezor, ExBhal, alukortti, lzieniew, taigrr, 3RM, DHH, Hunter Wesson, Sierra Layla Vithica, soy_3l.beantser, Anon2033, Tom94

New Monthly Supporters:

monkeypost, lorenzhawkes, Adam Saudagar, Donovan Young, SpoderMouse, prafesa, b3st1m0s, CaptainShwah, Mozart409, bernd, dingo, Marc Galbraith, Mongoss, .tweep, x-wilk, Yngviwarr, moonshiner113, Dani Moreira, Nathan LeSueur, Chimal, edgarsilva, NachoAz, mo, McRealz, wrkshpstudio, crutonjohn

One-time Donators:

macsek, kxwm, Bex Jonathan, Alex, Tomas Kirkegaard, Viacheslav Demushkin, Clive, phil, luxxa, peterjs, tetamusha, pallavk, michaelsx, LichHunter, fratervital, Marpin, SxK, mglvsky, Pembo, Priyav Shah, ChazBeaver, Kim, JonGoogle, matt p, tim, ybaroj, Mr. Monet Baches, NoX, knurreleif, bosnaufal, Alex Vera, fathulk, nh3, Peter, Charles Silva, Tyvren, BI0L0G0S, fonte-della-bonitate, Alex Paterson, Ar, sK0pe, criss, Dnehring, Justin, hylk, 邱國玉KoryChiu, KSzykula, Loutci, jgarzadi, vladzapp, TonyDuan, Brian Starke, Jacobrale, Arvet, Jim C, frank2108, Bat-fox, M.Bergsprekken, sh-r0, Emmerich, davzucky, 3speed, 7KiLL, nu11p7r, Douglas Thomas, Ross, Dave Dashefsky, gignom, Androlax, Dakota, soup, Mac, Quiaro, bittersweet, earthian, Benedict Sonntag, Plockn, Palmen, SD, CyanideData, Spencer Flagg, davide, ashirsc, ddubs, dahol, C. Willard A.K.A Skubaaa, ddollar, Kelvin, Gwynspring, Richard, Zoltán, FirstKix, Zeux, CodeTex, shoedler, brk, Ben Damman, Nils Melchert, Ekoban, D., istoleyurballs , gaKz, ComputerPone, Cell the Führer, defaltastra, Vex, Bulletcharm, cosmincartas, Eccomi, vsa, YvesCB, mmsaf, JonathanHart, Sean Hogge, leat bear, Arizon, JohannesChristel, Darmock, Olivier, Mehran, Anon, Trevvvvvvvvvvvvvvvvvvvv, C8H10N4O2, BeNe, Ko-fi Supporter :3, brad, rzsombor, Faustian, Jemmer, Antonio Sanguigni, woozee, Bluudek, chonaldo, LP, Spanching, Armin, BarbaPeru, Rockey, soba, FalconOne, eizengan, むらびと, zanneth, 0xk1f0, Luccz, Shailesh Kanojia, ForgeWork , Richard Nunez, keith groupdigital.com, pinklizzy, win_cat_define, Bill, johhnry, Matysek, anonymus, github.com/wh1le, Iiro Ullin, Filinto Delgado, badoken, Simon Brundin, Ethan, Theo Puranen Åhfeldt, PoorProgrammer, lukas0008, Paweł S, Vandroiy, Mathias Brännström, Happyelkk, zerocool823, Bryan, ralph_wiggums, DNA, skatos24, Darogirn , Hidde, phlay, lindolo25, Siege, Gus, Max, John Chukwuma, Loopy, Ben, PJ, mick, herakles, mikeU-1F45F, Ammanas, SeanGriffin, Artsiom, Erick, Marko, Ricky, Vincent mouline

Full Changelog: https://github.com/hyprwm/Hyprland/compare/v0.54.1...v0.54.2

View originalPermalink
How v0.54.2 went
View all

Discussion