1 The Wine development release 7.0-rc1 is now available.
3 This is the first release candidate for the upcoming Wine 7.0. It
4 marks the beginning of the yearly code freeze period. Please give this
5 release a good testing and report any issue that you find, to help us
6 make 7.0 as good as possible.
8 What's new in this release (see below for details):
9 - Reimplementation of the WinMM joystick driver.
10 - All Unix libraries converted to the syscall-based interface.
13 The source is available from the following locations:
15 https://dl.winehq.org/wine/source/7.0/wine-7.0-rc1.tar.xz
16 http://mirrors.ibiblio.org/wine/source/7.0/wine-7.0-rc1.tar.xz
18 Binary packages for various distributions will be available from:
20 https://www.winehq.org/download
22 You will find documentation on https://www.winehq.org/documentation
24 You can also get the current source directly from the git
25 repository. Check https://www.winehq.org/git for details.
27 Wine is available thanks to the work of many people. See the file
28 AUTHORS in the distribution for the complete list.
30 ----------------------------------------------------------------
32 Bugs fixed in 7.0-rc1 (total 32):
34 39244 scrrun:filesystem BOM tests fail in the Korean and Chinese locales
35 47865 comctl32:propsheet: Different button order for some RTL locales in Windows 1809?
36 51049 Sea of Thieves crash when entering a lobby
37 51220 version:info - In Wine the GetFileVersionInfoEx() checks fail in non-English locales
38 51396 cl.exe 64bit fails with internal compiler error, needs support for separated code segments in vcruntime140_1
39 51413 winegcc options with multiple '=' are not handled correctly
40 51748 NIK Dfine2 crashes/hangs (worked before)
41 51821 EVE Online Client Crashes Due to differences in how Wine and Windows handle LdrGetDllPath with dwFlags 0x8 and relative path
42 51833 GetModuleFileNameW no longer works with large buffers
43 51844 winedbg command line arguments are not quoted properly
44 51886 YouTube Movie Maker crashes on unimplemented function gdiplus.dll.GdipSaveAddImage
45 51913 dinput8:device fails on cw-gtx560 and cw-rx460
46 51915 character just run to the left and everything
47 51946 cMUD 3.34 installer crashes
48 51987 Multiple GUI elements are not rendered when using a theme
49 52003 Stack overflow inside xml2.xmlXPathInit function.
50 52060 BCryptExportKey is not implemented for BCRYPT_RSAFULLPRIVATE_BLOB
51 52076 Wrong icons placement when using a theme
52 52080 Light Blue theme causes broken UI in multiple apps (OpenMPT, dgVoodoo Control Panel)
53 52106 dxva2:dxva2 fails in test_progressive_device() on cw-rx460 (AMD)
54 52109 DTS Encoder Suite crashes on start
55 52116 World of Warships: garbled textures and GL_INVALID_OPERATION errors due to invalid PBO access
56 52120 Everquest launcher crash with Wine 6.22
57 52129 EnumCalendarInfo hangs indefinitely when iterating over optional calendars
58 52132 DeviceCapabilities(DC_PAPERSIZE) returns wrong size
59 52141 NetAPI detection in configure is broken
60 52147 osu! fails to load some skin elements of certain skins
61 52173 Kodi crashes on unimplemented function wsdapi.dll.WSDCreateDiscoveryProvider
62 52176 Houkago Cinderella - Promotion Edition doesn't start up due to stack overflow.
63 52184 Initial breakpoint absent when debugging under WinDbg/CDB (build 22000.1)
64 52190 Glyph (access portal for Rift) crashes on start
65 52191 Null pointer dereference in MPEG3_StreamConvert
67 ----------------------------------------------------------------
72 win32u: Use the replacement name in otmpFamilyName and GetTextFace().
73 quartz: Fix a race in IMediaFilter::Pause().
76 shell32: Provide 4-bit icons that are actually limited to 16 colors.
77 msvcp120/tests: Don't check for handle equality in _Thrd_current tests.
78 nsi: Use a whole byte for each nsi_ip_neighbour_dynamic flag.
79 advapi32/tests: Accept more broken values in the RegEnumValue name overflow tests.
81 Alexandre Julliard (36):
82 secur32: Move the pull/push callbacks to the Unix side.
83 secur32: Store the GnuTLS session inside the transport.
84 secur32: Move the get_buffer callback to the Unix side.
85 secur32: Move the decrypt message receive loop to the Unix side.
86 secur32: Move the buffers initialization and callbacks to the Unix side.
87 secur32: Move the memory allocation for get_session_peer_certificate() to the PE side.
88 secur32: Move the memory allocation for get_unique_channel_binding() to the PE side.
89 secur32: Pre-allocate the token buffer for handshake() on the PE side.
90 secur32: Convert the Unix library to the __wine_unix_call interface.
91 ntdll: Don't return a default Unix handle for modules that don't have a Unix library.
92 wineandroid: Use full pathnames to invoke builtin apps.
93 ws2_32: Fix a potential buffer overflow in the Unix interface.
94 ws2_32: Implement Wow64 entry points in the Unix library.
95 crypt32: Implement Wow64 entry points in the Unix library.
96 include: Document remaining fields in the SYSTEM_PROCESS_INFORMATION structure.
97 wow64: Add mapping for NtQuerySystemInformation(SystemExtendedProcessInformation).
98 ntdll: Don't restore the %fs register for exceptions happening inside system calls.
99 ntdll: Remove __wine_init_unix_lib() and the old Unix library interface.
100 mpg123: Disable the large file wrappers.
101 configure: Assume that dirent.h is available on Unix.
102 configure: Assume that termios.h is available on Unix.
103 configure: Assume that unistd.h is available on Unix.
104 configure: Assume that sys/mman.h is available on Unix.
105 configure: Assume that sys/socket.h is available on Unix.
106 configure: Assume that sys/time.h is available on Unix.
107 configure: Assume that sys/ioctl.h is available on Unix.
108 configure: Assume that sys/wait.h is available on Unix.
109 configure: Remove some no longer used checks.
110 wmc: Don't catch SIGSEGV.
111 wrc: Don't catch SIGSEGV.
112 wrc: Remove the no longer used resource C name.
113 wrc: Move write_resfile() into genres.c and remove writeres.c.
114 wrc: Convert resource output to the standard output buffer functions.
115 tools: Move the output buffer functions to the common header.
116 sfnt2fon: Use the standard output buffer functions.
117 winevulkan: Remove unnecessary '&' on function pointers.
119 Alistair Leslie-Hughes (2):
120 wininet: Fix misleading indentation.
121 dbghelp: Fix possible memory leak (Coverity).
123 Bernhard Übelacker (1):
124 server: Return ReadDataAvailable value for FilePipeLocalInformation.
127 include: Add processthreadsapi.h file.
130 d3dx9: Also check for a valid alpha channel for TGA images.
132 Damjan Jovanovic (2):
133 ntdll: Implement fill_battery_state() on FreeBSD.
134 server: FreeBSD 14-CURRENT's sched_setaffinity() needs _WITH_CPU_SET_T defined.
137 d2d1: Implement path_geometry_StrokeContainsPoint() for line segments.
138 d2d1: Implement path_geometry_StrokeContainsPoint() for Bézier segments.
141 kernelbase: Fix parameter order of FindResourceExW call for non-localized path.
143 Dmitry Timoshkov (2):
144 d2d1: Implement ID2D1Factory2::CreateStrokeStyle1().
145 d3d11: Handle D3D11_FEATURE_D3D9_OPTIONS in d3d11_device_CheckFeatureSupport().
148 examine-relay: DLLs can have underscore in their names (like ws2_32).
149 winedbg: Don't pretend that all dbg_internal_var instances will hold DWORD_PTR.
150 winedbg: Make savable variables size a DWORD.
151 winedbg: Make pid and tid internal variables DWORDs.
152 winedbg: Introduce dbg_lg(u)int_t and migrate all integral computations on this type.
153 winedbg: Remove methods for fetching/storing integers in CPU backends.
154 winedbg: Renamed extract_longlong() into extract_lgint() for clarity.
155 winedbg: Use dbg_lgint_t as parameter in type_print_hex.
156 winedbg: Rename print_longlong into print_sdecimal (to mimic print_hex).
157 winedbg: Revamp dbg_lvalue structure and add helpers for init.
158 winedbg: Add bitfield capability to dbg_lvalue.
159 winedbg: Move bitfield extraction to extract_lgint.
160 dbghelp: In SymGetTypeInfo(), return the correct basetype for enums.
161 winedbg: Add helper to compare types and use it to detect wrong assigments.
162 winedbg: Add helper to transfer memory between lvalues.
163 winedbg: Correctly store integers into a bitfield.
164 winedbg: Remove fetch_float() method from CPU backends.
165 winedbg: Implement proper assignements of floating point numbers.
166 winedbg: Move C++ identifier detection to the lexer.
167 winedbg: Move module scoping to the lexer.
168 dbghelp: Implement SymEnumTypesByName(W).
171 dsound: Skip resampling/mixing inaudible buffers.
174 win32u: Fix the trailing linefeed in a TRACE().
175 msdasql/tests: Fix the spelling of the command_text variable.
176 kernel32: Store the ILANGUAGE values in uppercase.
177 kernel32/tests: Check that the preferred UI languages are in uppercase.
178 server: Fix the spelling of a comment.
179 ntdll/tests: Fix the spelling of a comment.
181 Gabriel Ivăncescu (1):
182 mshtml: Ignore named and extra arguments when invoking builtin functions.
185 mfplat/tests: Skip test_d3d11_surface_buffer if D3D11 device can't be created.
188 msi: GetBinaryType() doesn't accept DLLs.
191 d2d1: Store original Bézier curves as cubics.
192 wined3d: Pass a wined3d_device_gl pointer to wined3d_device_create_primary_opengl_context_cs().
193 wined3d: Use the access flags used to create the bo for persistent maps in wined3d_bo_gl_map().
194 wined3d: Pass a wined3d_device_gl pointer to wined3d_device_delete_opengl_contexts_cs().
195 wined3d: Move the command list reference counting functions to the end of cs.c.
196 d2d1: Create feature level 10.0 device context state objects.
198 Huw D. M. Davies (2):
199 wineps: Build with nameless structs and unions.
200 maintainers: Add the nsi include file.
203 winebus.sys: Scale the force feedback gain value to the Linux FF_GAIN range.
204 winebus.sys: Use SDL_HAPTIC_INFINITY for the infinity durations in the SDL backend.
205 winebus.sys: Use 0 for the infinity durations in the UDEV lnxev backend.
208 win32u: Add partial wow64 support.
209 user32: Provide partial null driver.
210 win32u: Implement NtUserGetProcessDpiAwarenessContext and NtUserSetProcessDpiAwarenessContext.
211 win32u: Implement NtUserGetSystemDpiForProcess.
212 win32u: Move NtUserGetDpiForMonitor implementation from user32.
213 win32u: Move DPI mapping from GetMonitorInfoW.
214 win32u: Move DPI mapping from EnumDisplayMonitors.
215 win32u: Directly access system DPI in ntgdi.
216 win32u: Move system parameters implementation from user32.
217 win32u: Directly use sysparams in nulldrv_GetDeviceCaps.
218 win32u: Fix return types on lock_display_devices failures.
219 user32: Set %ecx to rect param when calling monitor enum proc.
220 win32u: Fix device instance value size in link_device.
221 win32u: Use NtUserCallTwoParam for MirrorRgn implementation.
222 win32u: Move 55aa brush implementation from user32.
223 win32u: Use user driver for wine_get_vulkan_driver.
224 winevulkan: Use __wine_unix_call interface for Unix lib initialization.
225 ntdll: Temporarily allow KeUserModeCallback calls from client stack.
226 winevulkan: Use KeUserModeCallback for debug callbacks.
227 winevulkan: Support prefixing function parameters.
228 winevulkan: Pass Unix call arguments as a struct.
229 winevulkan: Make Vulkan direct Unix calls more similar to __wine_unix_call interface.
230 winevulkan: Use __wine_unix_call interface for some Vulkan functions.
231 mshtml: Fix dispex hooks handling for function objects.
234 ntdll: Fix compilation for ARM64 Apple platform.
235 include: Add some COM+ error codes.
236 msxml3: Add GBK support for builtin character converter.
239 wined3d: Decrement reference count and take the lock atomically for cached objects.
240 wined3d: Introduce a helper function to extract a packet from a command stream.
241 wined3d: Use wined3d_next_cs_packet() in wined3d_cs_exec_execute_command_list().
242 wined3d: Acquire sampler references for command lists by inspecting CS packets.
243 Revert "wined3d: Acquire references to samplers in deferred contexts.".
244 wined3d: Acquire shader references for command lists by inspecting CS packets.
245 Revert "wined3d: Acquire references to shaders in deferred contexts.".
248 ntdll/tests: Add tests for DebugPort* info query with security checks.
249 server: Fix querying debug port with restricted DACL.
250 ntdll: Fix valid frame address range in ARM/ARM64.
251 ntdll: Support both HP-UX-like libunwind and LLVM libunwind error codes.
252 ntdll: Properly test for LLVM libunwind error codes.
254 Konstantin Romanov (1):
255 wineps: Return a POINT for DC_PAPERSIZE.
258 po: Update Finnish translation.
261 wsdapi: Add stub for WSDCreateDiscoveryProvider.
264 d3d10/effect: Validate preshader blob size for index expressions.
267 include: Add namespaceapi.h file.
268 kernelbase: Add CreateBoundaryDescriptorW stub.
271 dwrite: Move glyph advances cache to PE side.
272 dwrite: Add flag for cached advance presence.
273 dwrite: Use separate argument for cache key for get_bbox/get_bitmap calls.
274 dwrite: Move glyph box cache to PE side.
275 dwrite: Move bitmap cache to PE side.
276 dwrite: Remove unixlib callbacks.
277 dwrite: Switch to unixlib syscall interface.
278 dwrite: Implement Wow64 entry points for unixlib.
279 dwrite/layout: Simplify run direction check condition.
280 dwrite: Keep corresponding data context for created backend object.
281 dwrite: Remove some unused fields.
282 d2d1: Implement d2d_rectangle_geometry_StrokeContainsPoint().
283 include: Add document target ids.
284 include: Add some of the XPS OM interfaces.
285 winegstreamer: Set MF_MT_AUDIO_BLOCK_ALIGNMENT attribute for raw types.
286 d3dx10/tests: Remove crashing tests.
289 ntdll: Support THREAD_CREATE_FLAGS_HIDE_FROM_DEBUGGER thread creation flag.
290 ntdll: Remove a special case for entry point not in executable section in map_image_into_view().
293 vcruntime140_1: Add support for exception separated code segments.
296 scrrun/tests: Check file contents using ReadFile in CreateTextFile test.
297 scrrun/tests: Use more context for MultiByteToWideChar in ReadAll test.
298 scrrun/tests: Use more context for MultiByteToWideChar in Read test.
301 winmm: Correctly check parameters in joyGetDevCaps(A|W).
302 dinput8/tests: Add some winmm joystick caps tests.
303 dinput8/tests: Add some winmm joystick input tests.
304 winmm: Fill and return szRegKey when index is -1.
305 winmm: Return the joysticks array size in joyGetNumDevs.
306 winebus.sys: Use an unsigned 16bit range for saturation and deadband values.
307 winebus.sys: Revert direction rotation for UDEV lnxev devices.
308 dinput: Simplify the internal thread and don't require loader lock.
309 winmm: Reimplement joyGetPos with joyGetPosEx.
310 winmm: Cleanup traces and parameters names.
311 winmm: Guard accesses to joystick array with a critical section.
312 winmm: Reimplement joystick APIs on top of dinput.
313 winejoystick.drv: Remove unnecessary driver.
316 windowscodecs/tests: Add test for big PNG chunks.
317 windowscodecs: Disable libpng chunk size limit.
318 win32u/tests: Add tests for NtUserEnumDisplayDevices return value.
319 win32u: Return an NTSTATUS from NtUserEnumDisplayDevices.
320 win32u: Validate the info parameter in NtUserEnumDisplayDevices.
322 Zebediah Figura (13):
323 wined3d: Use wined3d_context_copy_bo_address() in wined3d_buffer_gl_upload_ranges().
324 wined3d: Trace CS packet pointers.
325 ntdll: Do not fill the IOSB in NtDeviceIoControlFile() if the NT status denotes error.
326 include: Add some structure size assertions.
327 ntdll: Factor out in_wow64_call().
328 ntdll: Handle WoW64 WSABUF pointers in sock_recv().
329 ntdll: Handle WoW64 translation in IOCTL_AFD_RECV.
330 ntdll: Handle WoW64 control message translation.
331 ntdll: Make the afd_recvmsg_params structure WoW64-compatible.
332 ntdll: Handle WoW64 translation in IOCTL_AFD_WINE_SENDMSG.
333 ntdll: Make the afd_transmit_params structure WoW64-compatible.
334 server: Rename the "flags" field of struct poll_req to "mask".
335 server: Handle the entire IOCTL_AFD_POLL ioctl on the server side.
338 gdi32/tests: Test deleting the bitmap used for pattern brush creation.
339 uxtheme/tests: Add DrawThemeParentBackground() tests.
340 comctl32/tests: Add more WM_CTLCOLORSTATIC tests for static controls in a dialog.
341 include: Add more EnableThemeDialogTexture() option flags.
342 comctl32/tests: Test WM_CTLCOLORSTATIC for themed property sheets.
343 comctl32/propsheet: Handle WM_CTLCOLORSTATIC in the property sheet page window procedure.
344 comctl32/propsheet: Handle WM_ERASEBKGND in the property sheet page window procedure.
345 uxtheme: Do not hook DefDlgProc() for theming.
346 comctl32/propsheet: Return a pattern brush when handling WM_CTLCOLORSTATIC for theming.
347 comctl32/propsheet: Fix a typo in a comment.
348 comctl32/button: Remove useless calculation when drawing themed group boxes.
349 comctl32/button: Avoid drawing over content in themed group boxes.
350 comctl32/button: Support image list margin for buttons with BS_CENTER or BS_VCENTER.
353 user32/tests: Fix cursor state test failures for win10.
354 user32/tests: Test creating shared icon by CreateIconFromResourceEx().
355 user32/tests: Test CreateIconFromResourceEx() with resource bits.
356 user32: Add an is_shared member to cursoricon_object.
357 user32/tests: Call Destroy{icon, cursor}() before GetIconInfo().
358 user32: Pass correct flags in CreateIconFromResource().