WineHQ

Wine Announcement

The Wine development release 7.6 is now available.

What's new in this release:
  - Mono engine updated to version 7.2.0.
  - More progress on the PE conversion of graphics drivers.
  - Locale support using the new CLDR-based database.
  - Various bug fixes.

The source is available from the following locations:

  https://dl.winehq.org/wine/source/7.x/wine-7.6.tar.xz
  http://mirrors.ibiblio.org/wine/source/7.x/wine-7.6.tar.xz

Binary packages for various distributions will be available from:

  https://www.winehq.org/download

You will find documentation on https://www.winehq.org/documentation

You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.

Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.

----------------------------------------------------------------

Bugs fixed in 7.6 (total 17):

  42309  The Crew (Uplay) crashes at start
  50158  Oculus Runtime won't start: "Could not load file or assembly 'Daybreak'"
  51437  If Windows version changes from 7 to 10, Microsoft Edge calls unimplemented function uiautomationcore.dll.UiaRaiseAutomationPropertyChangedEvent
  52340  wine-mono + RMS Express: COM Port errors connecting to radios
  52401  Improper synchronization in sock_recv/sock_send leads to arbitrary reordering of completion of I/O requests
  52616  SteelSeries GG installer crashes on unimplemented function setupapi.dll.SetupQueryInfVersionInformationW
  52628  game frozen after opening due to infinite loop in winmm.mmioDescend()
  52638  The 64-bit winmm:mci fails and crashes in test_openCloseWAVE() in Wine
  52652  Adobe Photoshop 7.0 crashes on startup
  52658  Swisslog freezes on startup
  52660  chunk allocator for GL uniform buffers kills performance in World of Warships
  52668  Sparx Enterprise architect v15.2 1560 crashing on wine 7.4
  52698  JW Scheduler installer fails to start: "Requires Microsoft .NET Framework 4.5.2"
  52713  Nota Bene installer has black background
  52721  d3dx9_36:effect, d3dx11_42:d3dx11 and d3dx11_43:d3dx11 broken by use of vkd3d_shader_compile() for D3DCompile2()
  52722  Winetricks dotnet installation hangs at wineserver -w
  52728  wine-7.5 build fails in Ubuntu 18.04

----------------------------------------------------------------

Changes since 7.5:

Alex Henrie (2):
      shell32: Fix sizeof argument in DoPaste (Coverity).
      mciwave: Fix bad free in MCI_SendCommandAsync (Coverity).

