The Wine development release 1.5.31 is now available.

What's new in this release (see below for details):
  - New version of the Gecko engine based on Firefox 21.
  - Joystick force feedback support on Mac OS X.
  - Window management fixes in the Mac driver.
  - Various bug fixes.

The source is available from the following locations:

  http://prdownloads.sourceforge.net/wine/wine-1.5.31.tar.bz2
  http://mirrors.ibiblio.org/wine/source/1.5/wine-1.5.31.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.31 (total 54):

   4742  Message handling in dlls/user/edit.c may crash programs
   7338  powdercell: Rotated fonts only displayed in dot size
   7905  Tool bar icons not all filled in with switcher cad III
  11004  Firefox 2 doesn't bold text, makes gmail harder to use
  12595  Autodesk Revit Architecture 2008 install fails while unpacking AccuRenderRedist
  13013  ProntoEdit NG 2.1.8 tree control shows all labels as ZZZ
  15804  Multiple .NET applications fail to start, reporting exception "Culture name 'ga-ie' is not supported." (support for alternate calendar types needed)
  17383  Chessmaster 10th edition fails to install
  17388  Chessmaster 10th edition crashes after game analyze
  17393  MansionPoker: Closing a poker table or exiting the program makes the application crash with a runtime error
  17739  Cannot start IMatch again after exiting for a while
  18001  Mass Effect Xlib: unexpected async reply
  18252  Error writing file in UnReal World installer
  18746  Starting Everquest 2 in any resolution other than 1024x768 causes a crash
  19836  Hardwar: The screen often goes black in Direct3D mode.
  20060  PDF Factory Pro fails to install
  21148  No$Zoomer crashes when it is started
  23565  FXCM FX Trading Station installer incurs assertion failure
  23755  Everquest 2 demo/Pirates of the Burning Sea installer crashes
  23796  cant' install hwsoliii.exe
  24326  Everquest 2 Extended crashes in DSOUND_PrimaryOpen
  24451  Saira: screen resolution problem
  24630  Everquest 2 Extended - lots of black artifacting
  24843  Explorer++ doesn't show text in the right-click menu for toolbars
  25580  pcad2002 (pcb.exe) fail to start
  26024  Alien Hallway demo: updater crashes during install
  26583  Assassin's Creed Brotherhood: crash after "parse_ctab_constant_type Struct not supported yet"
  26751  configure improperly detects Wunused-but-set-parameter as supported on Clang
  27515  explorer http://www.google.com does not work.
  27639  please also implement GPOS feature in indic shaping engine
  27999  ComboBoxEX item images aren't drawn correctly
  28849  LabVIEW 2010: Some DLLs aren't installed at all
  29556  Tiny slider indicators in Audacity
  29625  TreeView item label truncated when made bold
  30029  (FEAR 3 - F3AR)F.E.A.R. 3 Crashes When Setting Full Screen Option...
  30162  Microsoft .NET 2.0 Framework: "mscorsvw" compile worker hangs sometimes while generating native images from assemblies in GAC (loader section block reported)
  30196  Battlezone animation video's cause game not to load
  30992  msxml3 incorrectly ignores whitespaces (needed for Civilization IV)
  31330  +relay corrupts returns values on win64?
  31683  Adobe Photoshop CS4 installer doesn't do anything
  32753  Wallace & Gromit crashes in the launcher (Gecko 1.9)
  32899  Batman: Arkham Asylum (non-steam) Demo - missing text in launcher
  32951  Warlords III demo crashes on exit
  33016  Wine recognizes Geforce GT 630 as Geforce 8800 GTX
  33115  Microsoft SQL Server Management Studio Express 2008 installer fails
  33328  Copy-Paste bug in TAB_SetupScrolling
  33331  When DLL receives PROCESS_DETACH notification when a process is exiting all the threads should be already terminated
  33499  Kingsoft WPS Spreadsheet OK, Write and Presentation failed
  33550  Treeview: redrawing problem when selected item is also focused (TVS_EDITLABELS with blocked edits affected the most)
  33560  libwine doesn't get installed
  33572  Windows Download Integrator 3.x needs IWbemServices::ExecNotificationQueryAsync
  33607  Microsoft SQL Server Management Studio Express 2005: cannot restart SQL server (wbemprox returns stale service status)
  33618  wmi query should support querying Process Name (inside wbemprox)
  33619  [UWIN] UWIN installer fails with cannot seek to data offset

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

