The Wine development release 4.5 is now available.

What's new in this release (see below for details):
  - Support for Vulkan 1.1.
  - Better support for kernel objects in device drivers.
  - Still more Media Foundation APIs implemented.
  - Support for SVG elements in MSHTML.
  - Fixes for case conversion troubles in Turkish locale.
  - Various bug fixes.

The source is available from the following locations:

  https://dl.winehq.org/wine/source/4.x/wine-4.5.tar.xz
  http://mirrors.ibiblio.org/wine/source/4.x/wine-4.5.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 4.5 (total 30):

  19098  Regedit randomly crashes when deleting registry keys
  23455  FileAlyzer 1.6.0.4, Affinity-installer-1.6.5.123 can't load PE images (needs imagehlp.ImageLoad and imagehlp.ImageUnload implementation)
  26445  URLDownloadToFileW does not support FTP URLs
  38087  Settlers III: mouse not working on start screen and menu (after fixing raw input bug 33479)
  38801  Settlers Heritage of Kings crashes when loading a map
  41591  Solidworks 2016 installer needs ADVAPI32.dll.RegLoadAppKeyW
  45322  League Of Legends installer on tr_TR.UTF-8: unknown color "systemhighlight"
  45429  Inno Setup v5.x based game-installers using 'wintb' plugin fail with: 'Runtime error 229 at <address>' (Win7+ ITaskbarList3 ThumbBar/Thumbnail semi-stubs needed)
  45497  Biamp Systems Nexia v3.3: Button labels missing in DSP controls
  45998  64-bit FACEIT Anti-cheat client claims "Your system is out of date, you are missing important Windows updates!" (needs 'wintrust.CryptCATAdminAcquireContext2' stub)
  46115  Cursor in unity games moving down and to the right one pixel on any mouse interaction
  46222  Star Citizen hang on splash screen
  46643  Belarc Advisor Computer Inventory 9.0 crashes on unimplemented function advapi32.dll.AuditQuerySystemPolicy with WinVer >= Windows Vista
  46807  The Sims hangs when opening menus
  46812  PS4 Remote Play installer 2.8.x fails, claims 'You need the Media Feature Pack' (MsiGetDatabaseState is called from a custom action)
  46830  Gaea 1.0.x installer stops: err:msi:ITERATE_Actions Execution halted, action L"WixSchedInternetShortcuts" returned 1603 (MsiViewGetErrorA/W() needs to be RPC-compatible)
  46833  Multiple application installers fail with err:msi:ITERATE_Actions Execution halted, action L"<custom action>" returned 1603 (iTunes 12.9.3.3, Dameware Mini Remote Control 10.x)
  46845  Freelancer: character glitches in cutscenes after loading a saved game
  46846  msi x64 installer does not display splash and other texts like a license agreement
  46848  PTC Mathcad Prime 3.0 Web installer crashes on unimplemented function api-ms-win-crt-convert-l1-1-0.dll.wctrans
  46851  Can't input Japanese text after updating to 4.4.
  46881  Power World Simulator installer needs unimplemented function msi.dll.MsiSourceListForceResolutionW
  46885  Multiple applications fail to install with wine-4.4-114-g15f852015a+, reporting err:msi:ITERATE_Actions Execution halted, action L"BindImage" returned 1615  (MS Office 2007, AstroToaster 2.x. MS .NET Framework 4.x)
  46892  redefinition of typedef ‘UUID’
  46894  SIMATIC WinCC V15.1 Runtime installer (.NET 4.0) fails in CoreLib::GetPhysicalMemoryAmountWmi() (missing 'DeviceLocator' property of 'Win32_PhysicalMemory' WMI class)
  46895  SIMATIC WinCC V15.1 Runtime installer (.NET 4.0) fails due to missing 'OperatingSystemSKU' property of 'Win32_OperatingSystem' WMI class
  46906  SIMATIC WinCC V15.1 Runtime installer: SeCon tool 'SeCon_Win32.exe' crashes due to hnetcfg 'INetFwRules::get__NewEnum' not initializing out parameter
  46907  msi crashes in RemoveFiles action for a broken msi
  46908  Support msvcp mtx_init 'mtx_try' flag (0x2) to create a mutex object that supports test and return
  46909  Missing (black) textures in Black & White

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

Changes since 4.4:

