What's Changed
- fix: close sni menu on item destruction by @notpeelz in #4476
- Fix example in waybar-niri-language.5.scd by @stefonarch in #4495
- fix: handle null GDK window reference in surface initialization by @coleleavitt in #4485
- fix: changed *waybar-styles(5)" to waybar-styles(5) in the last line by @RQuarx in #4488
- fix(river): hide vacant tags on initial startup by @LordMZTE in #4474
- docs(temperature): add missed
warningstyle by @dmyTRUEk in #4452 - ext/workspaces: fix appearing of hidden workspaces by @jp7677 in #4437
- Cava backend. Comminication using signals by @LukashonakV in #4493
- fix(temperature): critical style not being removed by @dmyTRUEk in #4457
- feat(makefile): support more detailed test output by @khaneliman in #4380
- Clock Module: Independent clock tooltip formatting and fix for blank line at the end of the timezone list by @guttermonk in #4447
- flake.lock: Update by @github-actions[bot] in #4428
- docs: fix waybar menu example and formatting by @PedroManse in #4414
- clock: fix use after scope by @lfos in #4410
- Prevent child zombie process from tearing down Hyprland IPC by @lfos in #4408
- Support millisecond precision for script intervals by @aidansunbury in #4390
- bugfix: expanding wildcards in config includes (#4354) by @Arkoniak in #4373
- Moved workspace id failing to parse from an error to part of the trace by @labruzese in #4358
- fix(flake): fix formatter configuration by @khaneliman in #4371
- Fix module and tray item staying in hover state after opening menu by @rellimn in #4372
- fix: display icons for userwide installed applications by @seschwar in #4387
- [hyprland/workspaces] Taskbar improvements by @pol-rivero in #4395
- feat(niri/language): add CSS classes by @workflow in #4507
- Fix: style: show active workspace on hyprland by @kolayne in #4458
- Fix: styling: set gamemode icon size and spacing to 0 if use-icon is false by @winkelnp in #4448
- feat: Add ISO 8601 calendar to clock module by @edeustua in #4246
- Fixes #4521 and #4522 by @lairez in #4525
- fix: Correct the error in converting network speed units by @DreamMaoMao in #4518
- fix: right and middle button not work in ext/workspace module by @DreamMaoMao in #4516
- Fix Hyprland IPC thread sanitizer warning, other IPC & general fixes by @zjeffer in #4359
- fix: resolve memory leak by removing old CSS provider before reloading CSS styles by @NicolasBuchin in #4560
- fix(pulseaudio-slider): Use
backgroundin CSS example by @carljustineoyales in #4559 - fix: FMT version update from 11.0.2 to 12.0.0 by @kosa12 in #4546
- backlight: gracefully handle a null epoll device by @aanderse in #4541
- cava bump & fixing memory leaks by @LukashonakV in #4551
- fix(nix): bump cava and fix nix build by @khaneliman in #4577
- fix(subprojects): fmt hash mismatch by @khaneliman in #4578
- fix(clock): fix freebsd compatibility by @khaneliman in #4579
- flake.lock: Update by @github-actions[bot] in #4615
- fix(wireplumber): reorder initializer list to match header and fix -Wreorder by @marvelpokemaster in #4686
- fix(docs): pulseaudio man page example by @BartiX259 in #4650
- Cava GLSL by @LukashonakV in #4682
- cava nonsafe threads by @LukashonakV in #4587
- fix: prevent duplicate layer surfaces on monitor hotplug by @rwwiv in #4705
- fix: crash on group scrolling #4510 by @cebem1nt in #4589
- Improve multiple battery support by @rrrnld in #4591
- modules: memory: fix fully utilized swap percentage calculation by @gszy in #4646
- Fix example error about update moudle by signal in man page by @touero in #4671
- feat(dwl/tags): add empty tag option by @ospafford in #4689
- cava man by @LukashonakV in #4710
- nix: bump cava again by @khaneliman in #4708
- fix-cava-config by @xav-ie in #4728
- fix(sway/workspaces): window-rewrite: do not check for window-format by @mliszcz in #4677
- flake.lock: Update by @github-actions[bot] in #4748
- chore: update .gitingore by @cartok in #4746
- docs(arch): install build deps as deps to keep system clean by @cartok in #4745
- docs: add missing reverse-mouse-scrolling to pulseaudio module man page by @LorenzBischof in #4739
- hyprland/workspaces: don't show persistent special workspaces if show-special is disabled by @zjeffer in #4766
- fix(json): use local CharReaderBuilder for thread safety by @xander1421 in #4789
- flake.lock: Update by @github-actions[bot] in #4796
- feat: Disambiguate wayland layer namespace by @Holbormon in #4776
- Fix return type of input to gtk_layer_set_namespace by @BBaoVanC in #4803
- docs: add fraudulent site notice on proj README.md by @jackinfurs in #4806
- fix-cava-audio-height-init by @xav-ie in #4729
- Fix Pango NULL layout crash in cava module by @Copilot in #4810
- Fix unhandled JSON exception in signal handler by @Copilot in #4809
- Fix heap corruption from GTK operations on IPC thread in Hyprland modules by @Copilot in #4808
- Fix Pango markup rendering in bluetooth module tooltips by @Copilot in #4813
- Fix custom module tooltip not updating on exec output change by @Copilot in #4812
- Fix menu freezing when launching applications by @Copilot in #4814
- fix: backlight/slider fix rounding issue on scroll up by @cebem1nt in #4819
New Contributors
- @coleleavitt made their first contribution in #4485
- @RQuarx made their first contribution in #4488
- @LordMZTE made their first contribution in #4474
- @dmyTRUEk made their first contribution in #4452
- @guttermonk made their first contribution in #4447
- @PedroManse made their first contribution in #4414
- @aidansunbury made their first contribution in #4390
- @rellimn made their first contribution in #4372
- @seschwar made their first contribution in #4387
- @workflow made their first contribution in #4507
- @kolayne made their first contribution in #4458
- @winkelnp made their first contribution in #4448
- @edeustua made their first contribution in #4246
- @lairez made their first contribution in #4525
- @NicolasBuchin made their first contribution in #4560
- @carljustineoyales made their first contribution in #4559
- @kosa12 made their first contribution in #4546
- @aanderse made their first contribution in #4541
- @marvelpokemaster made their first contribution in #4686
- @BartiX259 made their first contribution in #4650
- @rwwiv made their first contribution in #4705
- @cebem1nt made their first contribution in #4589
- @rrrnld made their first contribution in #4591
- @gszy made their first contribution in #4646
- @touero made their first contribution in #4671
- @ospafford made their first contribution in #4689
- @xav-ie made their first contribution in #4728
- @mliszcz made their first contribution in #4677
- @cartok made their first contribution in #4746
- @LorenzBischof made their first contribution in #4739
- @xander1421 made their first contribution in #4789
- @Holbormon made their first contribution in #4776
- @BBaoVanC made their first contribution in #4803
- @jackinfurs made their first contribution in #4806
- @Copilot made their first contribution in #4810
Full Changelog: 0.14.0...0.15.0