Software 42296 Published by

The Wine development release 2.12 is now available



What's new in this release (see below for details):
- Audio driver for Android.
- Some performance improvements with async I/O.
- More RegEdit file parser improvements.
- Beginnings for MSI user interface support.
- Various bug fixes.

The source is available from the following locations:

http://dl.winehq.org/wine/source/2.x/wine-2.12.tar.xz
http://mirrors.ibiblio.org/wine/source/2.x/wine-2.12.tar.xz

Binary packages for various distributions will be available from:

http://www.winehq.org/download

You will find documentation on http://www.winehq.org/documentation

You can also get the current source directly from the git
repository. Check http://www.winehq.org/git for details.

Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.

----------------------------------------------------------------

Bugs fixed in 2.12 (total 9):

24723 Lost Horizon crash/page fault during Chapter 2
27656 Deus Ex: Human Revolution - Severe graphical glitches
35142 Lara Croft and the Guardian of Light: screen filled with artefacts when StrictDrawOrdering disabled
42014 Multiple apps crash on start due to missing support for LABEL_SECURITY_INFORMATION(affects BOSE SoundTouch, Spotify, Paltalk)
42597 Mouse wheel doesn't scroll in MyLifeOrganized
43123 compilation fails in dlls/d3dx9_36/tests with gcc 4.2.2
43231 Dai-Senryaku Perfect 3.0:Not draw background with GDI.
43257 winetricks -q art2kmin fails
43295 unimplemented function IPHLPAPI.DLL.if_nametoindex

----------------------------------------------------------------

Changes since 2.11:

Akihiro Sagawa (3):
tools: Also ignore STATUS_WAIT_0.
tools: Support multiple error name tokens in a line.
ntdll/tests: Add more tests if we have real VM counters.

Alex Henrie (1):
ole32: Avoid null pointer dereferences in CoGetTreatAsClass.

Alexandre Julliard (15):
libwine: Add a helper function to set the bin directory.
libwine: Add a helper function to set the dll directory.
libwine: Fall back to the WINELOADER path for the bin directory.
wineandroid: Fix handling of Caps Lock with non-alphabetic keys.
wineandroid: Work around the Android N restriction on loading libhardware.
wineandroid: Allow putting libraries in the native library directory.
secur32/tests: Add some braces to silence a clang warning.
ws2_32/tests: Print IP addresses as unsigned.
winetest: Don't require a tag or email address when only running a few tests.
server: Call the satisfied methods after removing the thread wait.
wineandroid: Forward the destroy window ioctl to Java even if the window was freed already.
wineandroid: Add networking permissions.
wineandroid: Support running binaries from the application directory.
user32: Scale cursor sizes with the screen DPI.
user32: Get rid of the Wine-specific OCR_DRAGOBJECT.

Alistair Leslie-Hughes (33):
oledb32: Support DB/DATE/TIME/TIMESTAMP in GetConversionSize for W/STR.
dsound: Free MMDevice on Release.
oledb32: Support DBTYPE_DBTIMESTAMP to DBTYPE_WSTR in DataConvert.
dmime: Add TRACE to IDirectMusicSegment8 QueryInterface.
dmime: Support more interfaces in IDirectMusicAudioPath.GetObjectInPath.
mfplat: Implement MFCreateMediaType.
mfplat/tests: Added MFCreateMediaType test.
include: Add mftransform.idl.
include: Support wine_dbgstr_longlong in tests.
propsys/tests: Use standard wine_dbgstr_longlong.
ntdll/tests: Use standard wine_dbgstr_longlong.
vcomp/tests: Use standard wine_dbgstr_longlong.
dmusic/tests: Use standard wine_dbgstr_longlong.
iphlpapi/tests: Use standard wine_dbgstr_longlong.
quartz/tests: Use standard wine_dbgstr_longlong.
apphelp/tests: Use standard wine_dbgstr_longlong.
shlwapi/tests: Use standard wine_dbgstr_longlong.
wmiutils/tests: Use standard wine_dbgstr_longlong.
msvcp110/tests: Use standard wine_dbgstr_longlong.
msvcp90/tests: Use standard wine_dbgstr_longlong.
msvcp60/tests: Use standard wine_dbgstr_longlong.
msvcp120/tests: Use standard wine_dbgstr_longlong.
webservices/tests: Use standard wine_dbgstr_longlong.
pdh/tests: Use standard wine_dbgstr_longlong.
shell32/tests: Use standard wine_dbgstr_longlong.
dmime: Rename IPersistStreamImpl_Load functions.
d2d1/tests: Use standard wine_dbgstr_longlong.
dwrite/tests: Use standard wine_dbgstr_longlong.
qmgr/tests: Use standard wine_dbgstr_longlong.
include: Define IDirectSoundFXI3DL2Reverb interface.
wmvcore: Support IWMReaderNetworkConfig1/2 interfaces in IWMReader.
mfreadwrite: Implement MFCreateSourceReaderFromByteStream.
mmdevapi/tests: Use standard wine_dbgstr_longlong.