Akihiro Sagawa (7):
      user32/tests: Skip margin tests if a font for the target charset isn't available.
      user32/tests: Use EM_SETMARGINS to test EC_USEFONTINFO margins.
      user32: Fix minimum control size conditions when using EC_USEFONTINFO.
      user32/tests: Move the default margin size tests into a separate function.
      user32/tests: Add Unicode version tests for Edit control margins.
      user32/tests: Tests default margin size with various font face.
      imm32: Correctly return the size of the required output buffer.

Alexandre Julliard (22):
      winebuild: Use proper RVAs for the export table on Windows.
      makefiles: Pass --subsystem to the linker also.
      winebuild: Set the import hint based on the name index.
      winebuild: List stubs in the import library .def files.
      winedump: Also print the thunk address for ordinal imports.
      make_unicode: Don't output array sizes that could be over-estimated.
      ntdll: Default to 7-bit ASCII before codepages are initialized.
      libwine: Move wctype tables to libwine_port.
      libwine: Move casemap tables to libwine_port.
      libwine: Move collation table to libwine_port.
      imagehlp: Get rid of the custom heap.
      msvcrt: Export the onexit functions from the import library.
      msvcrt: Export the __acrt_iob_func function from the import library.
      ntdll/tests: Mark as broken a test that fails on win2003.
      shell32: Load wine_get_build_id() dynamically.
      user32: Add a dummy _wassert implementation to avoid a Mingw build issue.
      libwine: Move string functions to libwine_port.
      msvcrt: Only add __acrt_iob_func() to the import library of msvcrt itself.
      msvcrt: Only add the onexit functions to the import library of msvcrt itself.
      msvcrtd: Share source with msvcrt.
      crtdll: Share source with msvcrt.
      Revert "libwine: Move string functions to libwine_port."

Alistair Leslie-Hughes (2):
      regedit: Grow the buffer when modifying a DWORD value.
      urlmon: Pass unescaped URLs to InternetOpenUrl in ftp protocol handler.

Andrew Eikum (3):
      winecoreaudio.drv: Remove useless cast to self.
      wineandroid.drv: Remove useless cast to self.
      ntdll: Fix memory region check in NtQueryVirtualMemory.

Aric Stewart (1):
      winebus.sys: Add UID to IOHID devices.

Aurimas Fišeras (2):
      po: Update Lithuanian translation.
      po: Update Lithuanian translation.

Austin English (1):
      advapi32: Add RegLoadAppKeyA/RegLoadAppKeyW stubs.

Claudio Fontana (1):
      kernel32: Allow empty profile section and key name strings.

Derek Lesho (5):
      ntdll: Fix unwinding from leaf function on x86_64.
      ntoskrnl.exe: Implement ObGetObjectType.
      ntoskrnl.exe: Add IoWMIOpenBlock stub.
      ntoskrnl.exe: Add emulation of rdmsr for MSR_LSTAR control register.
      ntoskrnl.exe: Update the tick count in KUSER_SHARED_DATA when accessed.

Detlef Riekenberg (7):
      devenum/tests: Accept ERROR_KEY_DOES_NOT_EXIST from IPropertyBag_Read.
      advapi32/tests: Accept failure code from recent win10.
      hid/tests: Do not access uninitialized memory.
      hid/tests: Do not fail when the device is busy.
      schedsvc/tests: Avoid a crash in a SchRpcRegisterTask test.
      wer: Fix WER_REPORT_TYPE failures on recent win10.
      secur32: Handle a new, undefined SECPKG_FLAG value.

Erich Hoover (2):
      msidb: Permit specifying tables to import by filename.
      msidb: Add support for wildcard table import.

Fabian Maurer (1):
      shell32: In SHRestricted add missing slash.

François Gouget (8):
      kernel32/tests: A spelling fix in a win_skip() message.
      ntoskrnl.exe/tests: Make vskip_(), win_skip_() and kmemcpy() static.
      dbghelp: Make minidump_add_memory64_block() static.
      mfplat/tests: A wording tweak in a win_skip() messages.
      d3d12/tests: A spelling fix in a skip() message.
      xaudio2_7: Add a trailing '\n' to an ERR() message.
      dwrite/tests: Avoid a couple of unneeded lstrlenW() calls.
      dwrite: Remove freetype_get_design_glyph_bbox(). It's not used anymore.

Gabriel Ivăncescu (2):
      include: Add PtInRect as inline version of common RECT helpers.
      include/commctrl: Add style definitions for split buttons.

