winex11: Always zero terminate XIM composition string buffer.
[wine.git] / ANNOUNCE
blob8557838fb47de237437ce532153fd0dd055ba102
1 The Wine development release 8.7 is now available.
3 What's new in this release:
4   - DXBC shader parsing delegated to vkd3d.
5   - More spool file improvements in the PostScript driver.
6   - Various bug fixes.
8 The source is available at:
10   https://dl.winehq.org/wine/source/8.x/wine-8.7.tar.xz
12 Binary packages for various distributions will be available from:
14   https://www.winehq.org/download
16 You will find documentation on https://www.winehq.org/documentation
18 You can also get the current source directly from the git
19 repository. Check https://www.winehq.org/git for details.
21 Wine is available thanks to the work of many people. See the file
22 AUTHORS in the distribution for the complete list.
24 ----------------------------------------------------------------
26 Bugs fixed in 8.7 (total 17):
28  - #9932   Listview highlight issues when drag&drop enabled
29  - #23647  Street Fighter 4 Benchmark: Flickering screen with parallel rendering enabled
30  - #32089  Window resize enters endless cycle
31  - #32958  ReVolt 1207: Crashes when trying to play Stunt Arena
32  - #33487  Davar bible software not working
33  - #43672  Airscout program 1.2.0.5 does not load under wine 2.0.2
34  - #50249  Shapes On A Plane crashes on start
35  - #51625  Unravel fails to load
36  - #52322  wineserver memory leak during HTTPs download (Genshin Impact Launcher, Qt5)
37  - #54424  user32:edit - test_dbcs_WM_CHAR() fails on Windows in mixed locales
38  - #54464  Multiple games crash on launch (Sekiro: Shadows Die Twice GOTY, Dark Souls III)
39  - #54799  wininet:internet - test_InternetGetConnectedStateExA() fails in the Japanese and Chinese locales in Wine
40  - #54808  Access violation in ntdll when running Adolix Split and Merge PDF with .NET Framework installed
41  - #54815  wininet:internet - test_InternetErrorDlg() fails on Windows 10 1607
42  - #54844  Existing prefixes keep resetting to Win10 when wine is updated
43  - #54856  Final Fantasy XI Online: Opening movie doesn't play (redux part II).
44  - #54882  Conemu fails to start (cannot attach to process)
46 ----------------------------------------------------------------
48 Changes since 8.6:
50 Alex Henrie (2):
51       kernel32/tests: Check that lpSectionBase != NULL before dereferencing.
52       ntdll: Increment offset by len in build_clr_surrogate_section.
54 Alexandre Julliard (18):
55       include: Add some CHPE definitions.
56       winedump: Dump hybrid metadata also for i386 CHPE modules.
57       include: Add the ARM64EC context structure.
58       include: Update the PEB and TEB structures.
59       zlib: Run source files through zlib2ansi to avoid K&R function definitions.
60       makedep: Avoid generating empty dependencies.
61       winedump: Print entry point names in code range lists.
62       kernelbase: Move to a higher address on 64-bit.
63       kernel32: Move to a higher address on 64-bit.
64       ntdll: Reimplement RtlSetBits() to set 32 bits at a time.
65       ntdll: Reimplement RtlClearBits() to clear 32 bits at a time.
66       ntdll: Reimplement RtlAreBitsSet() to check 32 bits at a time.
67       ntdll: Reimplement RtlAreBitsClear() to check 32 bits at a time.
68       ntdll: Reimplement RtlNumberOfSetBits() to check 32 bits at a time.
69       ntdll: Use a separate memory allocation for the kernel stack.
70       ntdll: Use nameless unions/structs for register contexts.
71       include: Add some new ProcThreadAttribute definitions.
72       winedump: Fix printing of code ranges in hybrid modules.
74 Alexandros Frantzis (5):
75       winewayland.drv: Initialize display devices once after process init.
76       tools: Support building Wayland protocol source files.
77       winewayland.drv: Use the output name reported by the compositor.
78       winewayland.drv: Basic support for Windows monitor positioning.
79       winewayland.drv: Infer and report Windows monitor positions.
81 Alistair Leslie-Hughes (1):
82       widl: Suppress a coverity warning.
84 Andrey Gusev (1):
85       dxgi: Update TRACE in dxgi_device_create_resource().
87 André Zwing (1):
88       ntdll: Print RPC_S_SERVER_UNAVAILABLE exceptions.
90 Anton Baskanov (7):
91       winegstreamer: Fix negative height image size calculation.
92       winegstreamer: Call init_gstreamer() in winegstreamer_create_video_decoder().
93       dsound: Remove the unused nAvgBytesPerSec field.
94       dsound: Remove redundant assignments to freqAdjustNum and freqAdjustDen.
95       dsound: Preserve freqAccNum value in DSOUND_RecalcFormat().
96       dsound: Acquire the lock when setting 3D buffer parameters.
97       dsound: Allocate big enough committedbuff up front.
99 Aurimas Fišeras (1):
100       po: Update Lithuanian translation.
102 Bernhard Übelacker (1):
103       ntoskrnl: Do not leak memory by setting input buffer to NULL.
105 Brendan Shanks (4):
106       winemac: Refactor constrain_window_frame() to use separate origin and size arguments.
107       winemac: Set the Cocoa window contentMaxSize to the size limits from constrain_window_frame().
108       winemac: Don't constrain surface dimensions to the onscreen part of a window.
109       msvcrt: Fix crash when rethrowing after a non-C++ exception on x86_64.
111 Byeong-Sik Jeon (2):
112       imm32: Stop updating INPUTCONTEXT hWnd member in ImmGetContext.
113       imm32: Avoid updating INPUTCONTEXT hWnd on ImmSetActiveContext deactivation.
115 Connor McAdams (12):
116       uiautomationcore: Implement UIA_ControlTypePropertyId for default HWND provider.
117       uiautomationcore: Implement UIA_BoundingRectanglePropertyId for default HWND provider.
118       uiautomationcore: Implement NavigateDirection_Parent navigation for default HWND provider.
119       uiautomationcore: Add a default ProviderType_Proxy MSAA bridge clientside provider.
120       uiautomationcore: Implement UiaGetRootNode.
121       uiautomationcore: Implement IUIAutomation::GetRootElement.
122       uiautomationcore: Implement conditional NavigateDirection_Parent navigation.
123       uiautomationcore: Add normalization navigation to UiaGetUpdatedCache.
124       uiautomationcore: Add UiaNodeFromFocus stub.
125       uiautomationcore: Implement UiaNodeFromFocus.
126       uiautomationcore: Implement IUIAutomation::GetFocusedElement{BuildCacheRequest}.
127       uiautomationcore: Retrieve runtime ID on UiaReturnRawElementProvider thread to prevent a deadlock.
129 Davide Beatrici (22):
130       winealsa: Export function to get AudioSessionWrapper object.
131       winecoreaudio: Export function to get AudioSessionWrapper object.
132       wineoss: Export function to get AudioSessionWrapper object.
133       winepulse: Export function to get AudioSessionWrapper object.
134       mmdevapi: Import GetAudioSessionWrapper() from driver.
135       mmdevapi: Implement AudioSessionManager.
136       winealsa: Remove AudioSessionManager.
137       winecoreaudio: Remove AudioSessionManager.
138       wineoss: Remove AudioSessionManager.
139       winepulse: Remove AudioSessionManager.
140       winealsa: Implement functions to lock and unlock sessions.
141       winecoreaudio: Implement functions to lock and unlock sessions.
142       wineoss: Implement functions to lock and unlock sessions.
143       winepulse: Implement functions to lock and unlock sessions.
144       winealsa: Use dedicated macros to call interface functions.
145       winecoreaudio: Use dedicated macros to call interface functions.
146       wineoss: Use dedicated macros to call interface functions.
147       winepulse: Use dedicated macros to call interface functions.
148       winealsa: Move AudioSessionControl into mmdevapi.
149       winecoreaudio: Use mmdevapi's AudioSessionControl.
150       wineoss: Use mmdevapi's AudioSessionControl.
151       winepulse: Use mmdevapi's AudioSessionControl.
153 Derek Lesho (1):
154       winegstreamer: Cache wg_parser input data.
156 Dmitry Timoshkov (1):
157       shell32/tests: Add SHBindToFolderIDListParent() tests.
159 Eric Pouech (6):
160       mf/tests: Add tests about (negative) stride handling.
161       winegstreamer: In video_processor, activate a videoflip converter.
162       winedbg: Let 'break symbol : line' command work again.
163       dbghelp: Use source file path as stored in debug info format.
164       winedbg: Simplify watch command implementation.
165       winedbg: Improve size management in watch command.
167 François Gouget (7):
168       user32/tests: Fix the DBCS WM_CHAR tests in mixed locales.
169       dnsapi/tests: Make DnsQuery()'s CNAME tests more compatible with CDNs.
170       wininet: Add constants for DetectAutoProxyUrl().
171       wininet/tests: Add more proxy tests.
172       kernel32/tests: Fix the ScrollConsoleScreenBuffer() tests on Windows 10 1909.
173       msi/tests: Fix the ok() formats so they match the size of their arguments.
174       msi/tests: Ok_() takes printf-style arguments.
176 Gabriel Ivăncescu (12):
177       mshtml: Implement MediaQueryList's addListener method.
178       mshtml: Implement MediaQueryList's removeListener method.
179       mshtml: Use proper event type for PageTransition events.
180       mshtml: Do not release the principal returned by GetPrincipal.
181       mshtml: Fix factory leak in init_nsio.
182       mshtml: Fix nsIFile dir leak in init_xpcom.
183       mshtml: Fix URI leak in NewURI on failure.
184       mshtml: Store minimum compat mode required for events in the ctor table.
185       mshtml: Support cycle collection for nsChannel.
186       mshtml: Fix nsChannel's load_info leak.
187       mshtml: Pass actual node_ccp to ccref_decr for nodes.
188       mshtml/tests: Fix element leak in elem_fire_event.
190 Giovanni Mascellani (11):
191       mfplat/tests: Test Lock2D() on a locked D3D9 surface buffer.
192       mfplat/tests: Test locking flags for D3D9 buffers.
193       mfplat/tests: Independently test that locking flags are ignored for D3D9 buffers.
194       mfplat: Fix locking flags usage for D3D9 buffers.
195       mfplat/tests: Test Lock2D() on a locked DXGI surface buffer.
196       mfplat/tests: Test locking flags for DXGI buffers.
197       mfplat: Do not mark a DXGI buffer as locked if surface mapping fails.
198       mfplat: Fix locking flags usage for DXGI buffers.
199       mfplat: Only download surface data from GPU for DXGI buffers when reading.
200       mfplat: Only upload surface data to GPU for DXGI buffers when writing.
201       mfplat/tests: Test that the content of DXGI buffers is discarded when locking for writing.
203 Hans Leidekker (1):
204       wine.inf: Use FLG_ADDREG_NOCLOBBER for CurrentMajor/MinorVersionNumber.
206 Henri Verbeet (12):
207       d3dcompiler: Check for minimum bytecode size in d3dcompiler_get_blob_part().
208       d3dcompiler: Check for minimum bytecode size in d3dcompiler_strip_shader().
209       d3dcompiler: Store DXBC sections as vkd3d_shader_dxbc_section_desc structures.
210       d3dcompiler: Use vkd3d_shader_serialize_dxbc() in d3dcompiler_get_blob_part().
211       d3dcompiler: Use vkd3d_shader_serialize_dxbc() in d3dcompiler_strip_shader().
212       d3dcompiler: Use vkd3d_shader_parse_dxbc() in d3dcompiler_get_blob_part().
213       d3dcompiler: Use vkd3d_shader_parse_dxbc() in d3dcompiler_strip_shader().
214       d3dcompiler: Use vkd3d_shader_parse_dxbc() in d3dcompiler_shader_reflection_init().
215       wined3d: Implement shader_extract_from_dxbc() on top of vkd3d_shader_parse_dxbc().
216       vkd3d: Update the version information for release 1.7.
217       d3d10: Implement d3d10_effect_parse() on top of vkd3d_shader_parse_dxbc().
218       d3d10: Implement parse_fx10_preshader() on top of vkd3d_shader_parse_dxbc().
220 Jactry Zeng (2):
221       appwiz.cpl: Process messages while waiting for the uninstaller to terminate.
222       appwiz.cpl: Handle WM_CLOSE and WM_COMMAND(IDCANCEL) in the support info dialog.
224 Jinoh Kang (6):
225       kernel32/tests: Test for activation context switching between fibers.
226       ntdll: Factor out reading current activation context into a helper function.
227       ntdll: Store current activation context stack pointer into a local variable.
228       ntdll: Use ActivationContextStackPointer instead of referencing ActivationContextStack directly.
229       ntdll: Implement RtlFreeActivationContextStack().
230       kernelbase: Implement activation context switching for fibers.
232 Martin Garton (1):
233       msvcrt: Fix typo in #define.
235 Matteo Bruni (2):
236       d3dcompiler/tests: Add a couple tests for minimum size in D3DGetBlobPart().
237       d3dcompiler/tests: Add a couple tests for minimum size in D3DStripShader().
239 Michael Stefaniuc (3):
240       threadpoolwinrt: Forward a Release() to a Release() method.
241       uiautomationcore: Drop superfluous TRUE : FALSE conditional expression.
242       win32u: Use ARRAY_SIZE() instead of open coding it.
244 Mohamad Al-Jaf (9):
245       include: Add windows.graphics.capture.interop.idl file.
246       include: Add appnotify.h file.
247       twinapi.appcore: Add stub DLL.
248       twinapi.appcore: Add RegisterAppStateChangeNotification stub.
249       twinapi.appcore: Add UnregisterAppStateChangeNotification stub.
250       apisetschema: Add api-ms-win-core-psm-appnotify-l1-1-0.
251       shell32: Implement SHBindToFolderIDListParent().
252       shell32/tests: Test SHBindToParent() last parameter behavior.
253       shell32: Fix last parameter behavior in SHBindToFolderIDListParent().
255 Paul Gofman (4):
256       ntdll: Mind LFH pending blocks in RtlDestroyHeap().
257       ntdll: Avoid integer overflow in block_get_subheap().
258       mfplat: Fix returned buffer length in dxgi_surface_buffer_lock().
259       wined3d: Add a comment about mismatched samplers.
261 Piotr Caban (36):
262       wineps: Rename handle count parameter in hmf_proc.
263       wineps: Set text and background color during device creation.
264       wineps: Handle EMR_EXTCREATEFONTINDIRECTW record in spool files.
265       wineps: Handle font selection in spool files.
266       wineps: Store text justification info in print processor data.
267       wineps: Handle EMR_EXTTEXTOUTW record in spool files.
268       wineps: Add BiDi support in EMR_EXTTEXTOUTW record.
269       wineps: Clip visible rectangle to bitmap size in get_vis_rectangles.
270       wineps: Handle EMR_CREATEPALETTE record in spool files.
271       wineps: Handle EMR_SELECTPALETTE record in spool files.
272       wineps: Handle EMR_SETDIBITSTODEVICE record in spool files.
273       wineps: Handle EMR_STRETCHDIBITS record in spool files.
274       wineps: Handle EMR_REALIZEPALETTE record in spool files.
275       wineps: Handle EMR_RESIZEPALETTE record in spool files.
276       wineps: Handle EMR_SETPALETTEENTRIES record in spool files.
277       gdi32: Use EMR_REALIZEPALETTE to record RealizePalette.
278       gdi32: Fix EMR_CREATEPALETTE recording.
279       gdi32: Store palette in EMR_EOF record.
280       gdi32/tests: Add EMF palette tests.
281       wineps: Fix default device font selection.
282       wineps: Fix return value in path drawing routines.
283       wineps: Continue printing if path drawing function returns error.
284       wineps: Reset memory DC state on every page.
285       localspl: Add support for PRINTER_ATTRIBUTE_RAW_ONLY printer attribute.
286       localspl: Validate datatype in StartDocPrinter.
287       wineps: Reset current position on every page.
288       gdi32: Store the printer info in a structure.
289       gdi32: Improve EMF DC cleanup when CloseEnhMetafile is not called.
290       gdi32: Factor out emf_eof helper.
291       gdi32: Factor out emf_create helper.
292       gdi32: Add support for creating EMF spool files.
293       gdi32: Add GdiIsMetaPrintDC implementation.
294       localspl: Add partial support for PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS attribute.
295       gdi32: Implicitly call StartPage while drawing on printer DC.
296       gdi32: Support creating EMRI_DEVMODE records in spool files.
297       wineps: Handle EMRI_DEVMODE record in spool files.
299 Rémi Bernon (11):
300       imm32/tests: Test that ImmSetOpenStatus doesn't set IMMGWL_IMC.
301       imm32/tests: Check IME UI visibility vs ImmSetCompositionWindow.
302       imm32/tests: Check ImmSetActiveContext effect on INPUTCONTEXT hWnd member.
303       imm32: Forward ImmGetContext to NtUserGetWindowInputContext directly.
304       user32: Move WM_IME_COMPOSITION DefWindowProc handlers in separate helpers.
305       user32: Ignore WM_IME_COMPOSITION from the IME UI window in DefWindowProc.
306       imm32: Don't hide/show IME UI window in ImmSetCompositionWindow.
307       imm32: Move ImmAssociateContext(Ex) around.
308       imm32: Update IME UI window IMMGWL_IMC when focus or HIMC changes.
309       imm32/tests: Add some ImmGenerateMessage tests.
310       imm32: Send messages one by one in ImmGenerateMessage.
312 Shaun Ren (2):
313       include: Add more sapi structs and enums.
314       include: Add ISpTTSEngineSite and ISpTTSEngine interfaces.
316 Stefan Dösinger (14):
317       d3dx9: Use __VA_ARGS__ instead of GCCs named variadics.
318       d3dx9/tests: Use __VA_ARGS__ instead of GCCs named variadics.
319       wined3d: Sync depth stencils to both early and late depth test.
320       wined3d: Avoid VK_IMAGE_LAYOUT_GENERAL.
321       wined3d: Fall back to general layout if necessary.
322       d3d9/tests: Radeon GPUs don't draw from sysmem textures.
323       d3d9/tests: Accept AMD GPU sysmem sample failure in test_mipmap_upload.
324       d3d8/tests: Radeon GPUs don't draw from sysmem textures.
325       d3d8/test: Accept AMD GPU sysmem sample failure in test_mipmap_upload.
326       d3dx9: Load D3DAssemble via GetProcAddress.
327       d3dcompiler/tests: Load D3DAssemble via GetProcAddress.
328       d3dcompiler: Make D3DAssemble a private export.
329       d3d9/tests: AMD GPUs sample the border color of cube textures.
330       d3d9/tests: Accept random depth when using a 3D texture with a 2D sampler.
332 Vova Mshanetskiy (2):
333       winhttp: Support WINHTTP_OPTION_PARENT_HANDLE in request_query_option().
334       winhttp: Avoid unnecessary cast in connect_query_option().
336 Zebediah Figura (8):
337       wined3d: Allow retrieving the frontbuffer from a wined3d swapchain.
338       ddraw: Retrieve the frontbuffer directly from wined3d.
339       wined3d: Disable shaderTessellationAndGeometryPointSize.
340       dxgi: Introduce IWineDXGIDeviceParent::register_swapchain_texture() and use it in IDXGIDevice::CreateSurface().
341       dxgi: Create d3d11 swapchain textures directly from d3d11_swapchain_init().
342       d3d9: Move surface allocation to d3d9_surface_create().
343       d3d9: Create sub-resource surfaces manually.
344       d3d9: Pass the container to d3d9_surface_create().
346 Ziqing Hui (3):
347       winegstreamer: Implement wg_format_from_caps_video_wmv.
348       wingstreamer: Create extra decodebin to decode compressed stream.
349       mfreadwrite: Fix an address of operator typo.