Release Day 2022.5.14
today isRelease Day!
It’s Release Day again!
Two more weeks of work have been done and it’s time to celebrate another release day!
This release introduces some new and interesting features but also greatly performance, responsiveness and usability improvements.
Ok now let’s get to the point. What’s new in this version?
One of the simplest things to notice in this release is for sure the responsiveness of some features, for example DLL components (like DXVK, VKD3D, DXVK-Nvapi, LatencyFleX ..) now take a few seconds to install.
Dependencies can now register a large number of registry keys with a single call, drastically reducing installation time (refer to the maintainers documentation).
Improvements also for bottles-cli which now launches programs much faster, avoiding some checks that are normally performed when Bottles is launched and w hich are not necessary in this context.
In addition, some features now take advantage of a small cache to avoid re-processing large data that should not change.
The program menu has been designed removing the noise and making it more compact and easy to access, now it is easy to reach the most used features.
We also added a new menu item to permanently remove a program.
Now you can create multiple entries of the same program, thus passing different arguments to get different behaviors, eg. launch a game directly using Origin.exe or create a variant that launches a script after execution.
To automate things even more, now the program list is updated every time a manually launched executable ends, in this way Bottles will immediately show the new installed programs.
Bottles is now able to generate desktop entries with the official program icon, thanks to icoextract, a utility capable of extracting the icon from the executable.
If that package is installed, Bottles will generate desktop entries including icons, avoiding the tedious standard icon.
We are aware that it is confusing when there is no trace of an operation in progress, unfortunately many are not easily notified as they do not have a progress or a tracking system. But if there are any reasons for these things, there’s no excuse for not showing the progress of a download!
Well now the progress of the downloads is shown from the operations menu.
For all other operations that have no way of being tracked, we are working on it and evaluating several options.
EasyTerm came to the present
If you have installed Bottles as Flatpak you will certainly know EasyTerm, the default terminal used for the Windows CMD, the debugger and other operations.
With this release we have added the ability to copy and paste texts, just like adults do!
Bottles is complicated software and it can happen that something goes wrong. For this reason we have spread some dialogs to notify some problems, eg. when a custom path is set for the bottles, if this is deleted Bottles will notify that it is no longer able to reach it and that the default path will be reset.
Installers are Bottles’ newest feature and are being improved day by day and this release brings a lot of news.
To improve the reliability of the installations, installers can now declare a checks that must be performed before finishing the installation and then add the program to the list. These are currently checks if there are files, so as to ensure that the installation has taken place, in the future it may be possible to search for keys in the registry for even more reliable results.
We have also added the ability to monitor processes before continuing with the installation, this solves the problems caused by those installers that spawn multiple processes that Bottles loses control of, thinking they can proceed with the next installation steps and potentially causing breakage.
There are also a bunch of bug fixes
More Windows path conversions
With recent releases we have initiated a migration process from Unix-paths to Windows-paths for all paths managed internally by Bottles. This may appear as just a detail but it marks an important change for the project that brings greater consistency, fewer conversions on the fly in case an utility requires it, less space escapes and other characters in the path, greater compatibility with Windows software and utilities, for example with the system registry where it was necessary to include the path to a file or read the contents of an .lnk file or generate new ones.
This will also allow us a much cleaner communication with WineBridge (our communication bridge between Bottles and Wine), in short, there are many positive aspects of this migration and will be noticed more and more in the immediate future.
All other changes
There are many other changes and improvements in this release. Below are some noteworthy ones, for all others, please refer to the GitHub organization.
- Downloads now show progress
- Programs can now be added multiple times with different arguments/options
- Added the ability to permanently remove programs from the list
- Reworked program’s menu
- Path is now shown for custom scripts in programs launch options
- Improve startup speed when launching programs from CLI
- Some initial checks are now cached to improve startup speed
- EasyTerm now allows you to copy and paste content
- Improved Windows paths conversion using native methods
- Desktop entries are now generated with the icon
- An alert is shown when the user custom bottles path is not reachable
- An alert is shown when the flatpak has no permissions to add desktop entries
- Windows 95, 98 now available for 32-bit bottles
- Programs list is now updated when an executable stops running
- Health check now shows disk and memory info
- LatencyFleX can now be installed from installers
- Installers can now declare checks to make sure the program is installed before adding a new entry to the program list
- Installers can now monitor the exit of executables before proceeding
- Improved installation speed of DLL components (DXVK, vkd3d ..)
- Dependencies can now import registry bundles
- Fixed data.yml file not being reinitialized if empty
- Fixed gnome-terminal support
- Fixed encoding not being properly set when launching commands
- Fixed launch options being ignored when launching from desktop entries
- Fixed wrong tooltips in programs list
- Fixed post scripts not being launched if the program fails to
- Fixed a regression in launching executables from the file manager
- Fixed a regression in versioning, was not checking for file recursively
- Fixed sys-wine not being detected
- Fixed program arguments not properly set when using gamemode or gamescope
- Fixed issue with batch files not starting with path containing spaces
- Fixed a bug with the backup manager, was causing with empty paths
- Fixed a bug in the journal manager, was causing a crash if missing a key
- Fixed a bug where parameters were not updated correctly when using installers that depend on other installers
- Fixed a bug that caused dependencies not to show as installed starting from the second bottle
- Fixed a bug with library not being reinitialized if empty
- French translations thanks to @julroy67
- Portuguese (Brazil) translations thanks to @FHEK789, @vitorhcl, @davipatricio
- German translations thanks to @Maxopoly, @Sematre, @SuNNjek, @ThatRedKite
- Spanish translations thanks to @uanretamales, @oscfdezdz, @Dansito
- Swedish translations thanks to @bittin
- Russian translations thanks to @Knebergish
- Czech translations thanks to @vikdevelop
- Chinese (traditional) translations thanks to @Adrian400811
- Malay translations thanks to @amiruldevkun
- Persian traslations thanks to @pikhosh, @Gnkalk
- Indonesian translations thanks to Jovan Aditya Pangestu
- Finnish translations thanks to Jiri Grönroos
- Japanese translations thanks to @kakurasan
- Hungarian translations thanks to @zoli111
- Polish translations thanks to @imLinguin
- Greek translations thanks to IceDBorn
- Turkish translations thankg to @ersen0
- Chinese (simplified) translations thanks to Eric
- Thai translations thanks to @SashaPGT
- Improved translations thanks to @TheEvilSkeleton
Thanks to all users who contributed to this release!
~ Bottles’ developers