Gijs Vermeulen (7):
      msvcr120: Add [to]wctrans.
      wintrust: Update spec file.
      mscat32: Update spec file.
      wintrust: Add CryptCATAdminAcquireContext2 stub.
      hnetcfg: Initialize INetFwRules::get__NewEnum out parameter.
      scrrun/tests: Add more Clone() tests.
      scrrun: Implement Clone() for drive collection.

Hans Leidekker (4):
      msi: Disable filesystem redirection only when really needed.
      wbemprox: Implement Win32_PhysicalMemory.DeviceLocator.
      wbemprox: Implement Win32_OperatingSystem.OperatingSystemSKU.
      msi: Avoid a crash in RemoveFiles if the component directory is invalid.

Henri Verbeet (2):
      wined3d: Do not take "draw_rect" into account when comparing attachment sizes in ffp_blitter_clear().
      wined3d: Also update the "src_texture_gl" pointer when using a staging texture in the blitter.

Isira Seneviratne (14):
      po: Update Sinhala translation.
      po: Update Tamil translation.
      po: Update Sinhala translation.
      po: Update Sinhala translation.
      winmm: Correct phrasing of some resource strings.
      winecfg: Fix some punctuation in error messages.
      xcopy: Fix punctuation in STRING_HELP string.
      taskmgr: Replace repeated code with for loops.
      kernel32/nls: Change Sinhala sublang identifier to SUBLANG_SINHALESE_SRI_LANKA.
      po: Update Sinhala translation.
      wineandroid.drv: Add Override annotation to overridden methods.
      wineandroid.drv: Remove unnecessary 'extends Object' statement.
      po: Update Sinhala translation.
      po: Update Tamil translation.

Jacek Caban (51):
      jscript: Add Object.create implementation.
      mshtml: Add IHTMLCSSStyleDeclaration::setProperty implementation.
      mshtml: Add IHTMLAnchorElement::get_protocol implementation.
      mshtml: Add IHTMLAnchorElement::get_host implementation.
      jscript: Support undefined context value in Array.prototype.forEach.
      jscript: Support undefined context value in Array.prototype.map.
      mshtml: Set elem_vars to NULL when detaching.
      mshtml: Remove selection and range objects from document list when detaching.
      mshtml: Return NULL for document not attached to window in IHTMLDocument7::get_defaultView.
      mshtml: Use get_parentWindow for IHTMLDocument2::get_Script implementation.
      jscript: Use parse_decimal for parsing JSON numeric literals starting with 0.
      mshtml.idl: Add DispHTMLW3CComputedStyle declaration.
      mshtml: Add IHTMLWindow6::get_localStorage implementation.
      mshtml: Introduce new CSSStyle type as a base for different style object implementations.
      mshtml: Move style DispatchEx to CSSStyle.
      mshtml: Forward HTMLStyle IUnknown calls to IHTMLCSSStyleDeclaration implementation.
      mshtml: Pass style as CSSStyle to set_style_property.
      mshtml: Pass style as CSSStyle to set_style_property_var.
      mshtml: Pass style as CSSStyle to get_style_property.
      mshtml: Pass style as CSSStyle to get_style_property_var.
      mshtml: Move style zoom property implementation to IHTMLCSSStyleDeclaration.
      mshtml: Move backgroundPosition[XY] properties implementation to IHTMLCSSStyleDeclaration.
      mshtml: Move IHTMLCSSStyleDeclaration implementation to CSSStyle.
      mshtml: Move IHTMLCSSStyleDeclaration2 implementation to CSSStyle object.
      server: Introduce kernel_object struct for generic association between server and kernel objects.
      server: Store pointers to objects created by kernel_object_from_handle in server.
      server: Allow kernel to keep reference to server objects by client pointer.
      server: Allow queuing IRPs with no file associated.
      server: Notify client about freed object so that it may free associated kernel object.
      ntoskrnl.exe: Support creating event objects from server handle.
      ntoskrnl.exe: Support waiting on kernel objects.
      ntoskrnl.exe: Support event functions on kernel objects.
      mshtml: Add IHTMLCSSStyleDeclaration::getPropertyValue implementation.
      mshtml: Use CSSStyle for HTMLCurrentStyle implementation.
      mshtml: Pass style as CSSStyle to current style property getters.
      mshtml: Use interface agnostic form of dispids for compat_dispid.
      mshtml: Expose IHTMLCSSStyleDeclaration to scripts from current style object.
      mshtml: Introduce map_nsresult and use it in return_nsstr.
      mshtml: Propagate nsIDOMCSSStyleDeclaration errors.
      mshtml: Add IHTMLWindow7::getComputedStyle implementation.
      mshtml: Expose getComputedStyle to scripts.
      mshtml: Handle removeAttribute("filter") calls on detached style objects.
      mshtml: Add IHTMLElement::getClientRects implementation.
      mshtml: Add IHTMLRectCollection implementation.
      mshtml: Alloc proper BSTR size in return_nscstr.
      mshtml: Add IHTMLDocument7::createElementNS implementation.
      mshtml: Add IHTMLDOMNode3::get_namespaceURI implementation.
      mshtml: Add IElementSelector::querySelector implementation.
      mshtml: Support SVG element style.
      mshtml: Move detach_document_node call to HTMLDocumentNode_unlink.
      mshtml: Implement IHTMLElement6::msMatchesSelector.