Changes since 1.5.30:

Akihiro Sagawa (5):
      fonts: Fix default character index of Japanese Fixedsys.
      gdi32: Add a helper to get the default character index.
      gdi32: Use the default character when the glyph is missing.
      fonts: Add default glpyh to Japanese System font.
      fonts: Add default glyph to Japanese Fixedsys.

Alexandre Julliard (71):
      configure: Add explicit install targets in libs/wine for make_makefiles.
      comctl32: Don't bother to unregister classes at process exit.
      ddraw: Don't bother to unregister classes at process exit.
      ieframe: Don't bother to unregister classes at process exit.
      imm32: Don't bother to unregister classes at process exit.
      inetcomm: Don't bother to unregister classes at process exit.
      msi: Don't bother to unregister classes at process exit.
      riched20: Don't bother to unregister classes at process exit.
      riched32: Don't bother to unregister classes at process exit.
      ole32: Don't bother to unregister classes at process exit.
      wintab32: Don't bother to unregister classes at process exit.
      wined3d: Don't bother to unregister classes at process exit.
      credui: Don't bother to free memory at process exit.
      crypt32: Don't bother to free memory at process exit.
      dwrite: Don't bother to free memory at process exit.
      dxgi: Don't bother to free memory at process exit.
      gdiplus: Don't bother to free memory at process exit.
      inetmib1: Don't bother to free memory at process exit.
      jscript: Don't bother to free memory at process exit.
      mpr: Don't bother to free memory at process exit.
      mscms: Don't bother to free memory at process exit.
      rsaenh: Don't bother to free memory at process exit.
      scrrun: Don't bother to free memory at process exit.
      secur32: Don't bother to free memory at process exit.
      shell32: Don't bother to free memory at process exit.
      spoolss: Don't bother to free memory at process exit.
      urlmon: Don't bother to free memory at process exit.
      vbscript: Don't bother to free memory at process exit.
      wineoss.drv: Don't bother to free memory at process exit.
      wininet: Don't bother to free memory at process exit.
      ws2_32: Don't bother to free memory at process exit.
      wshom.ocx: Don't bother to free memory at process exit.
      msisys.ocx: Remove ununsed DllMain function.
      atl100: Don't bother to free memory at process exit.
      comdlg32: Don't bother to free thread local storage at process exit.
      mlang: Don't bother to free thread local storage at process exit.
      msctf: Don't bother to free thread local storage at process exit.
      shlwapi: Don't bother to free thread local storage at process exit.
      dinput: Don't bother to delete critical sections at process exit.
      dsound: Don't bother to delete critical sections at process exit.
      openal32: Don't bother to delete critical sections at process exit.
      pdh: Don't bother to delete critical sections at process exit.
      winealsa.drv: Don't bother to delete critical sections at process exit.
      winecoreaudio.drv: Don't bother to delete critical sections at process exit.
      winspool: Don't bother to delete critical sections at process exit.
      wnaspi32: Don't bother to delete critical sections at process exit.
      configure: Add a pkg-config check for libpng.
      powrprof: Don't bother to close handles at process exit.
      winscard: Don't bother to close handles at process exit.
      mapi32: Don't bother to free libraries at process exit.
      setupapi: Don't bother to free libraries at process exit.
      shdocvw: Don't bother to free libraries at process exit.
      imagehlp: Don't bother to free memory at process exit.
      wineps.drv: Don't bother to free memory at process exit.
      mshtml: Don't bother to clean up at process exit.
      netapi32: Don't bother to clean up at process exit.
      winhttp: Don't bother to clean up at process exit.
      msacm32: Don't bother to free memory at process exit.
      ntoskrnl.exe: Don't bother to remove exception handler at process exit.
      msvcrt: Don't bother to clean up at process exit.
      msvcp60: Don't bother to clean up at process exit.
      msvcp71: Don't bother to clean up at process exit.
      msvcp90: Don't bother to clean up at process exit.
      msvcp100: Don't bother to clean up at process exit.
      setupapi: Don't set the DLL flag when creating a fake dll that ends in .exe.
      configure: Workaround for clang not reporting an error on unknown options.
      ole32/tests: Fix array indices in a trace.
      ntdll: Make the entire relay entry point routine CPU-specific.
      ntdll: Reimplement the i386 relay entry point in assembler.
      ntdll: Reimplement the x86_64 relay entry point in assembler.
      wininet/tests: Use test.winehq.org for all certificate tests.

