- `Prefix.getWinetricks()` now makes `winetricks.sh` executable
- added test patch hint
- fixed `Install` script error with game updating
- fixed `InstallWine` and `InstallDXVK` scripts work
now they select installed things in config file
- now Archive Stream creates folders recursively before unpacking
- `DXVK.list()` and `Runners.list()` now don't require related to them folders to work
- now launcher automatically creates `constants.paths.launcherDir` directory at the start
- Wine-GE runners family moved to the top of the runners list
- now installed runner will be automatically selected
- launcher controls were slightly moved down
- fixed double resolved unpack directory logging in AbstractInstaller
- fixed `Prefix.create()` method work
- added `State.update()` method logging
- now settings button will be hidden when user are doing something
- added `InstallWine` and `InstallDXVK` scripts; added related launcher states
- decreased splash window size
- added `Game.getLatestData()` result caching, so basically every
`Game` and `Voice` method and field now caches most of the data
- Made `Game.predownloadUpdate()` method
- Made `Game.isUpdatePredownloaded()` method
- Made `Voice.predownloadUpdate()` method
- Made `Voice.isUpdatePredownloaded()` method
- fixed `Cache.get()` method work
- now launcher window hides when you launch the game
- added `pre_download_game` API field type definition
- added game pre-downloading button
- changed aur package name and link
- removed webkit2gtk from the install commands in readme
- added theme auto-switching
- fixed dxvk config updating after installation
- fixed `fetch()` delaying issues
- disabled already selected dxvk/runner re-selection
- fixed `Voice.current` output
- made `Debug` and `DebugThread` classes
- fixed `winecfg` usage during DXVK installation
- `bash` usage was changed to the `./`
- added voice update state identification
- fixed shaders usage in game launching script
- added debugging to the `[launchder]/logs` folder
- added `tooltip` property for the `Checkbox` and `SelectionBox` components
- changed text selection cursor to default
- added tooltips for some options in the settings menu
- updated vite version
- made `Game.isTelemetryDisabled()` method to check whether game's telemetry is disabled
- made `Domain` class and `Domain.getInfo()` method
to get information about some domain
- made `Notifications` class to manage system notifications
- added telemetry checking before game launching
- some `Wine-GE` things recommended now
- added loading gif during dxvk (runner) applying / something deleting
- added dxvk installation, deletion and applying
- `DXVK.current` field was reworked as a `DXVK.current()` method
- added `DXVK.delete()` method
- added `DXVK.apply()` method
- fixed `runners.json` `Wine-6.16-GE-1` URI
- added recommendable only checkboxes for DXVK and runners lists
- fixed empty config property creation
- added runners installation, deletion and selection abilities
- `Runners.current` field was reworked as a `Runners.current()` method to be able
to change selected runner according to the config file
- disabled neutralino window hot reloading
- fixed `Game.current` version gathering from the game files
- fixed `Patch.getPatchInfo()` method working, so now this function and
the `Patch.current` field will return correct information whether
the patch was applied or not
- `Patch.install()` method now can return null if the patch state is "preparation"
- added `Voice.selected` field that will represent the `lang.voice` config
- fixed `Voice.getDiff()` method errors
- improved `Archive`'s stream unpacked files listing
- made `Prefix` class, some `Runners` methods from the previous update were moved there
- fixed `ProgressBar.init()` method work which also fixes ETA calculation
- added bunch of new launcher states and events for them
- added `State.update()` method to automatically update launcher's state
- `Process` object now can get the output of the process that was started
by the `Process.run()` method and can be accesed
by the `output` event
- also was removed `input` field for the `Process.run()` method options
- added `Archive.closeStreams()` method to close all the unpacking streams
- added `Downloader.closeStreams()` method to close all the downloading streams
- added the same methods to the streams itself
- fixed launch button events execution
- added prefix creation during the game installation/updagin
if it is not created
- added some hack to the `Process.running()` method to show that the process
is not running if it is a zombie