winemac: Fix redirection of OpenGL extension functions.
[wine.git] / ANNOUNCE
blob33d1b5744f5a37f107536a9d00ecc9172358b53c
1 The Wine development release 4.17 is now available.
3 What's new in this release (see below for details):
4   - New version of the Mono engine with upstream fixes.
5   - Support for DXTn compressed textures.
6   - Initial version of the Windows Script runtime library.
7   - Support for XRandR device change notifications.
8   - Support for generating RSA keys.
9   - Stubless proxies support on ARM64.
10   - Various bug fixes.
12 The source is available from the following locations:
14   https://dl.winehq.org/wine/source/4.x/wine-4.17.tar.xz
15   http://mirrors.ibiblio.org/wine/source/4.x/wine-4.17.tar.xz
17 Binary packages for various distributions will be available from:
19   https://www.winehq.org/download
21 You will find documentation on https://www.winehq.org/documentation
23 You can also get the current source directly from the git
24 repository. Check https://www.winehq.org/git for details.
26 Wine is available thanks to the work of many people. See the file
27 AUTHORS in the distribution for the complete list.
29 ----------------------------------------------------------------
31 Bugs fixed in 4.17 (total 14):
33   24701  Vampire the Masquerade bloodlines hanging with Out of adapter memory
34   35561  Some MSYS2 commands generate a stackdump (queued user APC not executed)
35   36313  valgrind shows a possible leak in propsys/tests/propstore.c
36   39026  Wrong key mapping in virtualdub
37   39934  AppCAD graphics corruption
38   43842  Cached Authorization cause wrong username/password to be used
39   44394  Game “Civilization 4” is aborted because of unhandled exception.
40   46404  Shed installer - text overflow in browse-for-folder dialog
41   47706  ntdll: Compiler warnings regression on x86_64 [stable]
42   47736  __ASM_CFI not working on mac
43   47752  commit "winex11.drv: Wake up the display on user input." introduced severe performance issues with atomic modesetting kernel drivers
44   47766  PathAllocCanonicalize treats path segments start with dots wrong.
45   47769  Royal Quest: fails to start with LdrInitializeThunk "gaxomofy.dll" failed to initialize, aborting
46   47779  iCloud refuses to install: "Your computer is missing Media features."
48 ----------------------------------------------------------------
50 Changes since 4.16:
52 Akihiro Sagawa (1):
53       dwrite: Prefer Windows platform names regardless of record order.
55 Alex Henrie (13):
56       ntdll: Avoid dead initialization (scan-build).
57       user32: Avoid dead initialization (scan-build).
58       dbghelp: Avoid dead assignment (scan-build).
59       glu32: Avoid dead assignment (scan-build).
60       crypt32: Factor out sprintf calls in trust_status_to_str (scan-build).
61       winex11: Avoid dead assignment (scan-build).
62       windowscodecs: Avoid dead assignment (scan-build).
63       ntdll: Ensure that performance information is initialized (scan-build).
64       wined3d: Avoid dead assignment (scan-build).
65       include: Rename Reserved1 to SystemStatusFlag in SYSTEM_POWER_STATUS.
66       include: Add constants needed for SYSTEM_POWER_STATUS.
67       include: Add Tag field to SYSTEM_BATTERY_STATE.
68       ntdll/tests: Add tests for NtPowerInformation(SystemBatteryState).
70 Alexandre Julliard (30):
71       ntdll: Don't use virtual_uninterrupted_read_memory() for invalid %gs check.
72       kernel32: Move some path functions to kernelbase.
73       kernel32: Move some locale functions to kernelbase.
74       ntdll: Fix usage of libunwind on x86-64 on non-macOS platforms.
75       ntdll: Don't send the first chance debug event twice.
76       ntdll: Send first chance debug event while on signal stack on i386.
77       kernelbase: Don't round thread stack guaranteed size when it is zero.
78       psapi: Avoid using forwards.
79       include: Import uchar.h from MinGW.
80       ntdll: Avoid server call when possible in NtSetContextThread() on ARM64.
81       ntdll: Send first chance debug event while on signal stack on ARM64.
82       winegcc: Add ARRAY_SIZE macro.
83       winegcc: Add --wine-objdir and --winebuild options for the Wine build.
84       winegcc: Always search the standard include dirs.
85       winegcc: Pass all linker arguments also when testing link options.
86       include: Remove no longer needed dependency on setjmp.h.
87       kernel32: Move some handle functions to kernelbase.
88       kernel32: Move delay-load functions to kernelbase.
89       kernel32: Move file time functions to kernelbase.
90       kernel32: Move NUMA-related functions to kernelbase.
91       kernel32: Move some misc functions to kernelbase.
92       oleaut32: Split DispCallFunc() into platform-specific functions.
93       oleaut32: Implement DispCallFunc() for ARM64.
94       make_specfiles: Don't add forwards to the api-ms-* dlls.
95       oleaut32: Return value pointer needs to be in x8 on ARM64.
96       rpcrt4: Add stubless proxy support for ARM64.
97       winegcc: Update __stdcall defines for ARM platforms.
98       winegcc: Centralize argument parsing into the main switch.
99       kernelbase: Use set_ntstatus() in more places.
100       msvcrt: Move vtbl wrappers together with the other functions.
102 Alistair Leslie-Hughes (6):
103       wininet: Pass correct server name when retrieving username information.
104       wininet: Update session username/password when cached credentials are used.
105       wininet: Clear cached credentials in INTERNET_OPTION_END_BROWSER_SESSION.
106       wininet: Use username/password parameters over cached credentials.
107       bcrypt: Fix key_asymmetric_init function for macos.
108       dsound: Primary buffer doesn't support flag DSBCAPS_CTRLFX.
110 Andrew Eikum (3):
111       winex11.drv: Throttle calls to XResetScreenSaver.
112       winebus.sys: Fix build without Linux event support.
113       msvcrt: Implement %T format for strftime.
115 Brendan Shanks (3):
116       user32/tests: Test GetWindowInfo error conditions and incorrect cbSize.
117       user32: Fix behavior of GetWindowInfo(0, NULL).
118       d2d1: Only create shader resource views for drawable bitmaps.
120 Charles Davis (1):
121       include: Pick up the ms_hook_prologue attribute for Clang, too.
123 Dmitry Timoshkov (7):
124       rpcrt4: Implement wait_for_incoming_data() for named pipes transport.
125       rpcrt4: Implement NdrAsyncServerCall.
126       rpcrt4: Implement RpcAsyncCompleteCall for server side.
127       shell32: Return S_OK from IDropTargetHelper::Show().
128       rpcrt4: Remove FIXME about RPC_CONTEXT_HANDLE_FLAGS from NDRSContextMarshall2 and NDRSContextUnmarshall2.
129       rpcrt4: Perform the INITOUT phase in NdrAsyncServerCall instead of RpcAsyncCompleteCall.
130       rpcrt4: Reimplement rpcrt4_conn_np_wait_for_incoming_data() using asynchronous read with zero sized buffer.
132 Fabian Maurer (1):
133       shell32: Prevent text truncation inside the old "browse folder" dialog.
135 François Gouget (11):
136       ieframe/tests: Fix the name of an unused function parameter.
137       ieframe/tests: Fix the spelling of an ok() message.
138       glu32: Fix the spelling of some comments.
139       gdiplus: Fix a function name in a FIXME() message.
140       gdi32: Fix the spelling of some comments.
141       winmm: Avoid a couple of unneeded lstrlenW() calls.
142       kernel32/tests: Fix the spelling of the exerciseServer() function name.
143       jscript/tests: Fix the spelling and slightly reword an ok() message.
144       kernel32/tests: Fix the spelling of three ok() messages and comments.
145       dxerr9: Fix the spelling of some error messages.
146       jscript/tests: Fix the spelling of a couple of jscript ok() messages.
148 Gabriel Ivăncescu (7):
149       vbscript: Add support for the SCRIPTTEXT_ISEXPRESSION flag in ParseScriptText.
150       vbscript/tests: Add tests for ParseScriptText with the SCRIPTTEXT_ISEXPRESSION flag.
151       vbscript: Add support for the SCRIPTPROC_ISEXPRESSION flag in ParseProcedureText.
152       vbscript/tests: Add test for ParseProcedureText with the SCRIPTPROC_ISEXPRESSION flag.
153       vbscript: Handle NULL code text in ParseScriptText and ParseProcedureText.
154       msscript.ocx: Partially implement IScriptControl::ExecuteStatement.
155       msscript.ocx/tests: Add tests for IScriptControl::ExecuteStatement.
157 Hans Leidekker (14):
158       wbemprox: Add support for CIM_REAL32 values.
159       wbemprox: Implement Win32_BIOS.CurrentLanguage.
160       wbemprox: Implement more Win32_OperatingSystem properties.
161       wbemprox: Implement more Win32_PhysicalMemory properties.
162       wbemprox: Implement Win32_WinSAT.
163       wbemprox: Avoid a crash when a class is not implemented.
164       wbemprox: Map CIM_UINT16 and CIM_UINT32 to VT_I4 by default.
165       wbemprox: Implement Win32_DisplayControllerConfiguration.
166       bcrypt: Add support for generating RSA keys.
167       bcrypt: Implement BCryptSignHash.
168       webservices: Simplify WsAddressMessage.
169       webservices: Add support for writing WS_ENUM_TYPE values.
170       webservices: Add support for mapped HTTP headers.
171       ws2_32: Call the completion routine in GetAddrInfoExW.
173 Henri Verbeet (15):
174       wined3d: Add GPU information for AMD VEGA12.
175       wined3d: More accurately determine whether a separate sRGB texture is required.
176       wined3d: Explicitly initialise sRGB format info.
177       wined3d: Retrieve the supported sample counts for Vulkan formats.
178       wined3d: Initialise the multi-sample draw location for the Vulkan adapter.
179       wined3d: Use wined3d_resource_gl_legacy_map_flags() in wined3d_buffer_gl_map().
180       wined3d: Derive the GL bind point for buffer object maps from the bind flags.
181       wined3d: Use explicit flushing in wined3d_context_gl_unmap_bo_address().
182       wined3d: Move the "buffer_object" field from struct wined3d_buffer_gl to struct wined3d_buffer.
183       wined3d: Use wined3d_context_map_bo_address() in wined3d_buffer_gl_map().
184       wined3d: Merge wined3d_buffer_gl_map() and buffer_resource_sub_resource_map().
185       wined3d: Merge wined3d_buffer_gl_unmap() and buffer_resource_sub_resource_unmap().
186       wined3d: Make the adapter responsible for clearing UAVs.
187       wined3d: Make the adapter responsible for copying between buffer objects.
188       wined3d: Handle typeless formats in surface_cpu_blt().
190 Jacek Caban (34):
191       jscript: Use wide-char literals in lexer.
192       scrobj: Add partial DllInstall implementation.
193       scrobj/tests: Add scriptlet tests.
194       scrobj: Add scriptlet factory stub implementation.
195       scrobj: Add beginning scriptlet parser implementation.
196       scrobj: Add registration element parser.
197       scrobj: Add public element parser implementation.
198       scrobj: Add script element parser partial implementation.
199       scrobj: Suport scriptlet registration.
200       scrobj: Add stub IActiveScriptSite implementation.
201       scrobj: Add IActiveScriptSiteWindow stub implementation.
202       scrobj: Add IServiceProvider stub implementation.
203       scrobj: Create script engine instances for script hosts.
204       kernel32/tests: Enable debug break exception race tests on i386 Wine.
205       winegcc: Use -print-libgcc-file-name to find libgcc.
206       scrobj: Add scriptlet instance stub implementation.
207       scrobj: Parse scripts in DllInstall.
208       scrobj: Create script hosts for scriptlet instance.
209       scrobj: Implement GetItemInfo.
210       scrobj: Run scripts when creating a scriptlet instance.
211       ole32: Lock spies list when iterating it.
212       ole32/tests: Add more initialization spies tests.
213       include: Add threadpoolapiset.h file.
214       msscript.ocx: Fix VARIANT access.
215       scrobj: Zero initialize scriptlet instance.
216       scrobj: Add property element parser support.
217       scrobj/tests: Add property element tests.
218       scrobj: Store script dispatch in script host.
219       scrobj: Lookup object members implementations in scripts when createating scriptlet instance.
220       scrobj: Add GetDispID implementation.
221       scrobj: Add InvokeEx implementation.
222       scrobj: Use ReadValueChunk to read script body.
223       scrobj: Improve debug traces.
224       scrobj: Ignore processing instructions in scriptlet files.
226 Jactry Zeng (3):
227       msscript/tests: Initialize custom engine for global.
228       msscript: Cache state of IActiveScript in ScriptHost struct.
229       msscript: Partially implement IScriptControl::AddCode().
231 Jeff Smith (1):
232       kernelbase: Fix PathAllocCanonicalize handling segments that contain dots.
234 Ken Thomases (2):
235       ntdll: Fix the Mac build with SDKs older than 10.14.
236       include: Always generate CFI directives on macOS.
238 Kevin Puetz (4):
239       winbase.h: Add GetFinalPathNameByHandle declaration.
240       atlbase.h: Add AtlComModuleRevokeClassObjects declaration.
241       winegcc: Correctly pass the '-' file name (stdin) to the compiler.
242       oleaut32: Fix RegisterTypeLib prototype.
244 Matteo Bruni (15):
245       d3dx9: Simplify unsupported format check.
246       d3dx9: Relax a block alignment check.
247       d3dx9/tests: Add a test for loading surfaces not divisible by the block size.
248       d3dx9/tests: Add a test for loading a texture smaller than the block size.
249       d3dx9/tests: Add a test with a larger DXT5 texture.
250       d3dx9/tests: Add more tests loading misaligned block textures.
251       d3dx9/tests: Add even more tests for misaligned block textures.
252       d3dx9: Add traces to filtering functions.
253       d3dx9: Handle compressed surfaces in D3DXLoadSurfaceFromMemory.
254       d3dx9/tests: Improve tests to check for DXTn fallback formats.
255       d3dx9: Move the source rect alignment check into the condition for simple copy.
256       d3dx9: Handle non-zero source rect position in D3DXLoadSurfaceFromMemory().
257       d3dx9: Implement DXTn compression for offset destination rect.
258       d3dx9: Don't pass the D3DLOCK_DISCARD flag when mapping a texture.
259       d3dx9: Compute the correct source rect in D3DXLoadSurfaceFromFileInMemory().
261 Michael Müller (1):
262       wine.inf: Create the WindowsMediaVersion key and set its default value.
264 Michael Stefaniuc (1):
265       widl: Add the ARRAY_SIZE() macro.
267 Nikolay Sivov (12):
268       d3d10_1/tests: Add a test for creating SRV for resource without D3D10_BIND_SHADER_RESOURCE.
269       d3d10core/tests: Add a test for creating SRV for resource without D3D10_BIND_SHADER_RESOURCE.
270       d3d11/tests: Add a test for creating SRV for resource without D3D11_BIND_SHADER_RESOURCE.
271       dwrite: Sort localized strings by locale name.
272       mfplat: Add Media Session attributes for tracing.
273       mf: Add stub implementation for standard quality manager.
274       mf: Create topology loader of session creation.
275       mf: Create quality manager on session creation.
276       mf: Remove fixme trace for partially handled functionality.
277       wined3d: Fail SRV creation for resources without corresponding bind flag.
278       mf: Fix stream IID loader should be testing for.
279       mf: Add initial async implementation of SetTopology().
281 Paul Gofman (1):
282       wined3d: Allow loading buffers mapped through system memory.
284 Piotr Caban (9):
285       winebus.sys: Stop deviceloop_thread to avoid crash on driver unload.
286       winebus.sys: Stop device report threads to avoid crash on driver unload.
287       ntdll: Ignore ExceptionFlags changes done by exception handlers.
288       mountmgr.sys: Null terminate serial_search_paths and parallel_search_paths tables.
289       mountmgr.sys: Always add all user-defined ports.
290       winebus.sys: Don't do anything in udev_driver_unload if udev was not initialized.
291       winebus.sys: Don't do anything in iohid_driver_unload if iohid was not initialized.
292       winebus.sys: Stop SDL deviceloop_thread to avoid crash on driver unload.
293       msxml3: Don't return NULL namespace and local name in saxreader callbacks.
295 Rémi Bernon (6):
296       winex11.drv: Destroy old clipping message window if it has been replaced.
297       ntoskrnl.exe: Use case-insensitive driver name comparison.
298       ntoskrnl.exe: Update the interface if it is already in the tree.
299       winebus.sys: Use the SDL joystick index as device id instead of instance id.
300       winebus.sys: Report the native product string for some Xbox gamepads.
301       winex11.drv: Handle FocusIn/NotifyGrab and FocusOut/NotifyUngrab events.
303 Sebastian Lackner (1):
304       ntdll: Execute queued APCs before starting a process.
306 Sven Baars (6):
307       httpapi: Fix a memory leak (Valgrind).
308       httpapi/tests: Initialize response_buffer to 0 (Valgrind).
309       httpapi/tests: Cancel a pending receive request (Valgrind).
310       msi: Fix a leak on error path (Coverity).
311       kernelbase: Fix a leak on error path (Coverity).
312       httpapi/tests: Use CancelIo to avoid a test failure on Windows XP.
314 Vincent Povirk (1):
315       mscoree: Update Wine Mono to 4.9.3.
317 Zebediah Figura (53):
318       winegstreamer: Store the pin media type directly.
319       winegstreamer: Improve some trace messages.
320       winegstreamer: Use the "format" field to determine the subtype and bit depth.
321       winegstreamer: Factor out amt_from_gst_caps().
322       configure: Also try /usr/lib32/pkgconfig/ for the 32-bit PKG_CONFIG_PATH.
323       winegstreamer: Set lSampleSize in amt_from_gst_caps_audio().
324       winegstreamer: Set bFixedSizeSamples in amt_from_gst_caps_audio().
325       winegstreamer: Clear bTemporalCompression in amt_from_gst_caps_audio().
326       winegstreamer: Also set cbFormat when using WAVE_FORMAT_PCM.
327       user32: Return -1 from peek_message() on error.
328       server: Validate the filter window handle in get_message.
329       winegstreamer: Move more common pin initialization into create_pin().
330       winegstreamer: Introduce a callback for filter-specific initialization.
331       winegstreamer: Reimplement the WAVE parser ontop of the wavparse plugin.
332       winex11: Track the client colormap separately.
333       winegstreamer: Fix registration for the WAVE parser.
334       winegstreamer: Clear bFixedSizeSamples in amt_from_gst_caps_video().
335       winegstreamer: Set lSampleSize to 1 in amt_from_gst_caps_video().
336       winegstreamer: Don't set the source and target rects in amt_from_gst_caps_video().
337       winegstreamer: Reimplement the AVI splitter on top of the avidemux plugin.
338       winegstreamer: Reimplement the MPEG splitter on top of the mpegaudioparse plugin.
339       quartz: Get rid of the no longer used base parser.
340       wined3d: Fully clean up the device state in wined3d_device_uninit_3d().
341       wined3d: Reset the CS state before cleaning up the device state.
342       wineqtdecoder: Use BasePinImpl_QueryAccept() and BasePinImpl_EnumMediaTypes().
343       strmbase: Don't expose EnumMediaTypes_Construct().
344       strmbase: Get rid of the version fields from IEnumMediaTypesImpl.
345       strmbase: Get rid of the "enumMediaFunction" field from IEnumMediaTypesImpl.
346       strmbase: Get rid of the BasePin typedef.
347       strmbase: Rename pfnCheckMediaType() to pin_query_accept().
348       strmbase: Rename pfnGetMediaType() to pin_get_media_type().
349       strmbase: Pass an unsigned index to pin_get_media_type().
350       qcap/vfwcapture: Use more strmbase pin methods.
351       qcap/smartteefilter: Use BasePinImpl_EnumMediaTypes().
352       strmbase: Introduce BasePinImpl_QueryInterface().
353       strmbase: Use BasePinImpl_QueryInterface().
354       quartz: Use BasePinImpl_QueryInterface().
355       qcap: Use BasePinImpl_QueryInterface().
356       quartz/tests: Alter test.mpg to avoid some failures.
357       wined3d: Return a wined3d_stateblock from wined3d_device_begin_stateblock().
358       d3d9: Track the primary stateblock state locally.
359       d3d8: Track the primary stateblock state locally.
360       wined3d: Introduce wined3d_stateblock_set_vs_consts_f().
361       d3d9: Handle stateblocks in d3d9_device_SetVertexShaderConstantF().
362       d3d8: Handle stateblocks in d3d8_device_SetVertexShaderConstant().
363       ntdll: Implement NtQueryInformationFile(FileAttributeTagInformation).
364       kernelbase: Implement GetFileInformationByHandleEx(FileAttributeTagInfo).
365       strmbase: Don't execute OnStartStreaming() or OnStopStreaming() callbacks if the sink is unconnected.
366       quartz/tests: Add some tests for unconnected filter state change.
367       qcap/avico: Don't try to commit a NULL allocator in AVICompressor_Run().
368       qcap/tests: Add some tests for unconnected filter state change.
369       qcap/smartteefilter: Use strmbase filter state change methods.
370       strmbase: Rename "pConnectedTo" to "peer".
372 Zhiyi Zhang (12):
373       user32: Don't report mirrored slave monitors in EnumDisplayMonitors.
374       kernelbase: Comment out DECLSPEC_HOTPATCH for GetThreadLocale.
375       kernelbase/tests: Add more PathAllocCanonicalize tests.
376       gdi32/tests: Fix a test failure on Win10 1809.
377       gdi32/tests: Add CreateDC tests.
378       winex11.drv: Initialize display devices before getting primary desktop rectangle.
379       winex11.drv: Add virtual desktop display device handler.
380       winex11.drv: Support XRandR display device handler.
381       winex11.drv: Handle XRandR display device changes.
382       winemac.drv: Trace display device counts.
383       winex11.drv: Trace display device counts.
384       winex11.drv: Handle XRandR not reporting any providers.
387 Alexandre Julliard
388 julliard@winehq.org