Alexandre Julliard (60):
      kernelbase: Reimplement LOCALE_SNAME in GetLocaleInfoW/Ex using the locale.nls data.
      kernelbase: Reimplement LOCALE_SPARENT in GetLocaleInfoW/Ex using the locale.nls data.
      kernelbase: Reimplement LCIDToLocaleName() using the locale.nls data.
      kernelbase: Reimplement LOCALE_ILANGUAGE/IDEFAULTLANGUAGE in GetLocaleInfoW/Ex using the locale.nls data.
      kernelbase: Reimplement LOCALE_*LANGNAME in GetLocaleInfoW/Ex using the locale.nls data.
      kernelbase: Reimplement LOCALE_*CTRYNAME in GetLocaleInfoW/Ex using the locale.nls data.
      kernelbase: Reimplement LOCALE_*DISPLAYNAME in GetLocaleInfoW/Ex using the locale.nls data.
      kernelbase: Reimplement LOCALE_*DEFAULTCODEPAGE in GetLocaleInfoW/Ex using the locale.nls data.
      kernelbase: Reimplement LOCALE_*DAYNAME in GetLocaleInfoW/Ex using the locale.nls data.
      kernelbase: Reimplement LOCALE_*MONTHNAME in GetLocaleInfoW/Ex using the locale.nls data.
      kernelbase: Reimplement LOCALE_*INFINITY/NAN in GetLocaleInfoW/Ex using the locale.nls data.
      kernelbase: Reimplement LOCALE_*PERCENT in GetLocaleInfoW/Ex using the locale.nls data.
      kernelbase: Reimplement LOCALE_*AM/PM in GetLocaleInfoW/Ex using the locale.nls data.
      kernelbase: Reimplement LOCALE_*CURRNAME/CURRENCY in GetLocaleInfoW/Ex using the locale.nls data.
      kernelbase: Reimplement LOCALE_ICOUNTRY/IGEOID in GetLocaleInfoW/Ex using the locale.nls data.
      kernelbase: Reimplement LOCALE_SNATIVEDIGITS in GetLocaleInfoW/Ex using the locale.nls data.
      kernelbase: Reimplement date/time format strings in GetLocaleInfoW/Ex using the locale.nls data.
      kernelbase: Reimplement calendar options in GetLocaleInfoW/Ex using the locale.nls data.
      kernelbase: Reimplement misc format values in GetLocaleInfoW/Ex using the locale.nls data.
      kernelbase: Reimplement LOCALE_FONTSIGNATURE/SOPENTYPELANGUAGETAG in GetLocaleInfoW/Ex using the locale.nls data.
      kernelbase: Reimplement LOCALE_SSORTNAME in GetLocaleInfoW/Ex.
      kernelbase: Reimplement number formatting values in GetLocaleInfoW/Ex using the locale.nls data.
      kernelbase: Reimplement currency formatting values in GetLocaleInfoW/Ex using the locale.nls data.
      kernelbase: Reimplement misc locale info values in GetLocaleInfoW/Ex using the locale.nls data.
      kernelbase: Reimplement values computed from currency formats in GetLocaleInfoW/Ex.
      kernelbase: Reimplement values computed from date/time formats in GetLocaleInfoW/Ex.
      kernelbase: Reimplement fetching customized values from the registry in GetLocaleInfoW/Ex.
      kernelbase: Reimplement updating the locale values in the registry on locale change.
      kernelbase: Reimplement SetLocaleInfoW().
      kernelbase: Remove the old GetLocaleInfoEx/W implementation.
      make_unicode: Generate the GeoID table in locale.nls.
      kernelbase: Reimplement the Geo ID functions using the locale.nls data.
      kernel32: Move the language group resources to kernelbase.
      kernel32: Move the error message table to kernelbase.
      msvcrt: Use EnumSystemLocalesEx instead of directly accessing kernel32 resources.
      kernel32: Remove the old locale information stored in resources.
      ntdll: Recognize more script names in Unix locales.
      kernelbase: Set system/user locales by name if they have no LCID.
      kernelbase: Check the locale name instead of the LCID to detect changes.
      oleaut32: Silence error message for unknown languages.
      widl: Silence error message for unknown languages.
      wrc: Remove the verify translation mode.
      wrc: Remove resource dumping support.
      wrc: Store language as a simple integer.
      wrc: Store version and characteristics as simple integers.
      wrc: Use the locale.nls data to determine a language's codepage.
      wrc: Avoid loading locale.nls when not necessary.
      makedep: Add dependency on locale.nls for rc files.
      make_unicode: Generate the calendar table in locale.nls.
      kernelbase: Reimplement GetCalendarInfoEx/W using the locale.nls data.
      kernel32: Simplify GetGeoInfoA() implementation.
      kernel32: Simplify Get/SetCalendarInfoA() implementation.
      kernelbase: Fix IsValidLocale() and GetLocaleInfo() with special LOCALE_* identifiers.
      kernelbase: Implement NlsValidateLocale().
      kernelbase: Reimplement Internal_EnumCalendarInfo() using the locale.nls data.
      kernelbase: Reimplement Internal_EnumTimeFormats() using the locale.nls data.
      kernelbase: Reimplement Internal_EnumDateFormats() using the locale.nls data.
      make_unicode: Update to CLDR version 41.
      xml2: Import upstream release 2.9.13.
      xslt: Import upstream release 1.1.35.

Andrew Eikum (2):
      evr/presenter: Fix hns-to-msec conversion multiplier.
      evr/presenter: Place early samples back to the front of the queue.