Andrew Eikum (1):
wineandroid: Add an audio driver.

Andrey Gusev (6):
po: Update Ukrainian translation.
ext-ms-win-kernel32-package-l1-1-1: Add dll.
ext-ms-win-ntuser-windowclass-l1-1-1: Add dll.
ext-ms-win-ras-rasapi32-l1-1-0: Add dll.
ext-ms-win-security-credui-l1-1-0: Add dll.
ext-ms-win-security-cryptui-l1-1-0: Add dll.

André Hentschel (2):
include: Add some more prototypes to winuser.h.
vcomp/tests: Test more arguments with a callback.

Aurimas Fišeras (1):
po: Update Lithuanian translation.

Clemens Tamme (3):
gdiplus: Write API for GdipAddPathLine and GdipAddPathLineI.
gdiplus: Write API for GdipClonePath.
gdiplus: Write API documentation for GdipAddPathArc and GdipAddPathArcI.

Dmitry Timoshkov (7):
windowscodecs: Use PropVariantCompareEx to compare metadata items.
windowscodecs: Implement IWICMetadataQueryReader::GetLocation.
windowscodecs: Implement IWICBitmapDecoder::GetMetadataQueryReader in the GIF decoder.
windowscodecs: Add initial implementation of IWICMetadataQueryReader::GetMetadataByName.
windowscodecs: Add some tests for IWICMetadataQueryReader.
windowscodecs/tests: Add more tests for IWICMetadataQueryReader::GetMetadataByName.
windowscodecs: Fix a memory leak.

François Gouget (9):
wsdapi: Remove WINAPI on static functions where not needed.
advapi32/tests: A couple of spelling fixes in ok() messages.
mapi32: A spelling fix in a comment.
ntdll/tests: A spelling fix in a comment.
rpcrt4: Spelling fixes in comments.
msvcrt/tests: A couple of spelling fixes in ok() messages.
msvcp90: Spelling fixes in comments.
ws2_32/tests: A spelling fix in a comment.
msi/tests: Add a trailing linefeed to an ok() call.

Hans Leidekker (7):
webservices: Fix write option mapping in write_type_struct_field.
webservices: Add an index to the static dictionary.
webservices: Make sure to use the right dictionary to look up text values.
webservices: Fix reading byte records with 2 and 4 byte length.
webservices/tests: Add more dictionary tests.
webservices: Fix the empty text case for a couple of data types.
webservices: Handle text records with implicit end element.

