The Wine development release 1.5.28 is now available.

What's new in this release (see below for details):
  - GnuTLS used for all secure connections, OpenSSL is no longer needed.
  - Mac driver enabled by default.
  - Built-in FixedSys fonts.
  - New icon for the joystick control panel.
  - Postscript driver improvements.
  - Various bug fixes.

The source is available from the following locations:

  http://prdownloads.sourceforge.net/wine/wine-1.5.28.tar.bz2
  http://mirrors.ibiblio.org/wine/source/1.5/wine-1.5.28.tar.bz2

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 1.5.28 (total 21):

  13872  Audiosurfs main menus displays incorrectly
  16649  configure isn't recognizing OpenSSL on OpenBSD
  19317  Enemy Nations: "Error 2 loading the game"
  23673  El Matador's demo requires d3dx9_36.dll.D3DXSHEvalHemisphereLight
  25417  Black & White: Ignores mouse button clicks
  28438  segfault in Dawn of War Soulstrom demo when drawing a frame with mouse
  28601  cnet download app can't initialize GUI
  31685  DYMO Stamps wants hid.dll.HidD_GetManufacturerString
  32735  Stellarium 10.2 does not load under WiNE 1.4 (dogfood)
  32904  Opera installer needs GetNamedSecurityInfo to return an owner for registry keys (dogfood)
  33150  [Wine Control]X Axis does not works properly with joystick "event" driver
  33196  Multiple applications ported to WinRT/ARM require MSVCP110.dll (Audacity)
  33219  Maxthon 4.0 fails to start
  33251  RPG Tkool VX Ace: some texts aren't fit in the message box.
  33265  HoMM 3 fails to create wgl context
  33281  Bioshock infinite fails to use TaskDialogIndirect
  33286  Extech RHT10 needs setupapi.dll.CM_Get_Device_ID_ExA called
  33288  Startopia 1.01 crashes on video setting adjust
  33311  Loading of winspool.drv intended to be delay loaded for a built-in module actually is not delayed
  33320  WinRT/ARM port of Audacity needs msvcp110.dll.??0id@locale@std@@QAA@I@Z
  33330  Guild Wars 2: Some graphics options are greyed out in wine 1.5.22.

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

Changes since 1.5.27:

Akihiro Sagawa (7):
      winmm: Inherit the seek position when using standard file handle.
      gdi32: Introduce macros to calculate outline text metrics.
      gdi32: Improve outline text metrics calculation, especially if unitsPerEm is not power of 2.
      gdi32: Improve fixed-pitch advance calculation as well as outline text metrics.
      gdi32/tests: Fix tests for fixed-pitch full-width character advance. It's double of tmAveCharWidth.
      fonts: Add Fixedsys font.
      fonts: Add Japanese FixedSys font.

Alexander Monakov (1):
      winex11.drv: Simplify test for pbuffer availability.

Alexander Morozov (1):
      advapi32: Do not terminate a regular program if it calls StartServiceCtrlDispatcher.

Alexandre Julliard (14):
      winebuild: Check for delayed import before the library is parsed, in case the real module name is different.
      gdi32: Use the Mac driver by default.
      user32: Don't print a warning when creating the HWND_MESSAGE parent window.
      ntdll: Set the address space limit before running application code.
      kernel32: Fetch the system information only once the memory limits are correct.
      msvcrt: Constify the arguments of execv functions.
      makefiles: Don't link against libport in the tests.
      libport: Rename spawnvp to _spawnvp to avoid the deprecated name.
      cabarc: Avoid some redefinition warnings.
      wineconsole: Fix a pointer cast warning.
      ddraw: De-duplicate display modes even when returning the refresh rate.
      icinfo: Fix vsnprintfW usage.
      kernel32: Make event/mutex/semaphore functions hotpatchable.
      server: Add a helper function to compute an SID length.

Andrew Cook (1):
      dbghelp: Add stubs for SymSetHomeDirectory.

Andrew Talbot (3):
      winmm: Remove unneeded address-of operator from function name.
      msvcr90: void functions should not return a value.
      krnl386.exe16: Constify a variable.