Bernhard Kölbl (15):
      windows.media.speech: Add IVector<HSTRING>.
      windows.media.speech: Add IVectorView<HSTRING>.
      windows.media.speech: Add IIterable<HSTRING> stubs.
      windows.media.speech: Add IIterator<HSTRING>.
      windows.media.speech: Store speech commands in listconstraint.
      windows.media.speech: Add IVector<Inspectable*>.
      windows.media.speech: Add IVectorView<Inspectable*>.
      windows.media.speech: Add IIterable<IInspectable*> stubs.
      windows.media.speech: Add IIterator<Inspectable*>.
      windows.media.speech: Implement ISpeechRecognizer_get_Constraints.
      include/winerror.h: Add missing WinRT HRESULT codes.
      include/windows.foundation.collections.idl: Set correct return type for IAsyncOperation_GetResults.
      windows.media.speech: Add tests for IAsyncOperation.
      windows.media.speech: Add IAsyncOperation<Inspectable*> stub.
      windows.media.speech: Add IAsyncInfo stub to IAsyncOperation<Inspectable*>.

Byeong-Sik Jeon (1):
      po: Update Korean translation.

Daniel Lehman (3):
      ntdll/tests: Add some CloseHandle exception tests.
      ntdll/tests: Test return values from CloseHandle.
      ntdll: Return success for magic handles.

Dmitry Timoshkov (7):
      kernel32/tests: Add a test to show that services.exe is supposed to run in the session 0.
      wined3d: Avoid calling _strnicmp() with limit -1.
      sc: Add support for the 'query' command.
      sc: Print service status after 'start' and 'stop' commands.
      sc: Don't silently fail when something doesn't work as expected in a few more places.
      dwrite/tests: Add some fallback tests for Segoe UI Symbol.
      ucrtbase/tests: Add a test for wcsnicmp() with limit -1.

Eric Pouech (14):
      shell32: Always allocate a whole ITEMIDLIST structure.
      mciwave: Correctly handle error return status from mmioRead.
      winmm: Properly handle mmioRead/mmioWrite in case of errors.
      urlmon: Use I width modifier instead of casting to DWORD.
      comdlg32: Use I width modifier instead of casting to LONG.
      mciavi32: Use I width modifier instead of casting to DWORD.
      iphlpapi: Don't cast SIZE_T to DWORD in trace, use %I instead.
      mstask: Don't cast size_t to DWORD in trace, use %I instead.
      schedvc: Don't cast size_t to DWORD in trace, use %I instead.
      dmstyle: Don't cast size_t to DWORD in trace, use %I instead.
      dbghelp: Trace 64-bit integers with I64 width modifier.
      dxdiagn: Use I64 width modifier for 64-bit integers in printf.
      snmpapi: Trace 64-bit integers with I64 width modifier.
      winedbg: Trace 64-bit integers with I64 width modifier.

Esme Povirk (3):
      mscoree: Update Wine Mono to 7.2.0.
      mscoree/tests: Build loadpaths.exe as GUI instead of CUI.
      mscoree/tests: Create csc.exe process as detached.

Georg Lehmann (2):
      winevulkan: Update to VK spec version 1.3.210.
      winevulkan: Update to VK spec version 1.3.211.

Gijs Vermeulen (1):
      setupapi: Add SetupQueryInfVersionInformationA/W stub.

Hans Leidekker (8):
      crypt32: Correctly free memory in CNG_ImportRSAPubKey().
      crypt32: Consistently use CryptMemAlloc/Free().
      crypt32: Use CRT allocation functions.
      crypt32/tests: Use wide character string literals.
      crypt32/tests: Add more OCSP response decoding tests.
      bcrypt: Fix array index in BCryptEnumAlgorithms().
      bcrypt: Implement BCryptFreeBuffer().
      cryptnet: Support verifying certificate revocation with OCSP.

Henri Verbeet (3):
      wined3d: Return the correct length from config_list_get_value().
      wined3d: Add GPU information for NVIDIA Tesla T4.
      wined3d: Spawn a separate thread to adjust the window state of windows belonging to other threads.

Huw D. M. Davies (7):
      winealsa: Add missing includes.
      wineoss: Introduce a test_connect syscall.
      wineoss: Pass a buffer to oss_clean_devnode().
      wineoss: Add a helper to open the device.
      wineoss: Move get_ossdevice_from_guid() earlier in the file.
      wineoss: Move get_endpoint_ids to the unixlib.
      combase: Don't start dllhost if the CLSID key doesn't exist.