Hugh McMaster (52):
regedit: Free the buffer and reset data information on error and after setting the value.
reg/tests: Separate Unicode import tests from the combined import tests.
reg/tests: Use verify_key() for consistency with the verify_reg*() functions.
reg/tests: Use the verify_key*() functions where possible.
regedit/tests: Use verify_key() for consistency with the verify_reg*() functions.
regedit/tests: Use the verify_key*() functions where possible.
reg/tests: Test backslashes with whitespace variations and comma placement.
reg/tests: Test line concatenation with a new registry key on the next line.
reg/tests: Test line concatenation with comments, new lines and comma variations before a new registry value.
reg/tests: Test line concatenation with comments, new lines and comma variations before a new default registry value.
reg/tests: Test whether a line beginning with a backslash can follow a line ending in a backslash.
reg/tests: Test the effects of comments and new lines that appear between valid hex data lines.
reg/tests: Test whether a forward slash can be used as a concatenation marker.
reg/tests: Test whether EOF invalidates a hex data line ending in a backslash.
regedit/tests: Test backslashes with whitespace variations and comma placement.
regedit/tests: Test line concatenation with a new registry key on the next line.
regedit/tests: Test line concatenation with comments, new lines and comma variations before a new registry value.
regedit/tests: Test line concatenation with comments, new lines and comma variations before a new default registry value.
regedit/tests: Test whether a line beginning with a backslash can follow a line ending in a backslash.
regedit/tests: Test the effects of comments and new lines that appear between valid hex data lines.
regedit/tests: Test whether a forward slash can be used as a concatenation marker.
regedit/tests: Test whether EOF invalidates a hex data line ending in a backslash.
regedit: Free the binary data buffer after saving the new value (Coverity).
reg/tests: Test comma placement when parsing hex data.
regedit/tests: Test comma placement when parsing hex data.
regedit/tests: Correct out of sequence test numbering.
reg/tests: Test the effect of whitespace-only lines during hex data concatenation.
regedit/tests: Fix another incorrectly named registry key.
regedit/tests: Test the effect of whitespace-only lines during hex data concatenation.
regedit: Remove un-necessary parser state assignment if we are returning to the same state.
regedit: Improve the parsing of multiline hex data during the registry import operation.
reg/tests: Test whether registry keys ending with trailing backslashes are imported and created.
reg/tests: Test whether the "0x" prefix is valid when importing hex data.
regedit/tests: Test whether registry keys ending with trailing backslashes are imported and created.
regedit/tests: Test whether the "0x" prefix is valid when importing hex data.
regedit: Simplify a while loop for skipping whitespace.
regedit: Skip lines that do not begin with a hexadecimal character during hex data concatenation.
regedit: Skip blank and whitespace-only lines during hex data concatenation.
regedit: Do not remove lines beginning with '#' from the read buffer.
regedit: Do not remove lines beginning with a semicolon from the read buffer.
regedit: Check if any hex data exists before attempting to parse it.
regedit: Do not import the line if a hex data type has a "0x" prefix.
regedit/tests: Check if regedit.exe has elevated privileges before starting some tests.
regedit/tests: Add another test for "0x" prefixes in the hex data type.
regedit/tests: Add some more tests for importing hex data.
regedit: Hex data lines may be terminated by a semicolon.
regedit: Null-terminate REG_EXPAND_SZ and REG_MULTI_SZ data if the parsed hex data does not end in a null-terminating character.
reg/tests: Add another test for "0x" prefixes in the hex data type.
reg/tests: Add some more tests for importing hex data.
reg/tests: Test the effects of EOF on hex data during concatenation.
regedit/tests: Test the effects of EOF on hex data during concatenation.
regedit: Use a function to free the parser data.

Huw D. M. Davies (4):
winex11: Use logical co-ords to call GdiAlphaBlend().
wineandroid: Use logical co-ords to call GdiAlphaBlend().
msvcrt: _difftime64() takes 64-bit args.
winemac: Use logical co-ords to call GdiAlphaBlend().

Jacek Caban (28):
wininet: Moved INTERNET_STATUS_REDIRECT notification to HTTP_HandleRedirect.
wininet: Return an error on redirect with no host name specified.
server: Preallocate wait handle in create_request_async and return it in read request.
server: Close async wait handle when wait is satisfied.
server: Return async result directly instead of via APCs if it's available.
server: Use create_request_async for write requests.
server: Store fd reference in async object for unqueued asyncs.
server: Allow async_handoff users to set result themselves.
ntdll: Set iosb status in server_ioctl_file.
server: Use create_request_async in ioctl request handler.
server: Use create_request_async in flush request handler.
server: Remove no longer needed need_handle from queue_irp.
rsaenh: Use bcrypt for SHA512 hashes.
rsaenh: Use bcrypt for SHA384 hashes.
rsaenh: Use bcrypt for SHA265 hashes.
winhttp/tests: Get rid of unneeded Sleep() call.
server: Use default poll only for default read and write queue asyncs.
server: Associate named pipe device waiters queue with its fd.
server: Keep ifchange queue through sock object life time.
server: Keep weak fd reference in async object when async is queued.
server: Store completion in async object instead of async_queue.
server: Make async_queue object a simple list instead of a server object.
server: Remove no longer needed NULL checks.
server: Make fd_queue_async infallible.
server: Call create_irp from queue_irp.
rsaenh: Implement duplicate_hash_impl for bcrypt-based hashes.
d3d11.idl: Added CD3D11_DEPTH_STENCIL_DESC declaration.
wininet: Fixed connection_pool_cs declaration.