André Hentschel (10):
      dpnet: Increase reported buffer size.
      wine.inf: Add winemac.drv to RelayFromExclude.
      advapi32/tests: Remove bad key set on cleanup.
      uxtheme/tests: Don't test for themed app.
      kernel32/tests: Don't test function directly when reporting GetLastError().
      setupapi: Add CM_Get_Device_ID_ExA stub.
      hid: Add HidD_GetManufacturerString stub.
      wined3d: Report Win 8 when appropriate.
      explorerframe: Clear pointer when nothing is selected.
      ntdll: Hint that call_entry_point is ARM assembler.

Daniel Lehman (1):
      ntdll: Use larger virtual heap for 64-bit.

Dmitry Timoshkov (9):
      winspool.drv: Move loading of libcups out of the init code protected by mutex.
      wineps.drv: Add support for TrueType composite glyph transforms.
      wineps.drv: Constify a variable.
      include: Add COM interface definitions needed for PrintDlgEx implementation.
      comdlg32: Add a simple PrintDlgEx implementation which wraps around the PrintDlg one.
      comdlg32: Add an interactive PrintDlgEx test.
      kernel32: Add a shared memory test.
      kernel32: Add a test for threads state when a process is being terminated.
      kernel32: TerminateProcess unlike NtTerminateProcess is supposed to fail with process == 0.

Erich Hoover (1):
      server: Report administrator ownership by default for registry objects.

Francois Gouget (5):
      riched20: ME_StrDup() is not used anymore so remove it.
      windowscodecs/tests: Add a trailing '\n' to an ok() call.
      dplayx: Add a trailing '\n' to a TRACE().
      ieframe: Make dump_travellog() static.
      wininet: Make urlcache_{entry_create,get_entry_info}() static.

Huw Davies (2):
      wineps: Add a helper to return the rgb to grayscale scaling factors.
      wineps: Send grayscale images to monochrome printers.

Jacek Caban (28):
      secur32: Pass enabled protocols to GnuTLS.
      secur32: Pass enabled protocols to Mac Secure Transport.
      secur32: Disable SSL2 protocol in default settings.
      jscript: Use helpers to access string buffers in jsregexp.c.
      jscript: Use helpers to access string buffer in string.c.
      jscript: Moved string buffer to separated struct from jsstr_t.
      mshtml: Fixed builtin getter call with arguments.
      wininet: Moved more compat logic to netcon_secure_connect_setup.
      winhttp: Improved error handling in netconn_secure_connect.
      ieframe: Moved travellog to its own struct.
      ieframe: Fixed index of stored history when loading from history.
      ieframe: Moved freeing travellog entry into a helper function.
      ieframe: Use IPersistHistory for history navigation, if possible.
      ieframe: Added GoForward implementation.
      ieframe: Improved debug traces.
      ieframe: Added GoForward tests.
      wininet: Use schannel in NETCON_secure_connect if OpenSSL is not available.
      wininet: Use schannel in NETCON_GetCipherStrength if OpenSSL is not available.
      wininet: Added NETCON_send support for schannel-based connections.
      wininet: Added NETCON_recv support for schannel-based connections.
      wininet: Added NETCON_GetCert support for schannel-based connections.
      wininet: Added NETCON_get_data_available support for schannel-based connections.
      wininet: Use schannel for HTTPS connection by defaul and get rid of OpenSSL dependency.
      configure: Get rid of no longer needed OpenSSL checks.
      mshtml: Fixed load flags usage.
      mshtml: Pass IUri to create_doc_uri.
      wininet: Don't bother reconnecting to server for compat secure mode if we don't have compat cred handle.
      mshtml: Added parser compatMode tests.

Jactry Zeng (4):
      msvcrt: Added _wcscoll_l implementation.
      msvcrt: Added _wcsicoll_l implementation.
      msvcrt: Added _wcsnicoll_l implementation.
      msvcrt: Add missing declarations for _wcsncoll, _wcsncoll_l, _wcsicoll_l, _wcsnicoll_l and wcscoll_l.

Joel Holdsworth (1):
      joy.cpl: Added a Tango compliant icon.

Jonathan Liu (2):
      d3dcompiler.h: Fix typos.
      d3dcompiler.h: Add function pointer typedefs.

Jérôme Gardou (1):
      wined3d: Initialize adapter device name even if opengl is not used.