Jacek Caban (37):
      win32u: Return client menu name from NtUserUnregisterClass.
      user32: Introduce reply_message_result helper.
      win32u: Move reply_message_result implementation from user32.
      user32: Move unpack_message call to User32CallWindowProc.
      win32u: Move process_sent_messages implementation from user32.
      win32u: Move NtUserPeekMessage implementation from user32.
      win32u: Move NtUserGetMessage implementation from user32.
      win32u: Move NtUserMsgWaitForMultipleObjectsEx implementation from user32.
      win32u: Move NtUserWaitForInputIdle implementation from user32.
      user32: Avoid internal structs in post_dde_message.
      win32u: Move send_internal_message_timeout implementation from user32.
      win32u: Move __wine_send_input implementation from user32.
      win32u: Move NtUserSendInput implementation from user32.
      win32u: Return LRESULT from NtUserMessageCall.
      win32u: Use public declaration for NtUserPostMessage.
      win32u: Move SendMessageTimeoutW implementation from user32.
      win32u: Move SendMessageW implementation from user32.
      user32: Use NtUserMessageCall for SendMessageTimeoutA implementation.
      user32: Use NtUserMessageCall for SendMessageA implementation.
      win32u: Move SendNotifyMessageW implementation from user32.
      user32: Use NtUserMessageCall for SendNotifyMessageA implementation.
      win32u: Move SendMessageCallbackW implementation from user32.
      user32: Use NtUserMessageCall for SendMessageCallbackA implementation.
      win32u: Add missing return in NtUserExitingThread implementation.
      win32u: Move NtUserPostThreadMessage implementation from user32.
      win32u: Move NtUserPostMessage implementation from user32.
      win32u: Move process_hardware_message implementation from user32.
      user.exe: Remove no longer used wait_message16.
      win32u: Move NtUserCloseClipboard implementation from user32.
      win32u: Improve string duplication helpers.
      win32u: Move default window text setting to from user32.
      win32u: Move WM_SETICON implementation from user32.
      win32u: Move IsWindowEnabled implementation from user32.
      win32u: Partially move WM_SYSCOMMAND implementation from user32.
      win32u: Move __wine_set_user_driver implementation from user32.
      win32u: Don't use CDECL for user driver functions.
      win32u: Use more consistent NtUserMessageCall constant names.

Jan Sikorski (2):
      wined3d: Increase the CS queue size.
      wined3d: Reset and reuse Vulkan descriptor pools.

Jinoh Kang (2):
      riched20/tests: Add tests for IRichEditOleCallback_QueryInsertObject.
      riched20: Implement callback to IRichEditOleCallback_QueryInsertObject.

Lauri Kenttä (1):
      po: Update Finnish translation.

Matteo Bruni (5):
      d3dcompiler: Set initial_filename in D3DCompile2().
      d3dx11/tests: Fix tests broken by using the HLSL compiler from vkd3d-shader.
      d3dx9/tests: Fix tests broken by using the HLSL compiler from vkd3d-shader.
      d3dcompiler: Always use vkd3d-shader's preprocessor.
      d3dx9/tests: Increase tolerance in a quaternion test.

Mohamad Al-Jaf (9):
      hid: Implement HidD_GetPhysicalDescriptor.
      propsys: Implement VariantToStringWithDefault.
      propsys/tests: Add VariantToStringWithDefault tests.
      ncrypt: Map STATUS_NOT_SUPPORTED to NTE_NOT_SUPPORTED.
      ncrypt: Warn on invalid flags in NCryptImportKey.
      wusa: Support wow64 architecture identifier.
      ncrypt: Implement NCryptIsAlgSupported.
      ncrypt/tests: Add NCryptIsAlgSupported tests.
      ncrypt: Map STATUS_NO_MEMORY to NTE_NO_MEMORY.