Alistair Leslie-Hughes (17):
      oledb32: Implement GetConversionSize DBTYPE_VARIANT->DBTYPE_WSTR.
      oledb32: Implement DataConvert DBTYPE_BYTES->DBTYPE_BYTES.
      oledb32: Implement DataConvert DBTYPE_BYTES->VARIANT.
      oledb32: Implement DataConvert DBTYPE_DBTIMESTAMP->DBTYPE_VARIANT.
      include: Add oledb types DBDATE, DBTIME and move DBTIMESTAMP to the correct idl.
      oledb32: Implement DataConvert DBTYPE_DBDATE->DBTYPE_DBDATE.
      oledb32: Implement DataConvert DBTYPE_DBDATE->DBTYPE_VARIANT.
      oledb32: Support VT_NULL when converting to DBTYPE_BSTR.
      oledb32: Implement DataConvert DBTYPE_VARIANT(VT_DATE) to, DBTYPE_DBTIMESTAMP.
      oledb32: Support DBSTATUS_S_ISNULL when converting to VARIANT.
      oledb32: Implement DataConvert DBTYPE_VARIANT(V_DATE)->DBTYPE_DBDATE.
      oledb32: Source status DBSTATUS_S_ISNULL applies to all conversions.
      include: Add DB_E_CONCURRENCYVIOLATION define.
      oledb32: Implement DataConvert DBTYPE_VARIANT->DBTYPE_DATE.
      oledb32: Implement DataConvert DBTYPE_BYTES->DBTYPE_BYTES | DBTYPE_BYREF.
      oledb32: DataConvert only variant length types can have a null dst.
      oledb32: Implemented DataConvert DBTYPE_BSTR->DBTYPE_DBTIMESTAMP.

Andrew Eikum (16):
      oleaut32: Sanity check some arguments.
      oleaut32: Use containing TypeLib's HelpFile in ITypeInfo::GetDocumentation.
      oleaut32: Don't return bogus pointers if no data is available.
      dsound: Don't overrun capture buffer.
      oleaut32: Always initialize PARAMDESCEX's cBytes field.
      oleaut32: Also search local typeinfos in ITypeInfo::GetRefTypeInfo.
      dinput: Enumerate devices past the first non-matching device.
      dinput: Determine if OSX devices support force feedback.
      dinput: Implement force feedback functions for OSX joysticks.
      gdiplus: Implement GdipResetImageAttributes.
      dinput: Translate OSX errors to win32 errors.
      dinput: Debug print DIEFFECT structure.
      dinput: Support SendForceFeedbackCommand for OSX joysticks.
      dinput: Report axes that support FF for OSX joysticks.
      dinput: Support DIPROP_AUTOCENTER for OSX joysticks.
      dinput: Support DIPROP_FFGAIN for OSX joysticks.

André Hentschel (9):
      d3drm: Implement IDirect3DRMMeshBuilder3_GetNormalCount.
      d3drm: Implement IDirect3DRMMeshBuilder3_GetNormals.
      d3drm/tests: Add more face tests.
      po: Fix typo in German translation.
      inetcpl.cpl: Add stub for LaunchConnectionDialog.
      difxapi: Add stub dll.
      po: Improve German translation.
      advapi32/tests: Fix copy&paste typo.
      clusapi: Add stub for GetClusterInformation.

Aric Stewart (6):
      user32: Points for IMR_QUERYCHARPOSITION need to be in screen coordinates.
      gdi32/tests: Update the vertical font to be a proper windows vertical font.
      gdi32: GetGlyphIndices does substitute glyph.
      gdi32: Vertical glyph replacements are not applied in GetGlyphOutline if glyph is specified by index.
      gdi32: Load the vertical feature when loading the GSUB table.
      gdi32: Vertical glyphs can be written tategaki even without a vertical GSUB feature.