Ken Thomases (14):
      winemac: During live resize, force occasional redisplay due to spontaneous redrawing.
      winemac: Drain the autorelease pool within loop in OnMainThread().
      winemac: Constify some macdrv_event pointer parameters.
      winemac: Make macdrv_event structs heap-allocated and reference-counted.
      winemac: Add a delivery limit to events.
      winemac: Handle a Cocoa quit request as a single-process session shutdown.
      winemac: Tell Cocoa to preserve our window content during live resizing.
      winemac: Initialize window surface to Mac-standard window background color instead of black.
      winemac: Clip surface drawn region to new visible rect on window resize.
      winemac: Add debug tracing for queried icon size.
      winemac: Scale large system tray icons down to fit status bar.
      winemac: Handle failure to get clipboard format name; don't use uninitialized buffer.
      libwine: Make [v]snprintW() always null-terminate the buffer, even if it's short.
      winemac: Don't order the window on-screen in -[WineWindow adjustWindowLevel].

Kim Jung Eon (1):
      wbemprox: Implement some properties of Win32_ComputerSystem and Win32_DiskPartition.

Ludger Sprenker (2):
      windowscodecs: Basic tests for tiff encoder options.
      windowscodecs: Add initializations for tiff encoder options.

Matteo Bruni (10):
      d3dx9/tests: Raise admitted error a bit in D3DXSHEvalSphericalLight tests.
      d3dx9/tests: Don't use an arbitrary number in relative_error macro.
      wined3d: Remove useless glClearxxx calls.
      wined3d: Reset all the dummy textures to 0 on destroy.
      wined3d: Fix typo, really check whether color fixups are supported.
      wined3d: Avoid redundant glDrawBuffer() calls.
      wined3d: Update comment on top of format_texture_info[].
      wined3d: Make the entire surface current after clearing a discarded depth buffer.
      wined3d: Use 0 as GL internal format for WINED3DFMT_NULL.
      winex11.drv: Fix attributes conversion in wglCreateContextAttribsARB().

