1 The Wine development release 7.6 is now available.
3 What's new in this release:
4 - Mono engine updated to version 7.2.0.
5 - More progress on the PE conversion of graphics drivers.
6 - Locale support using the new CLDR-based database.
9 The source is available from the following locations:
11 https://dl.winehq.org/wine/source/7.x/wine-7.6.tar.xz
12 http://mirrors.ibiblio.org/wine/source/7.x/wine-7.6.tar.xz
14 Binary packages for various distributions will be available from:
16 https://www.winehq.org/download
18 You will find documentation on https://www.winehq.org/documentation
20 You can also get the current source directly from the git
21 repository. Check https://www.winehq.org/git for details.
23 Wine is available thanks to the work of many people. See the file
24 AUTHORS in the distribution for the complete list.
26 ----------------------------------------------------------------
28 Bugs fixed in 7.6 (total 17):
30 42309 The Crew (Uplay) crashes at start
31 50158 Oculus Runtime won't start: "Could not load file or assembly 'Daybreak'"
32 51437 If Windows version changes from 7 to 10, Microsoft Edge calls unimplemented function uiautomationcore.dll.UiaRaiseAutomationPropertyChangedEvent
33 52340 wine-mono + RMS Express: COM Port errors connecting to radios
34 52401 Improper synchronization in sock_recv/sock_send leads to arbitrary reordering of completion of I/O requests
35 52616 SteelSeries GG installer crashes on unimplemented function setupapi.dll.SetupQueryInfVersionInformationW
36 52628 game frozen after opening due to infinite loop in winmm.mmioDescend()
37 52638 The 64-bit winmm:mci fails and crashes in test_openCloseWAVE() in Wine
38 52652 Adobe Photoshop 7.0 crashes on startup
39 52658 Swisslog freezes on startup
40 52660 chunk allocator for GL uniform buffers kills performance in World of Warships
41 52668 Sparx Enterprise architect v15.2 1560 crashing on wine 7.4
42 52698 JW Scheduler installer fails to start: "Requires Microsoft .NET Framework 4.5.2"
43 52713 Nota Bene installer has black background
44 52721 d3dx9_36:effect, d3dx11_42:d3dx11 and d3dx11_43:d3dx11 broken by use of vkd3d_shader_compile() for D3DCompile2()
45 52722 Winetricks dotnet installation hangs at wineserver -w
46 52728 wine-7.5 build fails in Ubuntu 18.04
48 ----------------------------------------------------------------
53 shell32: Fix sizeof argument in DoPaste (Coverity).
54 mciwave: Fix bad free in MCI_SendCommandAsync (Coverity).
56 Alexandre Julliard (60):
57 kernelbase: Reimplement LOCALE_SNAME in GetLocaleInfoW/Ex using the locale.nls data.
58 kernelbase: Reimplement LOCALE_SPARENT in GetLocaleInfoW/Ex using the locale.nls data.
59 kernelbase: Reimplement LCIDToLocaleName() using the locale.nls data.
60 kernelbase: Reimplement LOCALE_ILANGUAGE/IDEFAULTLANGUAGE in GetLocaleInfoW/Ex using the locale.nls data.
61 kernelbase: Reimplement LOCALE_*LANGNAME in GetLocaleInfoW/Ex using the locale.nls data.
62 kernelbase: Reimplement LOCALE_*CTRYNAME in GetLocaleInfoW/Ex using the locale.nls data.
63 kernelbase: Reimplement LOCALE_*DISPLAYNAME in GetLocaleInfoW/Ex using the locale.nls data.
64 kernelbase: Reimplement LOCALE_*DEFAULTCODEPAGE in GetLocaleInfoW/Ex using the locale.nls data.
65 kernelbase: Reimplement LOCALE_*DAYNAME in GetLocaleInfoW/Ex using the locale.nls data.
66 kernelbase: Reimplement LOCALE_*MONTHNAME in GetLocaleInfoW/Ex using the locale.nls data.
67 kernelbase: Reimplement LOCALE_*INFINITY/NAN in GetLocaleInfoW/Ex using the locale.nls data.
68 kernelbase: Reimplement LOCALE_*PERCENT in GetLocaleInfoW/Ex using the locale.nls data.
69 kernelbase: Reimplement LOCALE_*AM/PM in GetLocaleInfoW/Ex using the locale.nls data.
70 kernelbase: Reimplement LOCALE_*CURRNAME/CURRENCY in GetLocaleInfoW/Ex using the locale.nls data.
71 kernelbase: Reimplement LOCALE_ICOUNTRY/IGEOID in GetLocaleInfoW/Ex using the locale.nls data.
72 kernelbase: Reimplement LOCALE_SNATIVEDIGITS in GetLocaleInfoW/Ex using the locale.nls data.
73 kernelbase: Reimplement date/time format strings in GetLocaleInfoW/Ex using the locale.nls data.
74 kernelbase: Reimplement calendar options in GetLocaleInfoW/Ex using the locale.nls data.
75 kernelbase: Reimplement misc format values in GetLocaleInfoW/Ex using the locale.nls data.
76 kernelbase: Reimplement LOCALE_FONTSIGNATURE/SOPENTYPELANGUAGETAG in GetLocaleInfoW/Ex using the locale.nls data.
77 kernelbase: Reimplement LOCALE_SSORTNAME in GetLocaleInfoW/Ex.
78 kernelbase: Reimplement number formatting values in GetLocaleInfoW/Ex using the locale.nls data.
79 kernelbase: Reimplement currency formatting values in GetLocaleInfoW/Ex using the locale.nls data.
80 kernelbase: Reimplement misc locale info values in GetLocaleInfoW/Ex using the locale.nls data.
81 kernelbase: Reimplement values computed from currency formats in GetLocaleInfoW/Ex.
82 kernelbase: Reimplement values computed from date/time formats in GetLocaleInfoW/Ex.
83 kernelbase: Reimplement fetching customized values from the registry in GetLocaleInfoW/Ex.
84 kernelbase: Reimplement updating the locale values in the registry on locale change.
85 kernelbase: Reimplement SetLocaleInfoW().
86 kernelbase: Remove the old GetLocaleInfoEx/W implementation.
87 make_unicode: Generate the GeoID table in locale.nls.
88 kernelbase: Reimplement the Geo ID functions using the locale.nls data.
89 kernel32: Move the language group resources to kernelbase.
90 kernel32: Move the error message table to kernelbase.
91 msvcrt: Use EnumSystemLocalesEx instead of directly accessing kernel32 resources.
92 kernel32: Remove the old locale information stored in resources.
93 ntdll: Recognize more script names in Unix locales.
94 kernelbase: Set system/user locales by name if they have no LCID.
95 kernelbase: Check the locale name instead of the LCID to detect changes.
96 oleaut32: Silence error message for unknown languages.
97 widl: Silence error message for unknown languages.
98 wrc: Remove the verify translation mode.
99 wrc: Remove resource dumping support.
100 wrc: Store language as a simple integer.
101 wrc: Store version and characteristics as simple integers.
102 wrc: Use the locale.nls data to determine a language's codepage.
103 wrc: Avoid loading locale.nls when not necessary.
104 makedep: Add dependency on locale.nls for rc files.
105 make_unicode: Generate the calendar table in locale.nls.
106 kernelbase: Reimplement GetCalendarInfoEx/W using the locale.nls data.
107 kernel32: Simplify GetGeoInfoA() implementation.
108 kernel32: Simplify Get/SetCalendarInfoA() implementation.
109 kernelbase: Fix IsValidLocale() and GetLocaleInfo() with special LOCALE_* identifiers.
110 kernelbase: Implement NlsValidateLocale().
111 kernelbase: Reimplement Internal_EnumCalendarInfo() using the locale.nls data.
112 kernelbase: Reimplement Internal_EnumTimeFormats() using the locale.nls data.
113 kernelbase: Reimplement Internal_EnumDateFormats() using the locale.nls data.
114 make_unicode: Update to CLDR version 41.
115 xml2: Import upstream release 2.9.13.
116 xslt: Import upstream release 1.1.35.
119 evr/presenter: Fix hns-to-msec conversion multiplier.
120 evr/presenter: Place early samples back to the front of the queue.
123 windows.media.speech: Add IVector<HSTRING>.
124 windows.media.speech: Add IVectorView<HSTRING>.
125 windows.media.speech: Add IIterable<HSTRING> stubs.
126 windows.media.speech: Add IIterator<HSTRING>.
127 windows.media.speech: Store speech commands in listconstraint.
128 windows.media.speech: Add IVector<Inspectable*>.
129 windows.media.speech: Add IVectorView<Inspectable*>.
130 windows.media.speech: Add IIterable<IInspectable*> stubs.
131 windows.media.speech: Add IIterator<Inspectable*>.
132 windows.media.speech: Implement ISpeechRecognizer_get_Constraints.
133 include/winerror.h: Add missing WinRT HRESULT codes.
134 include/windows.foundation.collections.idl: Set correct return type for IAsyncOperation_GetResults.
135 windows.media.speech: Add tests for IAsyncOperation.
136 windows.media.speech: Add IAsyncOperation<Inspectable*> stub.
137 windows.media.speech: Add IAsyncInfo stub to IAsyncOperation<Inspectable*>.
140 po: Update Korean translation.
143 ntdll/tests: Add some CloseHandle exception tests.
144 ntdll/tests: Test return values from CloseHandle.
145 ntdll: Return success for magic handles.
147 Dmitry Timoshkov (7):
148 kernel32/tests: Add a test to show that services.exe is supposed to run in the session 0.
149 wined3d: Avoid calling _strnicmp() with limit -1.
150 sc: Add support for the 'query' command.
151 sc: Print service status after 'start' and 'stop' commands.
152 sc: Don't silently fail when something doesn't work as expected in a few more places.
153 dwrite/tests: Add some fallback tests for Segoe UI Symbol.
154 ucrtbase/tests: Add a test for wcsnicmp() with limit -1.
157 shell32: Always allocate a whole ITEMIDLIST structure.
158 mciwave: Correctly handle error return status from mmioRead.
159 winmm: Properly handle mmioRead/mmioWrite in case of errors.
160 urlmon: Use I width modifier instead of casting to DWORD.
161 comdlg32: Use I width modifier instead of casting to LONG.
162 mciavi32: Use I width modifier instead of casting to DWORD.
163 iphlpapi: Don't cast SIZE_T to DWORD in trace, use %I instead.
164 mstask: Don't cast size_t to DWORD in trace, use %I instead.
165 schedvc: Don't cast size_t to DWORD in trace, use %I instead.
166 dmstyle: Don't cast size_t to DWORD in trace, use %I instead.
167 dbghelp: Trace 64-bit integers with I64 width modifier.
168 dxdiagn: Use I64 width modifier for 64-bit integers in printf.
169 snmpapi: Trace 64-bit integers with I64 width modifier.
170 winedbg: Trace 64-bit integers with I64 width modifier.
173 mscoree: Update Wine Mono to 7.2.0.
174 mscoree/tests: Build loadpaths.exe as GUI instead of CUI.
175 mscoree/tests: Create csc.exe process as detached.
178 winevulkan: Update to VK spec version 1.3.210.
179 winevulkan: Update to VK spec version 1.3.211.
182 setupapi: Add SetupQueryInfVersionInformationA/W stub.
185 crypt32: Correctly free memory in CNG_ImportRSAPubKey().
186 crypt32: Consistently use CryptMemAlloc/Free().
187 crypt32: Use CRT allocation functions.
188 crypt32/tests: Use wide character string literals.
189 crypt32/tests: Add more OCSP response decoding tests.
190 bcrypt: Fix array index in BCryptEnumAlgorithms().
191 bcrypt: Implement BCryptFreeBuffer().
192 cryptnet: Support verifying certificate revocation with OCSP.
195 wined3d: Return the correct length from config_list_get_value().
196 wined3d: Add GPU information for NVIDIA Tesla T4.
197 wined3d: Spawn a separate thread to adjust the window state of windows belonging to other threads.
199 Huw D. M. Davies (7):
200 winealsa: Add missing includes.
201 wineoss: Introduce a test_connect syscall.
202 wineoss: Pass a buffer to oss_clean_devnode().
203 wineoss: Add a helper to open the device.
204 wineoss: Move get_ossdevice_from_guid() earlier in the file.
205 wineoss: Move get_endpoint_ids to the unixlib.
206 combase: Don't start dllhost if the CLSID key doesn't exist.
209 win32u: Return client menu name from NtUserUnregisterClass.
210 user32: Introduce reply_message_result helper.
211 win32u: Move reply_message_result implementation from user32.
212 user32: Move unpack_message call to User32CallWindowProc.
213 win32u: Move process_sent_messages implementation from user32.
214 win32u: Move NtUserPeekMessage implementation from user32.
215 win32u: Move NtUserGetMessage implementation from user32.
216 win32u: Move NtUserMsgWaitForMultipleObjectsEx implementation from user32.
217 win32u: Move NtUserWaitForInputIdle implementation from user32.
218 user32: Avoid internal structs in post_dde_message.
219 win32u: Move send_internal_message_timeout implementation from user32.
220 win32u: Move __wine_send_input implementation from user32.
221 win32u: Move NtUserSendInput implementation from user32.
222 win32u: Return LRESULT from NtUserMessageCall.
223 win32u: Use public declaration for NtUserPostMessage.
224 win32u: Move SendMessageTimeoutW implementation from user32.
225 win32u: Move SendMessageW implementation from user32.
226 user32: Use NtUserMessageCall for SendMessageTimeoutA implementation.
227 user32: Use NtUserMessageCall for SendMessageA implementation.
228 win32u: Move SendNotifyMessageW implementation from user32.
229 user32: Use NtUserMessageCall for SendNotifyMessageA implementation.
230 win32u: Move SendMessageCallbackW implementation from user32.
231 user32: Use NtUserMessageCall for SendMessageCallbackA implementation.
232 win32u: Add missing return in NtUserExitingThread implementation.
233 win32u: Move NtUserPostThreadMessage implementation from user32.
234 win32u: Move NtUserPostMessage implementation from user32.
235 win32u: Move process_hardware_message implementation from user32.
236 user.exe: Remove no longer used wait_message16.
237 win32u: Move NtUserCloseClipboard implementation from user32.
238 win32u: Improve string duplication helpers.
239 win32u: Move default window text setting to from user32.
240 win32u: Move WM_SETICON implementation from user32.
241 win32u: Move IsWindowEnabled implementation from user32.
242 win32u: Partially move WM_SYSCOMMAND implementation from user32.
243 win32u: Move __wine_set_user_driver implementation from user32.
244 win32u: Don't use CDECL for user driver functions.
245 win32u: Use more consistent NtUserMessageCall constant names.
248 wined3d: Increase the CS queue size.
249 wined3d: Reset and reuse Vulkan descriptor pools.
252 riched20/tests: Add tests for IRichEditOleCallback_QueryInsertObject.
253 riched20: Implement callback to IRichEditOleCallback_QueryInsertObject.
256 po: Update Finnish translation.
259 d3dcompiler: Set initial_filename in D3DCompile2().
260 d3dx11/tests: Fix tests broken by using the HLSL compiler from vkd3d-shader.
261 d3dx9/tests: Fix tests broken by using the HLSL compiler from vkd3d-shader.
262 d3dcompiler: Always use vkd3d-shader's preprocessor.
263 d3dx9/tests: Increase tolerance in a quaternion test.
266 hid: Implement HidD_GetPhysicalDescriptor.
267 propsys: Implement VariantToStringWithDefault.
268 propsys/tests: Add VariantToStringWithDefault tests.
269 ncrypt: Map STATUS_NOT_SUPPORTED to NTE_NOT_SUPPORTED.
270 ncrypt: Warn on invalid flags in NCryptImportKey.
271 wusa: Support wow64 architecture identifier.
272 ncrypt: Implement NCryptIsAlgSupported.
273 ncrypt/tests: Add NCryptIsAlgSupported tests.
274 ncrypt: Map STATUS_NO_MEMORY to NTE_NO_MEMORY.
277 browseui: Use CRT memory allocation functions.
278 browseui/tests: Remove string conversion helper.
279 dbgeng: Use CRT allocation functions.
280 mf/session: Trace seek position in Start().
281 opcservices: Use CRT allocation functions.
282 opcservices/tests: Use wide strings in test data.
283 xmllite: Use CRT allocation functions.
284 xmllite/tests: Use CRT allocation functions.
285 wer: Use CRT memory allocation functions.
286 scrobj: Use CRT allocation functions.
287 scrobj: Fix wrong cleanup logic for factory object.
288 scrobj/tests: Use CRT memory allocation functions.
289 fusion: Use CRT memory allocation functions.
290 sxs: Use CRT memory allocation functions.
291 user32: Add suspend-resume notification API stubs.
292 atl: Use CRT allocation functions.
293 sxs: Use CRT memory allocation functions.
294 explorerframe: Use CRT memory allocation functions.
295 comsvcs: Use CRT memory allocation functions.
296 dxva2: Use CRT memory allocation functions.
297 mfmediaengine/tests: Remove unused header include.
298 sxs/tests: Use CRT memory allocation functions.
299 msxml3/tests: Use CRT memory allocation functions.
300 directmanipulation: Use CRT memory allocation functions.
301 explorerframe/tests: Use CRT memory allocation functions.
302 uianimation: Use CRT allocation functions.
303 include: Add IDebugControl4 definition.
304 dbgeng: Update to IDebugControl4 stub.
305 include: Add IDebugAdvanced3 definition.
306 dbgeng: Update to IDebugAdvanced3 stub.
307 shell32/tests: Use CRT memory allocation functions.
308 xmllite/tests: Use wide string literals for the writer tests.
309 evr/presenter: Make GetCurrentImage() work without output window.
310 mf/session: Use correct format specifier for start position.
311 localui/tests: Use CRT allocation functions.
312 qmgr: Use CRT allocation functions.
313 wmp: Use CRT allocation functions.
314 wmic: Use CRT allocation functions.
315 wmp/tests: Remove unused include.
316 d3drm: Build without -DWINE_NO_LONG_TYPES.
317 dispex: Use CRT memory allocation functions.
318 dispex/tests: Use CRT allocation functions.
319 evr: Cleanup class factory methods.
322 msvcrt/tests: Add test for ioinfo->exflag.
323 msvcr80: Fix ioinfo structure definition.
324 msvcrt: Use newer ioinfo structure for _MSVC_VER >= 80.
325 msvcr90/tests: Test ioinfo structure.
326 ucrtbase: Update ioinfo structure.
329 oleacc/tests: Fix crash when current thread is not in foreground state.
330 msvcr100: Improve ThreadScheduler_ScheduleTask_loc stub.
333 comctl32/tests: Add more static control tests.
334 comctl32: Fix handling of SS_ETCHEDHORZ/SS_ETCHEDVERT static control styles.
335 comctl32: Send WM_CTLCOLORSTATIC for all static control types.
336 comctl32/tests: Fix invalidation in static control tests.
337 comctl32/tests: Remove now unused TODO_COUNT in static control tests.
340 kernel32/tests: Remove GlobalMemoryStatus loop and relax the checks.
341 winegstreamer: Implement H264 decoder GetInputStreamInfo.
342 winegstreamer: Implement H264 decoder GetOutputStreamInfo.
343 winegstreamer: Try creating a wg_transform in the H264 decoder.
344 winegstreamer: Use a GstBufferList for wg_transform input queue.
345 strmbase: Add a separate id for pins.
346 qedit: Use the right SampleGrabber pin names.
347 qcap: Use the right AVICo pin names.
348 quartz: Use the right ACMWrapper pin names.
349 quartz: Use the right AVIDec pin names.
350 quartz: Use the right VideoRenderer pin names.
351 kernel32/tests: Use 0xdeadbeef directly instead of a custom define.
352 kernel32/tests: Clean GlobalAlloc tests and move them together.
353 kernel32/tests: Clean LocalAlloc tests and move them together.
354 kernel32/tests: Add some HGLOBAL/HLOCAL limits tests.
355 kernel32/tests: Add some HGLOBAL/HLOCAL entry layout tests.
356 kernel32: Fix indentation of Global* functions.
357 kernel32: Make Global* traces and identifiers more consistent.
358 kernelbase: Fix indentation of LocalReAlloc.
359 kernelbase: Make (Global|Local)* traces and identifiers more consistent.
360 mf/tests: Fix incorrect array index when formatting blob value.
361 mf/tests: Increase the H264 decoder tests video frame size.
362 dinput/tests: Add some HidD_GetPhysicalDescriptor tests.
363 kernelbase: Check handle validity in unsafe_mem_from_HLOCAL.
364 kernelbase: Check pointer validity in unsafe_ptr_from_HLOCAL.
365 kernel32: Synchronize the HLOCAL helpers with kernelbase.
366 kernelbase: Implement internal KernelBaseGetGlobalData.
367 kernelbase: Allocate HLOCAL / HGLOBAL from a static handle table.
368 winegstreamer: Use a GstAtomicQueue for wg_transform output queue.
369 winegstreamer: Implement H264 decoder Process(Input|Output).
370 winegstreamer: Return S_OK from H264 decoder ProcessMessage.
371 kernelbase: Use the same HLOCAL entry pointer alignment as native.
372 kernelbase: Remove unnecessary handler from LocalLock.
373 kernelbase: Remove unnecessary handler from LocalUnlock.
374 kernelbase: Use the same HLOCAL flags / lock layout as native.
375 kernel32/tests: Add broken results for GlobalMemoryStatus test.
376 kernel32/tests: Cleanup and add more heap layout tests.
377 include: Add CWMAEncMediaObject class declaration to wmcodecdsp.idl.
378 include: Add CCOlorConvertDMO class declaration to wmcodecdsp.idl.
379 include: Add some MEDIASUBTYPE_V* GUIDs to wmcodecdsp.idl.
380 include: Add MFSampleExtension_CleanPoint to mfapi.h.
381 include: Add ACTIVATION_CONTEXT_SECTION_WINRT_ACTIVATABLE_CLASSES declaration.
382 kernel32/tests: Add some activatableClass manifest attribute tests.
383 ntdll: Support activatableClass activation context elements.
384 combase/tests: Add some RoGetActivationFactory tests with manifest.
385 kernel32/tests: Load all test function pointers on init.
386 kernel32/tests: Cleanup heap allocation functions tests.
387 kernel32/tests: Cleanup heap pointer alignment tests.
390 ncrypt/tests: Test for NCryptVerifySignature.
391 ncrypt: Implement NCryptVerifySignature.
394 winemenubuilder: Search for an executable file when no file extension is provided.
395 winemenubuilder: Use the full path name when extracting an icon.
397 Zebediah Figura (11):
398 shell32: Use COM wrappers for IShellPropSheetExt and IShellExtInit.
399 user32: Remove redundant #ifdef around #undef.
400 user32: Compile some functions only on 64-bit architectures.
401 amstream: Use CRT memory allocators.
402 maintainers: Update the path to strmbase.
403 include: Add more URL_* flags.
404 winegstreamer: Disconnect source pins before calling wg_parser_disconnect().
405 winegstreamer: Protect access to the "enabled" field.
406 winegstreamer: Unblock waits in sink_chain_cb() when disabling a stream.
407 winegstreamer: Add traces to Unix call wrappers.
408 qcap/filewriter: Avoid casting to DWORD in an ERR message.
411 uxtheme: Check only the lower 16 bits of the return value of WM_ERASEBKGND.
412 uxtheme/tests: Test WM_ERASEBKGND return value from custom dialog procedures.
413 uxtheme: Return correct WM_ERASEBKGND result from custom dialog procedures.
414 uxtheme: Remove a redundant condition check.
415 setupapi: Return CR_SUCCESS for CM_Get_DevNode_Status{_Ex}.
419 include: Add defines for ID2D1InkStyle.
420 include: Add defines for ID2D1Ink.
421 include: Add defines for ID2D1GradientMesh.
422 include: Add defines for ID2D1ImageSource.
423 include: Add defines for ID2D1ImageSourceFromWic.
424 include: Add defines for ID2D1TransformedImageSource.
425 include: Add defines for ID2D1DeviceContext2.
426 include: Add defines for ID2D1Device2.
427 include: Add defines for ID2D1Factory3.
428 include: Add defines for D2D1YCbCr effect.
429 include: Add defines for D2D1HighlightsShadows effect.
430 d2d1: Add stubs for ID2D1Factory3.
431 d2d1/tests: Add tests for D2D1Grayscale effect.