* Rename `LicenseManager` to `License`
* Rename `LicenseManager` to `License`
* Move License class to gui lib
* Rename license related classes
* Refactor serial key parsing
* Don't fail fast on containers
* Move licensed product name from config to code
* Fixed formatting
* Update code coverage generator and fixed args
* WIP: Converting license to chrono
* WIP: Fixed compile errors, tests failing
* Fixed all serial key and license tests
* Disable verbose logging
* Add missing </p>
* Add missing include
* Revert code coverage config
* Handle parse errors
* Move more classes into the new gui lib and improve license/serial object ownership
* WIP: Fixing signal/slots in MainWindow
* Fixed slot for about to quit
* Rename manual slots to solve auto-connection warnings
* Fixed logging issue
* By default, don't close to tray
* Add .env support and furthe refactor license code, also fixed some copyright dates
* Remove test code
* Fixed memory error in .env parser and refactor more licensing display code
* Fixed color inconsistencies
* Fixed link colors and made log view expand
* Disable server components rather than hiding
* Reset years of blind UI layout fiddling
* Fixed clean Qt task
* Only show notice when time limited
* Fixed main window layout
* Show connected clients
* Set 15 spacing
* Auto connect on start
* More intentional screen size
* Fixed tests related to license
* Tests for expiry notifications
* Reorg tests and remove death test
* Update gtest
* Tests for dotenv parser
* Test command process
* What the heck is that doing there?
* Merge constants headers
* Fixed magic includes
* Remove helper function
* Remove comment
* Remove extern decl
* Update ChangeLog
* Use Ubuntu ARM64 runner
* Add Windows 11 8-core ARM64 and use 8-core for Linux
* Add bootstrap step
* Install and use choco
* Add git to path
* Split bootstrap steps
* Merge bootstrap steps
* Export path manually
* Install Python in bootstrap step
* Add Python to path
* Add choco to path
* Add C:\Python312\Scripts to path
* Back out ARM64 runner (perhaps only suitable for running programs)
* Use ARM64 for build containers
* Don't run CodeQL in PR draft
* Speed up analysis workflows
* Run install deps on Debian
* Add badge to readme
* Fixed copy and use workdir
* Use mount instead of copy
* Fixed unwanted && and changed workdir
* Split deps and deps-full
* Fixed context
* Use /app dir
* Use copy instead
* Revert to --mount and use .py (not .sh)
* Test
* Add `./scripts/install_deps.py` to all platforms
* Add missing syntax
* Fixed Python dep for OpenSUSE
* Temp remove WORKDIR for OpenSUSE
* Re-add workdir
* Increase timeout
* Delete `zypper --non-interactive remove busybox-which`
* Restore python3
* Test
* Rename to `lint-source-code`
* Beef up analysis runners
* Fixed workflow runs-on
* Use deps script
* Try pipx for gcovr
* Use containers with deps
* Add -y arg
* Install curl
* Merge deps step
* Add unzip dep
* Make Git dir safe
* Add .local/bin to env
* Improve step name
* Use `pipx ensurepath`
* Install gcovr with apt
* Use Ubuntu 22 with pip
* Update ChangeLog
* Use 16-core for Windows
* Use choco cache
* Test
* Use 8-core for Windows (picked up quicker, more available?)
* Change tag name
* Change tag name
* Add ARM64 containers and Fedora 40
* Use dnf for Fedora
* Dist upgrade on Debian
* Upgrade and clean on Fedora
* Add name
* Fixed typo and use platform in Dockerfile
* Use matrix instead for arch
* Use config dir in matrix
* Fixed wrong var
* Specify base image in workflow
* Re-add platform
* Use slim images
* Run on Buildjet
* Use new images
* Add comment
* Remove QEMU (not needed because of Buildjet)
* Finish Dockerfile for Arch and OpenSUSE
* Use new containers
* Use correct config dir names
* Fixed config for Manjaro
* Missing zypper arg
* Clean Arch and OpenSUSE
* Update ChangeLog
* Elaborate on comment