1 The Wine development release 2.13 is now available.
3 What's new in this release (see below for details):
4 - Unicode data updated to Unicode 10.0.0.
5 - Nicer looking default mouse cursors.
6 - Persistent connections support in WinHTTP.
7 - Message Framing protocol support in WebServices.
8 - Improved metafile support in GdiPlus.
9 - Debug registers support in x86-64 exception handling.
10 - Anti-aliasing improvements in DirectWrite.
13 The source is available from the following locations:
15 http://dl.winehq.org/wine/source/2.x/wine-2.13.tar.xz
16 http://mirrors.ibiblio.org/wine/source/2.x/wine-2.13.tar.xz
18 Binary packages for various distributions will be available from:
20 http://www.winehq.org/download
22 You will find documentation on http://www.winehq.org/documentation
24 You can also get the current source directly from the git
25 repository. Check http://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 2.13 (total 33):
34 32418 Skylanders Spyro's Adventure can't find USB RFID reader, needs hid.dll.HidD_SetOutputReport implementation
35 36612 valgrind shows a definite leak in winhttp/tests/notification.c
36 36613 valgrind shows an unintialized write in winhttp/tests/notification.c
37 38296 Ion Assault (Steam) crashes before the main menu (IWMReader::QueryInterface doesn't support IWMReaderAdvanced2, 'ae14a945-b90c-4d0d-9127-80d665f7d73e')
38 39833 File not found error when loading fmod audio in Dungeon of the Endless
39 42275 Biet-O-Matic chm help without directory entry
40 42528 Grand Theft Auto 5 crashes while loading
41 42537 Tomb Raider 2013 has medium graphic glitches
42 42653 Wine x64 does not set debug registers in exception record
43 42918 Command and Conquer Red Alert 3: should display at least silhouette (pSkipConstants parameter for D3DXCreateEffectEx is ignored)
44 43099 The Technomancer requires MFCreateSourceReaderFromByteStream implementation
45 43112 Guitar Pro 7 needs msvcp140.dll._Stat
46 43160 The Witcher 3: puppeteer lines appearing on character
47 43194 Uprising/Uprising 2: 3D world not displayed (solid grey/black screen)
48 43196 Eve Online Crash on macos wined3d-csmt.dll.so buffer_destroy_buffer_object()
49 43231 Dai-Senryaku Perfect 3.0:Not draw background with GDI.
50 43265 Regression makes Steam game Rabi-Ribi run too fast
51 43268 Wargaming.net Game Center needs msvcp140.dll._To_byte
52 43275 Sacred Gold v2.28 (GOG.com): invisible characters
53 43283 Crazyracing KartRider: Crashes on startup on unimplemented function ntoskrnl.exe.IoCreateNotificationEvent
54 43295 BitLord crashes on unimplemented function IPHLPAPI.DLL.if_nametoindex
55 43302 widl incorrectly generates _Proxy functions in header
56 43303 PHP crashes on unimplemented function api-ms-win-crt-math-l1-1-0.dll.acosh
57 43304 PHP crashes on unimplemented function api-ms-win-crt-math-l1-1-0.dll.atanh
58 43305 numpy crashes on unimplemented function api-ms-win-crt-math-l1-1-0.dll.log1p
59 43307 Wargaming Game Center periodically crashes with msvcp140.dll._Current_get
60 43312 valgrind shows a definite leak in dlls/d2d1/tests/d2d1.c
61 43315 Steam fails to start [After update Thu, 06 Jul 2017]
62 43317 Icons has a pink color background
63 43334 winealsa.drv: Warning while building (GCC 7.1.1)
64 43341 valgrind shows some definite leaks in dlls/gdiplus/tests/graphicspath.c
65 43348 valgrind shows some definite leaks in dlls/msacm32/tests/msacm.c
66 43373 valgrind shows an invalid free in dlls/dwrite/tests/font.c
68 ----------------------------------------------------------------
73 po: Update Japanese translation.
74 ntdll: Allow map_view() to allocate fixed memory between reserved area and non-reserved area.
75 gdi32: Return non-zero VREFRESH value for display devices.
78 msvcr120: Correct asinh specfile definitions.
79 msvcr120: Correct erff specfile definition.
80 msvcr120: If erff is not available, fall back to erf.
86 msvcr120: Set errno in log2.
87 msvcrt: Don't set errno in log functions if x is positive infinity.
89 Alexandre Julliard (37):
90 configure: Allow specifying different CFLAGS for the cross compiler.
91 kernel32/tests: Wait for threads to terminate.
92 user32: Implement LR_MONOCHROME for loading cursors.
93 winex11: Load a monochrome cursor instead of converting a color one when possible.
94 user32: Match cursor size in priority over color depth.
95 gdi32: Avoid having the source alpha channel interfere with color comparisons in GdiTransparentBlt.
96 server: Return the top surface window even when not using OpenGL.
97 user32: Add a helper function for copying bits from a window surface.
98 user32: Copy the bits of child windows when the parent has a surface.
99 wineandroid: Add a generation number to the native window to catch when old buffers are queued.
100 wineandroid: Hold on to the native window until we get a new one.
101 tools: Add support for generating cursor files from SVG.
102 user32: New high resolution cursors generated from SVG.
103 comctl32: New high resolution cursors generated from SVG.
104 ole32: New high resolution cursors generated from SVG.
105 riched20: New high resolution cursor generated from SVG.
106 wordpad: New high resolution cursor generated from SVG.
107 user32/tests: Add some tests for WindowFromDC and destroyed windows.
108 winex11: Store the process name at startup to avoid grabbing the loader lock again.
109 opengl32: Add some tests for last error with an invalid DC.
110 user32: Also disable the DC if the window is destroyed without a ReleaseDC.
111 ntdll: Remove unnecessary helper to set debug registers.
112 ntdll: Add helper functions for getting and setting thread context through the server.
113 ntdll: Move NtSetContextThread implementation to the platform-specific files.
114 ntdll: Move NtGetContextThread implementation to the platform-specific files.
115 ntdll: Don't copy cached debug registers from the parent thread.
116 wined3d: Make sure we are still using the correct window before setting pixel format.
117 ntdll: Add platform-specific versions of the thread data structure.
118 ntdll: Move the plaform-independent thread data to the GdiTebBatch TEB field.
119 ntdll: Move the plaform-specific thread data to the SystemReserved2 TEB field.
120 ntdll: Add support for debug registers in exceptions on x86-64.
121 user32: Don't exclude clipped children from the copied window bits since they may be up to date.
122 ntdll: Call NtRaiseException directly from RtlRaiseException on x86-64.
123 ntdll: Remove the raise_exception helper function on x86-64.
124 ntdll: Call NtRaiseException directly from RtlRaiseException on i386.
125 ntdll: Add small assembly wrappers for snooping instead of saving/restoring the entire context.
126 include: Undefine PARITY_NONE to avoid warnings.
128 Alistair Leslie-Hughes (8):
129 widl: Only generate Proxy Stubs when functions have the call_as attribute.
130 mfreadwrite.idl: Add enum MF_SOURCE_READER_FLAG and EXTERN_GUID defines.
131 wmvcore: Support IWMReaderStreamClock interface in IWMReader.
132 wmvcore: Support IWMReaderTypeNegotiation interface in IWMReader.
133 mfplat/tests: Add MFCreateAttributes tests.
134 wmvcore: Support IWMReaderTimecode interface in IWMReader.
135 wmvcore: Support IWMReaderPlaylistBurn interface in IWMReader.
136 include: Support all version of BackgroundCopyManager from bits.h.
139 api-ms-win-core-psapi-ansi-l1-1-0: Add dll.
140 api-ms-win-mm-time-l1-1-0: Add dll.
141 api-ms-win-security-provider-l1-1-0: Add dll.
142 winealsa.drv: Fix uninitialized variable warning.
145 vcomp: Add ARM64 support.
146 winemaker: Remove trailing semicolon from PreprocessorDefinitions.
147 wpcap: Fix build with newer pcap versions.
150 po: Update Lithuanian translation.
151 po: Update Lithuanian translation.
152 po: Update Lithuanian translation.
155 ntoskrnl.exe: Add IoCreateNotificationEvent stub.
158 po: Update Turkish translation.
161 kernel32/tests: Increase timeout for loader test.
164 gdiplus: Remove a duplicate word in a comment.
165 windowscodecs/tests: A spelling fix in an ok() message.
168 user.exe16: Fix ADD_TO_T macro.
171 webservices: Store byte records as WS_XML_BASE64_TEXT.
172 webservices: Add support for union types in the writer.
173 webservices: Add support for union types in the reader.
174 webservices: Add support for appending byte records in the reader.
175 webservices: Add support for setting the channel encoding.
176 webservices: Store all text in native format in binary mode.
177 webservices/tests: Add tests.
178 webservices: Handle all supported native text types in the reader type conversion.
179 webservices: Add support for 16-bit length text records in the writer.
180 webservices: Add support for byte records in the writer.
181 webservices: Add support for BOOL records in the writer.
182 webservices: Add support for integer records in the writer.
183 webservices: Add support for double records in the writer.
184 webservices: Add support for GUID records in the writer.
185 webservices: Add support for UNIQUE_ID records in the writer.
186 webservices: Add support for DATETIME records in the writer.
187 webservices/tests: Add tests.
188 webservices: Add support for reading float values.
189 webservices: Set default channel envelope and addressing versions.
190 webservices: Write Action and To headers unless the addressing version is WS_ADDRESSING_VERSION_TRANSPORT.
191 webservices: Implement the Message Framing Protocol.
194 d3drm/tests: Simplify a conditional expression.
195 winex11: Only use glXSwapBuffersMscOML() for child windows.
196 wined3d: Fix the WINED3DFMT_D24_UNORM_S8_UINT entry in wined3d_format_convert_from_float().
197 wined3d: Make a FIXME in cpu_blitter_clear() slightly more accurate.
198 wined3d: Handle WINED3D_POOL_SYSTEM_MEM resources in ffp_blitter_use_cpu_clear().
199 wined3d: Simplify the render target check in ffp_blitter_clear().
200 wined3d: Split combined render target and depth/stencil clears if needed in ffp_blitter_clear().
201 wined3d: Avoid using the CPU blitter for clearing either depth or stencil on combined formats.
202 wined3d: Avoid using the CPU blitter for clearing converted surfaces that aren't current on the CPU.
203 wined3d: Drop the special case for "converted" surfaces in wined3d_surface_blt().
206 regedit: Null-terminate REG_EXPAND_SZ and REG_MULTI_SZ hex data during concatenation if we reach EOF.
207 regedit: Update the status bar text when a treeview node is renamed.
208 regedit: Update the listview path when renaming a treeview node.
209 regedit: Output an error message and exit with error code zero instead of calling exit(1).
210 regedit: Update some resource strings associated with key parsing.
211 regedit: Update string resources associated with key deletion.
212 regedit: Remove the unused _CmdWndProc callback function from listview.c.
213 regedit: Move treeview notify messages to a separate function.
214 regedit: Remove the listview's sub-class and move its messages to childwnd.c.
215 regedit: Use UpdateStatusBar() instead of updating the text manually.
216 regedit: Re-implement some parts of the export operation.
217 regedit: Read registry value information before exporting.
218 regedit: Export value names from a separate function.
219 regedit: Export REG_DWORD data from a separate function.
220 regedit: Use a helper function to export hex data and REG_DWORD data.
221 regedit: Export REG_SZ data via the export_data() function.
222 regedit: Append a newline to the end of the export file.
223 regedit: Export value names from the export_data() function.
224 regedit: Remove an unused #define.
225 regedit: Remove unused header includes from regproc.c.
226 regedit: Re-size the data export buffer using the required size instead of doubling it.
227 reg: Avoid using RegQueryInfoKey() to enumerate subkeys and values in the query operation.
228 reg: Account for sizeof(WCHAR) when resizing the value name buffer during the query operation.
231 server: Don't allow APCs on objects associated with completion port.
232 winhttp/tests: Make notification tests more strict.
233 winhttp: Store security_flags in request_t instead of netconn_t.
234 winhttp: Allocate netconn_t separately from request_t.
235 winhttp: Use notification flags to explicitly mark notifications that should signal an event.
236 winhttp/tests: Make sure that all notifications were called before the end of a test.
237 winhttp: Get rid of no longer needed netconn_init.
238 winhttp: Pass socket address as sockaddr_storage to netconn_connect.
239 winhttp: Store socked address in netconn_t.
240 winhttp: Merge netconn_create and netconn_connect implementations.
241 winhttp: Introduce global connected hosts store and keep reference to host in netconn_t.
242 winhttp: Cache and reuse persistent HTTP connections.
243 winhttp: Periodically free outdated connections.
244 winhttp/tests: Added persistent connection tests.
245 mshtml: Added IHTMLDOMNode3 stub implementation.
246 mshtml: Forward duplicated IHTMLDOMNode3 functions to IHTMLDOMNode implementation.
247 mshtml: Expose IHTMLDOMNode3 interface to scripts.
248 mshtml: Support returning VT_NULL from return_nsstr_variant.
249 mshtml: Added IHTMLDOMNode3::get_textContent implementation.
250 mshtml: Added IHTMLDOMNode3::put_textContent implementation.
251 server: Remove no loner needed fd NULL check (Coverity).
252 rsaenh: Do not use stack variables out of frame (Coverity).
255 powershell: Add a stub program.
256 kernel32: Add stub for ResolveLocaleName.
259 make_unicode: Update data tables to Unicode 10.0.0.
260 make_unicode: Use VerticalOrientation.txt from UCD.
263 wined3d: Avoid creating event queries manually.
264 wined3d: Clean up buffer_sync_apple().
265 wined3d: Introduce wined3d fence objects.
266 d3d10core/tests: Prefer draw_color_quad() to custom pixel shader.
267 d3d11/tests: Prefer draw_color_quad() to custom pixel shader.
268 wined3d: Implement SM5 swapc instruction.
269 d3d11/tests: Add test for swapc instruction.
270 wined3d: Translate bfi, ubfe, ibfe instructions more carefully.
271 wined3d: Translate ld_{raw, structured} instructions more carefully.
272 d3d11/tests: Add additional tests for SM5 bit instructions.
273 d3d11: Handle D3D11_MAP_WRITE map type.
274 d3d11: Introduce d3d_blend_state_create() helper function.
275 d3d11: Fix race condition in d3d_blend_state_create().
276 d3d11: Introduce d3d_depthstencil_state_create() helper function.
277 d3d11: Fix race condition in d3d_depthstencil_state_create().
278 d3d11: Introduce d3d_rasterizer_state_create() helper function.
279 d3d11: Fix race condition in d3d_rasterizer_state_create().
280 d3d11: Introduce d3d_sampler_state_create() helper function.
281 d3d11: Fix race condition in d3d_sampler_state_create().
284 po: Update Norwegian translation.
285 po: Update Norwegian translation.
287 Kimmo Myllyvirta (1):
288 ws2_32: Set return size when calling WSAIoctl with WS_SIO_GET_EXTENSION_FUNCTION_POINTER.
291 po: Update Finnish translation.
294 gameux: Avoid freeing uninitialized interfaces (Coverity).
297 shell32: Prevent a possible null pointer dereference in SHGetFileInfoW.
300 d3dx9: Get rid of a forward declaration.
302 Michael Stefaniuc (5):
303 d2d1: Make use of the available ARRAY_SIZE macro.
304 d3dx9/tests: Use string concatenation for a multiline string.
305 include: Fix the name of a method of IDirectMusicLoader.
306 dmloader: Initialize a stack variable to avoid erratic test behavior.
307 dmloader/tests: NUL terminate a wide string.
309 Mikhail Paulyshka (1):
310 msvcp140: Implement _To_byte.
313 d3drm: Use existing helper to manage child frames array.
314 d3drm: Use existing helper to manage lights array.
315 d3drm: Use existing helper to manage visuals array.
316 d3drm: Use existing helper to manage mesh groups.
317 wininet: Fix potential use-after-free (Coverity).
318 po: Update Russian translation.
319 d2d1: Added a helper to trace D2D1_RECT_F arguments.
320 d2d1/tests: Fix stroke style object leak (Valgrind).
321 dwrite: Avoid repeated method calls during run rendering.
322 advapi32/tests: Statically link to ConvertSidToStringSidA().
323 advapi32/tests: Fix a sid string leak (Valgrind).
324 po: Update Russian translation.
325 regedit: Simplify double-click listview handler.
326 msacm32/tests: Fix a memory leak in tests (Valgrind).
327 dwrite: Improve rendering parameters validation.
328 dwrite: Use antialias mode set for bitmap render target.
329 dwrite: Explicitly check rendering parameters pointer passed to DrawGlyphRun().
330 dwrite: Trace user-provided OpenType feature set.
331 d2d1: Pass current text antialias mode down to IDWriteGlyphRunAnalysis.
332 d2d1: Enforce text antialias mode vs text rendering mode consistency.
333 d2d1: Force appropriate antialiasing mode when drawing text elements using 2D primitives.
334 dwrite: Added ability to specify multiple families per fallback range.
335 dwrite/tests: Use empty text in line metrics test.
336 d3drm/tests: Fix a leak in tests (Valgrind).
337 xmllite/tests: Use input stream helper in more tests.
338 dwrite: Print missing table message as a trace.
339 dwrite: Fix cache entry use-after-free (Valgrind).
340 xmllite/reader: Implement MoveToAttributeByName().
341 xmllite/reader: Added a helper for setting current attribute cursor.
344 d3dx9/tests: Add test for skip_constants effect parameter.
345 d3dx9: Factor out is_parameter_used() function.
346 d3dx9: Simplify init and cleanup in get_constants_desc().
347 d3dx9: Get rid of init_set_constants() function.
348 d3dx9: Fail effect creation when parameter evaluator creation fails.
349 d3dx9: Introduce d3dx_shader_get_ctab_constant() function and use it instead of ID3DXConstantTableImpl_GetConstantDesc().
350 d3dx9: Support skip_constants parameter for effect.
351 d3dx9/tests: Add more tests for skip_constants effect parameter.
352 d3dx9: Fix potential memory leak on HeapReAlloc() failure in get_constants_desc().
355 gdiplus: Remove unused clsid parameter from encode_image_func helpers.
356 gdiplus: Add partial support for GdipDrawImagePointsRect on metafile.
357 gdiplus: Add function for managing metafile objects id.
358 gdiplus: Add support for ImageAttributes when drawing image to metafile.
359 gdiplus: Support GdipSetTextRenderingHint in metafiles.
360 gdiplus: Support GdipSetPixelOffsetMode in metafiles.
361 msvcp90: Remove special handling of directories in tr2::sys::_File_size.
362 gdiplus: Support GdipSetSmoothingMode in metafiles.
363 gdiplus: Support GdipSetCompositingMode in metafiles.
364 gdiplus: Support GdipSetCompositingQuality in metafiles.
365 gdiplus: Support GdipSetInterpolationMode in metafiles.
366 gdiplus: Add EMF+ properties records tests.
367 msvcr120: Add fallback implementation of erf function.
368 msvcr120: Add fallback implementation of asinh.
369 gdiplus: Add DrawPath stub for metafiles.
370 gdiplus: Add helper for saving path objects in metafile.
371 gdiplus: Add helper for saving pens to metafile.
372 gdiplus: Add partial support for GdipDrawPath on metafiles.
373 gdiplus: Add partial support for GdipFillPath on metafiles.
374 gdiplus: Fix GdipGetVisibleClipBounds behavior on metafiles.
375 msvcr120: Fix exception object refcounting in __ExceptionPtrAssign.
376 gdiplus: Add support for creating image object containing metafile.
377 gdiplus/tests: Test drawing metafile image to emf+ file.
378 gdiplus: Use VERSION_MAGIC2 constant in metafiles functions.
379 gdiplus: Store newer gdi+ version in created GdipRegions.
380 gdiplus: Add write_path_data helper to create EMF+ path object.
381 gdiplus: Use write_path_data helper in GdipGetRegionData.
383 Sebastian Lackner (5):
384 webservices: Remove dead code in read_attribute_value_bin.
385 reg/tests: Don't call RegCloseKey on uninitialized memory.
386 wined3d: Return hr result in wined3d_event_query_create.
387 configure: Improve check for if_nameindex.
388 winhttp: Rename host_t to hostdata_t.
391 msvcp140: Remove a redundant check.
392 msvcp140: Implement _File_size.
393 msvcp140: Implement _Current_get.
394 msvcp140: Export _Current_set.
395 msvcp140: Implement _Stat and _Lstat.
396 msvcp140/tests: Port test_dir_operation to msvcp140.
399 gdiplus: Fix leak in widen_dashed_figure.
400 gdiplus: Don't require specific gdi+ versions in metafile structures.
402 Zebediah Figura (17):
403 msi: Correctly format the template field for MsiProcessMessage().
404 msi: Allow setting NULL in MsiSetInteger().
405 msi: Provide the result of the last action.
406 msi: Use the given record for INSTALLMESSAGE_ACTIONDATA.
407 msi: Rewrite dump_record().
408 msi: Return the correct values from custom actions.
409 msi: Properly parse empty format strings.
410 user32: Calculate a window's minimized size even if it's already minimized.
411 user32: Allow activating the desktop window.
412 msi/tests: Use static linking for a couple functions.
413 msi: Avoid a null pointer dereference.
414 msi: Don't set _BrowseProperty.
415 msi: Process ShowDialog/EndDialog after all other control events.
416 msi: Don't queue a parent dialog to be shown in EndDialog.
417 msi: Send the dialog created message in dialog_create().
418 krnl386.exe16: Fail int 21, 4e if the volume label is an empty string.
419 dbghelp: Silence a noisy FIXME.