1 The Wine development release 3.12 is now available.
3 What's new in this release (see below for details):
4 - Unicode data updated to Unicode 11.0.0.
5 - Proxy configuration dialog in the Internet control panel.
6 - Syntax fixes in the Cmd.exe command intepreter.
7 - Some more glyphs in the Wingdings font.
10 The source is available from the following locations:
12 https://dl.winehq.org/wine/source/3.x/wine-3.12.tar.xz
13 http://mirrors.ibiblio.org/wine/source/3.x/wine-3.12.tar.xz
15 Binary packages for various distributions will be available from:
17 https://www.winehq.org/download
19 You will find documentation on https://www.winehq.org/documentation
21 You can also get the current source directly from the git
22 repository. Check https://www.winehq.org/git for details.
24 Wine is available thanks to the work of many people. See the file
25 AUTHORS in the distribution for the complete list.
27 ----------------------------------------------------------------
29 Bugs fixed in 3.12 (total 40):
31 18164 dlls/iphlpapi/ifenum.c: compiler warnings on NetBSD
32 18560 No crosshairs in Starfleet Academy
33 20986 Euler fails to make a computation with maxima.exe: maxima.exe fails to start
34 23048 Unreal Tournament 3 fails and locks up
35 24641 ProPresenter 4.x (.NET 3.5 WPF app) fails on startup (devenum CreateInstance() doesn't support IID_IUnknown)
36 27497 Regedit mangles registry keys containing embedded NULLs
37 29325 Stranded II: laggy mouse pointer in the inventory screen
38 30910 Lighting incorrectly drawn in Alien Shooter
39 34365 Splinter Cell: Blacklist error with d3d_texture:wined3d_texture_apply_state_changes
40 34916 cmd:batch fails on Windows 8 and 8.1
41 35427 Diplomacy (1999) crashes on startup
42 35706 Splinter Cell: Blacklist crashes with Field AO & SSAO
43 35902 Certificates signed using ECDSA signature can not be verified (>= Win Vista - affects EA Origin, Uplay, Blizzard App, MoonBot)
44 36798 kernel32/change.c fails on 3.16.x kernels
45 38599 Heroes of Might & Magic III HD Edition becomes unresponsive after starting a scenario
46 38689 Duke Nukem Forever: intense flickering, screen covered with grey
47 38849 valgrind shows an uninitialized variable in programs/cmd/tests/batch.c:WCMD_assoc
48 39218 advpack:advpack fails if privileges not high enough
49 39222 mstask:task_scheduler fails if privileges not high enough
50 39228 House of Caravan light sources are broken with ARB shaders enabled
51 39238 mscft:inputprocessor fails if privileges not high enough
52 39457 "for /R" tests fail when run in a directory containing spaces
53 40694 Invalid behavior of "C: && echo haha" or "C: & echo haha"
54 40706 FolderMerger cmd not valued, xcopy needs /k support
55 42602 ::CompareItem(LPCOMPAREITEMSTRUCT lpCompareItemStruct) bad sort compared to Windows
56 42823 cmd.exe behaves differently from Win7 regarding redefined labels
57 42931 CMD START: invalid argument
58 43049 League of Legends: massive performance regression
59 44585 Multiple applications and games need ntdll.LdrRegisterDllNotification/LdrUnregisterDllNotification implementation (Firefox 60+, Diablo III v2. 6. 1. 49286+, World of Warcraft, Overwatch)
60 44720 Intel Asteroids Direct3D12 sample requires ninput.dll.CreateInteractionContext
61 44967 xcopy does not copy empty subdirectories if options /s and /e without space
62 45051 cmd.exe for loop does not resolve wildcards with subdirectory
63 45052 cmd.exe: if-statement does not resolve wildcards
64 45355 FrameMaker 8: Abort with specific document due to USER lock error
65 45359 SHGetKnownFolderPath doesn't handle flag KF_FLAG_DONT_UNEXPAND
66 45387 arm64_map_dwarf_register: Don't know how to map register (64-66)
67 45389 odbccp32:misc fails if privileges are not high enough
68 45390 devenum:devenum fails if privileges are not high enough
69 45403 dwarf2_parse_variable(): Assertion `subpgm->func' failed
70 45410 Muv-Luv (Steam) wants USER32.dll.GetAutoRotationState semi-stub
72 ----------------------------------------------------------------
77 include: Add definitions of SERVICES_*_DATABASEW for generic compilers.
78 include: Add missing type declaration to CERT_EFSBLOB_VALUE_NAME.
79 iphlpapi: Cast caddr_t to char* before doing pointer arithmetic.
80 gdi32: Add DECLSPEC_HOTPATCH to GetDIBits.
81 include: Add SYSTEM_FIRMWARE_TABLE_INFORMATION to winternl.h.
83 Alexander Morozov (1):
84 ntoskrnl.exe: Improve KeInitializeTimerEx stub.
86 Alexandre Julliard (8):
87 schedsvc: Only restart the directory watch once we've received data.
88 user32: Don't copy window bits to or from the dummy surface.
89 server: Add a couple of rectangle helper functions.
90 server: Don't clip update regions to the desktop window.
91 comdlg32/filedlg: Resize the Places toolbar along with the dialog.
92 comctl32/taskdialog: Fix pointer cast warnings.
93 user32/tests: Remove a duplicate todo test.
94 user32: Update RedrawWindow behavior with explicit desktop window handle.
96 Alistair Leslie-Hughes (2):
97 user32: Support SPI_S/GETAUDIODESCRIPTION in SystemParametersInfo.
98 ntoskrnl.exe/tests: Add KeInitializeTimerEx tests.
101 msi: Remove checks for negative value.
104 dbghelp: Map SIMD dwarf registers on ARM64.
105 dbghelp: Recompute location after fixing it.
106 ole32/tests: Don't crash if EnumFormatEtc failed.
107 advpack: Use ARRAY_SIZE() macro.
110 po: Update Lithuanian translation.
111 po: Update Lithuanian translation.
112 po: Update Lithuanian translation.
115 winecfg: Recommend against overriding secur32.
117 Dmitry Timoshkov (18):
118 fonts: Add clock images to Wingdings font.
119 mstask: Use current time as trigger begin time when necessary.
120 mstask: Avoid an infinite loop.
121 schedsvc: Minor cleanup.
122 schedsvc: Avoid an infinite loop.
123 schedsvc: Use current time as trigger begin time when necessary.
124 user32/tests: Add a test for WM_MEASUREITEM when inserting an item to an owner-drawn listbox.
125 user32/tests: Add a message test for an owner-drawn sorted listbox.
126 user32/tests: Add some message tests for not an owner-drawn listbox.
127 user32: Fix order of items passed in WM_COMPAREITEM data.
128 user32: Fix the listbox sorting algorithm.
129 user32: For an owner-drawn listbox without strings WM_MEASUREITEM still needs correct itemData.
130 comctl32/listbox: Fix order of items passed in WM_COMPAREITEM data.
131 comctl32/listbox: Fix the listbox sorting algorithm.
132 oleaut32: Don't accept unsupported picture types in OleCreatePictureIndirect.
133 oleaut32: IPicture::get_hPal() supports only bitmaps.
134 oleaut32: IPicture::set_hPal() supports only bitmaps.
135 oleaut32/tests: Add tests for IPicture::get_hPal() and IPicture::set_hPal().
138 msvcrt: Use already existent oneexit_table functions for _onexit and _c_exit.
139 user32: Always release menu item in EnableMenuItem.
140 msvcrt: Use cdecl calling convention for atexit callback.
141 ucrtbase: Add _crt_at_quick_exit stub.
142 ucrtbase: Add quick_exit.
143 ucrtbase: Implement quick_exit and _crt_at_quick_exit.
146 configure: Allow building bcrypt with GnuTLS support on macOS.
149 msvcp120: Add test for Concurrent_vector_grow_by.
150 msvcp120: Add test for Concurrent_vector_grow_to_at_least_with_result.
151 msvcp120: Add test for Concurrent_vector_Internal_resize and reverse.
153 Huw D. M. Davies (1):
154 ntdll/tests: Skip the map protect tests if we can't disable no-exec.
157 cmd: Add support for wildcards in if exist.
158 cmd: Fix subdirectory prefix in for loops.
159 xcopy: Handle multiple switches concatenated without whitespace.
160 xcopy: Return code 1 for no files is never returned.
161 xcopy: Fix copying empty directories.
162 cmd: Support "c:<space>" etc when changing drive letters.
163 cmd: Call and goto finds the next matching label.
164 cmd: Fix issue in WCMD_assoc highlighted by valgrind.
165 xcopy: Add support for xcopy /k.
168 po: Update German translation.
171 include/d3d12: Fix typos.
172 dxgi: Avoid possible NULL pointer access in d3d11_swapchain_SetFullscreenState().
173 wined3d: Fix snorm/unorm immediate values for UAV writes.
174 d3d11/tests: Add test for unorm/snorm immediate constants.
177 po: Update Norwegian translation.
180 po: Update Finnish translation.
181 po: Update Finnish translation.
184 ntoskrnl.exe: Add stub for IoUnregisterPlugPlayNotification.
186 Marcus Meissner (13):
187 hnetcfg: GetModuleFileNameW gets characters, not bytes (Coverity).
188 shell32: Use characters as arguments to GetTempPathW and GetLongPathNameW.
189 kernel32: GetCalendarInfoW gets character sizes.
190 kernel32: GetVolumePathNamesForVolumeNameW gets character as buffer size.
191 psapi: GetProcessImageFileName gets character count as argument.
192 shlwapi: SHGetIniStringW buffer size is in characters.
193 icinfo: vsnprintfw takes characters as buffer size not bytes.
194 d3dx9/tests: Fix string size to MultiByteToWideChar().
195 comctl32/tests: Header item struct gets characters not bytes.
196 comctl32: Treeview item gets characters not bytes passed in.
197 shell32: Set size in characters in MENUITEMINFOW struct.
198 quartz: StringFromGUID2 gets character counts, not bytes.
199 amstream/tests: Use correct buffer size for StringFromGUID2.
202 ntdll/tests: Tests for RtlIpv6StringToAddress.
205 d3dx10: Turn some ERR() into WARN().
206 wined3d: Declare the correct number and type of fragment shader color outputs.
209 crypt32: Implement verification of ECDSA signatures.
210 ntdll: Implement LdrRegisterDllNotification and LdrUnregisterDllNotification.
211 user32: Add semi-stub for GetAutoRotationState.
212 msvcr120: Add stub for _SetWinRTOutOfMemoryExceptionCallback.
214 Michael Stefaniuc (32):
215 gdi32/tests: Use the available ARRAY_SIZE() macro.
216 shlwapi/tests: Use the available ARRAY_SIZE() macro.
217 shlwapi/tests: Pass the correct buffer size to PathUnExpandEnvStringsW().
218 shlwapi/tests: Pass the correct buffer size to WideCharToMultiByte().
219 kernel32/tests: Use the available ARRAY_SIZE() macro.
220 comdlg32/tests: Don't undefine ARRAY_SIZE().
221 user32/tests: Don't undefine ARRAY_SIZE().
222 user32/tests: Avoid a variable that holds an ARRAY_SIZE().
223 kernel32/tests: Avoid ARRAY_SIZE-like macros.
224 user32/tests: Avoid ARRAY_SIZE-like macros.
225 user32/tests: Use the available ARRAY_SIZE() macro.
226 include: Add a generic available ARRAY_SIZE().
227 quartz: Use the more common ARRAY_SIZE spelling.
228 user32: Use the more common ARRAY_SIZE spelling.
229 dinput: Avoid ARRAY_SIZE-like macros.
230 iphlpapi: Avoid ARRAY_SIZE-like macros.
231 mscoree: Use the more common ARRAY_SIZE spelling.
232 wininet: Use the more common ARRAY_SIZE spelling.
233 winhttp: Use the more common ARRAY_SIZE spelling.
234 dssenh/test: Replace a macro with ARRAY_SIZE.
235 serialui: Replace a macro with ARRAY_SIZE.
236 glu32: Avoid an ARRAY_SIZE-like macro.
237 krnl386.exe16: Avoid ARRAY_SIZE-like macros.
238 ole32: Use the more common ARRAY_SIZE spelling.
239 shell32: Avoid ARRAY_SIZE-like macros.
240 winex11.drv: Avoid ARRAY_SIZE-like macros.
241 msvcr100/test: Replace a macro with ARRAY_SIZE.
242 cryptui: Use the ARRAY_SIZE() macro.
243 view: Use the ARRAY_SIZE() macro.
244 oleview: Use the ARRAY_SIZE() macro.
245 netapi32: Use the ARRAY_SIZE() macro.
246 credui: Use the ARRAY_SIZE() macro.
248 Michał Janiszewski (3):
249 ntdll: Only set owned bits in RTL_BITMAP.
250 msvcrt: Don't forget to free the buffer in scanf.
251 msvcrt: Update size checks for secure scanf versions.
254 crypt32: Correctly return how the issuer of a self signed certificate was matched.
255 crypt32: Fix string arguments tracing.
256 tools: Update to Unicode 11.0.0.
257 po: Update Russian translation.
258 comctl32/tests: Add some tests for ownerdrawn listbox.
259 po: Update Russian translation.
260 urlmon: Use ARRAY_SIZE() macro.
263 inetcpl.cpl: Add proxy server settings dialog.
264 inetcpl.cpl: Add partial support for writing DefaultConnectionSettings registry setting.
265 ucrtbase: Test child process exit code.
266 ucrtbase: Report child process test failures in exit() tests.
269 d3d9: Expand rectangles in debug strings.
271 Sebastian Lackner (1):
272 kernel32: Fill stack with meaningful values in call_process_entry mis-align workaround.
274 Zebediah Figura (39):
275 devenum: Implement parsing and reading DMO monikers.
276 devenum: Implement enumerating DMOs.
277 wine.inf: Register mp3dmod DMO.
278 mp3dmod: Support COM aggregation.
279 hnetcfg: Store the full path in INetFwAuthorizedApplication_put_ProcessImageFileName().
280 devenum: Merge factory.c into devenum_main.c.
281 devenum: Use separate factories for CLSID_SystemDeviceEnum and CLSID_CDeviceMoniker.
282 devenum: Make some variables static.
283 devenum: Remove an unused typedef.
284 include: Make fil_data.idl a common header.
285 devenum/tests: DMORegister() returns E_FAIL if unable to access the registry.
286 msdmo: DMORegister() returns E_FAIL if unable to access the registry.
287 odbccp32/tests: Skip SQLGetInstalledDrivers() test if limited.
288 odbccp32/tests: Set requestedExecutionLevel to asInvoker to prevent virtualization.
289 msctf/tests: Set requestedExecutionLevel to asInvoker to prevent virtualization.
290 msctf/tests: Skip tests if limited.
291 hnetcfg: Store the long path in INetFwAuthorizedApplication_put_ProcessImageFileName().
292 regedit: Print Latin-1 characters.
293 dinput: Notify the desktop window when device input is received.
294 strmbase: Implement CBaseFilter::FindPin().
295 winegstreamer: Use CBaseFilter::FindPin().
296 wineqtdecoder: Use CBaseFilter::FindPin().
297 explorer: Wrap the desktop window procedure instead of replacing it.
298 winex11.drv: Wake up the display on user input.
299 strmbase: Update comment for copying pin info.
300 quartz: Inline copying pin info and update comment.
301 psapi/tests: Avoid linking statically to kernel32 functions.
302 winegstreamer: Add a missing debugstr_a.
303 dbghelp/tests: Add a simple test for StackWalk64().
304 winemac.drv: Wake up the display on user input.
305 psapi/tests: Link statically to psapi.
306 psapi/tests: Avoid using PROCESS_ALL_ACCESS.
307 psapi/tests: Avoid failing silently.
308 psapi/tests: Call GetPerformanceInfo() after NtQuerySystemInformation().
309 strmbase: Avoid leaking pFilter in CBaseFilter::FindPin().
310 quartz: Use CBaseFilter::FindPin().
311 strmbase: Use CBaseFilter::FindPin().
312 qcap: Use CBaseFilter::FindPin().
313 amstream: Use CBaseFilter::FindPin().
316 comctl32/taskdialog: Fix buttons might disappear.
317 comctl32/taskdialog: Use dynamic buffer for taskdialog_get_label_size().
318 comctl32/taskdialog: Add support for radio buttons.
319 comctl32/taskdialog: Add support for command links.