1 The Wine development release 2.10 is now available.
3 What's new in this release (see below for details):
4 - Initial version of the Android graphics driver.
5 - Dictionary support in WebServices.
6 - A number of Direct2D fixes.
7 - User interface improvements in RegEdit.
8 - OLE clipboard cache fixes.
11 The source is available from the following locations:
13 http://dl.winehq.org/wine/source/2.x/wine-2.10.tar.xz
14 http://mirrors.ibiblio.org/wine/source/2.x/wine-2.10.tar.xz
16 Binary packages for various distributions will be available from:
18 http://www.winehq.org/download
20 You will find documentation on http://www.winehq.org/documentation
22 You can also get the current source directly from the git
23 repository. Check http://www.winehq.org/git for details.
25 Wine is available thanks to the work of many people. See the file
26 AUTHORS in the distribution for the complete list.
28 ----------------------------------------------------------------
30 Bugs fixed in 2.10 (total 21):
32 16948 tmpfile() fails when run from Unix path
33 26388 Sound Recorder crashes on encoding PCM Sample
34 31967 Unreal Engine 3 games don't render anything on OS X
35 32563 Purebasic does not display icons in toolbar which is drawn distorted.
36 32809 Multiple applications and games need wmvcore.dll.WMCreateWriterPriv (KwSing, iMesh 7.x)
37 38093 The main character is missing/invisible in Hitchcock: The Final Cut demo
38 38328 WPS 2013 (Kingsoft) crash at install
39 38731 TopoEdit tool from Windows SDK 8.1 crashes on unimplemented function mf.dll.MFCreateTopology
40 39064 Path of Exile: resolution other than 1024x768 causes a crash
41 39367 EA Origin crashes after installing games, needs mf.dll.MFCreateMediaSession
42 39998 Medieval: Total War needs conversion from B5G5R5X1 to B5G5R5A1
43 41489 notepad++ escape key
44 42345 Dark souls 2: Scholar of the First Sin - no video
45 42421 Sniper Elite V2 has faulty color determination
46 42754 Seed of Andromeda Pre-Alpha 0.2 crashes
47 42807 Coda Finale: call to unimplemented function IPHLPAPI.DLL.GetIfTable2Ex
48 42994 wine can't be compiled by gcc-2.95.4 (mscoree/assembly.c)
49 43020 Guitar Pro 7 needs msvcp140.dll._To_wide
50 43053 Overexposed scene in fr-025: the.popular.demo by farbrausch
51 43097 WarBR: game (WarS v5.5 p4) crashes on start, needs WMP IOleObject::GetExtent method implementation
52 43127 Multiple 64-bit applications crash with stack overflow errors when Wine is compiled with GCC 7.x (set_context_reg in ntdll/signal_x86_64.c assumes Xmm registers are aligned)
54 ----------------------------------------------------------------
59 kernel32/tests: Add more tests related to the zero_bits parameter.
60 ntdll: Zero bits parameter must be less than 21.
63 adsldpc: Add stub DLL.
65 Alexandre Julliard (40):
66 configure: Add Android driver stub.
67 wineandroid: Add initial stub for the Java activity.
68 wineandroid: Install libraries from the package assets if present.
69 wineandroid: Add support for initializing Wine from Java.
70 libwine: Handle WINEDEBUGLOG variable on Android to specify a log file.
71 wineandroid: Add an initial GDI driver.
72 wineandroid: Initialize screen dimensions.
73 wineandroid: Add support for storing per-window driver information.
74 wineandroid: Register a JNI callback for reporting desktop size changes.
75 wineandroid: Add an event queue to support handling Java callbacks in the desktop thread.
76 wineandroid: Create a pseudo-device to handle ioctl calls.
77 wineandroid: Create the top-level view on desktop window creation.
78 wineandroid: Wait until we receive the desktop size before proceeding with startup.
79 wineandroid: Add Java callbacks for creating and destroying a window.
80 wineandroid: Notify Java also when a window is forcefully destroyed.
81 wineandroid: Add a Java callback for setting window position.
82 wineandroid: Create a TextureView for every top-level window.
83 wineandroid: Add a header for some of the Android native APIs and data structures.
84 wineandroid: Add a JNI callback to store the native window we got from the TextureView.
85 explorer: Don't forward the system tray to the display driver in desktop mode.
86 wineandroid: Allocate a native window wrapper in the client process for every window.
87 wineandroid: Forward native window query() calls to the desktop process.
88 wineandroid: Forward native window perform() calls to the desktop process.
89 wineandroid: Forward native window setSwapInterval() calls to the desktop process.
90 wineandroid: Load the gralloc module in all processes.
91 wineandroid: Forward native window buffer management calls to the desktop process.
92 wineandroid: Implement LOCK/UNLOCK perform() functions on top of the buffer management calls.
93 wineandroid: Implement window surfaces.
94 wineandroid: Update the contents when we receive a new surface from Java.
95 wineandroid: Implement SetWindowRgn.
96 wineandroid: Implement SetLayeredWindowAttributes.
97 wineandroid: Implement UpdateLayeredWindow.
98 wineandroid: Implement ShowWindow to put icons off-screen.
99 wineandroid: Implement SetParent and forward it to Java.
100 explorer: Allow the driver to override the desktop winproc at creation time.
101 wineandroid: Properly clean up windows that aren't destroyed explicitly.
102 wineandroid: Implement SetCapture and store the capture window in the desktop process for global captures.
103 wineandroid: Add support for mouse events.
104 wineandroid: Add support for keyboard events.
105 wineandroid: Implement ToUnicodeEx.
107 Alistair Leslie-Hughes (6):
108 include/mfapi.h: Add standard GUID defines.
109 wmvcore: Implement WMCreateWriterPriv.
110 dplayx: First name server address may be null.
111 dplayx/tests: Remove some wine_todo.
112 dplayx: Implement IDirectPlay4 EnumConnections.
113 dplayx: Implement IDirectPlayLobby3 EnumAddressTypes.
116 api-ms-win-core-processthreads-l1-1-2: Add forwards.
117 api-ms-win-security-activedirectoryclient-l1-1-0: Add dll.
118 shobjidl.idl: Add IApplicationDestinations declaration.
119 shell32: Add IApplicationDestinations stub.
120 uxtheme/tests: Fix a typo in ok() message.
123 iphlpapi: Add partial implementation of GetIfTable2Ex.
124 ntdll: Fix Cpsr value in CONTEXT_ARM64.
127 po: Update Lithuanian translation.
128 po: Update Lithuanian translation.
131 d3dx9_34: Sort specfile.
132 d3dx9_35: Sort specfile.
133 d3dx9_36: Sort specfile.
134 d3dx9_37: Sort specfile.
135 d3dx9_38: Sort specfile.
136 d3dx9_39: Sort specfile.
137 d3dx9_40: Sort specfile.
138 d3dx9_41: Sort specfile.
139 d3dx9_42: Sort specfile.
140 d3dx9_43: Sort specfile.
141 acledit: Fix ordinal ordering.
142 gameux: Label ordinals.
143 jsproxy: Label ordinals.
144 msimg32: Label ordinals.
145 wmp: Add some ordinals.
149 po: Update Turkish translation.
152 include: Add sqlucode.h.
153 msvcrt: Translate SEH exception on each call to __CxxFrameHandler.
155 Dmitry Timoshkov (1):
156 oleaut32: Add an arguments check to LoadTypeLibEx.
158 François Gouget (10):
159 odbccp32/tests: Make test_SQLInstallTranslatorEx() static.
160 wmvcore/tests: Make test_profile_manager_interfaces() static.
161 oleaut32: Make VARIANT_GetLocalisedText() static.
162 wsdapi: Add a trailing '\n' to a TRACE() message.
163 wined3d: Add a trailing newline to an ERR() message.
164 d3dx9_36: Add a trailing '\n' to a FIXME() message.
165 ole32: Make bitmap_info_size() static.
166 wbemdisp: Add a trailing newline to a TRACE() message.
167 jscript: A spelling fix in a comment.
168 configure: Set PKG_CONFIG_PATH to get the right settings for the target host.
171 webservices: Add support for dictionary strings in the writer.
172 webservices: Add support for dictionary strings in the reader.
173 webservices: Add a builtin dictionary.
174 webservices: Implement WsGetDictionary.
175 msiexec: Fix parsing of command lines where quoted strings and properties are not separated by whitespace.
176 include: Add missing Web Services declarations.
177 webservices: Write correct envelope headers for WS_ENVELOPE_VERSION_NONE.
178 webservices: Implement WsGetHeader.
179 webservices: Implement WsGetCustomHeader.
180 webservices: Support more text record types in the reader.
181 webservices: Set SO_REUSEADDR on listener sockets.
182 webservices: Restrict connections to IPv4 for now.
183 webservices: Pass AI_PASSIVE when resolving the hostname for a listener socket.
184 wineandroid: Implement GetKeyboardLayout.
185 wineandroid: Implement VkKeyScanEx.
186 wineandroid: Synchronize keyboard lock state.
189 wined3d: Only warn about 0 compare functions in wined3d_gl_compare_func().
190 wined3d: Validate parameter lengths in shader_sm4_read_dst_param() (AFL).
191 wined3d: Validate parameter lengths in shader_sm4_read_src_param() (AFL).
192 wined3d: Validate parameter lengths in shader_sm4_read_param() (AFL).
193 d2d1: Take the render target transform into account when evaluating flatness in vs_code_bezier_outline[].
194 d3dx9/tests: Use ARRAY_SIZE in test_D3DXSHEvalDirectionalLight().
195 d3dx9/tests: Use ARRAY_SIZE in test_D3DXSHMultiply4().
196 d3dx9/tests: Use ARRAY_SIZE in test_D3DXSHRotate().
197 d3dx9/tests: Use ARRAY_SIZE in test_D3DXSHRotateZ().
198 d3dx9/tests: Use ARRAY_SIZE in test_D3DXSHScale().
199 d2d1: Implement d2d_d3d_render_target_CreateLayer().
200 d2d1: Implement d2d_layer_GetSize().
201 d2d1: Implement d2d_rectangle_geometry_GetBounds().
202 d2d1: Implement d2d_transformed_geometry_GetBounds().
203 d2d1: Implement d2d_rectangle_geometry_Simplify().
204 d2d1: Implement d2d_transformed_geometry_Simplify().
205 d2d1: Implement d2d_path_geometry_Simplify().
206 d2d1: Fix the segment count for open figures.
207 wined3d: Use WINED3D_CS_QUEUE_MAP for WINED3D_CS_OP_UPDATE_SUB_RESOURCE.
210 regedit: Move the listview's NM_SETFOCUS handling to listview.c.
211 regedit: Allow handling of return values from listview notification messages.
212 regedit: Update a value name without refreshing the listview.
213 regedit: Add listview entries without refreshing the listview.
214 regedit: Update the data in a listview subitem without refreshing the listview.
215 regedit: Delete a listview item without refreshing the listview.
216 regedit: Update the status bar when moving to the 'Computer' root node.
217 regedit: Never disable the 'Find' and 'Find Next' menu items.
218 regedit: Update handling of the 'Delete' menu item.
219 regedit: Update handling of the 'Rename' menu item.
220 regedit: Update handling of the 'Copy Key Name' menu item.
221 regedit: Fix handling of 'Copy Key Name' menu items.
222 regedit: Add status bar text for adding a new expandable string value.
223 regedit: Add status bar text for the 'Modify Binary Data' menu item.
224 regedit: Update some resource strings.
225 regedit: Update handling of the new subkey and new value menu items.
226 regedit: Update handling of the 'Modify' menu item.
227 regedit: Re-implement favourite registry key handling.
228 regedit: Use the treeview item label in the 'Favourites' menu instead of the key path.
229 regedit: Only show the 'Modify' menu items when the listview has focus.
230 regedit: Update handling of the 'Modify' menu items.
231 regedit: Use shared code to add favourite key items to the 'Remove' listbox.
232 reg/tests: Add tests for key creation and deletion.
233 reg/tests: Add tests for deleting registry values during the import operation.
234 regedit/tests: Add tests for key creation and key deletion.
235 regedit/tests: Add tests for value deletion.
236 regedit: Do not create registry keys that end without a closing bracket.
237 regedit: Do not use REG_NONE as the default data type if strtoulW() fails.
238 reg/tests: Remove un-needed tab characters from some keys in the key deletion tests.
239 regedit/tests: Remove an un-needed tab character from a key in the key deletion tests.
241 Huw D. M. Davies (15):
242 riched20: The background colour is set using \highlight.
243 user32: Allow button-down events on the system menu to continue tracking.
244 user32: A second button-up on the system menu should end the tracking.
245 user32: A button-up in the menu-bar, but not on an item, should stop the tracking.
246 user32: Use the original message's wparam during the double-click comparison.
247 user32: End the tracking on a system menu double-click.
248 ole32: Fix incorrectly assigned member in the presentation stream.
249 ole32: Start allocating regular cache entries with id of 2.
250 ole32: Add the ability to create an entry without returning it.
251 ole32: Create initial cache entries for the CLSID_Picture_ classes.
252 ole32/tests: Add tests for automatic cache entry creation.
253 ole32: InitNew() should fail if there is a current storage.
254 ole32/tests: Add tests for InitNew().
255 wineandroid: The event list may have been altered by a recursive call, so restart the loop from the beginning.
256 wineandroid: Tell git diff about java files.
259 oleaut32/tests: Use static oleaut32 linking in vartest.c.
260 wininet: Correctly handle redirects to non-http URLs.
261 wininet/tests: Added a helper for testing INTERNET_OPTION_URL.
262 wininet/tests: Create events once for all tests.
263 wininet/tests: Introduce open_socket_request helper.
264 wininet/tests: Added redirection tests using test server.
265 wmp: Added IOleObject::GetExtent and SetExtent implementation.
266 rpcrt4: Store server thread handle in RpcServerProtseq.
267 rpcrt4: Store listening pipe name in RpcConnection_np.
268 rpcrt4: Recreate listening pipe in rpcrt4_protseq_np_get_wait_array if needed.
269 rpcrt4: Wait for all active connections to be released before quiting server thread.
270 rpcrt4: Wait for server threads to finish in RpcMgmtWaitServerListen.
271 rpcrt4/tests: Added more server stopping tests.
272 urlmon.idl: Added IBindCallbackRedirect declaration.
273 mshtmhst.idl: Added missing DOCHOSTUIFLAG values.
274 urlmon/tests: Get rid of debug leftovers.
275 urlmon.idl: Added BINDINFO_OPTIONS declaration.
276 urlmon: Added support for BINDINFO_OPTIONS_DISABLEAUTOREDIRECTS in http protocol handler.
277 urlmon/tests: Added test of hanling BINDINFO_OPTIONS_DISABLEAUTOREDIRECTS by http protocol provider.
278 urlmon: Release previously set URI in BindProtocol::StartEx.
279 urlmon: Added a helper function for releasing protocol handler.
280 urlmon: Support BINDINFO_OPTIONS_DISABLEAUTOREDIRECTS in BindProtocol object.
281 urlmon/tests: Added BindProtocol redirection handling tests.
282 mshtml: Added IBindCallbackRedirect implementation.
283 mshtml: Added DOCHOSTUIFLAG_ENABLE_REDIRECT_NOTIFICATION flag support.
284 rpcrt4: Fix a race when server grabs a connection from the list of active connections.
285 rpcrt4: Change RPCRT4_ReleaseConnection return type to void.
288 wineandroid: Implement GetKeyNameText.
289 wineandroid: Implement MapVirtualKeyEx.
292 wined3d: Require just specific OpenGL extensions and SM4 support for SM5.
293 wined3d: Introduce query operation to destroy queries.
294 wined3d: Trace color fixup checks in apply_format_fixups().
295 wined3d: Do not bother to check identity fixup support.
296 wined3d: Remove outdated comment in CheckRenderTargetCapability().
297 d3d11/tests: Prefer D3D11 enum values.
298 wined3d: Fix FFP lighting.
299 wined3d: Bind frag data location for core context draw quad shader.
300 wined3d: Use ARRAY_SIZE() in init_format_filter_info().
301 wined3d: Use ARRAY_SIZE() in wined3d_format_get_color_key_conversion().
302 user32: Fix memory leak in WinHelpA().
303 wined3d: Prefer GLSL 1.50 shaders in draw_test_quad().
304 d3d8: Validate adapter format in CheckDeviceFormat().
305 wined3d: Extend wined3d_check_device_format() to allow querying general format support.
306 d3d11: Partially implement d3d11_device_CheckFormatSupport() on top of wined3d_check_device_format().
307 wined3d: Correctly handle phase instance ID register when ARB_shading_language_pack420 is not supported.
308 d3d11/tests: Introduce get_query_data() helper function.
309 wined3d: Introduce get_query_result64() helper function.
310 wined3d: Rearrange wined3d_query_type enum values.
311 d3d11/tests: Add additional test for pipeline statistics query with no pixel shader.
312 d3d11/tests: Fix ok() checks in test_timestamp_query().
313 d3d10core/tests: Introduce get_query_data() helper function.
314 d3d11: Implement d3d11_query_GetDesc().
315 d3d11: Implement d3d10_query_GetDesc().
316 d3d11: Fixup D3D10_QUERY_PIPELINE_STATISTICS data.
317 d3d10core/tests: Port test_pipeline_statistics_query() from d3d11.
320 ntdll: On macOS, don't use clock_gettime() even if it's available.
321 server: On macOS, don't use clock_gettime() even if it's available.
324 po: Update Norwegian translation.
327 po: Update Finnish translation.
329 Marcin Mikołajczak (1):
330 po: Updated Polish translation.
333 hid: Increase buffer size to allow 16bit value + space + NUL (GCC7).
336 wined3d: Don't leak free_so_statistics_queries on device destruction.
337 include: Fix definition of EXTERN_GUID.
338 wined3d: Implement WINED3D_QUERY_TYPE_PIPELINE_STATISTICS.
339 d3d11/tests: Add basic test for D3D11_QUERY_PIPELINE_STATISTICS.
342 dwrite: Grab font data reference when adding replacement.
343 comctl32: Change some overly exciting tracing messages.
344 include: Added IMFSourceResolver definition.
345 mfplat: Return stub IMFSourceResolver from MFCreateSourceResolver().
346 comctl32/toolbar: Don't add NULL imagelist entries.
347 comctl32/toolbar: Support undocumented IDs for standard bitmap lists.
348 comdlg32: Simplify notification helper.
349 comdlg32: Improve tracing messages.
350 include: Add some missing Common Controls definitions.
351 comctl32/taskdialog: Added TaskDialog() export.
352 mf: Added MFCreateTopology and stub IMFTopology implementation.
353 include: Added CreateSymbolicLink() flag.
354 po: Update Russian translation.
355 mf: Added IMFMediaSession stub.
356 shell32: Avoid zero length allocations when converting path in ExtractIconA() (Valgrind).
357 d3drm/tests: Some tests for creating texture from ddraw surface.
358 d3drm: Implement CreateTextureFromSurface() and related methods.
359 d3drm: Fix IDirect3DRMMesh::QueryInterface to support IDirect3DRMObject and IDirect3DRMVisual.
360 d3drm: Fix IDirect3DRMMeshBuilder::QueryInterface to support IDirect3DRMObject and IDirect3DRMVisual.
361 inetcomm/tests: Return interface pointer for test stream.
362 inetcomm: Release previously set data (Valgrind).
363 inetcomm: Implemented IMimeBody::GetClassID().
364 d3drm: Consolidate GetClassName() implementation, reduce tests duplication.
365 d3drm/tests: Added a helper to create test window.
366 mpr/tests: Remove NT4 version check.
367 oleaut32/tests: Basic test for invalid arguments in LoadTypeLib/LoadTypeLibEx.
368 po: Update Russian translation.
369 d3drm: Use consistent naming for mesh builder implementation pointers.
370 d3drm: Implement AddVertex() for mesh builder.
371 d3drm: Implement AddNormal() for mesh builder.
372 shell32: Use IS_INTRESOURCE() to test context menu verb kind.
373 d3drm: Make it possible to create faces with CreateObject().
374 d3drm: Make it possible to create mesh builder with CreateObject().
377 wsdapi: Implement AddNamespace.
378 wsdapi: Implement AddNameToNamespace.
379 wsdapi: Create default XML context in WSDCreateDiscoveryPublisher if required.
380 include: Add definitions for IWSDUdpAddress, IWSDTransportAddress.
381 wsdapi: Add stub implementation of IWSDUdpAddress.
382 wsdapi/tests: Add WSDCreateUdpAddress tests.
383 wsdapi/tests: Add tests for Get/SetTransportAddress.
384 wsdapi/tests: Add tests for Get/SetPort.
385 wsdapi/tests: Add tests for Get/SetMessageType.
386 wsdapi/tests: Add tests for Get/SetSockaddr.
387 include: Add IWSDUdpMessageParameters interface declaration.
390 d3dx9: Get rid of table lookup for converting between register indexes and offsets.
391 d3dx9: Factor out get_const_upload_info() function.
392 d3dx9: Factor out table_type_from_param_type() function.
393 d3dx9: Precompute and store a constant direct copy flag.
394 d3dx9: Don't add const setting entries with zero count.
395 d3dx9: Merge constant setting for child parameters when possible.
396 d3dx9: Limit constant size by register count instead of table size.
397 d3dx9/tests: Remove a leftover todo_wine_if in test_effect_preshader().
398 d3dx9/tests: Extend test for boolean matrix constant setting.
399 d3dx9/tests: Factor out test_effect_preshader_clear_pbool_consts() function.
400 d3dx9/tests: Factor out test_effect_preshader_compare_pbool_consts() function.
401 d3dx9/tests: Initialize boolean constants with the inverse of expected result.
402 d3dx9/tests: Add tests for updating boolean matrices on CommitChanges.
403 d3dx9: Remove redundant FIXME in set_constants().
406 winemac: Don't update clipboard if its content didn't change.
407 include: Add __EXCEPT_CTX/__FINALLY_CTX macros.
408 msvcrt: Use temp directory when creating file in tmpfile.
409 msvcrt: Translate SEH exception on each call to __CxxFrameHandler (i386).
411 Sebastian Lackner (4):
412 winex11.drv: Fix compilation when XFixes is not present.
413 kernel32: Add missing WINAPI to SetThreadIdealProcessorEx implementation.
414 d3d11: Remove duplicate const in d3d11_device_CheckFormatSupport.
415 ntdll: Do not cast unaligned pointer to M128A in set_context_reg.
418 msvcp140: Implement _To_wide.
421 user32/tests: Add tests for minimizing MDI windows.
422 msacm32: Don't write cbSize if the format is WAVE_FORMAT_PCM.
423 msacm32: Add more invalid parameter checks for acmFormatEnum().
424 msacm32: Add invalid parameter checks for acmFormatDetails().
425 msacm32: Add more invalid parameter checks for acmFormatSuggest().
426 msacm32: Try to suggest PCM to PCM conversion first.
427 imaadp32.acm: Fix block size calculations.
428 imaadp32.acm: Fix nibble ordering.
429 msacm32: Check correct variable.