Jon Doron (1):
      kernel32: Make GetEnvironmentStringsW returns a copy of the environment.

Józef Kucia (39):
      wined3d: Pass swap interval to swapchain ops.
      wined3d: Make adapter partially responsible for filling wined3d caps.
      wined3d: Set 3D device caps in adapter_gl_get_wined3d_caps().
      winevulkan: Update vk.xml to 1.1.104.
      winevulkan: Use blacklist also for instance extensions.
      winevulkan: Enable VK_EXT_swapchain_colorspace.
      winevulkan: Implement VK_EXT_host_query_reset.
      winevulkan: Implement VK_KHR_external_fence_capabilities.
      winevulkan: Implement VK_KHR_external_memory_capabilities.
      winevulkan: Implement VK_KHR_external_semaphore_capabilities.
      winevulkan: Enable a few extensions promoted to core in Vulkan 1.1.
      winevulkan: Enable Vulkan 1.1.
      winevulkan: Trace structure types as decimal numbers.
      winevulkan: Convert VkPhysicalDeviceFeatures2 in VkDeviceCreateInfo chain.
      dxgi: Add support for building with Win32 Vulkan.
      d3d12: Add support for building with Win32 Vulkan.
      d3d12: Load vulkan-1.dll once.
      d3d12: Call vkd3d_serialize_root_signature() directly.
      wined3d: Merge if statements in adapter_gl_get_wined3d_caps().
      wined3d: Introduce a separate structure for OpenGL adapters.
      include/d3d12: Get rid of duplicated prototype.
      wined3d: Unset WINED3DFMT_FLAG_TEXTURE for unsupported shadow textures.
      wined3d: Get rid of special case for shadow textures from wined3d_check_device_format().
      wined3d: Pass context to vp_free() and free_private().
      wined3d: Cleanup CheckDepthStencilCapability().
      wined3d: Always check if format has depth/stencil flags in wined3d_check_depth_stencil_format().
      wined3d: Cleanup CheckRenderTargetCapability().
      wined3d: Cleanup wined3d_check_surface_capability().
      wined3d: Always check format flags in wined3d_check_depth_stencil_match().
      wined3d: Add adapter_check_format() to adapter_ops.
      wined3d: Use adapter_check_format() in wined3d_check_depth_stencil_format().
      wined3d: Call wined3d_check_pixel_format_color() also for adapter format.
      wined3d: Use adapter_check_format() in wined3d_check_render_target_format().
      wined3d: Move pixel formats to wined3d_adapter_gl.
      wined3d: Pass wined3d_adapter to shader_get_caps().
      wined3d: Pass wined3d_adapter to vp_get_caps().
      wined3d: Pass wined3d_adapter to fragment_pipe->get_caps().
      wined3d: Avoid using gl_info in wined3d_get_device_caps().
      wined3d: Get rid of wined3d_check_render_target_format().

Ken Thomases (3):
      msvcrt: Fix vtable alignment on macOS and certain non-x86 architectures.
      msvcp90: Fix vtable alignment on macOS and certain non-x86 architectures.
      .editorconfig: Remove the trim_trailing_whitespace setting.

Lass Safin (1):
      krnl386.exe: Add comment explaining what ZeroBits argument of NtMapViewOfSection is for.

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