C John Klehm (1):
      winex11.drv: Add pen to tablet stylus detection whitelist.

Christian Costa (11):
      d3dcompiler: Add a LUT to find compilation targets info.
      d3dcompiler: Add trace to D3DPreprocess.
      d3dx9_36: Report D3DFMT_P8 for image with indexed colors in D3DGetImageInfoFromFileInMemory.
      d3dx9_36: Fix D3DXCheckTextureRequirements to return D3DFMT_A8R8G8B8 when d3d doesn't support D3DFMT_P8 + tests.
      d3dx9_36: Fix ID3DXFileDataImpl_GetName + add some tests.
      d3dxof: Fix IDirectXFileDataImpl_GetName and IDirectXFileDataReferenceImpl_GetName + tests.
      d3dxof: Group and simplify templates and objects in a cleaner manner.
      d3dxof: Add some syntax tests and remove some useless ref count checks.
      d3dxof: Add object separators tests for binary format.
      d3dxof: Cleanup separators handling and allow multi-semicolons + single comma separator.
      d3dx9_36: Add support for D3DFMT_P8 and conversion to other ARGB formats + tests.

Daniel Jelinski (6):
      wbemprox: Return success if only one result requested from enum.
      wbemprox: Add CIM_LogicalDisk class, forward to Win32_LogicalDisk.
      msi: Remove trailing spaces from command line property name.
      kernel32: Implement CAL_RETURN_NUMBER in EnumCalendarInfo*.
      kernel32: Implement CAL_ICALINTVALUE in GetCalendarInfo.
      kernel32: Improved stub for GetCalendarInfo's CAL_SCALNAME.

Detlef Riekenberg (4):
      user32: The app owns the text buffer memory after an EM_GETHANDLE.
      user32/tests: Add tests for EM_GETHANDLE.
      user32: The flag EF_APP_HAS_HANDLE is now obsolete.
      include: Add missing InitOnce / RtlRunOnce prototypes.

Dmitry Timoshkov (6):
      server: Set appropriate status for a terminated thread.
      kernel32: Add a test for holding process heap lock before calling ExitProcess.
      kernel32: Terminate threads before unloading DLLs on process exit.
      ntdll: Thread creation control is now taken care by server.
      msi: Fix memory leak.
      kernel32: Add a test to show that a process with a not closed handle to an already terminated thread fails to terminate cleanly.

Francois Gouget (2):
      comdlg32/tests: Fix compilation on systems that don't support nameless structs or unions.
      d3drm/tests: Fix compilation on systems that don't support nameless unions.

Frédéric Delanoy (1):
      vbscript: Fix typo.

Hans Leidekker (9):
      winhttp: Fix a memory leak.
      wmiutils: Accept namespaces without a leading slash.
      wbemprox: Add stub implementations of IWbemServices::ExecNotificationQueryAsync and IWbemServices::CancelAsyncCall.
      wbemprox: Add support for asynchronous queries.
      wbemprox: Implement Win32_Process.Name.
      wbemprox: Fill tables at latest possible moment.
      wbemprox: Refill tables with dynamic content before each query.
      wbemprox: Return a status from table fillers and add an optional condition parameter.
      wbemprox: Avoid storing rows that don't match the query condition.

Huw Davies (3):
      user32/tests: Add tests to show that WM_CHAR W<->A mapping uses the codepage associated with the current keyboard layout.
      user32: Move back to using WC<->MB in order to specify an alternative codepage.
      user32: Use the codepage associated with the input locale for WM_CHAR-type conversions.

Jacek Caban (15):
      ole32: Error handling clean up in local_server_thread.
      ieframe: Keep reference to ShellObject while calling DocumentComplete event.
      mshtml: Keep reference to document node in onload event handler.
      vbscript: Round half to even in to_int.
      mshtml: Wine Gecko 2.21 release.
      mshtml: Added more parser compatMode tests.
      mshtml: Added parsing custom tag name tests.
      mshtml: Added whitespace parser tests.
      ieframe: Use IOleObject::DoVerb if IHlink interface is not available.
      ieframe: Fixed handling documents that don't report their ready state.
      ole32: Use a separated object to expose local servers instead of marshaling them in CoRegisterClassObject.
      ole32: Added IExternalConnection support.
      oleaut32: Added IExternalConnection tests.
      ieframe: Keep track of InternetExplore external references and use that to release document.
      ieframe: Get rid of no longer needed IEDocHost.

