Release Day for Bottles 50: Bug hunting and new version name
today isRelease Day!
Happy new Year! Let’s hope for the best for everyone!
And it’s release day again!
Last month, there wasn’t a blog post for the 2022.12.14 release, so everything will be here. It will be a long one!
Lots of stuff to talk about, so let’s start with…
Release schedule change (again) and new versioning scheme!
As the project is getting bigger and bigger, and the developers have less time to focus on Bottles, there was a decision to ditch the monthly release cycle, to a cycle where we release updates when they are ready. That will let us have more time to develop new features, while still pushing bug fixes in due time, without having to wait a month.
We thought a lot about the new name, and we landed on Bottles 50. Why? Before the calendar versioning (CalVer), we were at Bottles 3. With the switch to CalVer, it was “Bottles 4”. Then with this new change, it’s now technically Bottles 5, but we thought this number was too low and wanted to differenciate more to avoid users thinking they got an old version. Hence, Bottles 50. We didn’t have much time to say goodbye to the old naming scheme, so… Goodbye, and farewell!
Even with this change, Bottles development will not stop, far from it. It will continue to be developped by our developers and contributors, and don’t hesitate to create a pull request or even issues if you have suggestions or if you run into problems.
With this change, we also decided to focus our next couple releases to bug fixing and polishing Bottles. There won’t be big visual changes and big new features for two or three releases, until we’re happy with the state of Bottles. Bottles will feel all the better after this, and we will be able to add new features without breaking a lot of stuff in the future!
Changes for 2022.12.14
The library got a new design! Deleting a card can also be undone.
New Window manager decorations toggle
There’s now a new settings to disable window decorations in the
Display Settings of each bottle. This fixes issue #2309 where the settings was only available in Wine config.
New runtime to support latest EAC
We also updated the runtime used by Bottles with the latest version of Easy Anti-Cheat libraries! This should help with some games that requires this anti-cheat software.
New FSR settings
The options window for FidelityFX Super Resolution was updated to be clearer about what is does.
GStreamer related changes
Some runners ship with GStreamer plugins, which is great! But it wasn’t properly used by Bottles. There were some changes to the backend so that now it is properly used, and works in any circumstances. You can have more details in the FAQ.
New CDN and automated components
We also now have automatic components update, so that you can have the most up-to-date version of DXVK, VKD3D, built right from their respective repository! Those versions have a git tag after their name, like
All other changes
There were a lot of other changes for this release, and those were the highlights:
- Fix Latencyflex not disabling correctly and environment variables by @Kinsteen
- Fix bottle name space error by @xoth42
- Fixed setup of dll overrides on bottle start by @asbytes
- Fix missing cwd variable when launching a program with terminal by @Kinsteen
- Fix GStreamer system path by @Kinsteen
- CVE-2007-4559 Patch by @TrellixVulnTeam
- Update translation files by @flipflop97
- Added new bottles CDN service by @francescomasala
- frontend/cli: run: Allow multiple arguments to pass to executable by @psydvl
- Fix bottle renaming by @AshtonFerns
- Revamp Library page by @mirkobrombin
- General backend improvements by @mirkobrombin
- Fix typos by @psydvl
- frontend: Add tooltips for extensions by @TheEvilSkeleton
- misc: Cleanup flatpak manifest by @mirkobrombin
- frontend: Fix LibraryEntry removal with no parent by @mirkobrombin
- backend: Force terminate wineserver on bottle deletion by @mirkobrombin
- backend: Avoid caching dicts by @mirkobrombin
- misc: Allow bwrap instance sharing by @mirkobrombin
Few, that was a lot of things! Now, let’s talk about version 50!
Changes in Bottles 50
As said earlier, we focused this release on bug fixing and polishing of Bottles. There isn’t a lot of new features in this release, but Bottles is a lot more stable and polished as it was before, and we will continue in this path for one or two more releases before we’re happy with the state of things.
Asynchronous fetching of resources
Bottles pretty much requires a stable connection to be usable, as it downloads stuff at each startup to know about updates of components and other things. This made the startup of the software quite slow for those with a slow or unstable connection.
Now, Bottles will download in the background those updates, so that you can use Bottles faster at startup! This speeds up the startup from 3 seconds to 1.5 seconds if you have a connection of 50KB/s.
It also helps even if you have a fast connection by parallelizing multiple download at once.
When entering a bottle, the interface doesn’t freeze anymore! You will see the beautiful transition. Same thing when opening the dependency view in a Bottle. You have to experience it to know that it’s what you were missing. After you’ve tried it, there’s no going back.
Yes, there isn’t a lot of “Wow!” features for this release, but we promise you that Bottles is way more pleasant to use with fewer bugs. Here is a list of bug fixes:
- Gamescope improvements and fixes
- Dependency installation is faster and more stable
- The health check has more information for faster debugging
- NVAPI has a lot of fixes and is more stable, should now work properly
- Fix crash when downloading a component
- Backend code improvement by avoiding spin-lock
- More variables for installer scripting
- Fix onboard dialog showing “All ready” while it was in fact not ready
- Improvement to build system
- Enabling VKD3D by default when creating bottles for gaming
- Fix crashes when reading Steam files with bad encodings
- Fix components not updated correctly in the UI after installation/uninstallation
- More FSR fixes
- Fix the issue when a program closes after it was launched from “Run executable”
- and many, many, many more!