gdi32: Treat lpResults as optional in GetCharacterPlacement.
[wine.git] / ANNOUNCE
blob843725014b39765dbf33adb518809116b9f5c539
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.
8   - Various bug fixes.
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 ----------------------------------------------------------------
74 Changes since 3.11:
76 Alex Henrie (5):
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.
100 Andrey Gusev (1):
101       msi: Remove checks for negative value.
103 André Hentschel (4):
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.
109 Aurimas Fišeras (3):
110       po: Update Lithuanian translation.
111       po: Update Lithuanian translation.
112       po: Update Lithuanian translation.
114 Austin English (1):
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().
137 Fabian Maurer (6):
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.
145 Hans Leidekker (1):
146       configure: Allow building bcrypt with GnuTLS support on macOS.
148 Hua Meng (3):
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.
156 Jason Edmeades (9):
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.
167 Julian Rüger (1):
168       po: Update German translation.
170 Józef Kucia (4):
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.
176 Kim Malmo (1):
177       po: Update Norwegian translation.
179 Lauri Kenttä (2):
180       po: Update Finnish translation.
181       po: Update Finnish translation.
183 Louis Lenders (1):
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.
201 Mark Jansen (1):
202       ntdll/tests: Tests for RtlIpv6StringToAddress.
204 Matteo Bruni (2):
205       d3dx10: Turn some ERR() into WARN().
206       wined3d: Declare the correct number and type of fragment shader color outputs.
208 Michael Müller (4):
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.
253 Nikolay Sivov (7):
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.
262 Piotr Caban (4):
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.
268 Rafał Mużyło (1):
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().
315 Zhiyi Zhang (4):
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.
322 Alexandre Julliard
323 julliard@winehq.org