commdlg: Add support for 16-bit file dialog hooks.
[wine.git] / ANNOUNCE
bloba805199f527647a0b8448a9d014f260021467391
1 The Wine development release 4.0-rc1 is now available.
3 This is the first release candidate for the upcoming Wine 4.0. It
4 marks the beginning of the code freeze period. There have been many
5 last minute changes, so please give this release a good testing to
6 help us make 4.0 as good as possible.
8 What's new in this release (see below for details):
9   - Preloader implemented on mac OS.
10   - Mouse cursor support on Android.
11   - Updates to the timezone database.
12   - Vulkan support updated to the latest spec.
13   - Stream I/O support in WebServices.
14   - Better palette support in WindowsCodecs.
15   - Synchronization objects support for kernel drivers.
16   - Various bug fixes.
18 The source is available from the following locations:
20   https://dl.winehq.org/wine/source/4.0/wine-4.0-rc1.tar.xz
21   http://mirrors.ibiblio.org/wine/source/4.0/wine-4.0-rc1.tar.xz
23 Binary packages for various distributions will be available from:
25   https://www.winehq.org/download
27 You will find documentation on https://www.winehq.org/documentation
29 You can also get the current source directly from the git
30 repository. Check https://www.winehq.org/git for details.
32 Wine is available thanks to the work of many people. See the file
33 AUTHORS in the distribution for the complete list.
35 ----------------------------------------------------------------
37 Bugs fixed in 4.0-rc1 (total 43):
39    5402  Multiple MFC-based apps crash during non-modal child dialog control creation with active window being zero (Canon PhotoStitch 3.1.13, Flexible Renamer v8.4)
40   16845  Radio buttons not being checked on focus
41   23750  SpongeBob SquarePants: Diner Dash 2 - mouse has pink background
42   28810  d3dx9_36/tests/mesh.ok: D3DXLoadMeshTest fails under valgrind
43   29183  Heavy corruption when rendering edit control with WM_PRINTCLIENT and possibly invalid HDC
44   33117  Can't load Bach41.ttf with CreateFontIndirect
45   35367  Multiple applications crash due to Wine ole32 code not taking implicit MTA into account (Cyberlink Powerdirector 8, PDFXChange Editor 5.5)
46   37863  Halo only works using Nvidia graphics
47   38228  Wildstar game failed to download :  `winhttp:session_set_option 0` and `wine client error:41b: pipe: Too many open files`
48   40031  Singularity: In Steam the game is still running after quit
49   40880  Commandos 3: Destination Berlin demo has sound issues
50   40971  Zombie Army Trilogy crashes before the menu
51   41404  WPS Office 10.1.0.5775 unhandled exception on installation
52   41488  ProfitChart RT crashes at startup
53   42010  ReactOS Calc does not show dots in radio buttons.
54   42255  Xenia emulator needs ntdll.dll.RtlAddGrowableFunctionTable implementation
55   42474  Multiple applications crash on unimplemented function api-ms-win-core-path-l1-1-0.dll.PathCchCombineEx (Python 3.6, AutoFlashGUI, RenderDoc)
56   42582  Murdered: Soul Suspect has messed up rendering
57   43584  Hitman: Absolution needs dxgi_output_GetGammaControlCapabilities
58   43745  Graywalkers Purgatory demo has wrong models rendering
59   43889  Gradient is inverted when using gdiplus
60   44015  Steam - fails to load UI since Wine 2.20 (due to dwrite commit)
61   44177  Guitar Pro 5: Long freezes during draw process of dashed lines (P.M. or let ring markers)
62   44588  Many kernel drivers need support for kernel synchronization objects (event, semaphore, mutex) (BattleEye's 'bedaisy.sys', Franson VSerial service 'bizvserialnt.sys')
63   44897  Multiple applications using Crashpad/Chromium/CEF in Win7+ mode crash on unimplemented function ntdll.RtlGetUnloadEventTraceEx (Steam client)
64   44999  Python 3.6.5 crashes due to unimplemented function api-ms-win-core-path-l1-1-0.dll.PathCchCanonicalizeEx.
65   45431  Multiple D3D11 games deadlock in IDXGISwapChain::ResizeTarget while trying to resize window (Crash Bandicoot N. Sane Trilogy, Dragon Age: Inquisition)
66   45453  Guild Wars 2: Launcher crashes with assertion "jobThreads && (jobThreads <= hardwareThreads)"
67   45627  mdac28 fails to install (SetupDefaultQueueCallbackW copy error 32 L"C:\\users\\austin\\Temp\\IXP000.TMP\\msdaorar.dll")
68   46093  GRLevel3 2.52 fails to start, hangs indefinitely
69   46099  Star Citizen not loading after implementation of WaitOnAddress() in wine
70   46140  .NET applications using 'WebRequest' API with MS .NET Framework crash when IPv4/6 is disabled in Linux kernel
71   46142  Games launched through Windows Steam no longer launch.
72   46161  Wine: Wrong GnuTLS usage?
73   46168  dotnet35sp1 installer has an error under wow64
74   46172  Multiple applications from Windows 7-10 crash on unimplemented function slc.dll.SLGetLicensingStatusInformation
75   46173  Used e-Sword successfully a few months ago, but when I try now I get a Program Error.
76   46179  Multiple Windows 10 ARM{32,64} apps need 'kernel32.dll.GetCurrentThreadStackLimits' to get stack start address
77   46180  wineserver does not release atom on unregistering window classes
78   46186  LoadImageA searches images in the wrong directory
79   46210  explorer /desktop leaks atoms from DDE interface
80   46229  server/ptrace: NetBSD debug register storage
81   46235  Opening ADODB.Connection results in: Method '~' of object '~' failed
83 ----------------------------------------------------------------
85 Changes since 3.21:
87 Akihiro Sagawa (8):
88       gdi32: Try Fontconfig substitutions when the font face is missing.
89       loader/wine.inf: Remove obsolete time zone entries.
90       loader/wine.inf: Remove non-standard Chile Standard Time.
91       loader/wine.inf: Update display names as seen in mapping tables.
92       ntdll: Use an MUI time zone name if available.
93       kernel32: Resolve an MUI time zone name.
94       tzres: Add time zone name resource DLL.
95       wine.inf: Add MUI time zone name settings.
97 Alex Henrie (44):
98       advapi32: Turn several string variables into static constants.
99       advpack: Turn variable 'prefix' into a static constant.
100       amstream: Make constants 'filternameW' and 'sourceW' static.
101       atl: Make constants 'AtlAxWinW' and 'AtlAxWinLicW' static.
102       hhctrl.ocx: Make constant 'szHTMext' static.
103       midimap: Turn variable 'throughportW' into a static constant.
104       mscms: Turn variables 'slash' and 'spec' into static constants.
105       msi: Turn several variables and constants into static constants.
106       netapi32: Make constant 'admins' static.
107       ntoskrnl.exe: Make several string constants static.
108       oleaut32: Make constant 'szAccept' static.
109       oledb32: Turn variable 'format' into a static constant.
110       secur32: Turn variables 'bs' and 'ds' into static constants.
111       setupapi: Turn several constants and variables into static constants.
112       ieframe: Turn several variables into static constants.
113       jscript: Make several constants static.
114       mshtml: Turn several constants and variables into static constants.
115       mscoree: Make several string constants static.
116       dmusic: Make constant 'emulated' static.
117       dwrite: Make constant 'globaldefaultW' static.
118       gdi32: Turn variable 'fake_nameW' into a static constant.
119       riched20: Turn several constants and variables into static constants.
120       shlwapi: Turn several constants and variables into static constants.
121       winspool.drv: Make constant 'fmtW' static.
122       wsdapi: Turn a constant and several variables into static constants.
123       shdocvw: Make constants 'wszCLSID' and 'wszInitPropertyBag' static.
124       vbscript: Make constant 'html_delimiterW' static.
125       winex11.drv: Make several constants static.
126       winex11.drv: Correct spelling of "plug-n-play".
127       ntdll: Add RtlGrowFunctionTable stub.
128       comctl32: Make constant 'mdays' static.
129       comdlg32: Turn several variables into static constants.
130       cryptui: Turn static variable 'import_filters' into a constant.
131       dinput: Turn two variables into static constants.
132       inetcomm: Make several constants static.
133       oledb32: Make constant 'hexchars' static.
134       qcap: Make constants 'msg' and 'VFWIndex' static.
135       uxtheme: Turn a variable and a constant into static constants.
136       wineandroid.drv: Turn variable 'options' into a static constant.
137       browseui: Have a single empty wide string at the top of progressdlg.c.
138       cryptui: Have a single empty wide string at the top of main.c.
139       d3dcompiler: Turn variable 'components' into a static constant.
140       ole32: Turn several variables into static constants.
141       windowscodecs: Make constant 'valuename_format' static.
143 Alexandre Julliard (20):
144       makefiles: Create 64-bit wine loader symlinks in the WoW64 build tree.
145       makefiles: Create 64-bit winewrapper symlink in the WoW64 build tree.
146       wineandroid: Avoid using deprecated Build.CPU_ABI.
147       wineandroid: Wrap Java calls to preserve %gs on x86_64.
148       wineandroid: Support for setting the cursor on Android >= N.
149       wineandroid: Enable some Java compiler warnings.
150       user32: Fix wraparound check to avoid gcc optimization.
151       makefiles: Support specifying installed files in the top-level makefile.
152       libwine: Add a helper function to read a symlink.
153       libwine: Look for the 64-bit wineserver using the 64-bit loader symlink.
154       configure: Don't create fonts and server symlinks in the WoW64 build tree.
155       configure: Allow building a WoW64 tree inside the source directory.
156       makefiles: Output rules for building generated .rc files.
157       makefiles: Look in the extra targets for dependencies.
158       makefiles: Expand more variables into the generated makefiles.
159       wineandroid: Generate assets checksum from the gradle build file.
160       wineandroid: Specify the window scale directly in the constructor.
161       wineandroid: Add a helper function to update a window surface.
162       makefiles: Remove some unused variables.
163       loader: Duplicate some preloader code instead of trying to share it.
165 Alistair Leslie-Hughes (5):
166       comsvcs: Implement IDispenserManager RegisterDispenser.
167       comsvcs: Implement IHolder Alloc/Free Resource.
168       comsvcs: Add initial tests.
169       comctl32/edit: Don't set caret position when we don't have focus.
170       ext-ms-win-ntuser-misc-l1-2-0: Add dll.
172 Andreas Maier (5):
173       dbghelp: Use correct record in codeview_snarf_public.
174       dbghelp: Add SYMFLAG_- and SYMTYPE_-defines.
175       dbghelp: Set correct values in symt_fill_sym_info (SYMBOL_INFO).
176       dbghelp: Set last error for SymGetModuleBase-calls to ERROR_MOD_NOT_FOUND.
177       dbghelp: SymFromAddr: Handle 2 or more symbols at the same address correct.
179 Andrew Eikum (1):
180       winegcc: Pass -static-libstdc++ to the linker.
182 Andrey Gusev (7):
183       slc: Add SLGetLicensingStatusInformation stub.
184       ntdll/tests: Fix a typo in comment.
185       shell32: Fix a typo in comment.
186       kernel32/tests: Fix typos in ok() messages.
187       oleaut32: Fix a typo in FIXME() message.
188       riched20/tests: Fix typos in ok() messages.
189       usp10/tests: Fix a typo in ok() message.
191 André Hentschel (1):
192       kernel32: Implement GetCurrentThreadStackLimits.
194 Aric Stewart (1):
195       hid: Implement HidP_SetUsageValue.
197 Austin English (1):
198       ntdll: Add RtlAddGrowableFunctionTable stub.
200 Brendan McGrath (2):
201       msi: Set stale function pointers to NULL.
202       ntdll: Use 32bit when COM header marks it required.
204 Daniel Ansorregui (1):
205       wined3d: Simplify "glsl_generate_ffp" texture projection.
207 Daniel Lehman (1):
208       wininet: Always check if context can be deleted when freeing netconn.
210 Denil Verghese (1):
211       libwine: Fix missing semi-colon.
213 Dmitry Timoshkov (33):
214       user32: Don't force a combobox repaint on WM_SIZE.
215       user32: Move the auto radio button group logic from BM_SETCHECK to WM_LBUTTONUP handler.
216       user32/tests: Add a message test for group of radio buttons.
217       user32/tests: Simplify the test for BM_CLICK on autoradio button by using a dialog.
218       user32/tests: Add a test for navigating a group of buttons using keyboard events.
219       user32: Add support for navigating a group of radio buttons using a keyboard.
220       user32/tests: Add a focus test for an empty dialog that returns TRUE in WM_INITDIALOG.
221       user32: If there is no dialog controls to set focus to then set focus to dialog itself.
222       gdi32: Improve detection of symbol charset for old truetype fonts.
223       gdi32/tests: Add some additional tests for ExtExtOut on a path for an EMF DC.
224       gdi32: ExtTextOut on a path with bitmap font selected shouldn't fail.
225       gdi32/tests: Explicitly test BeginPath() return value in the metafile path tests.
226       oleaut32: Accept DISP_E_PARAMNOTFOUND for missing optional parameters in ITypeInfo::Invoke implementation.
227       crypt32: Use sizeof(WCHAR) instead of 2.
228       crypt32: Pass type and flags in correct order to the find() helper.
229       windowscodecs: Use V_UI1() instead of V_UNION() to assign a VT_UI1 variant member.
230       windowscodecs: Limit number of colors in a palette in BMP decoder.
231       windowscodecs: find_decoder() should return an error it received from the decoder.
232       windowscodecs: PNG decoder should return WINCODEC_ERR_UNKNOWNIMAGEFORMAT when image loading fails.
233       windowscodecs/tests: Add tests for encoding 2bpp/4bpp images with a palette.
234       windowscodecs: Add support for palette image formats to TIFF encoder.
235       windowscodecs: Add support for palette image formats to BMP encoder.
236       windowscodecs: Implement IWICBitmapEncoderInfo::GetFileExtensions.
237       windowscodecs: Implement IWICBitmapEncoder::GetEncoderInfo in BMP encoder.
238       windowscodecs: Implement IWICBitmapEncoder::GetEncoderInfo in JPEG encoder.
239       windowscodecs: Implement IWICBitmapEncoder::GetEncoderInfo in TIFF encoder.
240       windowscodecs: Implement IWICBitmapEncoder::GetEncoderInfo in PNG encoder.
241       windowscodecs: Add registration for GUID_WICPixelFormat32bppGrayFloat pixel format.
242       windowscodecs: Implement IWICBitmapDecoder::GetMetadataQueryReader in the TIFF decoder.
243       windowscodecs: Implement IWICBitmapDecoder::GetMetadataQueryReader in the PNG decoder.
244       windowscodecs: Implement IWICBitmapDecoder::GetMetadataQueryReader in the JPEG encoder.
245       windowscodecs/tests: Add some tests for IWICPalette::InitializeFromBitmap.
246       crypt32: If there is no optional parameters set rgProvParam to NULL in CRYPT_KEY_PROV_INFO.
248 Fabian Maurer (2):
249       winealsa.drv: Don't crash when getting NULL event from midi.
250       user32: LoadImage should not only search in the working directory.
252 Frédéric Fauberteau (1):
253       wineserver: Support debug registers on NetBSD.
255 Gabriel Ivăncescu (11):
256       comctl32/tests: Also include LBS_NODATA cases when testing ownerdraw.
257       user32/tests: Also include LBS_NODATA cases when testing ownerdraw.
258       comctl32/listbox: Store the items array size instead of using HeapSize().
259       shell32/autocomplete: Sort the enumerated strings using a helper function.
260       shell32/autocomplete: Implement ACO_FILTERPREFIXES.
261       shell32/tests: Add tests for ACO_FILTERPREFIXES.
262       shell32/autocomplete: Check the edit control in ResetEnumerator instead of whether the object is initialized.
263       shell32/iconcache: Prevent the imagelists from going out of sync when loading an icon.
264       user32/listbox: Use a helper function to check the selection state of an item.
265       user32/listbox: Account for NULL item when painting ownerdrawn list.
266       user32/listbox: Store the items array size instead of using HeapSize().
268 Hans Leidekker (18):
269       winhttp: Use the thread pool for the connection collector.
270       winhttp: Make sure the COM request object is properly initialized.
271       winhttp: Use the thread pool for COM object requests.
272       winhttp: Store Accept headers like the other headers.
273       webservices: Use set_blocking in more places.
274       webservices: Call WsReadEndElement just once in WsReadEnvelopeEnd.
275       webservices: Return HRESULT from read_cmp.
276       webservices: Get rid of read_rewind.
277       webservices: Return HRESULT from read_utf8_char.
278       webservices: Add support for stream input.
279       bcrypt: Support retrieving properties from key handles.
280       webservices: Implement WsFillBody.
281       webservices: Properly check the input buffer type in WsMoveReader.
282       webservices: Add support for stream output.
283       webservices: Use stream I/O for UDP and session-less TCP channel bindings.
284       webservices: Allow calling WsAcceptChannel again with the same channel handle.
285       webservices: Implement WsFlushBody.
286       webservices: Maximize the amount of data read with each recv call.
288 Henri Verbeet (4):
289       wined3d: Do not set WINED3D_TEXTURE_CREATE_MAPPABLE on the logo texture.
290       wined3d: Do not set WINED3D_TEXTURE_CREATE_MAPPABLE on the cursor texture.
291       dxgi: Introduce the IWineDXGISwapChainFactory interface.
292       wined3d: Get rid of the "colRGBA" variable in light().
294 Huw D. M. Davies (1):
295       dbghelp: Fix build failure on macOS.
297 Jacek Caban (12):
298       dsound: Close sleepev handle after releasing audio client.
299       dsound: Wait on thread handle instead of dedicated event in DirectSoundDevice_Release.
300       jscript: Support undefined separator in String.split implementation.
301       jscript: Rename prop_val_t to property_definition_t.
302       jscript: Use separated parser rule for property definition.
303       jscript: Add parser support for getters and setters in object initializer.
304       jscript: Add interpreter support for getters and setters in object initializer.
305       jscript: Add Array.prototype.forEach implementation.
306       include: Add DTLS defines.
307       secur32: Use -VERS-ALL gnutls priority string to disable not enabled protocols.
308       secur32: Check for supported protocols when loading gnutls.
309       secur32: Use VERS-ALL priority string only on recent gnutls versions.
311 Jactry Zeng (1):
312       mshtml: Load xul with LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR.
314 Józef Kucia (24):
315       winevulkan: Update vk.xml to 1.1.94.
316       dxgi/tests: Add test for ResizeTarget() with window procedure.
317       wined3d: Lock wined3d mutex in wined3d_swapchain_resize_target().
318       dxgi/tests: Add separate window thread for test_resize_target_wndproc().
319       d3d8: Avoid locking wined3d mutex around wined3d_swapchain_incref().
320       d3d9: Avoid locking wined3d mutex around wined3d_swapchain_incref().
321       dxgi: Avoid locking wined3d mutex around wined3d_swapchain_incref().
322       wined3d: Lock wined3d mutex in wined3d_swapchain_decref().
323       wined3d: Lock wined3d mutex in wined3d_swapchain_create().
324       wined3d: Introduce wined3d_cs_finish() helper.
325       mfplat: Fix memory allocation in mfsourceresolver_CreateObjectFromByteStream() (Coverity).
326       d3d9: Remove dead code from indexbuffer_init() (Coverity).
327       d3d8: Remove dead code from indexbuffer_init() (Coverity).
328       dxgi: Return S_OK from dxgi_output_SetGammaControl() stub.
329       dxgi/tests: Add basic test for gamma control.
330       wined3d: Introduce wined3d_cs_submit() helper.
331       wined3d: Introduce wined3d_cs_require_space() helper.
332       wined3d: Use wined3d_cs_finish() in swapchain_cleanup().
333       wined3d: Lock wined3d mutex in wined3d_swapchain_present().
334       wined3d: Lock wined3d mutex in wined3d_get_adapter_identifier().
335       d3d8: Do not touch output parameters when d3d8_GetAdapterIdentifier() fails.
336       d3d9: Do not touch output parameter when d3d9_GetAdapterLUID() fails.
337       d3d9: Do not touch output parameter when d3d9_GetAdapterIdentifier() fails.
338       include: Add ntddvdeo.h.
340 Kai Krakow (1):
341       avrt: Add AVRT_PRIORITY_VERYLOW to avrt.h.
343 Ken Thomases (2):
344       loader: Move some code in preparation for adding the Mac preloader.
345       loader: Check if the preloader overlaps the reserved range on the Mac.
347 Marcus Meissner (1):
348       setupapi: Fix size passed to MultiByteToWideChar.
350 Matteo Bruni (1):
351       d3dcompiler: Add an assert checking for writemask sanity in debug_writemask().
353 Michael Müller (4):
354       libwine: Do not restrict base address of main thread on 64 bit mac os.
355       dxgi: Implement dxgi_output_GetGammaControlCapabilities().
356       ntdll: Add stub for RtlGetUnloadEventTraceEx.
357       setupapi: Always return device info from SetupDiGetDeviceInterfaceDetail() if requested.
359 Michael Stefaniuc (7):
360       cmd: Avoid naming conflicts with the global HeapAlloc wrappers.
361       shell32/tests: Remove redundant NULL check before CoTaskMemFree().
362       ddraw: Drop redundant memset() before memcpy().
363       comctl32/tests: Use SetRect() instead of open coding it.
364       shcore: Print the debugstr instead of the pointer to it.
365       ntoskrnl.exe: Drop the WINE_ prefix from debug functions.
366       d3dx9/tests: Use SetRectEmpty() instead of open coding it.
368 Nikolay Sivov (50):
369       dwrite/tests: Add some tests for GetUnicodeRanges().
370       shcore: Turn COM exports to stubs.
371       shcore: Add AppUserModelID stubs.
372       shcore: Add CommandLineToArgvW().
373       shell32: Forward some functions to shcore.dll.
374       shcore: Implement SHCreateMemStream().
375       shcore: Add file-based stream.
376       shcore: Add ThreadRef functions.
377       shcore: Add process reference API.
378       shell32: Forward process reference calls to shcore.
379       shcore: Add SHCreateThread().
380       shcore: Add StrDupA()/StrDupW().
381       gdiplus/tests: Add more tests for gradient brush rectangles.
382       gdiplus: Add a helper to create gradient brush from rectangle.
383       gdiplus: Fix brush transform created with GdipCreateLineBrushFromRect().
384       gdiplus: Remove unused brush fields.
385       wincodecs: Grab TIFF decoder reference when creating frames.
386       shcore: Implement a bunch of string conversion functions.
387       shcore: Add registry value stream functions.
388       shcore: Add SHRegDuplicateHKey().
389       shcore: Add some registry key delete helpers.
390       shcore: Add registry access helpers.
391       shcore: Add IsOS().
392       shcore: Fix return value for file-based Commit().
393       shlwapi: Forward file-base stream calls to shcore.
394       shlwapi: Forward IUnknown_* helpers to shcore.
395       gdi32: Fix function prototype when building without freetype.
396       shlwapi: Forward SHCreateMemStream() to shcore.
397       shlwapi: Forward SHOpenRegStream() to shcore.
398       shlwapi: Forward SHOpenRegStream2() to shcore.
399       shlwapi: Forward IStream helpers to shcore.
400       shlwapi: Forward ThreadRef functions to shcore.
401       user32/listbox: Use helper to test for selected state on painting.
402       user32/listbox: Remove duplicated condition.
403       shlwapi: Forward SHDeleteEmptyKey() to shcore.
404       shlwapi: Forward SHDeleteKey() to shcore.
405       shlwapi: Forward SHEnumValue() to shcore.
406       shlwapi: Forward SHEnumKeyEx() to shcore.
407       shlwapi: Forward SHRegGetIntW() to shcore.
408       windowscodecs: Fix return values for scaler's CopyPalette().
409       windowscodecs: Implement GetContainerFormat() for encoders.
410       windowscodecs/tests: Add more stream tests.
411       windowscodecs: Trace stream methods arguments.
412       windowscodecs: Fix InitializeFromIStream() to simply wrap target stream.
413       shlwapi: Forward SHUnicodeToUnicode() to shcore.
414       shlwapi: Forward SHAnsiToAnsi() to shcore.
415       shlwapi: Forward SHCopyKey() to shcore.
416       shlwapi: Forward IsOS() to shcore.
417       comctl32/listview: Fix NM_CLICK notification when clicking on checkboxes.
418       shlwapi: Remove unused fields.
420 Pierre Schweitzer (3):
421       mpr: Implement remembered connection enumeration.
422       mpr: Implement support for making connections persistent.
423       mpr: Implement support for deleting persistent connections.
425 Piotr Caban (1):
426       msvcp90: Add missing break in time_get::do_get (coverity).
428 Ralf Habacker (2):
429       server: Release atoms when destroying a window class.
430       explorer: Fix atom leaks caused by not releasing DDE interface.
432 Roberto Pungartnik (1):
433       po: Portuguese (Brazil) translation fixes.
435 Roderick Colenbrander (3):
436       ntdll: Parse sysfs cpu_shared_map using helper function.
437       ntdll: Fix parsing thread_siblings bitmaps on high core count systems.
438       ntdll: Print FIXME on systems supporting more CPU cores than supported.
440 Sebastian Lackner (1):
441       loader: Implement preloader for macOS.
443 Serge Gautherie (1):
444       rpcrt4: Fix 'Routeines' typos.
446 Sergio Gómez Del Real (8):
447       riched20: Add destroy_para() helper.
448       riched20: Add get_total_width() to get widest paragraph number.
449       riched20: Move y-adjust to its own function.
450       riched20: Add helper function to mark paragraphs for rewrapping.
451       riched20: Guard paragraph wrapping against special case where type is diTextStart.
452       riched20: Implement list of marked paragraphs.
453       riched20: Cache number of rows in editor.
454       riched20: ME_CheckCharOffsets() calls should only be done when tracing.
456 Sven Baars (2):
457       mf: Return S_OK from IMFMediaSession::Close.
458       mfplat: Improve CreatePresentationDescriptor stub in IMFMediaSource.
460 Zebediah Figura (46):
461       setupapi/devinst: Factor out get_device().
462       setupapi/devinst: Factor out get_device_iface().
463       setupapi/devinst: Factor out get_device_set().
464       setupapi/tests: Remove workarounds in testSetupDiGetINFClassA().
465       setupapi/tests: Remove workarounds in test_SetupDiCreateDeviceInfoListEx().
466       setupapi/tests: Remove workarounds in test_SetupDiOpenClassRegKeyExA().
467       ntoskrnl.exe: Implement KeWaitForMultipleObjects().
468       ntoskrnl.exe: Implement KeInitializeEvent().
469       ntoskrnl.exe: Implement KeSetEvent().
470       ntoskrnl.exe: Implement KeResetEvent().
471       ntoskrnl.exe: Implement KeWaitForSingleObject().
472       ntoskrnl.exe/tests: Add some tests for synchronization functions.
473       ntoskrnl.exe: Implement KeInitializeSemaphore().
474       ntoskrnl.exe: Implement KeReleaseSemaphore() and waiting on semaphores.
475       ntoskrnl.exe: Implement KeInitializeMutex().
476       ntoskrnl.exe: Implement KeReleaseMutex() and waiting on mutexes.
477       ntoskrnl.exe: Implement KeWaitForMutexObject().
478       ntoskrnl.exe: Implement KeClearEvent().
479       setupapi: Store the class and reference string keys in the device_iface structure.
480       ntdll: Avoid inline assembly in do_cpuid().
481       ntdll: Avoid inline assembly in have_cpuid().
482       ntoskrnl.exe: Implement KeInitializeTimerEx().
483       include: Add KeInitializeTimer().
484       ntoskrnl.exe: Implement KeSetTimerEx() and waiting on timers.
485       ntoskrnl.exe: Implement KeCancelTimer().
486       ntoskrnl.exe/tests: Add tests for waiting on timers.
487       ntoskrnl.exe: Implement KeDelayExecutionThread().
488       setupapi: Enforce a maximum device instance ID length.
489       setupapi: Avoid unnecessary buffer allocation in SetupDiCreateDeviceInfoA().
490       setupapi: Avoid unnecessary buffer allocation in SetupDiGetDeviceInstanceIdA().
491       setupapi: Avoid unnecessary buffer allocation in SetupDiCreateDeviceInfoW().
492       setupapi: Avoid unnecessary buffer allocation in SETUPDI_EnumerateMatchingDeviceInstances().
493       dbghelp: Avoid using inline assembly in do_x86cpuid().
494       dbghelp: Avoid using inline assembly in have_x86cpuid().
495       ddraw: Get rid of redundant call to wined3d_stateblock_capture().
496       setupapi: Implement SetupDiRemoveDeviceInterface().
497       setupapi: Completely remove unregistered device interfaces.
498       setupapi: Implement SetupDiRemoveDevice().
499       setupapi: Delete all empty parent keys of a removed device key.
500       wined3d: Use wined3d_state_get_light() in wined3d_state_record_lights().
501       setupapi: Implement SetupDiDeleteDeviceInterfaceData().
502       setupapi: Get rid of the redundant cDevices parameter to struct device.
503       setupapi: Implement SetupDiDeleteDeviceInfo().
504       ntdll: Call the select request directly in RtlWaitOnAddress().
505       ntdll: Use a critical section to ensure that RtlWaitOnAddress compares and queues atomically.
506       setupapi: Use strtoulW().
508 Zhiyi Zhang (5):
509       kernelbase: Implement PathAllocCombine.
510       kernelbase: Implement PathCchCombineEx.
511       kernelbase: Implement PathCchCombine.
512       kernelbase: Implement PathCchAppendEx.
513       kernelbase: Implement PathCchAppend.
516 Alexandre Julliard
517 julliard@winehq.org