Ken Thomases (14):
      winemac: Fix disabling of resizable windows.
      winemac: Improve positioning of input method candidate window.
      winemac: Always call super in -validateMenuItem:; fixes check mark in Windows menu.
      winemac: Implement simpler way to find front Wine window.
      winemac: Consider minimized windows as "on screen" for our purposes.
      winemac: Use window server's window list to find next window to offer focus to.
      winemac: Set up window's latent parent-child relationship before ordering the window.
      winemac: Centralize adjusting of window levels using the window server's z-order.
      winemac: In -setFrameIfOnScreen:, avoid some work if the frame didn't change.
      winemac: In -setFrameIfOnScreen:, don't adjust window levels if fullscreen-ness didn't change.
      winemac: Don't reorder windows if they're already ordered as requested.
      winemac: Order front in -makeKeyAndOrderFront:; we only override to control key status.
      user32: Allow sent WM_CANCELMODE to end menu tracking in a window's menu bar.
      user32/tests: Test that sending WM_CANCELMODE cancels tracking in window's menu bar.

Maarten Lankhorst (1):
      devenum: Set FriendlyName and wave*ID for devices.

Marcus Meissner (1):
      dinput: GetKeyNameW takes chars not bytes (Coverity).

Nikolay Sivov (15):
      comctl32: Update thumb size on WM_SIZE if it's not fixed, invalidate after resize.
      comctl32: Properly invalidate after setting thumb length.
      comctl32: Properly paint thumb using DrawEdge() for diagonal edges too.
      comctl32: Fix tics rectangle width/height.
      comctl32: Remove unused defines.
      comdlg32: Add controls codes defines for color choosing dialog.
      comdlg32: Return combined color from HSL -> RGB transform.
      comdlg32: Pass full colorref to RGB -> HSL conversion function.
      comdlg32: Simplify some internal helpers.
      comctl32: Allocate edit data with control info.
      comctl32: Use selected image for listbox/editbox for selected item only.
      comdlg32: Simplify more internal helpers.
      msxml3: Fix ignorable whitespace detection in case of formatting text nodes.
      comctl32: Remove duplicated code for scroll control size calculation.
      comctl32: Forward WM_MEASUREITEM to Rebar notification window.

Piotr Caban (1):
      user32: Use SendNotifyMessage to send WM_DRAWCLIPBOARD.

Qian Hong (1):
      user32: Make CreateWindowExA and CreateWindowExW hotpatchable.

Roderick Colenbrander (1):
      winex11: Store opengl swap interval with gl_drawable.

Sam Edwards (2):
      winex11: Cache XRandR 1.0 display mode.
      winex11: Cache XRandR 1.2 display mode.

Sergey Guralnik (1):
      explorer: Use comma as argument delimiter.

Stefan Dösinger (13):
      wined3d: Fix a ~0U assignment.
      wined3d: Pass the pixel shader input signature to shader_arb_generate_vshader.
      wined3d: Don't access the stateblock from shader_arb_load_constants_internal.
      wined3d: Explicitly pass the state to shader_load_constants.
      wined3d: Add a separate function for disabling shaders.
      wined3d: Pass the state and private data to shader_select.
      wined3d: Disable the fixed function vertex pipeline when ARB vertex programs are used.
      wined3d: Don't log the device pointer in shader_arb_select.
      wined3d: Initialize the gl_info pointer from the context.
      wined3d: Don't pass the device to atifs_free_ffpshader.
      d3d: d3d9ex does not do video memory accounting for D3DPOOL_DEFAULT resources.
      wined3d: Correct an ERR/FIXME.
      d3d9/tests: d3d9ex video memory accounting tests.

Zhan Jianyu (2):
      vbscript: Implemented builtin function CInt.
      vbscript: Implemented builtin function CBool.

--
Alexandre Julliard
julliard@winehq.org