Louis Lenders (6):
      explorerframe: Return S_OK in ITaskbarList3 SetThumbnailTooltip method.
      explorerframe: Return S_OK in ITaskbarList3 ThumbBarAddButtons.
      explorerframe: Return S_OK in ITaskbarList3 ThumbBarUpdateButtons method.
      advapi32: Add AuditQuerySystemPolicy stub.
      uianimation.idl: Add more interfaces.
      msi: Add MsiSourceListForceResolution{A,W} stub.

Mark Jansen (2):
      imagehlp/tests: Add tests for ImageLoad, ImageUnload, GetImageUnusedHeaderBytes.
      wintrust/tests: Add tests for WinVerifyTrust.

Matteo Bruni (5):
      d3dx9: Avoid double free on effect initialization failure.
      d3dx9: Simplify effect cleanup.
      d3dx9: Simplify effect init.
      include: Fix D3DXF_FILELOADMEMORY definition.
      d3dx9/tests: Improve D3DXMatrixInverse() test a tiny bit.

Michael Müller (2):
      imagehlp: Implement ImageLoad and cleanup ImageUnload.
      d3dx9/tests: Add initial tests for dummy skin info interface.

Michael Stefaniuc (46):
      sti/tests: Remove useless cast to self.
      d3dx9: Merge the d3dx_effect_GetVertexShader() helper.
      d3dx9: Pass a struct d3dx_effect to get_valid_parameter().
      d3dx9: Pass a struct d3dx_effect to get_valid_pass().
      d3dx9: Pass a struct d3dx_effect to the version helpers.
      d3dx9: Pass a struct d3dx_effect to add_param_to_tree().
      d3dx9: Pass a struct d3dx_effect to get_annotation_by_name().
      d3dx9: Pass a struct d3dx_effect to d3dx9_base_effect_cleanup().
      xaudio2_7/tests: Remove redundant not-NULL checks (coccinellery).
      d3dx9: Move param_tree out of struct d3dx9_base_effect.
      d3dx9: Move full_name_tmp out of struct d3dx9_base_effect.
      d3dx9: Move full_name_tmp_size out of struct d3dx9_base_effect.
      d3dx9: Pass a struct d3dx_effect to get_parameter_element_by_name().
      d3dx9: Don't expose struct d3dx9_base_effect outside effect.c.
      d3dx9: Don't pass a struct d3dx9_base_effect to d3dx9_base_effect_init().
      d3dx9: Pass a struct d3dx_effect to d3dx9_create_object().
      d3dx9: Move technique_count out of struct d3dx9_base_effect.
      d3dx9: Use get_version_counter_ptr() instead of open coding it.
      d3dx9: Move parameters out of struct d3dx9_base_effect.
      d3dx9: Move techniques out of struct d3dx9_base_effect.
      quartz: Remove useless casts to self.
      propsys: Remove useless cast to self.
      comdlg32: Avoid using the comma operator.
      gdiplus: Avoid using the comma operator.
      iphlpapi: Drop unneeded continue statements (coccinellery).
      d3dx9: Avoid using 'This' in d3dx_effect_GetPool().
      d3dx9: Merge the two pool fields of struct d3dx_effect.
      d3dx9: Avoid using This in d3dx_effect_Clone().
      d3dx9: Move flags out of struct d3dx9_base_effect.
      d3dx9: Get rid of struct d3dx9_base_effect.
      d3dx9: Secure against unsafe iface to COM object transitions.
      d3d9/tests: Remove redundant not-NULL checks (coccinellery).
      dmcompos: Use HIWORD / LOWORD instead of open coding them.
      dmscript: Use HIWORD / LOWORD instead of open coding them.
      dmusic: Use HIWORD / LOWORD instead of open coding them.
      dmusic: Use dump_DMUS_OBJECTDESC() instead of open coding it.
      dswave: Use HIWORD / LOWORD instead of open coding them.
      mstask: Avoid using the comma operator.
      oleacc: Avoid using the comma operator.
      wineoss.drv: Remove useless cast to self.
      winealsa.drv: Remove useless cast to self.
      cmd: Avoid using the comma operator.
      shell32: Avoid using the comma operator.
      oleaut32/tests: Remove useless casts to self.
      d3d8: Actually test two return values.
      d3d9: Actually test two return values.

