diff --git a/ANNOUNCE b/ANNOUNCE
index 6f29fb76be..590564d4c2 100644
@@ -1,12 +1,24 @@
-The Wine development release 3.0-rc6 is now available.
+The Wine team is proud to announce that the stable release Wine 3.0
+is now available.
-What's new in this release (see below for details):
- - Bug fixes only, we are in code freeze.
+This release represents a year of development effort and over 6,000
+individual changes. It contains a large number of improvements that
+are listed in the release notes below. The main highlights are:
+ - Direct3D 10 and 11 support.
+ - The Direct3D command stream.
+ - The Android graphics driver.
+ - Improved DirectWrite and Direct2D support.
+Once again, because of the annual release schedule, a number of
+features that are being worked on have been deferred to the next
+development cycle. This includes in particular Direct3D 12 and Vulkan
+support, as well as OpenGL ES support to enable Direct3D on Android.
The source is available from the following locations:
Binary packages for various distributions will be available from:
@@ -22,123 +34,336 @@ AUTHORS in the distribution for the complete list.
-Bugs fixed in 3.0-rc6 (total 14):
- 3864 RedMon v1.7/1.9 (Redirection Port Monitor) fails to install/run
- 36441 joy.cpl crashes when PS4 Gamepad connected via Bluetooth
- 38671 valgrind shows an uninitialized write in dlls/advapi32/tests/security.c (test_CreateDirectoryA)
- 38799 RaidCall 7.x crashes when joining a group/trying to test sound
- 40254 mshtml:script test regression (timeout)
- 40653 Castle of Illusion start on black screen and crash
- 42588 Vietcong - graphics glitches since Wine 2.1
- 43308 valgrind shows an uninitialized write in dlls/advapi32/tests/security.c (test_AddMandatoryAce)
- 43309 valgrind shows an uninitialized write in dlls/advapi32/tests/security.c (test_token_security_descriptor)
- 43310 valgrind shows several definite leaks in dlls/advapi32/tests/security.c
- 43654 Arx Fatalis: Candlelight / Porch light leaks through the walls
- 44175 stack corruption and crash with OpenSSH port
- 44286 Regression: Default value in dropdown list is no longer select
- 44332 Powerpoint 2007/2010 slideshow encounters an "unexpected error" trying to move past first slide
+What's new in Wine 3.0
-Changes since 3.0-rc5:
-Akihiro Sagawa (1):
- psapi/tests: Add more EnumProcessModules tests.
-Alex Henrie (17):
- msi/tests: Add missing return value checks to package tests (Coverity).
- shell32/tests: Add missing return value check to shelllink tests (Coverity).
- kernel32/tests: Add missing return value check to module tests (Coverity).
- wininet/tests: Fix off-by-one errors in HTTP tests (Coverity).
- shlwapi/tests: Add missing return value checks to istream tests (Coverity).
- msvcrt: Don't include MSVC 7.0+ miscellaneous functions in SOs for older DLLs.
- shell32/tests: Drop progman DDE test workarounds for Windows <= 2000.
- kernel32/tests: Drop module test workarounds for Windows <= 2000.
- msxml3/tests: Add missing return value checks to domdoc tests (Coverity).
- msxml3/tests: Make put_data_types const.
- msvcrt: Don't include MSVC 7.0+ exception functions in SOs for older DLLs.
- msvcrt: Don't include MSVC 8.0+ exit functions in SOs for older DLLs.
- msvcrt: Don't include MSVC 11.0+ function _wcreate_locale in SOs for older DLLs.
- msvcrt: Don't include MSVC 8.0+ function _CRT_RTC_INITW in SOs for older DLLs.
- msvcrt: Fix mistakes in comments.
- shell32/tests: Drop shell folder test dynamic imports for Windows <= 2000.
- shell32/tests: Drop shell folder test workarounds for Windows <= 2000.
-Alexandre Julliard (1):
- kernel32/tests: Also test wrong architecture with matching 32/64 bitness.
-Andrew Eikum (1):
- hid: Pass a buffer to DeviceIoControl in HidD_SetNumInputBuffers.
-Andrey Gusev (9):
- comctl32: Fix a typo in comment.
- kernel32/tests: Fix a typo in comment.
- msctf/tests: Fix a typo in sink_check_ok().
- ddraw: Fix typos in comments.
- msi: Remove redundant comparison.
- cmd: Remove redundant comparison.
- kernel32: Remove redundant comparison.
- winhlp32: Remove redundant comparison.
- services/tests: Fix resource leak.
-Bob Ziuchkovski (1):
- dinput: Ignore vendor-specific usage pages for joystick elements on Mac.
-François Gouget (1):
- kernel32/tests: A couple spelling fixes in a comment.
-Jacek Caban (4):
- schtasks: Added partial /change command implementation.
- schtasks/tests: Added /change command tests.
- schtasks: Make /change argument case insensitive.
- mshtml/tests: Skip test_listener_order tests on IE7.
-Józef Kucia (11):
- dxgi/tests: Skip tests if DXGI_ERROR_NOT_CURRENTLY_AVAILABLE is returned.
- include/d3d11: Fix ID3D11Device5_OpenSharedFence() declaration.
- wined3d: Load buffer before applying state for indirect draws.
- wined3d: Load buffer before applying state for indirect dispatches.
- include: Add EnableMouseInPointer() declaration.
- d3d11: Handle 3D textures in wined3d_resource_from_d3d10_resource().
- wined3d: Fix linestrips output for geometry shaders.
- ddraw/tests: Avoid touching unsupported clip planes.
- ddraw/tests: Fully initialize surface desc in surface enumeration tests.
- ddraw/tests: Rewrite LimitTest().
- ddraw/tests: Rewrite SetRenderState() tests.
-Matteo Bruni (2):
- advapi32/tests: Fully initialize ACLs (Valgrind).
- advapi32/tests: Fix a couple of leaks (Valgrind).
-Nikolay Sivov (13):
- user32/tests: Add some more tests for message data conversion in dialog procedures.
- dwrite/tests: Add missing return value test (Coverity).
- msxml3/tests: Simplify test error path.
- mshtml/tests: Skip some tests if native XMLHTTP support is missing or disabled.
- jscript/tests: Test for script object creation failure (Coverity).
- comctl32/tests: Enable more ListView tests on Comctl32 v6.
- comctl32/tests: Add some state image tests for ListView.
- ddraw/tests: Move the surface enumeration test.
- comctl32/tests: Remove noisy trace.
- ddraw/tests: Move CreateSurface() invalid arguments test.
- msxml3/tests: Use temporary user directory for test files.
- user32/tests: Add EM_GETLINE test.
- comctl32/tests: Add EM_GETLINE test.
-Piotr Caban (1):
- concrt140: Fix Concurrency::is_current_task_group_canceling spec entry.
-Stefan Dösinger (2):
- ddraw/tests: Sync test_clear() with d3d8/9.
- ddraw/tests: Mark WARP negative rectangle handling broken.
-Wei Xie (1):
- wininet/tests: Check null pointer in InternetGetSecurityInfoByURLW.
-Zebediah Figura (2):
- schtasks/tests: Clean up the tasks directory.
- hlink: Implement IHlinkBrowseContext_GetObject().
+- A significant number of Direct3D 10 and 11 features are implemented in
+ this release, including:
+ - Compute shaders.
+ - Hull and domain (tessellation) shaders.
+ - Stream output.
+ - Format capability queries.
+ - A large number of shader model 4 and 5 shader instructions.
+ - Shader model 4 and 5 interpolation modifiers.
+ - Shader model 4 and 5 clip and cull distances.
+ - Indirect draws and indirect compute dispatch.
+ - Structured buffers.
+ - Byte addressable buffers.
+ - Append and consume buffers.
+ - Unordered access view counters.
+ - Cube-map arrays.
+ - Layered rendering to 3-dimensional textures and texture arrays.
+ - Mip-map generation.
+ - Conservative depth output.
+ - Type-less (sub)resource copies.
+ - Depth bias.
+- The multi-threaded command stream feature serializes Direct3D rendering
+ commands from different threads into a single rendering thread. Its main
+ purpose in this release is rendering correctness, but the feature also
+ provides opportunities for future performance improvements. This feature
+ is disabled by default.
+- Support for OpenGL core contexts in Direct3D is improved, to the point
+ that core contexts are used by default for Direct3D 10 and 11
+ applications on AMD and Intel graphics cards. As a result, users of those
+ graphics cards in combination with Mesa OpenGL drivers should no longer
+ need to set the "MaxVersionGL" registry key to enable Direct3D 10 and 11
+- The Direct3D graphics card database recognizes more graphics cards.
+- New HKCU\Software\Wine\Direct3D registry key:
+ - "csmt" (REG_DWORD)
+ Enable (0x1) or disable (0x0, default) the multi-threaded command
+ stream feature described above.
+- Deprecated HKCU\Software\Wine\Direct3D registry keys:
+ - "StrictDrawOrdering"
+ This has been superseded by the multi-threaded command stream feature.
+ - "OffscreenRenderingMode"
+ The "fbo" setting is the only remaining supported value. The
+ "backbuffer" setting, while still available, is no longer supported.
+- Removed HKCU\Software\Wine\Direct3D registry keys:
+ - "AlwaysOffscreen"
+ This is always enabled in this release.
+ - "MultiSampling"
+ Use the "SampleCount" (REG_DWORD) setting to force a specific
+ multi-sample anti-aliasing sample count for swapchain render targets
+- Drawing outlines of Direct2D geometry objects is implemented.
+- Direct2D linear and radial gradient brushes are implemented.
+- Direct2D compatibility with GDI is implemented.
+- Bounds computation of Direct2D geometry objects is implemented.
+- Simplification of Direct2D geometry objects is implemented.
+- The OpenGL extension list is updated to OpenGL version 4.6.
+- The system GLU library is only needed when the Nurbs renderer is used,
+ all other GLU functions are implemented internally.
+- Metafile playback in GdiPlus supports most of the GdiPlus-specific
+ metafile record types, in addition to the standard metafile records.
+- GdiPlus graphics operations take the GDI transform into account.
+- Encoding image formats with a palette is supported in WindowsCodecs.
+- Wine can be built as an APK package and behaves like a proper Android
+- A full graphics driver is implemented. Because of restrictions of the
+ Android window management API, only full screen desktop mode is
+- A full audio driver is implemented.
+- OpenGL is supported, but it's limited to the OpenGL ES API that is
+ available on Android.
+- Direct3D is not supported yet, because it cannot run on top of OpenGL ES
+ at this point. This will be addressed during the next development cycle.
+- The default Windows version is set to Windows 7.
+- The full semantics of named pipes are implemented, including message-mode
+- Position Independent Executables are supported, both for the Wine binary
+ itself and also when starting external binaries.
+- Serial and parallel port devices are created automatically, with the
+ corresponding symlinks in the dosdevices directory. The detected ports
+ can be overridden through the HKLM\Software\Wine\Ports key.
+- Safe DLL search mode is implemented. It is enabled by default, and can be
+ disabled by setting the "SafeDllSearchMode" value to 0 under
+ HKLM\System\CurrentControlSet\Control\Session Manager.
+- Safe process search mode is implemented. It is disabled by default but
+ can be requested by the application, and it can be forced by setting the
+ "SafeProcessSearchMode" value to 1 under
+ HKLM\System\CurrentControlSet\Control\Session Manager.
+- Asynchronous I/O performance is improved by reducing the number of server
+- Memory write watches work correctly when used concurrently with file I/O
+ on the same buffers.
+- Virtual memory allocations can be arbitrarily large on 64-bit platforms.
+*** User interface
+- The built-in mouse cursors are redesigned, and available in higher
+ resolution for high DPI screens.
+- The Shell Explorer, the common dialogs, and the RichEdit control properly
+ scale on high DPI screens.
+- The screen DPI value can be overridden by setting the "LogPixels" value
+ under HKEY_CURRENT_USER\Control Panel\Desktop.
+- In desktop mode, higher display resolutions with various aspect ratios
+ are supported.
+- The Task Dialog common control is implemented.
+- The Internal User Interface is supported in MSI.
+- Double-buffered theme painting is implemented.
+- The TWAIN library supports a user dialog for selecting the scanner
+- Device-independent bitmaps and metafiles can be stored into the OLE Data
+*** Desktop integration
+- The StartupWMClass field is set in generated desktop files so that they
+ can be matched to their respective Windows binary.
+- Clipboard changes from other X11 applications are detected through the
+ Xfixes library instead of polling.
+- The RichEdit control supports pasting metafiles.
+- The Program Manager DDE protocol for manipulating program entries and
+ groups is implemented.
+- The HID service for detecting Plug & Play devices is active by default.
+- Version 4 of the system tray notification protocol is supported on macOS.
+*** Text and fonts
+- Contextual glyph substitution is supported in UniScribe.
+- Character tables are based on version 10.0.0 of the Unicode Standard.
+- The Nepali and Bangla (India) locales are supported.
+- Font support is compatible with the new behaviors introduced in FreeType
+ version 2.8.1.
+- Trailing line trimming signs in both character and word modes is
+- Cluster wrapping mode is supported.
+- Uniform and proportional line spacing methods are implemented.
+- Oblique and bold simulation is also supported in bitmap rendering mode.
+- Per-factory cache is thread safe.
+- Overhang metrics evaluation for layouts are implemented.
+- In-memory font file loader is implemented and is available to
+- Support for D3DX 9 preshaders is improved.
+- Support for D3DX 9 application defined effect state managers
+ (ID3DXEffectStateManager) is implemented.
+- Using effect pools to share effect parameters between D3DX 9 effects is
+*** Internet and networking
+- UDP/TCP listeners are implemented in Web Services.
+- Web Services supports the .NET Binary Format, including the string table
+- Web Services supports the .NET Message Framing Protocol.
+- Asynchronous support is enabled for receiving messages in Web Services.
+- HTML event handling is rewritten to support standard-compliant mode.
+- Multiple new standard-compliant HTML APIs are supported. HTML document
+ mode support is improved to preserve compatibility with documents
+ expecting legacy behavior.
+- The WebBrowser control supports MHTML files.
+- Embedding HTML documents in .NET applications is better supported.
+- WinHTTP correctly parses cookie attributes.
+- Cryptographic hashes are implemented internally instead of relying on
+- AES encryption is supported.
+- The Microsoft Root Certificate 2011 is added to the list of known
+ Microsoft certificates.
+- The Mono and Gecko add-on packages are verified with SHA256 checksums.
+*** ARM platforms
+- On ARM, the floating point ABI defaults to 'softfp' for compatibility
+ with Windows binaries. It can be changed by passing the --with-float-abi
+ flag to configure.
+- The Wine preloader is also used on ARM64 platforms.
+- Relay debugging is supported on ARM64 platforms.
+*** Built-in applications
+- Registry importing and exporting in RegEdit is reimplemented for better
+ compatibility. Windows 3.1 registry files can also be imported. Registry
+ files are exported to Unicode format by default.
+- RegEdit always shows the 64-bit view of the registry on 64-bit prefixes.
+- The Reg.exe registry manipulation tool supports importing and exporting
+ registry files.
+- The command interpreter implements the MKLINK command.
+- The command interpreter supports escape characters in the prompt string.
+- WineMine shows a confirmation dialog before resetting the best scores.
+- The IDL compiler (widl) handles C++ aggregate returns in an
+ MSVC-compatible way.
+- The resource compiler (wrc) supports translating version resources
+ through the po files.
+- The Wine debugger (winedbg) supports printing floating point and SSE
+ register state.
+- All Perl scripts that parse XML use the standard XML::LibXML module.
+- The obsolete wineinstall tool is removed.
+- XAudio supports float audio formats with more than 2 channels.
+- The Scheduler and related classes are supported in the C++ runtime.
+- SQL driver installation is supported in ODBC.
+- The ProgramData well known directory is supported.
+- The Mono engine is updated with upstream Mono fixes, and supports the
+ Mono profiler API version 2.
+- The thread id is always displayed in debug traces.
+*** New external dependencies
+- The krb5 library is used to implement the Kerberos Authentication
+- The XFixes library is used to receive clipboard change notifications.
diff --git a/VERSION b/VERSION
index a5b573fd18..90be9f6ddb 100644
@@ -1 +1 @@
-Wine version 3.0-rc6
+Wine version 3.0
diff --git a/configure b/configure
index 513ff64576..f62b9e3516 100755
@@ -1,6 +1,6 @@
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for Wine 3.0-rc6.
+# Generated by GNU Autoconf 2.69 for Wine 3.0.
# Report bugs to
@@ -580,8 +580,8 @@ MAKEFLAGS=
# Identity of this package.
@@ -2293,7 +2293,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
-\`configure' configures Wine 3.0-rc6 to adapt to many kinds of systems.
+\`configure' configures Wine 3.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -2363,7 +2363,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of Wine 3.0-rc6:";;
+ short | recursive ) echo "Configuration of Wine 3.0:";;
@@ -2580,7 +2580,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
-Wine configure 3.0-rc6
+Wine configure 3.0
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -3098,7 +3098,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by Wine $as_me 3.0-rc6, which was
+It was created by Wine $as_me 3.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -19791,7 +19791,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
-This file was extended by Wine $as_me 3.0-rc6, which was
+This file was extended by Wine $as_me 3.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -19862,7 +19862,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-Wine config.status 3.0-rc6
+Wine config.status 3.0
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
f6b5a7cf90 Release 3.0.
ANNOUNCE | 465 ++++++++++++++++++++++++++++++++++++++++++++++----------------
VERSION | 2 +-
configure | 18 +--
3 files changed, 355 insertions(+), 130 deletions(-)