Nikolay Sivov (43):
      browseui: Use CRT memory allocation functions.
      browseui/tests: Remove string conversion helper.
      dbgeng: Use CRT allocation functions.
      mf/session: Trace seek position in Start().
      opcservices: Use CRT allocation functions.
      opcservices/tests: Use wide strings in test data.
      xmllite: Use CRT allocation functions.
      xmllite/tests: Use CRT allocation functions.
      wer: Use CRT memory allocation functions.
      scrobj: Use CRT allocation functions.
      scrobj: Fix wrong cleanup logic for factory object.
      scrobj/tests: Use CRT memory allocation functions.
      fusion: Use CRT memory allocation functions.
      sxs: Use CRT memory allocation functions.
      user32: Add suspend-resume notification API stubs.
      atl: Use CRT allocation functions.
      sxs: Use CRT memory allocation functions.
      explorerframe: Use CRT memory allocation functions.
      comsvcs: Use CRT memory allocation functions.
      dxva2: Use CRT memory allocation functions.
      mfmediaengine/tests: Remove unused header include.
      sxs/tests: Use CRT memory allocation functions.
      msxml3/tests: Use CRT memory allocation functions.
      directmanipulation: Use CRT memory allocation functions.
      explorerframe/tests: Use CRT memory allocation functions.
      uianimation: Use CRT allocation functions.
      include: Add IDebugControl4 definition.
      dbgeng: Update to IDebugControl4 stub.
      include: Add IDebugAdvanced3 definition.
      dbgeng: Update to IDebugAdvanced3 stub.
      shell32/tests: Use CRT memory allocation functions.
      xmllite/tests: Use wide string literals for the writer tests.
      evr/presenter: Make GetCurrentImage() work without output window.
      mf/session: Use correct format specifier for start position.
      localui/tests: Use CRT allocation functions.
      qmgr: Use CRT allocation functions.
      wmp: Use CRT allocation functions.
      wmic: Use CRT allocation functions.
      wmp/tests: Remove unused include.
      d3drm: Build without -DWINE_NO_LONG_TYPES.
      dispex: Use CRT memory allocation functions.
      dispex/tests: Use CRT allocation functions.
      evr: Cleanup class factory methods.

Paul Gofman (5):
      msvcrt/tests: Add test for ioinfo->exflag.
      msvcr80: Fix ioinfo structure definition.
      msvcrt: Use newer ioinfo structure for _MSVC_VER >= 80.
      msvcr90/tests: Test ioinfo structure.
      ucrtbase: Update ioinfo structure.

Piotr Caban (2):
      oleacc/tests: Fix crash when current thread is not in foreground state.
      msvcr100: Improve ThreadScheduler_ScheduleTask_loc stub.

Rafał Harabień (5):
      comctl32/tests: Add more static control tests.
      comctl32: Fix handling of SS_ETCHEDHORZ/SS_ETCHEDVERT static control styles.
      comctl32: Send WM_CTLCOLORSTATIC for all static control types.
      comctl32/tests: Fix invalidation in static control tests.
      comctl32/tests: Remove now unused TODO_COUNT in static control tests.