Nikolay Sivov (56):
      mferror: Add error messages dll.
      mfplat: Implement Compare() for attributes.
      mfplat: Get rid of variant coercion calls.
      mfplat: Take a shortcut when comparing attribute with mismatching type.
      mfplat: Add sample timestamp and duration methods.
      mfplat: Add some sample attributes guids.
      mfreadwrite: Query presentation descriptor on reader creation.
      mfplat/tests: Skip more tests on older systems.
      mfreadwrite: Subscribe to source events on reader creation.
      mfreadwrite: Shut down source on reader destruction.
      mfreadwrite: Forward GetPresentationAttribute() to descriptor when appropriate.
      mfreadwrite: Implement GetServiceForStream() for media source.
      mfreadwrite: Determine first streams on reader creation.
      mfreadwrite: Implement stream selection methods for source reader.
      mfreadwrite: Implement GetNativeMediaType() for source reader.
      mfplat: Add media source attribute guids.
      mfreadwrite: Support source configuration with MF_SOURCE_READER_MEDIASOURCE_CONFIG.
      mfreadwrite: Keep async callback reference for the reader.
      mfreadwrite: Add support for MF_SOURCE_READER_DISCONNECT_MEDIASOURCE_ON_SHUTDOWN.
      mfplat: Add event attributes guids.
      mfreadwrite: Forward remaining indices in GetPresentationAttribute() to stream descriptors.
      mfreadwrite: Add partial implementation of SetCurrentPosition() for source reader.
      mfplat/tests: Add stream descriptor tests.
      mfplat: Implement GetMajorType() for stream descriptor.
      mfplat: Forward CopyAllItems() for presentation descriptor.
      mfplat: Implement MFCalculateImageSize().
      mfplat: Implement MFCompareFullToPartialMediaType().
      mfplat: Implement attributes serialization.
      mfplat: Implement attributes deserialization.
      mfplat: Print warning instead of fixme for unsupported interfaces in attributes object.
      mfplat: Remove typedef for attributes structure.
      mfplat: Implement media type wrapping.
      mfplat: Implement IStream-based bytestream object.
      mfplat: Set capabilities flags for IStream-based bytestream object.
      mfplat: Set default attributes for file-based bytestream object.
      mfplat: Add IMFGetService stub for file-based bytestream.
      mfplat: Create dummy descriptor using public API.
      mfplat: Add more attributes guids.
      mfplat: Add tracing for media formats guids.
      mfplat: Implement MFCreateMFByteStreamWrapper().
      mfplat: Use existing helper for BeginWrite() too.
      mfreadwrite: Use single helper for source reader creation functions.
      mfreadwrite: Set url hint from stream content.
      mfplat: Keep file handle open for file stream.
      mfplat: Return capabilities for file stream.
      mfplat: Fix return value for IsCompressedFormat().
      winegstreamer: Use init-once API to initialize library.
      winegstreamer: Get rid of allocated arguments array.
      winegstreamer: Print current and build version of GStreamer.
      winegstreamer: Actually pin module on initialization.
      mfplat: Use current stream position when async request is made.
      po: Update Russian translation.
      include: Add IMFMediaStream definition.
      mfplat: Fix EndCreateObject*() when events are used.
      mfplat: Use correct callback for CreateObjectFromURL().
      mfplat: Add traces for attributes methods of IMFMediaType.

Oliver Henning (1):
      po: Fix German translation.

Paul Gofman (11):
      ddraw: Deny adding the same light to viewports multiple times.
      ddraw/tests: Port test for adding the same light to viewports multiple times for ddraw2.
      ddraw/tests: Port test for adding the same light to viewports multiple times for ddraw1.
      ddraw: Do not set ambient light component for d3d[1-4].
      ddraw/tests: Test lighting with ambient light and material in ddraw2.
      wined3d: Treat zero shininess as no specular lighting in legacy lighting mode.
      d3d9/tests: Test specular lighting with zero shininess.
      d3d8/tests: Test specular lighting with zero shininess.
      ddraw/tests: Test specular lighting with zero shininess in ddraw7.
      ddraw/tests: Test specular lighting with zero shininess in ddraw4.
      ddraw/tests: Test specular lighting with zero shininess in ddraw2.

