WEM Changelog
Download release builds from this page.
Versions with no release builds can be downloaded from this link as a development build.
→ 0.13.0
-
Added the
get
subcommand for downloading curated env configurations -
Added the
get-list
subcommand for viewing available curated envs that can be downloaded -
Added the
get-html
subcommand for generating HTML pages for each curated env -
Added the
EnvRepoURL
option for thewem.cfg
file, it’s the source for downloadable curated envs -
Added a
workdir
field toInstallPre
/InstallPost
/RunPre
/RunPost
for setting the working directory for these actions -
Added the
--regedit
arg for therun
subcommand for running regedit in an env’s context (similar to--winecfg
) -
Removed the
build
subcommand- Its usefulness is debatable with the availability of good wine builds and umu-laumcher
- It had gone relatively unused and untested for some time
-
Fixed
WineExe
not properly being populated when using Kron4ek builds or umu-launcher -
Fixed issues with arg-supplied values not properly taking effect or being rendered (via the
cfg
subcommand) -
The
WINE
environment variable is now set when using--winetricks
with therun
subcommand - Several under the hood changes and optimizations
→ 0.12.0
-
Made
InstallPre
,InstallPost
,RunPre
, andRunPost
into more complex data structures. Please see the documentation for examples.- Previously WEM would naively split given commands on spaces, but this would break if for example you had a file path with a space in it, as well as prevent other possible command executions.
- These can still be passed in via CLI args, but doing so will fall back to the old naive behavior. For complex commands and better usage, stick to the new config format.
-
QuietRun
is now automatically disabled forInstallPre
,InstallPost
,RunPre
, andRunPost
since it can break some commands - Improved stderr/stdout handling
→ 0.11.0
-
Removed the
RunSuffix
option-
It wasn’t actually used in the code, and functionally
RunArgs
is probably more fitting
-
It wasn’t actually used in the code, and functionally
-
Try to emit a more sensible error when enabling DXVK/VKD3D-Proton and the configured
RunExe
doesn’t exist -
When used with
--sandbox*
,--single-core
will prefer firejail’s CPU affinity handling -
Fixed a regression on setting the default
WINEARCH
- Fixed DXVK/VKD3D-Proton version having an extra “v” if you added it to your version
- Fixed install-pre/post commands not running when an env was already installed
→ 0.10.3
-
Fixed a problem with generating the path to a
wine
executable for Kron4ek wine builds
→ 0.10.2
-
--dry-run
now accurately reflects usage of--install-only-pre
and/or--install-only-post
-
Improved code for determining if
InstallPre
andInstallPost
should run -
Fixed
--no-kron4ek
and--no-umu-version
not working - Fixed problems with detecting wine64 capabilities
- Fixed umu or Kron4ek versions/types passed in via command-line not working
→ 0.10.1
-
Added missing env completions for the
check
command - Fixed a problem with detecting whether the configured wine is 32 or 64-bit
- Fixed installation happening when it should not have
→ 0.10.0
-
Added
--install-only-pre
and--install-only-post
that allow skipping the main install process and only do the pre or post processes, or both - Improved detection of 32 or 64-bit wine executables
-
Added support for using Kron4ek Wine Builds as a wine runner
-
Set
Kron4ekType
to a valid Kron4ek Wine release version and WEM will automatically download and extract it, then use it asWineExe
for the given env
-
Set
-
Added the
info
subcommand to print out WEM program configuration and information -
Added the
check
subcommand for checking that options in a given env are valid -
Added support for using umu-launcher as a wine runner
-
Set
UmuVersion
to a valid umu release version and WEM will automatically download and extract it, then use it asWineExe
for the given env
-
Set
-
Refactored
actions/run.go
to be vastly simpler code -
RunPre
no longer ran when using--exec
-
The
RunPre
andRunPost
options have been changed from one command (a single string) to multiple commands (an array of strings) -
Added
InstallPre
andInstallPost
options to run a list of commands before and after installation -
Removed the
ge-wine
subcommand- Those builds are no longer maintained
-
The pattern of using a subcommand to install wine runners has proven to be suboptimal; in the future when other runners are supported they will be implemented similarly to how umu-launcher has been (configure a version to use, it’s then automatically set as the
WineExe
for the env)
-
The firejail CLI generated for
--dry-run
is no longer created with its own logic (it’s now generated from the actual CLI that gets ran) - Build against Go 1.24 (from 1.16)
-
Fixed a bug where
--cpu=0
was always set when using a firejail sandbox - Sandbox names are sanitized to conform to new firejail requirements
- Only warn about install options if relevant ones are set
- The generic binary (not any of the the distro packages) is now compressed with UPX for a significant size reduction
→ 0.9.6
-
Fixed the
--no-dlloverrides
option
→ 0.9.5
- Don’t break exes with spaces in their names
→ 0.9.4
-
Don’t excessively warn about
InstallExe
- Only try to set sandbox DNS when the option is used explicitly
→ 0.9.3
-
Added
--sandbox-dns
for setting a DNS resolver in a sandbox via Firejail -
Added
--sandbox-cpu
for limiting CPUs in a sandbox via Firejail -
Added the
--no-unchanged
option for thecfg
command to not print settings that haven’t been changed from the default value -
An extra newline is no longer printed with the
cfg
command - Improved fish completions
- Moved bash and fish completions to separate files, use the embed directive to include their content
→ 0.9.2
- Fixed several typos
-
Removed the
SandboxCapsDropAll
,SandboxPrivateDev
, andSandboxSeccomp
options since they are provided by the Firejail wine profile -
Made the error for a missing
GeWineDir
option give a clue about how to fix it - Made several required args required at the go-args level rather than doing custom validations all over the place
-
wem man
will now give an error message when it fails due to missing themandoc
binary -
Doing
--no-sandbox
now fully disables all other sandbox options -
The install workflow is now more forgiving when you don’t have a value for
InstallExpected
orRunExe
- It’s likely you won’t know what exe to expect until after you install and check what you actually have
→ 0.9.1
- Remove man2roff from the build process, keep the raw traff file in version control instead
→ 0.9.0
- Generate new wine prefixes with the system wine when it’s available, warn about it when it’s not
- Support installing GE Wine binary packages
-
Support using
firefail
for sandboxing features if the executable is available -
RunPrefix
is now split on spaces and processed as a command that potentially has args (useful for things likefirejail
) -
Pre run is now ran when doing
--exec
- Added escapes to the tutorial init example run exe
→ 0.8.9
- Updated documentation that was out of date, including the manpage and tutorial
→ 0.8.8
- Created this changelog
- Give the correct warning when an invalid var is used in a cfg (don’t say the env doesn’t exist..)
- Adjusted some common wording
-
InfoDate
isn’t printed in run output if it isn’t set - Spaces are now escaped in dry-run output
- String rendering is now recursive
-
Fix a bug with
--exec
where giving no exec args would pass""
as an arg - Package docs and the license in build tarballs
-
Renamed the
cmd
package toactions
to better follow go conventions
→ 0.8.7
- The build pipeline now sets the app version at compile time
- Added additional build flags
→ 0.8.6
-
Changed the
wem proton
deprecation message
→ 0.8.5
- Properly handle executables with spaces in their names
→ 0.8.4
-
Set
WINE_LARGE_ADDRESS_AWARE=1
when DXVK is in use (#10) -
Allow
-
in env names
→ 0.8.3
- Fixed several dry-run bugs
-
Stop recommending
go get
as an install method
→ 0.8.2
- Allow setting an env’s “Info Date” from the command line (#37)
- Fixed bugs with saving an env after editing it via the CLI
-
Deprecated
wem proton
;wem binary
to replace it -
Added
--exec-args
→ 0.7.1
- Fixed some new prefix creation bugs (#16)
- Added a reasonably thorough integration test that runs WEM against an actual win32 binary (#32)
- General code cleanup
→ 0.7.0
- Improved file handling code
- Added more tests
→ 0.6.3
-
Fixed dry-run output for
--exec
- Include missing wine command args in dry-run output
→ 0.6.2
- Added more missed completions
→ 0.6.1
- Fixed some wording
- Added missed completions
→ 0.6.0
- Made code more compatible with older go versions
- Exposed more useful errors
- Made win64 the default env arch instead of win32
- Pretty print things (tab-aligned)
→ 0.5.2
- Exposed some errors that were accidentally ignored
-
WEM now tries to detect when
install
has successfully happened
→ 0.5.1
- Added missing go module data
→ 0.5
Initial public release