Michael Stefaniuc (61):
      dplayx: Forward IDirectPlay::Open to ::SecureOpen.
      dplayx: Forward IDirectPlay::GetMessageCount to ::GetMessageQueue.
      dplayx: Forward IDirectPlay::Send to ::SendEx.
      dplayx: Forward IDirectPlay::EnumPlayers to ::EnumGroupPlayers.
      dplayx: Forward IDirectPlay::EnumGroups to ::EnumGroupsInGroup.
      dplayx: Assimilate the inherited methods into IDirectPlay4A.
      dplayx: Introduce impl_from_IDirectPlay4A().
      dplayx: Use separate QueryInterface, AddRef and Release methods for IDirectPlay4 + 4A.
      dplayx: Add both ifaces to the DirectPlay object and stop cloning the object.
      dplayx: Remove AddRef hacks for the parent DirectPlay object.
      dplayx: Move the lock into the DirectPlay object.
      dplayx: Cleanup the DirectPlay object creation.
      dplayx: IDirectPlay4 / IDirectPlay4A have independent refcounts.
      dplayx: Merge the DirectPlay QueryInterface helper.
      dplayx: Assimilate the inherited stub methods into IDirectPlay4.
      dplayx: Merge the IDirectPlay4_Close helper.
      dplayx: Merge the IDirectPlay4_DeletePlayerFromGroup helper.
      dplayx: Merge the IDirectPlay4_EnumGroupPlayers helper.
      dplayx: Merge the IDirectPlay4_GetGroupData helper.
      dplayx: Forward IDirectPlay::GetCaps to ::GetPlayerCaps.
      dplayx: Merge the IDirectPlay4_GetPlayerCaps helper.
      dplayx: Merge the IDirectPlay4_GetPlayerData helper.
      dplayx: Merge the IDirectPlay4_SetGroupData helper.
      dplayx: Merge the IDirectPlay4_SetPlayerData helper.
      dplayx: Merge the IDirectPlay4_AddGroupToGroup helper.
      dplayx: Merge the IDirectPlay4_DeleteGroupFromGroup helper.
      dplayx: Merge the IDirectPlay4_EnumGroupsInGroup helper.
      dplayx: Merge the IDirectPlay4_InitializeConnection helper.
      dplayx: Merge the IDirectPlay4_GetGroupParent helper.
      dplayx: Merge the IDirectPlay4_AddPlayerToGroup helper.
      dplayx: Merge the IDirectPlay4_EnumSessions helper.
      dplayx: Merge the IDirectPlay4_SendEx helper.
      dplayx: Merge the IDirectPlay4_GetMessageQueue helper.
      dplayx: Cleanup the IDirectPlay_Cancel* methods.
      dplayx: Assimilate the rest of the inherited methods into IDirectPlay4.
      dplayx: Forward AW agnostic IDirectPlay4A stub methods to the W versions.
      dplayx: Get rid of the IDirectPlayXImpl to IDirectPlayImpl casts.
      dplayx: Remove superfluous forward declarations.
      dplayx: Merge dpinit.h into dplay_global.h.
      dplayx: Get rid of the IDirectPlayImpl aliases.
      dplayx: Add a separate refcount for IDirectPlay2A.
      dplayx: Add a separate refcount for IDirectPlay2.
      dplayx: Add a separate refcount for IDirectPlay3A.
      dplayx: Add a separate refcount for IDirectPlay3.
      dplayx/tests: Deal with broken COM aggregation handling on NT4.
      dplayx: Add a stub IDirectPlay iface.
      dplayx: IDirectPlay and IUnknown share a refcount.
      dplayx: Forward directly to IDirectPlay4 QueryInterface.
      dplayx: Create a IDirectPlay interface in DirectPlayCreate().
      dplayx: Get rid of the unused DirectPlayLobby{2,3}Data fields.
      dplayx: Remove the duplicated IDirectPlayLobby{2,3}Impl structs.
      dplayx: Have the decency to support IUnknown in DirectPlayLobby.
      dplayx/tests: Add DirectPlayLobby COM tests.
      dplayx: Get rid of the useless IDirectPlayLobby{,2} vtables.
      dplayx: Forward IDirectPlayLobby::Connect to ::ConnectEx.
      dplayx: Assimilate the inherited methods into IDirectPlayLobby3A.
      dplayx: Introduce impl_from_IDirectPlayLobby3A().
      dplayx: Use separate QueryInterface, AddRef and Release methods for IDirectPlayLobby3 + 3A.
      dplayx: Add both interfaces to the DirectPlayLobby object and stop cloning the object.
      dplayx: Move the lock into the DirectPlayLobby object.
      dplayx: Cleanup the DirectPlayLobby object creation.

Nikolay Sivov (13):
      comctl32: Initialize id field for message data (Coverity).
      mscms: Free memory and handle on error path (Coverity).
      msi: Free records on error paths (Coverity).
      ole32: Fix possible return of freed pointer (Coverity).
      include: Added IRowsetNotify definition and proxy/stub stub implementation.
      gameux: Fix release/free of uninitialized pointers (Coverity).
      oledb32: Implemented conversion from DBTYPE_VARIANT to DBTYPE_BSTR.
      oledb32: Implement GetConversionSize for DBTYPE_VARIANT -> DBTYPE_STR case.
      oledb32: Implement DBTYPE_BSTR to DBTYPE_VARIANT conversion.
      msdaps: Implement IRowsetNotify stub/proxy methods.
      oledb32: Destination status and length are optional.
      oledb32: Implement DBTYPE_I4 -> DBTYPE_VARIANT conversion.
      comctl32: Export TaskDialogIndirect by ordinal and name.

Nozomi Kodama (5):
      d3dx9: Do not use relative error for small numbers.
      d3dx9: Implement D3DXSHEvalSphericalLight.
      d3dx9: Implement D3DXSHEvalHemisphereLight.
      d3dx9: Floatify fabs into fabsf.
      d3dx9: Floatify sqrt into sqrtf.