Piotr Caban (28):
      msvcrt: Fix long limits in _atol_l.
      msvcrt: Don't detect overflow in atol implementation.
      msvcrt: Correctly set _stat64.st_dev fields in _wstat64.
      msvcrt: Use correct locale when comparing strings in getenv.
      kernel32: Restore C locale for LC_CTYPE category.
      ntdll: Fix tolower implementation to not depend on locale.
      ntdll: Use ANSI code page in toupper.
      ntdll: Use NTDLL_tolower in _memicmp.
      ntdll: Use NTDLL_tolower in _strlwr.
      ntdll: Fix _strnicmp implementation to not depend on locale.
      ntdll: Use _stricmp instead of strcasecmp.
      ntdll: Use NTDLL_tolower instead of toupper.
      ntdll: Don't use toupper in RtlIsNameLegalDOS8Dot3 tests.
      msvcrt: Use internal tolower implementation.
      msvcrt: Use internal toupper implementation.
      msvcrt: Use _stricmp instead of strcasecmp.
      msvcrt: Use _strnicmp instead of strncasecmp.
      msvcp90: Add support for more creation flags in _Mtx class.
      ntdll: Use RtlUpperChar in _strupr implementation.
      kernel32: Don't use toupper.
      kernel32: Don't use strcasecmp.
      winmm: Don't use toupper.
      Revert "kernel32: Restore C locale for LC_CTYPE category.".
      oleaut32: Don't use strcasecmp.
      wldap32: Don't use strcasecmp.
      winhttp: Don't use strcasecmp.
      winemapi: Don't use strcasecmp.
      msvcp140: Don't forward __ExceptionPtrDestroy to msvcr120.

Sebastian Lackner (2):
      winex11: Forward all clipping requests to the right thread.
      wintrust/tests: Add some additional tests.

Stefan Dösinger (3):
      ddraw: Don't operate on stored invalid clippers.
      ddraw/tests: Test invalid clipper objects.
      wined3d: Adjust video memory when resizing swapchain buffers.

Sveinar Søpler (1):
      wined3d: Add GPU information for the NVIDIA RTX series.

Thomas Faber (1):
      riched20: Implement MSVC asm wrappers.

Vijay Kiran Kamuju (1):
      imagehlp/tests: Add initial tests for CheckSumMappedFile.

Vincent Povirk (1):
      appwiz.cpl: Search /opt/wine for addons.

Zebediah Figura (19):
      quartz/systemclock: Avoid using the sink structure pointer as a cookie.
      quartz/systemclock: Store all the sinks in a single list.
      quartz/systemclock: Clean up the remaining IUnknown methods.
      quartz/systemclock: Get rid of the SystemClockImpl typedef.
      wined3d: Make wined3d_device_set_texture() infallible.
      wined3d: Get rid of the "src_state" local variable from wined3d_stateblock_capture().
      msi: Don't fail the BindImage action if the BindImage table is absent.
      msi: Append the custom action client PID to the endpoint name.
      wined3d: Clean up lights in wined3d_stateblock_cleanup().
      msi/tests: Test calling more functions from custom actions.
      msi: Return MSIDBSTATE_ERROR when MsiGetDatabaseState() is called from a custom action.
      msi: Return ERROR_INVALID_HANDLE when MsiDatabaseApplyTransform() is called from a custom action.
      msi: Return ERROR_INVALID_HANDLE when MsiDatabaseExport() is called from a custom action.
      msi: Return ERROR_INVALID_HANDLE when MsiDatabaseImport() is called from a custom action.
      msi: Return ERROR_INVALID_HANDLE when MsiEnableUIPreview() is called from a custom action.
      msi: Return ERROR_INVALID_HANDLE when MsiOpenPackage() is called from a custom action.
      msi/tests: Separate and expand tests for MsiViewGetError().
      msi: Perform partial copies in MsiViewGetError().
      msi: Handle the remote case in MsiViewGetError().

Zhiyi Zhang (12):
      setupapi/tests: Test phantom value after device creation.
      setupapi: Set phantom value after device creation.
      setupapi: Implement SetupDiOpenDeviceInfoW().
      setupapi: Implement SetupDiOpenDeviceInfoA().
      setupapi/tests: Add SetupDiOpenDeviceInfo() tests.
      setupapi/tests: Add more SetupDiCreateDeviceInfo() tests.
      setupapi: Check registered device duplicate in SetupDiCreateDeviceInfo().
      include: Add more SetupAPI property keys.
      hidclass.sys: Handle create existent device failure.
      winebus.sys: Handle create existent device failure.
      include: Avoid type redefinition.
      kernel32: Add DECLSPEC_HOTPATCH to VirtualAllocEx().

--
Alexandre Julliard
julliard@winehq.org
