github amnweb/yasb v2.0.0

7 hours ago
hero-dark

YASB v2.0.0 introduces several major user-facing improvements and platform changes, a centralized, token-based UI with a new CSS engine that enables QSS/CSS animations, gradients, and richer styling, a first-run setup wizard which generates default configs and styles, significant Quick Launch enhancements, a complete systray overhaul (SetWindowsHookEx injection and native Win32 popup menus), Windows PE icon extraction and a deprecation/migration system with yasbc migrate-config to help update breaking configuration schema changes.

Breaking changes (important)

  • server_monitor config changed from a list of strings to a list of dicts with name and url. Review and update saved configs.
  • container_padding was removed from all widget configs.
  • hide_empty_workspaces was removed.
  • label_shadow was removed you should switch to using the new CSS engine for shadows and gradients.
  • container_shadow was removed you should switch to using the new CSS engine for shadows and gradients.
  • Default commands were removed from KomorebiConfig and GlazeWMConfig; callers must set explicit commands where previously relied on defaults.
  • Many deprecated fields are stripped at runtime prior to Pydantic validation - incompatible/deprecated fields will no longer be accepted and should be migrated.

New Features

  • allow the ability to add custom web search engines 55d3d0b
  • implement dynamic default configuration and styles 790f449
  • allow user to remove default web search engines 211d5d2
  • add new crypto prices provider 08ba008
  • add audio input source configuration 81438f1
  • add yasb-themes:// URI protocol handler for deep-linking f03a168
  • centralize stylesheet and dark mode state via ThemeState for detached widgets e1ad48d
  • add config-dir command and --config flag (#834 by BrainlessDip) 8b840f7
  • add remember_last_query to persist previous search state 5ce0682
  • implement Windows PE icon extraction functionality (#837 by amnweb) 417b203
  • add light mode image for README 42c0fab
  • added token-based ui foundation and reusable components 1559e2c
  • added first-run setup wizard and generated defaults 5ed6bd3
  • add deprecation system with CLI migration tool dea269d
  • add hide_empty option to GitHub widget 0eec08a
  • add support for GFM alert blocks and improve HTML passthrough 77ab4b6
  • add Brave search engine support 86110b1
  • replace CreateRemoteThread injection with SetWindowsHookEx 1515620
  • implement hook injection with retries and update constants cdadd8d
  • update deprecated fields and enhance logging e4401a2
  • update language handling to use keyboard layout handles 4722afb
  • add GitHub Actions workflow for building YASBTrayHook DLLs 87f3a34
  • css animation support 40725f9
  • enhance theme detail panel with refresh functionality 68fac40
  • add set_color method to Spinner and LoaderLine 7810607

Bugfixes

  • update callbacks for CPU and Memory widgets b4e2579
  • remove commas from queries and use configurable prefix 83f801b
  • fixed systray popup relayout bug 949ce7b
  • update CPU performance counter to use % Processor Time 698be56
  • resolve UnboundLocalError on notification click 6cb0b61
  • update binance provider icon 18cd2e3
  • fix injection code dll path 72d7d89
  • retry if failed to find real systray c82f1a5
  • update image paths in README a6bdab1
  • ensure initial_text ends with a space a360855
  • multiple explorer.exe processes fix b7cb951
  • update imports for github-copilot-sdk 0.2.2 compatibility 84ace18
  • fix preview flicker, show_only_visible isolation, and workspace restore e22344b
  • correct path for showing built DLLs 6d7f693
  • correct multi-monitor handling and stale values ba6dea3
  • filter out held packages from update results 26af8ff
  • update size policies so only horizontal is fixed 5f0b0e3

Refactors

  • centralize frozen state handling 2a6c964
  • remove DEBUG import and streamline logging calls a82538c
  • update installation and contributing instructions 71163d2
  • improve logging format and type hints across multiple modules 1e7555e
  • standardize logging string formatting across multiple modules 90bc1af
  • adapt ai_chat copilot client to github-copilot-sdk v0.2.0 82b0582
  • extract duplicated container init into BaseWidget 8de165b
  • update README and documentation 5a17e36
  • extract shared runtime and helper modules 651d300
  • moved top-level windows into the shared views layer 2786eae
  • migrated widgets and runtime code to the new helper modules 65b1ac3
  • update server configuration structure 8dd676d
  • extract auto-width and CLI management to bar_helper 3eabab2
  • remove deprecated container_padding configuration from multiple widgets 60f527b
  • remove deprecated fields and update configurations 3a238b2
  • restructure modules and add tray update badge 0381ba5
  • update GitHub URL references to use GITHUB_WIKI_URL ba948f0
  • remove animations, shadows and move to css 1830319
  • add animation deprecation for WindowsDesktopsConfig 3638612
  • change mouse event handling from press to release b51c08e
  • update mouse event handling in BaseWidget and WorkspaceButton aa68229
  • update deprecated fields for animation support 6afb282
  • fix cli command config-migrate 7f23649
  • improve internet connectivity checks 4916052
  • optimize menu handling and caching 8da7c8c
  • revert GitHub and Open-Meteo 229bc2a
  • improve mouse event handling 7f4dcae
  • remove hand cursor from buttons 0bc9e85
  • set fixed size policy for workspace buttons dd74686
  • remove debug logging for latest dev build check 9837e63
  • pass widget_configs to GrouperWidget 350f5b0
  • enhance error handling in on_popup_destroyed f9c2ef5
  • update last_config_hash initialization 28257fc
  • remove default commands from KomorebiConfig and GlazeWMConfig c614ff9
  • replace QMenu with native Win32 popup menu f05952d

Documentation Changes

  • documented the new ui components and setup-related changes bd0a144
  • add migrate-config command to CLI documentation 43fb6dd

Chores

  • update schema.json for v1.9.1 90702e7
  • bump github-copilot-sdk from 0.1.32 to 0.2.0 10d4b3e
  • bump cx-freeze from 8.6.2 to 8.6.3 55332c5
  • bump openai from 2.29.0 to 2.30.0 0c3c565
  • bump pillow from 12.1.1 to 12.2.0 1889d96
  • bump holidays from 0.93 to 0.94 408febf
  • bump cx-freeze from 8.6.3 to 8.6.4 d8aefbf
  • bump tzdata from 2025.3 to 2026.1 bdffc73
  • bump openai from 2.30.0 to 2.31.0 f7fe522
  • bump github-copilot-sdk from 0.2.0 to 0.2.2 2763ded
  • bump openai from 2.31.0 to 2.32.0 d718a60
  • dll build acdcd4a
  • bump pydantic from 2.12.5 to 2.13.2 de14cf2
  • static CRT link e0eabfa
  • update YASBTrayHook DLLs 422135d
  • bump pydantic from 2.13.2 to 2.13.3 ad7c190
  • bump holidays from 0.94 to 0.95 9d6c354
  • bump tzdata from 2026.1 to 2026.2 e9faa16
  • bump github-copilot-sdk from 0.2.2 to 0.3.0 fa0e04c
  • css engine styling docs update a7b1c65
  • update BUILD_VERSION to 2.0.0 a1cf7ab

Other Changes

What's Changed

  • refactor(app): Implement dynamic configuration and improve logging by @amnweb in #817
  • fix(systray): fixed systray popup relayout bug by @Video-Nomad in #821
  • chore(deps): bump github-copilot-sdk from 0.1.32 to 0.2.0 by @dependabot[bot] in #812
  • chore(deps-dev): bump cx-freeze from 8.6.2 to 8.6.3 by @dependabot[bot] in #818
  • fix(calculator): remove commas from queries and use configurable prefix by @BrainlessDip in #814
  • feat(quick_launch): Add Custom Web Search Engines and Remove Default Options by @EmilBerbakov in #807
  • fix(cpu): update CPU performance counter to use % Processor Time by @amnweb in #823
  • feat(quick_launch): add new crypto prices provider by @BrainlessDip in #826
  • refactor(widgets): extract duplicated container init into BaseWidget by @amnweb in #825
  • chore(deps): bump openai from 2.29.0 to 2.30.0 by @dependabot[bot] in #824
  • feat(theme): centralize stylesheet and dark mode state via ThemeState for detached widgets by @amnweb in #831
  • fix(systray_hook): fix injection code dll path by @Video-Nomad in #828
  • feat(cava): add audio input source configuration by @amnweb in #827
  • feat(cli): add config-dir command and --config flag by @BrainlessDip in #834
  • feat(quick_launch): add remember_last_query to persist previous search state by @BrainlessDip in #833
  • feat(pe-icons): implement Windows PE icon extraction functionality by @amnweb in #837
  • refactor(docs): update README and documentation by @amnweb in #830
  • chore(deps): bump pillow from 12.1.1 to 12.2.0 by @dependabot[bot] in #838
  • refactor(core): ui and win32 utils by @amnweb in #855
  • chore(deps): bump tzdata from 2025.3 to 2026.1 by @dependabot[bot] in #841
  • chore(deps): bump openai from 2.30.0 to 2.31.0 by @dependabot[bot] in #849
  • chore(deps): bump holidays from 0.93 to 0.94 by @dependabot[bot] in #850
  • chore(deps-dev): bump cx-freeze from 8.6.3 to 8.6.4 by @dependabot[bot] in #853
  • chore(deps): bump github-copilot-sdk from 0.2.0 to 0.2.2 by @dependabot[bot] in #854
  • fix(systray): multiple explorer.exe processes fix by @Video-Nomad in #852
  • chore(hook): dll build by @Video-Nomad in #864
  • chore(hook): static CRT link by @Video-Nomad in #868
  • feat(systray): replace CreateRemoteThread injection with SetWindowsHookEx by @amnweb in #863
  • feat(config): add deprecation system with CLI migration tool by @amnweb in #856
  • chore(deps): bump openai from 2.31.0 to 2.32.0 by @dependabot[bot] in #857
  • feat: add Brave search engine to web_search provider by @TheJobGG in #859
  • chore(deps): bump pydantic from 2.12.5 to 2.13.2 by @dependabot[bot] in #867
  • refactor(core): restructure modules and add tray update badge by @amnweb in #870
  • feat(css): css animation support by @Video-Nomad in #873
  • refactor(base): implement a CSS engine by @amnweb in #872
  • chore(deps): bump pydantic from 2.13.2 to 2.13.3 by @dependabot[bot] in #878
  • chore(deps): bump holidays from 0.94 to 0.95 by @dependabot[bot] in #879
  • chore(deps): bump tzdata from 2026.1 to 2026.2 by @dependabot[bot] in #880
  • chore(docs): css engine styling docs update by @Video-Nomad in #882
  • chore(deps): bump github-copilot-sdk from 0.2.2 to 0.3.0 by @dependabot[bot] in #881
  • fix(brightness): correct multi-monitor handling and stale values by @Video-Nomad in #885
  • fix(workspaces): update size policies so only horizontal is fixed by @Video-Nomad in #888
  • refactor(tray): replace QMenu with native Win32 popup menu by @amnweb in #887

Special thanks to Video-Nomad for their work on the qt-css-engine which enabled advanced styling features in this release.

New Contributors

Full Changelog: v1.9.1...v2.0.0

Don't miss a new yasb release

NewReleases is sending notifications on new releases.