Piotr Caban (36):
      wininet: Do case-insensitive compare when looking for scheme.
      wininet: Fixed memory leak in load_persistent_cookie.
      wininet: Store urlcache container prefix as ANSI string.
      wininet: Use short path name when container path can't be converted to CP_ACP.
      wininet: Fixed buffer size check in urlcache_create_file_pathA.
      wininet: Correctly set SYSTEMTIME year in HTTP_HttpQueryInfoW.
      cryptnet: Handle SystemTimeToFileTime failure in HTTP_RetrieveEncodedObjectW.
      wininet: Support Punycode in GetUrlCacheEntryInfoExW.
      wininet: Support Punycode in SetUrlCacheEntryInfoW.
      wininet: Support Punycode in RetrieveUrlCacheEntryFileW.
      wininet: Support Punycode in UnlockUrlCacheEntryFileW.
      wininet: Support Punycode in DeleteUrlCacheEntryW.
      wininet: Support Punycode in IsUrlCacheEntryExpiredW.
      wininet: Support Punycode in CreateUrlCacheEntryW.
      wininet: Support Punycode in CommitUrlCacheEntryW.
      wininet: Support Punycode in urlcache_copy_entry.
      wininet: Support Punycode in RetrieveUrlCacheEntryStream.
      wininet: Use InternetCrackUrl in urlcache_entry_create.
      wininet: Added urlcache Unicode functions tests.
      msvcp: Change architecture of more thiscall functions.
      msvcp90: Add arm exports.
      msvcp100: Add arm exports.
      msvcp: Sync spec files.
      server: Don't debug children when debugger is attached with DebugActiveProcess function.
      msvcrt: Fixed debug message in strncpy_s.
      tapi32: Add more Unicode functions stubs.
      wininet: Skip some urlcache Unicode tests if ANSI version of URL is not known.
      oleaut32: Fixed setting oVft value in ITypeInfo2::GetFuncDesc.
      oleaut32: Add support for VARIANT arguments with default value in AddFuncDesc.
      oleaut32: Add support of VT_USERDEFINED arguments with default value in AddFuncDesc.
      oleaut32: Don't add stdole2 import when TYPEFLAG_FDISPATCHABLE is set.
      oleaut32: Make typeinfo offsets table dynamic.
      oleaut32: Use MSFT_VarRecord to store VARDESC.
      oleaut32: Use MSFT_VarFunc to store FUNCDESC.
      winedump: Dump parameters default values in typelib.
      msvcrt: Add forwards to __pioinfo structure.

Rico Schüller (1):
      winhlp32: Always open files as read only.

Sam Edwards (6):
      wined3d: Make fullscreen windows use HWND_TOPMOST instead of HWND_TOP.
      wined3d: Ignore WS_VISIBLE and WS_EX_TOPMOST when dropping out of fullscreen.
      d3d9/tests: Verify window style after exiting fullscreen mode.
      d3d8/tests: Verify window style after exiting fullscreen mode.
      ddraw/tests: Verify window style after exiting fullscreen mode.
      wined3d: Properly handle backbuffer_width/_height=0 in wined3d_device_reset.

Sergey Guralnik (8):
      extrac32: Merge identical case statements.
      extrac32: Allow leading '-' for command line switches.
      extrac32: Extract by default when required files are specified.
      extrac32: Get default path only when it is really necessary.
      extrac32: Use own parser for command line.
      extrac32: Create directory for extracted file if need.
      extrac32: Avoid appending redundant backslash to path end.
      user32/tests: SetWindowPos() propagates update region from WS_CLIPCHILDREN child to its children.

Stefan Dösinger (4):
      wined3d: Put local constants into the shader code again.
      wined3d: Put local constants into the shader code in ARB shaders.
      d3d9/tests: Test special fp values in local constants.
      wined3d: Remove the unused idx_data parameter from draw_primitive.

Stefan Leichter (2):
      msvcp: Match architecture with function we're forwarding to.
      msvcp110: Add VS2012 C/C++ runtime.

Tatyana Fokina (1):
      winspool.drv: Fix DocumentProperties with empty device name.

Victor Martinez (1):
      gdiplus: Fix returned rect in GdiGetRegionBoundsI.

Victor Martinez Calvo (3):
      msxml3: Fix SafeArrayGetUBond check in BindStatusCallback_create.
      msvcrt: Fix copy-pasta typos LOCALE_SSHORTDATE->LOCALE_SLONGDATE in _create_locale.
      windowscodecs: Don't overwrite bih.bV5AlphaMask and set the LCS_DEVICE_RGB flag in bih.bV5CSType.

Łukasz Wojniłowicz (1):
      po: Update Polish translation.

--
Alexandre Julliard
julliard@winehq.org