Rémi Bernon (48):
      kernel32/tests: Remove GlobalMemoryStatus loop and relax the checks.
      winegstreamer: Implement H264 decoder GetInputStreamInfo.
      winegstreamer: Implement H264 decoder GetOutputStreamInfo.
      winegstreamer: Try creating a wg_transform in the H264 decoder.
      winegstreamer: Use a GstBufferList for wg_transform input queue.
      strmbase: Add a separate id for pins.
      qedit: Use the right SampleGrabber pin names.
      qcap: Use the right AVICo pin names.
      quartz: Use the right ACMWrapper pin names.
      quartz: Use the right AVIDec pin names.
      quartz: Use the right VideoRenderer pin names.
      kernel32/tests: Use 0xdeadbeef directly instead of a custom define.
      kernel32/tests: Clean GlobalAlloc tests and move them together.
      kernel32/tests: Clean LocalAlloc tests and move them together.
      kernel32/tests: Add some HGLOBAL/HLOCAL limits tests.
      kernel32/tests: Add some HGLOBAL/HLOCAL entry layout tests.
      kernel32: Fix indentation of Global* functions.
      kernel32: Make Global* traces and identifiers more consistent.
      kernelbase: Fix indentation of LocalReAlloc.
      kernelbase: Make (Global|Local)* traces and identifiers more consistent.
      mf/tests: Fix incorrect array index when formatting blob value.
      mf/tests: Increase the H264 decoder tests video frame size.
      dinput/tests: Add some HidD_GetPhysicalDescriptor tests.
      kernelbase: Check handle validity in unsafe_mem_from_HLOCAL.
      kernelbase: Check pointer validity in unsafe_ptr_from_HLOCAL.
      kernel32: Synchronize the HLOCAL helpers with kernelbase.
      kernelbase: Implement internal KernelBaseGetGlobalData.
      kernelbase: Allocate HLOCAL / HGLOBAL from a static handle table.
      winegstreamer: Use a GstAtomicQueue for wg_transform output queue.
      winegstreamer: Implement H264 decoder Process(Input|Output).
      winegstreamer: Return S_OK from H264 decoder ProcessMessage.
      kernelbase: Use the same HLOCAL entry pointer alignment as native.
      kernelbase: Remove unnecessary handler from LocalLock.
      kernelbase: Remove unnecessary handler from LocalUnlock.
      kernelbase: Use the same HLOCAL flags / lock layout as native.
      kernel32/tests: Add broken results for GlobalMemoryStatus test.
      kernel32/tests: Cleanup and add more heap layout tests.
      include: Add CWMAEncMediaObject class declaration to wmcodecdsp.idl.
      include: Add CCOlorConvertDMO class declaration to wmcodecdsp.idl.
      include: Add some MEDIASUBTYPE_V* GUIDs to wmcodecdsp.idl.
      include: Add MFSampleExtension_CleanPoint to mfapi.h.
      include: Add ACTIVATION_CONTEXT_SECTION_WINRT_ACTIVATABLE_CLASSES declaration.
      kernel32/tests: Add some activatableClass manifest attribute tests.
      ntdll: Support activatableClass activation context elements.
      combase/tests: Add some RoGetActivationFactory tests with manifest.
      kernel32/tests: Load all test function pointers on init.
      kernel32/tests: Cleanup heap allocation functions tests.
      kernel32/tests: Cleanup heap pointer alignment tests.

Santino Mazza (2):
      ncrypt/tests: Test for NCryptVerifySignature.
      ncrypt: Implement NCryptVerifySignature.

Sven Baars (2):
      winemenubuilder: Search for an executable file when no file extension is provided.
      winemenubuilder: Use the full path name when extracting an icon.

Zebediah Figura (11):
      shell32: Use COM wrappers for IShellPropSheetExt and IShellExtInit.
      user32: Remove redundant #ifdef around #undef.
      user32: Compile some functions only on 64-bit architectures.
      amstream: Use CRT memory allocators.
      maintainers: Update the path to strmbase.
      include: Add more URL_* flags.
      winegstreamer: Disconnect source pins before calling wg_parser_disconnect().
      winegstreamer: Protect access to the "enabled" field.
      winegstreamer: Unblock waits in sink_chain_cb() when disabling a stream.
      winegstreamer: Add traces to Unix call wrappers.
      qcap/filewriter: Avoid casting to DWORD in an ERR message.

Zhiyi Zhang (5):
      uxtheme: Check only the lower 16 bits of the return value of WM_ERASEBKGND.
      uxtheme/tests: Test WM_ERASEBKGND return value from custom dialog procedures.
      uxtheme: Return correct WM_ERASEBKGND result from custom dialog procedures.
      uxtheme: Remove a redundant condition check.
      setupapi: Return CR_SUCCESS for CM_Get_DevNode_Status{_Ex}.

Ziqing Hui (14):
      d2d1: Fix a typo.
      include: Add defines for ID2D1InkStyle.
      include: Add defines for ID2D1Ink.
      include: Add defines for ID2D1GradientMesh.
      include: Add defines for ID2D1ImageSource.
      include: Add defines for ID2D1ImageSourceFromWic.
      include: Add defines for ID2D1TransformedImageSource.
      include: Add defines for ID2D1DeviceContext2.
      include: Add defines for ID2D1Device2.
      include: Add defines for ID2D1Factory3.
      include: Add defines for D2D1YCbCr effect.
      include: Add defines for D2D1HighlightsShadows effect.
      d2d1: Add stubs for ID2D1Factory3.
      d2d1/tests: Add tests for D2D1Grayscale effect.

--
Alexandre Julliard
julliard@winehq.org