dmband: Download segment tracks if performance auto-download is set.
[wine.git] / ANNOUNCE
blobc43646997e01b75b0564cd3bdd011a85bb233e5b
1 The Wine development release 8.18 is now available.
3 What's new in this release:
4   - Bundled FluidSynth library for DirectMusic.
5   - More window management in the Wayland driver.
6   - More effect support in Direct3D 10.
7   - Various bug fixes.
9 The source is available at:
11   https://dl.winehq.org/wine/source/8.x/wine-8.18.tar.xz
13 Binary packages for various distributions will be available from:
15   https://www.winehq.org/download
17 You will find documentation on https://www.winehq.org/documentation
19 You can also get the current source directly from the git
20 repository. Check https://www.winehq.org/git for details.
22 Wine is available thanks to the work of many people. See the file
23 AUTHORS in the distribution for the complete list.
25 ----------------------------------------------------------------
27 Bugs fixed in 8.18 (total 44):
29  - #32574  Patrician 4 fails to start (Error in 'App::Initialize')
30  - #41645  Unreal Tournament 2004 crashes
31  - #43017  Unreal Tournament 2004/UT2004.exe crashes due to "intel_do_flush_locked failed: Cannot allocate memory"
32  - #43185  "Battle Bugs" game in unresponsive once game starts
33  - #44275  Shadow of Memories demo hangs at graphic setting screen
34  - #44276  Poor resolution change handling with Shadow of Memories demo
35  - #48905  Inner Chains Launches to Black Screen With Mouse Cursor
36  - #52641  Feeding Frenzy 2 crashes while loading
37  - #53276  comctl32:edit & user32:edit - test_paste() sometimes fails to access the clipboard on Windows
38  - #54069  ddraw:ddraw7 - test_texture_wrong_caps() sometimes fails on Windows 8+
39  - #54156  comctl32:edit & user32:edit - test_paste() sometimes gets an empty string on Windows
40  - #54420  preloader warning "failed to reserve range" macOS Ventura
41  - #54430  user32:menu - test_menu_input()'s test 0 sometimes fails on Windows 7
42  - #54441  windows.media.speech:speech - test_Recognition() sometimes gets unexpected recognizer state on Windows 10
43  - #54699  Motorola Ready For Assistant does not start, RoOriginateLanguageException in Windows.Networking
44  - #54744  explorerframe:taskbarlist - test_ITaskbarList() sometimes gets E_NOTIMPL on Windows
45  - #54783  cryptowinrt:crypto - test_Credentials_Statics() sometimes gets unexpectedly high refcount in Wine
46  - #54791  explorerframe:nstc - test_events() sometimes gets unexpected events on Windows 7
47  - #55108  xaudio2_8:xaudio2 fails on Windows 10+
48  - #55211  Print file not truncated before new print job is started with same target file
49  - #55236  scrrun:dictionary - The 64-bit test_hash_value() gets bad hashes on Windows
50  - #55241  The 64-bit winmm:capture & winmm:wave crash on Windows 8
51  - #55245  ntdll:om - The 32-bit test_all_kernel_objects() gets an access violation on the w8 VM
52  - #55272  The 64-bit ntdll:exception crashes on Windows 10 1607 & 1709
53  - #55273  ntdll:wow64 - The 64-bit test_cpu_area() gets bad offsets on Windows 10 1607 & 1709
54  - #55528  Vitis 2020.1 can't find its libraries (cmd.exe bug with nested one-line if statement that sets PATH)
55  - #55606  Finale 27 printing - incorrect linecap
56  - #55627  secur32:negotiate & secur32:ntlm crash from a NULL dereference on macOS
57  - #55631  ntdll:file - test_file_rename_information fails on Windows 10 1607 and older
58  - #55632  ntdll:file - test_file_link_information() fails on Windows 10 1709 and older
59  - #55634  Genshin Impact uses very long URLs
60  - #55648  ntdll:wow64 - test_peb_teb() crashes on macOS
61  - #55652  A FindResourceW() call prevents windows.applicationmodel:model from running on Windows 8
62  - #55656  user32:dialog - test_IsDialogMessage() fails in the hi-u8 and mx-MX locales on Windows
63  - #55658  msinfo32 fails to start on macOS / wow64 (was psapi:psapi_main - test_EnumProcessModules*() fails on macOS)
64  - #55670  Wordpad is no longer able to print multiple copies of a page
65  - #55674  64-bit wineserver/wine-preloader hangs on macOS 14.
66  - #55686  msvcr120:msvcr120 - test_StructuredTaskCollection() sometimes fails in Wine
67  - #55696  msvfw32:mciwnd - The 64-bit test_MCIWndCreate() crashes in Wine
68  - #55701  Sniper Elite 5 launcher opens Wine Internet Explorer instead of Options window
69  - #55708  cpython 3.12.0 fails to run on wine, needs unimplemented function propsys.dll.VariantToString
70  - #55713  mspaint.exe crashes with:  Unhandled exception: unimplemented function propsys.dll.PropVariantToUInt32WithDefault
71  - #55732  kernel32:loader - The 64-bit test_import_resolution() fails in Wine
72  - #55733  ntdll:file - test_file_rename_information_ex() fails on Windows 10 1607 & 1709
74 ----------------------------------------------------------------
76 Changes since 8.17:
78 Alex Henrie (14):
79       http: Use the strdup function instead of reimplementing it.
80       riched20: Use CRT allocation functions.
81       mfplat: Rename debugstr_fourcc to mf_debugstr_fourcc.
82       winecoreaudio: Rename wine_dbgstr_fourcc to coreaudio_dbgstr_fourcc.
83       include: Introduce wine_dbgstr_fourcc and debugstr_fourcc.
84       comctl32: Use the debugstr_fourcc function instead of reimplementing it.
85       ddraw: Use the debugstr_fourcc function instead of reimplementing it.
86       mciavi32: Use the debugstr_fourcc function instead of reimplementing it.
87       mscms: Use the debugstr_fourcc function instead of reimplementing it.
88       msvfw32: Use the debugstr_fourcc function instead of reimplementing it.
89       cmd: Reset ignoreBracket when moving to the next line.
90       uninstaller: Don't overallocate in FetchFromRootKey.
91       msvcrt/tests: Check errno after strdup(NULL).
92       msvcrt/tests: Add tests for wcsdup.
94 Alexandre Julliard (34):
95       nls: Update character tables to Unicode 15.1.0.
96       mpg123: Import upstream release 1.32.2.
97       tiff: Import upstream release 4.6.0.
98       zlib: Import upstream release 1.3.
99       xml2: Import upstream release 2.11.5.
100       ldap: Import upstream release 2.5.16.
101       faudio: Import upstream release 23.10.
102       kernel32/tests: Add some dynamic base tests.
103       kernel32/tests: Delete the correct manifest file.
104       ntdll: Do an explicit mmap address search for any range not covering the entire address space.
105       ntdll: Add a helper to find a mapping address for a PE image.
106       ntdll: Always allocate dynamically relocatable dlls top-down.
107       ntdll: Fix relocation of the 32-bit ntdll.
108       ntdll: Move the module relocation support to virtual.c.
109       ntdll: Support relocating the main exe.
110       server: Set the dynamically relocated flag when relocations are present.
111       server: Assign a system-wide mapping address for dynamic base modules.
112       ntdll: Relocate dynamic base modules when mapping them.
113       winegcc: Enable dynamic base by default.
114       server: Remove some leftover code from a failed rebase.
115       ntdll: Only create the main module on the 32-bit side for wow64.
116       ntdll: Add a separate helper to build the main module on Wow64.
117       ws2_32: Make htonl/htons/ntohl/ntohs proper functions.
118       include: Stop pretending to support big-endian.
119       winebuild: Add a helper to output an asm function header.
120       ntdll: Use the standard syscall calling convention for NtFlushProcessWriteBuffers.
121       makefiles: Remove unnecessary imports of version.dll.
122       makefiles: Remove unnecessary imports of usp10.dll.
123       makefiles: Always use the global SOURCES variable for .mc files.
124       makefiles: Always use the global SOURCES variable for .po files.
125       makefiles: Always use the global SOURCES variable for .m files.
126       makefiles: Always use the global SOURCES variable for .sfd files.
127       makefiles: Always use the global SOURCES variable for .in files.
128       ntdll: Move LdrInitializeThunk to the CPU backends.
130 Alexandros Frantzis (7):
131       winewayland.drv: Respect the compositor requested surface config.
132       winewayland.drv: Handle xdg_toplevel tiled states.
133       winewayland.drv: Store and use the latest window config for a wayland_surface.
134       winewayland.drv: Handle application-initiated fullscreen state.
135       winewayland.drv: Use surface geometry to satisfy state size constraints.
136       winewayland.drv: Rename wayland_surface_configure_is_compatible for consistency.
137       winewayland.drv: Avoid resizing fullscreen windows.
139 Alistair Leslie-Hughes (6):
140       d3dxof: Remove DECLSPEC_HIDDEN usage.
141       msxml3: IXMLDOMElement::selectSingleNode always assign a value to the output parameter.
142       wpcap: Return NULL on error in get_broadcast.
143       msado15: Move to newly created row in Recordset::AddNew.
144       msado15: Show fixme only if field_list needs to be used in Recordset::AddNew.
145       d3dx9: Support empty mesh in D3DXLoadMeshHierarchyFromXInMemory().
147 Ally Sommers (1):
148       server: Move getpeername() implementation from ntdll/unix.
150 Arkadiusz Hiler (1):
151       xinput1_3: Hold module reference while the hid thread is running.
153 Aurimas Fišeras (1):
154       po: Update Lithuanian translation.
156 Brendan Shanks (7):
157       configure: Don't use -Wl,-z,defs if it causes link errors with 'environ'.
158       winemac.drv: Use @autoreleasepool instead of NSAutoreleasePool.
159       winemac.drv: Simplify control flow where possible after the removal of NSAutoreleasePool.
160       winemac.drv: Use ObjC literals.
161       wow64cpu: Use RTL_CONSTANT_STRING.
162       cfgmgr32: Add stub for CM_Get_Device_Interface_PropertyW.
163       winemac.drv: Fix redundant calls to [NSCursor set].
165 Connor McAdams (17):
166       uiautomationcore/tests: Add another test for IProxyProviderWinEventHandler child HWND scope checking.
167       uiautomationcore: Introduce uia_event_for_each function for iterating through registered events.
168       uiautomationcore: Check if we should try to invoke IProxyProviderWinEventHandler::RespondToWinEvent for registered UIA events.
169       uiautomationcore: Create HUIANODE for WinEvents that should invoke IProxyProviderWinEventHandler::RespondToWinEvent.
170       uiautomationcore: Add support for ignoring ProviderOptions_UseComThreading when creating an HUIANODE.
171       uiautomationcore: Add support for marking the root IAccessible as known on non-root IAccessibles upon proxy provider creation.
172       uiautomationcore: Pass WinEvent data to IProxyProviderWinEventHandler::RespondToWinEvent.
173       uiautomationcore: Add support for raising events passed to our IProxyProviderWinEventSink interface.
174       uiautomationcore/tests: Add tests for COM event handler event advisement.
175       uiautomationcore: Add support for passing WinEvents to the COM API.
176       uiautomationcore: Separate checking if a node is within the scope of a registered event from event invocation.
177       uiautomationcore: Use EVENT_OBJECT_SHOW to advise providers of events being listened for in the COM API.
178       win32u: Fix NtUserIsCurrent{Process/Thread}Window enum typo.
179       uiautomationcore/tests: Add tests for IUIAutomationFocusChangedEventHandler event advisement behavior.
180       uiautomationcore: Query EVENT_OBJECT_FOCUS HWND for a serverside provider if there is a registered focus change event handler.
181       uiautomationcore: Use EVENT_OBJECT_FOCUS to advise HWND providers of focus change events in the COM API.
182       uiautomationcore: Use EVENT_OBJECT_DESTROY to remove HWNDs from the COM API focus change HWND map.
184 Daniel Lehman (5):
185       advapi32/tests: Add ReadEventLogW tests for EventLogStarted.
186       advapi32/tests: Add ReadEventLogA tests for EventlogStarted.
187       msxml4/tests: Copy namespaces as attributes tests.
188       msxml6/tests: Copy namespaces as attributes tests.
189       advapi32/tests: Skip ReadEventLog on failure to open System log.
191 Eric Pouech (6):
192       winemac.drv: Use NtCallbackReturn to send back app's icons to unixlib.
193       msvfw32: Correctly store internal pointer.
194       dbghelp: Simplify allocation code.
195       dbghelp: Read debuggee environment by page.
196       winedbg: Set first LDT entry value as ntdll does.
197       winedbg: Correctly read LDT entries for wow64 debuggee.
199 Esme Povirk (1):
200       user32/tests: Print regions in test_hvredraw failure case.
202 Etaash Mathamsetty (1):
203       gdi32: Add stub for D3DKMTQueryAdapterInfo.
205 Fabian Maurer (1):
206       propsys: Implement PropVariantToUInt32WithDefault.
208 François Gouget (9):
209       winewayland.drv: Add a trailing linefeed to a TRACE() message.
210       dmsynth: Add a trailing linefeed to TRACE() messages.
211       nsiproxy.sys: Add a trailing linefeed to a TRACE() message.
212       secur32/tests: Skip the tests instead of crashing if Kerberos is not supported.
213       user32/tests: Don't test GetWindowModuleFileName() on windows belonging to another process.
214       advapi32/tests: Better identify OpenEventLogA() failures.
215       advapi32/tests: Add the read_write info to the failures context.
216       advapi32/tests: Avoid unneeded reallocations of the ReadEventLog() buffer.
217       advapi32/tests: Don't check the content of the buffer if ReadEventLog() fails.
219 Gabriel Ivăncescu (11):
220       mshtml: Call handle_event on the proper dispex object.
221       mshtml: Remove unused IUnknown_iface in func_disp_t.
222       mshtml: Traverse EventTarget listeners.
223       mshtml: Implement SuperNavigate undocumented flag 2.
224       shdoclc: Add a basic generic html page for navigation errors.
225       ieframe: Implement IEHTMLWindow2_get_document.
226       ieframe: Navigate to a basic error page on failed navigation.
227       ieframe: Use the original URL for error pages' address bar.
228       ieframe: Send the original URL for error pages in FireNavigationComplete2 notification.
229       ieframe: Send the original URL for error pages in FireDocumentComplete notification.
230       ieframe: Implement DocObjectService_IsErrorUrl.
232 Georg Lehmann (1):
233       winevulkan: Update to VK spec version 1.3.267.
235 Hans Leidekker (2):
236       mmdevapi/tests: Don't initialize the audio client twice.
237       mmdevapi/tests: Relax a capture test.
239 Helix Graziani (3):
240       nsiproxy.sys: Implement ipv6_forward_enumerate_all.
241       winecfg: Change system theme alongside app theme.
242       uxtheme: Add ShouldSystemUseDarkMode.
244 Jactry Zeng (1):
245       user32: Add more builtin string resources.
247 Joel Holdsworth (7):
248       ntdll: Initial implementation of FileRenameInformationEx.
249       ntdll: Initial implementation of FileLinkInformationEx.
250       ntdll/tests: Add tests for FILE_RENAME_IGNORE_READONLY_ATTRIBUTE.
251       ntdll/tests: Add tests for FILE_LINK_IGNORE_READONLY_ATTRIBUTE.
252       server: Don't allow read-only files to be replaced by File{Rename,Link}Information{,Ex}.
253       ntdll: Add support for FILE_{RENAME,LINK}_IGNORE_READONLY_ATTRIBUTE.
254       ntdll/tests: Fix FILE_RENAME_INFORMATION_EX test failures on Windows 10 1607 & 1709.
256 Marcus Meissner (1):
257       user32/tests: Use correct size to LoadStringW.
259 Martin Storsjö (1):
260       configure: Fix restoring CFLAGS after the test for -Wl,-z,defs.
262 Matteo Bruni (1):
263       d3dx9/tests: Get rid of unnecessary branches in D3DXLoadMeshTest().
265 Mohamad Al-Jaf (17):
266       windows.storage.applicationdata: Add stub DLL.
267       windows.storage.applicationdata: Add IApplicationDataStatics stub interface.
268       windows.storage.applicationdata/tests: Add IApplicationDataStatics::get_Current() tests.
269       windows.storage.applicationdata: Implement IApplicationDataStatics::get_Current().
270       include: Add ISystemMediaTransportControls interface definition.
271       windows.media.mediacontrol: Add stub DLL.
272       include: Add systemmediatransportcontrolsinterop.idl file.
273       windows.media.mediacontrol: Add ISystemMediaTransportControlsInterop stub interface.
274       windows.media.mediacontrol/tests: Add ISystemMediaTransportControlsInterop::GetForWindow() tests.
275       windows.media.mediacontrol: Implement ISystemMediaTransportControlsInterop::GetForWindow().
276       windows.media.mediacontrol/tests: Add some ISystemMediaTransportControls properties tests.
277       windows.media.mediacontrol: Implement some ISystemMediaTransportControls properties.
278       include: Add windows.security.credentials.ui.idl file.
279       windows.security.credentials.ui.userconsentverifier: Add stub DLL.
280       windows.security.credentials.ui.userconsentverifier: Add IUserConsentVerifierStatics stub interface.
281       windows.security.credentials.ui.userconsentverifier: Implement IUserConsentVerifierStatics::CheckAvailabilityAsync().
282       windows.security.credentials.ui.userconsentverifier/tests: Add IUserConsentVerifierStatics::CheckAvailabilityAsync() tests.
284 Nikolay Sivov (25):
285       d3d10/effect: Add support for 'buge'/'bult' instructions.
286       d3d10/tests: Compact returned arrays checks.
287       d3d10/effect: Add support for 'ceil' instruction.
288       d3d10/effect: Add support for 'floor' instruction.
289       d3d10/effect: Add support for 'dot' instruction.
290       propsys: Partially implement VariantToString().
291       propsys: Handle VT_I4 type in VariantToString().
292       d3d10/effect: Add support for 'imul' instruction.
293       d3d10/tests: Use vector helpers in more places.
294       d3d10/effect: Add support for 'sqrt' instruction.
295       d3d10/effect: Add support for 'rsq' instruction.
296       d3d10/effect: Add support for 'log' instruction.
297       d3d10/effect: Add support for 'exp' instruction.
298       d3d10/effect: Add support for 'not' instruction.
299       d3d10/effect: Add support for 'or' instruction.
300       d3d10/effect: Add support for shift instructions.
301       d3d10/tests: Add a test for log2/log10/exp2 functions in expressions.
302       gdi32/emf: Fix miter limit serialization.
303       gdi32/tests: Add some tests for SetMiterLimit() argument validation.
304       gdi32: Reject invalid values in SetMiterLimit().
305       gdi32/emf: Add SetMetaRgn() recording.
306       winedump/emf: Add EMR_SETMITERLIMIT record dumping.
307       gdi32/emf: Add SetBrushOrgEx() recording.
308       gdi32/tests: Add some tests for FixBrushOrgEx().
309       d3dx9: Check for tx_1_0 blob magic earlier in D3DXCreateTextureShader().
311 Paul Gofman (5):
312       secur32: Synchronize access to schannel handle table.
313       server: Hold socket reference in sock_poll_event().
314       ntdll: Map EDESTADDRREQ to STATUS_INVALID_CONNECTION.
315       imagehlp: Import functions instead of forwarding.
316       ntdll: Implement NtQueryValueKey(KeyValuePartialInformationAlign64).
318 Piotr Caban (16):
319       msvcr110: Reset chore task_collection earlier to prevent occasional test failure.
320       gdi32: Pass default DEVMODE to winspool in CreateDC.
321       gdi32: Add partial support for creating EMREXTCREATEPEN records.
322       wineps: Add support for EMR_EXTCREATEPEN record playback.
323       localspl: Add ResetPrinter implementation.
324       winspool.drv: Add ResetPrinterW implementation.
325       gdi32: Update printer DEVMODE in ResetDCW.
326       gdi32: Fix METADC handling in PlayMetaFile.
327       gdi32: Test PlayMetaFile on METADC.
328       include: Add winppi.h header.
329       gdi32: Add GdiGetSpoolFileHandle stub.
330       gdi32: Add GdiDeleteSpoolFileHandle stub.
331       gdi32: Add GdiGetDevmodeForPage stub.
332       gdi32: Add GdiGetDevmodeForPage implementation.
333       wineps.drv: Use first page DEVMODE to determine number of copies and collation.
334       localspl: Truncate output file when printing to file.
336 Rémi Bernon (40):
337       dmime: Rename DirectMusicSegmentState8 method prefix to segment_state.
338       dmime: Get rid of the IDirectMusicSegmentState8Impl typedef.
339       dmime: Implement some segment state default values.
340       dmime: Redirect IDirectMusicPerformance_PlaySegment to PlaySegmentEx.
341       dmime: Introduce a new segment_state_create constructor.
342       dmime/tests: Tests interaction between CloseDown and notifications.
343       dmime: Keep messages with the same time ordered.
344       dmime: Free all pending messages after CloseDown.
345       dmime: Send DMUS_PMSGT_DIRTY messages from the performance.
346       dmime: Send DMUS_PMSGT_NOTIFICATION messages from the performance.
347       dmime: Implement IDirectMusicPerformance_GetNotificationPMsg.
348       dmime: Call IDirectMusicTrack_(Init|End)Play from the segment state.
349       include: Avoid narrowing warning in wine_dbgstr_fourcc.
350       dmime/tests: Queue the message before calling SendPMsg twice.
351       dmsynth: Import and use FluidSynth 2.3.3.
352       fluidsynth: Use Wine debugging facility for traces.
353       dmsynth: Simplify IDirectMusicSynth8_Open checks.
354       dmsynth: Create a fluid_synth instance on Open.
355       dmsynth: Create and register a fluid_sfont instance.
356       server: Send WM_WINE_SETCURSOR with the thread input cursor handle.
357       dmime: Get rid of the IDirectMusicWaveTrack typedef.
358       dmime: Include dmobject.h in dmime_private.h.
359       dmusic: Split wave entry points to dmusic_wave.h.
360       dmime: Create a wave track when loading a segment from a .wav.
361       dmime: Implement GUID_(Download|Unload)FromAudioPath for wave track.
362       dmime: Implement IDirectMusicTrack_Play for the wave track.
363       dmime: Play direct sound buffer from DMUS_PMSGT_WAVE message.
364       dmsynth: Fix synth download of articulations list.
365       dmsynth: Improve debug traces of DLS2 connections.
366       dmsynth: Guard synth members with a CS.
367       dmsynth: Parse MIDI events in IDirectMusicSynth_PlayBuffer.
368       dmsynth: Play some MIDI events in IDirectMusicSynth_Render.
369       dmsynth: Create fluid_preset and fluid_voice from instrument.
370       dmband: Download / unload bands when initializing / ending band track.
371       dmime: Implement sequence track IDirectMusicTrack_Play.
372       dmime: Implement band track IDirectMusicTrack_Play.
373       dmime: Output DMUS_MIDI_PMSG into a music buffer on the port.
374       dmime: Translate DMUS_PMSGT_NOTE to DMUS_PMSGT_MIDI messages.
375       dmime: Translate DMUS_PMSGT_PATCH to DMUS_PMSGT_MIDI messages.
376       winex11: Forcefully unmap the clipping window when it loses focus.
378 Stefan Dösinger (1):
379       wined3d: Reference the push constant buffers.
381 Zebediah Figura (15):
382       objsel: Remove unnecessary includes.
383       objsel: Remove DLL refcount tracking.
384       objsel: Merge factory.c into objsel.c.
385       objsel: Do not check for a NULL interface in COM methods.
386       objsel: Do not create an object from IClassFactory::QueryInterface().
387       wined3d: Rename WINED3D_MAX_TEXTURES to WINED3D_MAX_FFP_TEXTURES.
388       wined3d: Rename the "textures" field of struct wined3d_gl_limits to "ffp_textures".
389       wined3d: Rename the "MaxSimultaneousTextures" field of struct fragment_caps to "max_textures".
390       wined3d: Rename the "MaxTextureBlendStages" field of struct fragment_caps to "max_blend_stages".
391       wined3d: Store the "wined3d_caps" field of struct fragment_caps as separate bool flags.
392       wined3d: Store a fragment_caps structure in struct wined3d_d3d_info.
393       shell32: Fix parsing empty arguments in parse_dde_command().
394       ddraw: Do not check for DDRAW_NO3D in wined3d_resource_desc_from_ddraw().
395       ddraw: Refactor how bind flags are computed.
396       ddraw: Always create surfaces with WINED3D_BIND_SHADER_RESOURCE if possible.
398 Zhiyi Zhang (2):
399       mf: Avoid a double free of presentation clock timers.
400       winex11.drv: Set _NET_WM_FULLSCREEN_MONITORS only when necessary.