Jactry Zeng (1):
ucrtbase: Implement wcstoull and _wcstoull_l.

Lauri Kenttä (1):
po: Update Finnish translation.

Marcin Mikołajczak (1):
po: Updated Polish translation.

Martin Storsjo (1):
ntdll: Handle IMAGE_REL_BASED_DIR64 for arm64 in the same way as for x86_64.

Michael Stefaniuc (3):
wineandroid: Use EqualRect() instead of memcmp().
regedit: Remove a redundant NULL check before HeapFree().
urlmon: Remove a redundant NULL check before SysFreeString().

Nikolay Sivov (16):
d3drm: Added IDirect3DRMWrap stub.
d3drm/tests: Some tests for animation object QI behavior.
d3drm: Store animated frame pointer in animation object.
d3drm: Store animation options.
regedit: Use notification message to clean up item data.
regedit: Remove explicit iIndent field initialization.
po: Update Russian translation.
d3drm/tests: Additional test for SetOptions().
d3drm/tests: Some tests for animation keys handling.
d3drm: Use AddKey() method internally to add all types of keys.
iphlpapi: Fix GetIfTable() trace message.
d3drm: Store frame traversal options.
d3drm: Store face color.
regedit: Remove commented out block.
d3drm: Initial support for storing animation keys.
d3drm: Implement DeleteKey().

Owen Rudge (16):
wsdapi: Add stub implementation of IWSDUdpMessageParameters and WSDCreateUdpMessageParameters.
wsdapi/tests: Add tests for CreateUdpMessageParameters.
wsdapi/tests: Add tests for Get/SetLocalAddress.
wsdapi/tests: Add tests for Get/SetRemoteAddress.
wsdapi/tests: Add tests for Get/SetRetransmitParams.
wsdapi: Implement Get/SetLocalAddress.
wsdapi: Implement Get/SetRemoteAddress.
wsdapi: Implement Get/SetRetransmitParams.
wsdapi: Implement IWSDUdpAddress_SetTransportAddress.
wsdapi/tests: Add additional SetTransportAddress tests with port numbers.
wsdapi: Implement IWSDUdpAddress_GetTransportAddress[Ex].
wsdapi: Implement IWSDUdpAddress_Get/SetPort.
wsdapi: Implement IWSDUdpAddress_Get/SetMessageType.
wsdapi: Implement IWSDUdpAddress_Get/SetSockAddr.
wsdapi: Implement WSDXMLGetValueFromAny.
wsdapi/tests: Add tests for WSDXMLGetValueFromAny.

Paul Gofman (6):
d3dx9: Remove redundant parameter size check in set_constants().
d3dx9: Get rid of constant's length checking for matrix in set_constants().
d3dx9: Move transpose 'if' outside of the inner loop in set_constants().
d3dx9: Check type and register count for sampler constants.
d3dx9: Support arrays of samplers.
d3dx9/tests: Add tests for array of samplers.

Pierre Schweitzer (1):
mpr: Implement WNetConnectionDialog().

Piotr Caban (3):
gdiplus: Add GdipDrawLine test on EmfTypeEmfOnly metafile.
gdiplus: Add GdipDrawImagePointsRect test on EmfTypeEmfPlusOnly file.
winedump: Add initial support for handling EMF+ records.

Vincent Povirk (1):
gdiplus: Set flatness more appropriately in GdipDrawPath.

Zebediah Figura (14):
msi/tests: Add another test for MsiProcessMessage.
comctl32: Don't FIXME on handled cases.
winedbg: Add support for printing floating point registers.
winedbg: Add support for printing SSE (XMM) registers.
msi/tests: Add tests for external UI callback.
msi: Send the correct UI messages upon calling MsiDoAction().
msi: Implement INSTALLMESSAGE_INITIALIZE and INSTALLMESSAGE_TERMINATE.
msi: Implement UI messages in MsiOpenPackage().
gdiplus: Scale widened dashes to the pen width.
msi: Fix a buffer overrun.
msi/tests: Work around test failures on Windows.
msi: Add a basic internal UI implementation.
msi: Don't increment the refcount when creating dialogs.
msi: Implement UI messages for dialogs.
  Wine 2.12 released