Stablity focus
Since this release didn't include any major changes, the focus has been mostly on bugfixing and adding quality-of-life improvements. I thought of pushing this release before introducing anything major since who knows when the code could become stable once again.
Enough rambling, here's the changelog:
Fixes:
- Restored PulseAudio audio buffer fragmenting
- SIGTERM signal is now handled properly
- FIFO latency fixes
- Fixed color initialization on X11 (NVIDIA only)
- VSync behaviour + Vsync not working in some cases
- Few corrections in the desktop shortcut file for Linux
- Shadows appear "as intended" on Windows
- Signal handler now responds when in sleep mode
- Fixed memory bugs and leaks
- Fix (dumb) iniparser linking issues on distros such as Ubuntu
- Fixed color parsing on X11
- Fixed header file path for SDL2
- Fixed a bunch of typos
- Fixed Windows directory parsing
- Fixed crash on reload on Windows
- Fixed oddoneout buggy bar(s)
- Fixed GCC 10 compiler issues
- Don't use Xresources if unavailable (such as on Wayland)
- A few XWayland oriented fixes
- Windows audio is now read in the proper format (float32)
- And an another small Windows audio fix
- Fixed pkg-config path
- CMake-related fix
- Fixed gradient calculation algorithm on X11
- Delocalized a variable which caused a crash on Windows due to being invalid
Features:
- Root window mode for X11 - I'd recommend this if you don't have a compositor on
- Linux inode watcher came back
- Introduced automatic config file reloads on windows - Makes it easy to preview changes
- Added fullscreen mode to Windows
- Added build flags for optional features
- Removed restriction on bar count
override_redirect
to change window ordering on X11- Reload on display change/configure on X11
Changes:
- Cleaned up warnings in lots of places
- Cleaned iniparser usage
- CCache in travis builds
- Multiple build configs in travis
- Version info managed by build system rather than manually
- Limit sample buffer to 1024 on PortAudio to reduce delays
- Version info automatically written into NSIS file
- Overhaul to the input and output systems (leaning towards more modularization)
- Config system overhaul (more modularized and less monolithic)
- Added own wrappers for system functions (makes the code simpler and avoids clutter)
- Stack optimization for functions that are often called
- Tried to fix cursed garbage code
- Removed FreeDesktop shortcut from Windows build
- Windows code cleanup
- Window class is now ALWAYS set on X11
- Updated documentation
- Fixed Windows headers for internal functions
Removal:
- RAW mode - It's kind of goes against being a desktop application