diff --git a/ANNOUNCE b/ANNOUNCE
index de11f81..7c80220 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,17 +1,15 @@
-The Wine development release 1.5.28 is now available.
+The Wine development release 1.5.29 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.
+  - Input method support in the Mac driver.
+  - Support for TLS 1.1 and 1.2 connections on Mac OS X.
+  - JavaScript performance 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
+  http://prdownloads.sourceforge.net/wine/wine-1.5.29.tar.bz2
+  http://mirrors.ibiblio.org/wine/source/1.5/wine-1.5.29.tar.bz2
 
 Binary packages for various distributions will be available from:
 
@@ -27,361 +25,355 @@
 
 ----------------------------------------------------------------
 
-Bugs fixed in 1.5.28 (total 21):
+Bugs fixed in 1.5.29 (total 69):
 
-  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.
+   4490  AOL AIM crashes on start
+  11926  House of the dead 3 won't draw 3d stuff after the 1st level
+  12294  Warhammer 40K: dark crusade - Lag when not playing
+  12449  Adobe Photoshop CS2: window parts hidden when opening multiple images
+  12518  StarAlliance TravelDesk - GUI acts 'frozen'
+  12599  Photoshop CS2 image windows don't paint fully if you have two monitors with unequal resolutions
+  12706  winealsa.drv: "No master control found" on usb microphone devices
+  13362  Vim display error dialog on exit [dogfood]
+  15893  Football Manager 2009 demo installer shows a blank screen
+  15990  Rhapsody 4 crashes when trying to play a local .mp3 file
+  15991  Road Wage demo crashes when starting a mission
+  16520  EssentialPIM: Showing anti-debug message that never appears in windows
+  16749  kernel32/tests: wrong char type
+  16752  winhlp32/hlp_file.c: comparison is always false due to limited range of data type
+  17234  mcm2: graphical glitches and extreme lag while in menu
+  17657  Dialogue in Ever17 will not appear unless the desktop is in 16 bpp mode but the game doesn't require 16 bpp in Windows.
+  17812  Enemy Territory: Quake Wars EditWorld: Freezes on startup
+  19242  Red Alert 3: Crash when loading new campaign
+  20045  Lego Star Wars: unable to switch resolution
+  21464  Encoding error with License Agreement in .NET 3.5 Installer
+  22329  Supreme Commander 2: Does not start with built in d3dx
+  22805  Can't install 64bit .NET 2.0 (install.exe fails to be mapped at preferred base when being restarted as 64-bit process, shared WoW64)
+  23397  LEGO Harry Potter [Years 1-4] sound stutter with alsa
+  23510  Google Talk error dialog when opening
+  24492  notepad: save as dialog should auto-select text
+  24656  iSnooker needs d3dx9_36.dll.D3DXLoadMeshFromXA
+  24687  Miranda 0.10 alpha windows corner no resize
+  24758  World of Warcraft 4.0.0.1: Crashes at in-game patch download screen
+  25197  Installation hangs after accept .NET 4 EULA (Standalone Installer)
+  25376  Supreme Commander 2 requires d3dx9_36
+  26012  Rayman 2 crashes on start-up
+  26756  Need for Speed: Shift 2 hangs on startup unless sound disabled
+  27468  QQ International crashes when clicking on password form if dlls/user32/hook.c is build with -O2
+  28273  Unhandled page fault while installing some 64-bit IE7/IE8 DLLs
+  29677  Anno 2070 does not start
+  29764  blender 2.61 crashes on start (python3.2)
+  29810  binkw32 crashes in Dragon Age: Origins
+  29884  plugplay.exe crashes on exit (Exception frame is not in stack limits)
+  30109  Do not suggest opening files as R/O mode in winhlp32
+  30290  StartServiceCtrlDispatcher does not terminate a process on Windows
+  30554  Mass Effect 2 only renders a black screen
+  30609  I wanna be the Boshy: Screen scaling doesn't work right
+  30660  Multiple apps/games need wmvcore.dll.WMCreateReader (War of the Immortals)
+  30835  PDF-XChange Viewer 64-bit crashes when opening more than one document with tabs
+  30928  GTA 1 Installation program crashes
+  31631  HaoZip 2.2 64-bit crashes, needs unimplemented function MSVCR80.dll.floorf (missing float math forwards for x86_64 arch)
+  31790  Compiling with -m32 fails in 64-bit ubuntu 12.04
+  31893  Portable Calibre does not run at all (python2.7)
+  32103  DDO: ingame shop not usable
+  32424  Sonic Generations: configuration tool fails to start with built-in d3dx9_36
+  32845  Installing Cisco CSM 4.2 in Ubuntu x64 fails (32bit works)
+  32876  Space Giraffe screen gets flipped and mirrored over a diagonal line
+  32878  Classic Shell/Classic Start Menu crashes on startup due to unimplemented function shell32.dll.SHGetStockIconInfo
+  33004  Easy-PC V16 crashes in pcb editor
+  33055  Fishdom 2 crashes during the initial loading stage
+  33226  Multiple applications ported to WinRT/ARM require msvcr110.dll.__crtSetUnhandledExceptionFilter (MirandaIM, FinalBurn, ...)
+  33255  IRCXPro crashes after a few seconds
+  33337  Wine crashing when execute distutils installer
+  33359  WinRT/ARM port of Audacity crashes in dll entry point due to incorrect thumb2 mode MOVW/MOVT relocation type processing
+  33366  pywin32-218.win32-py2.7.exe cannot be installed with builtin msvcr90
+  33371  dsound:dsound8 fails and crashes on systems with no sound card
+  33374  Dragon Age Awakening : no cinematics sounds and no characters voice sound
+  33391  Microsoft .NET Framework Version 2.0 x64 installer prerequisite check fails (incorrect "VersionNT64" msi property value)
+  33399  Unimplemented function setupapi.dll.SetupDiSetDeviceInstallParamsA
+  33401  Can't build tests without libport on non-x86(-64) platforms
+  33426  A Slower Speed of light: unable to start
+  33427  Tomb Raider (2013): Desktop does not get mouse focus after closing game
+  33445  LTSpice crashes when performing noise analysis
+  33448  Biblia Clerus : startup warning and graphical issues
 
 ----------------------------------------------------------------
 
-Changes since 1.5.27:
+Changes since 1.5.28:
 
-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.
+Alexandre Julliard (6):
+      Remove empty DLL_PROCESS_DETACH case statements.
+      include: Use gcc atomic builtins to implement interlocked inlines on non-i386.
+      user32: Move the common parts of ScrollDC into user32 and the null driver.
+      gdi32: Replace some macros by inline functions in the region code.
+      gdi32: Add helper functions to manage blocks of points in CreatePolyPolygonRgn.
+      gdi32: Convert the edges list to a standard list in CreatePolyPolygonRgn.
 
-Alexander Monakov (1):
-      winex11.drv: Simplify test for pbuffer availability.
+Alistair Leslie-Hughes (9):
+      oledb32: Improve fixme in GetConversionSize.
+      oledb32: Implement DataConvert DBTYPE_I8->DBTYPE_I8.
+      oledb32: Implement DataConvert DBTYPE_BSTR->DBTYPE_I8.
+      oledb32: Implement GetConversionSize DBTYPE_WSTR->DBTYPE_WSTR.
+      oledb32: Implement DataConvert DBTYPE_I8->DBTYPE_VARIANT.
+      oledb32: Implement DataConvert DBTYPE_R8->VARIANT.
+      oledb32: Implement GetConversionSize DBTYPE_STR->DBTYPE_WSTR.
+      oledb32: Implement DataConvert DBTYPE_BOOL->VARIANT.
+      oledb32: Implement DataConvert DBTYPE_VARIANT->DBTYPE_UI4.
 
-Alexander Morozov (1):
-      advapi32: Do not terminate a regular program if it calls StartServiceCtrlDispatcher.
+André Hentschel (7):
+      setupapi: Add stubs for CM_Reenumerate_DevNode and CM_Reenumerate_DevNode_Ex.
+      setupapi: Add stub keyword to some FIXMEs.
+      kernel32: Silence a noisy FIXME in GetConsoleKeyboardLayoutNameW.
+      ntdll: Respect the 8-bit part in the ARM relocation.
+      gdi32: Copy gamma ramp validation from winex11 to make it driver independent.
+      winegcc: Set target based on forced pointer size.
+      winegcc: Add support for Multiarch Architecture Specifiers.
 
-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.
+Austin English (2):
+      kernel32: Fix a typo in a comment.
+      msvcr110: Forward __crtSetUnhandledExceptionFilter to kernel32.SetUnhandledExceptionFilter.
 
-Andrew Cook (1):
-      dbghelp: Add stubs for SymSetHomeDirectory.
+Christian Costa (7):
+      advapi32: Specify the function is a stub in some FIXME.
+      d3dx9_36: Add support for DIB file in D3DXGetImageInfoFromFileInMemory.
+      d3dx9_36: Add DIB file support to D3DXLoadSurfaceFromFileInMemory.
+      d3dx9_36: Add DIB file support to D3DXSaveSurfaceToFileInMemory.
+      shdocvw: Don't set res variable since it's not ckecked after the call.
+      d3dx9_36: Use more appropriate function names.
+      d3dcompiler_43: Turn FIXME into TRACE as D3DCompiler is no longer a stub.
 
-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.
+Dan Kegel (1):
+      user32: Add assembly wrapper for calling hook procedures.
 
 Daniel Lehman (1):
-      ntdll: Use larger virtual heap for 64-bit.
+      msvcr100: Implement _get_daylight.
 
-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.
+Detlef Riekenberg (4):
+      gdiplus: Implement GdipSetCustomLineCapWidthScale.
+      gdiplus/tests: Add tests for GdipSetCustomLineCapWidthScale.
+      shell32: Add a semi-stub for SHGetStockIconInfo.
+      shell32/tests: Add tests for SHGetStockIconInfo.
 
-Erich Hoover (1):
-      server: Report administrator ownership by default for registry objects.
+Dmitry Timoshkov (11):
+      kernel32: Make the ExitProcess test work on x86_64.
+      server: Add support for NtTerminateProcess(0).
+      kernel32: Add a test to check event, thread, mutex and semaphore states during process termination.
+      mountmgr.sys: Add a missing entry for DEVICE_DVD to match mountmgr.h enumeration types.
+      kernel32: Add more process shutdown tests.
+      kernel32: Count precise amount of child process failures.
+      kernel32: Check whether FreeLibrary actually has unloaded the module.
+      ntdll: Refuse to create new thread if the target process is being terminated.
+      kernel32: Add a test to show that CreateThread is supposed to fail after the NtTerminateProcess call.
+      kernel32: Test LdrShutdownProcess behaviour only after NtTerminateProcess(0) call.
+      kernel32/tests: Add some tests for remote process termination.
+
+Erich Hoover (2):
+      advapi32: Fix group ownership test on Vista.
+      server: Report a default DACL for registry keys.
 
 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.
+      dmusic: Make DMUSIC_CreateDirectMusicDownloadedInstrumentImpl() static.
+      d3drm: Remove a no longer used debug channel.
+      ntdll: Remove an unused debug channel.
+      d3dx9_36: Add a trailing '\n' to a TRACE().
+      Assorted spelling fixes.
 
-Huw Davies (2):
-      wineps: Add a helper to return the rgb to grayscale scaling factors.
-      wineps: Send grayscale images to monochrome printers.
+Gurmail Bassi (2):
+      dinput: Update existing joystick values after setting the range property.
+      joy.cpl: Fixed incorrect variable reference.
 
-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.
+Hans Leidekker (10):
+      msi: Don't overwrite verstr in set_installer_properties.
+      msi: Fix one more occurrence of overwriting verstr in set_installer_properties.
+      wininet/tests: Add tests for a prematurely closed connection.
+      wininet: Fix a request string leak.
+      wininet: Don't strip the port from URLs returned by InternetQueryOption(INTERNET_OPTION_URL).
+      wininet: Add support for INTERNET_OPTION_PROXY_USERNAME and INTERNET_OPTION_PROXY_PASSWORD.
+      wininet: Include the Proxy-Connection header in the keep-alive check.
+      wininet/tests: Improve error reporting in a couple of tests.
+      wininet: Get rid of the clear parameter to HTTP_GetResponseHeaders.
+      wininet: Always return errors from NETCON_recv.
 
-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.
+Henri Verbeet (40):
+      wined3d: Use GL_STATIC_DRAW_ARB for static buffers.
+      d3drm: Just use RGBA_MAKE.
+      d3drm: Get rid of Direct3DRM_create().
+      d3drm: Avoid LPD3DRMPMESHLOADSTATUS.
+      d3drm: Avoid LPD3DRMANIMATIONKEY.
+      wined3d: Simplify DISCARD / READONLY handling in wined3d_buffer_map() a bit.
+      wined3d: Constants in constants_set should always have a valid location in shader_glsl_load_constantsB().
+      wined3d: Immediate constants should always have a valid location in shader_glsl_load_constantsB().
+      d3drm: Avoid LPDIRECT3DRM.
+      d3drm/tests: Avoid LPDIRECT3DRM3.
+      wined3d: Immediate constants should always have a valid location in shader_glsl_load_constantsF().
+      wined3d: Get rid of the unused WINED3DFMT_FLAG_FOURCC flag.
+      wined3d: Introduce a separate debug channel for performance warnings.
+      d3drm: Avoid LPDIRECT3DRMOBJECT.
+      d3drm: Avoid LPDIRECT3DRMDEVICE.
+      wined3d: Add a performance warning for mapping a dynamic surface without WINED3D_MAP_DISCARD.
+      wined3d: Properly check if a format has a conversion function in wined3d_check_device_format().
+      wined3d: Simplify wined3d_check_device_format().
+      d3drm: Avoid LPDIRECT3DRMDEVICE2.
+      d3drm: Avoid LPDIRECT3DRMDEVICE3.
+      wined3d: Use WGL_ARB_create_context when available.
+      wined3d: Add support for GL_ARB_debug_output.
+      wined3d: Get rid of the unused wined3d_strided_data structure.
+      d3drm: Avoid LPDIRECT3DRMVIEWPORT.
+      d3drm: Avoid LPDIRECT3DRMFRAME.
+      wined3d: Get rid of the unused TRACE_STRIDED macro.
+      wined3d: Rename the device "strided_streams" field to "stream_info".
+      d3drm: Avoid LPDIRECT3DRMFRAME3.
+      d3drm: Avoid LPDIRECT3DRMVISUAL.
+      d3drm: Avoid LPDIRECT3DRMMESH.
+      winex11: Don't ignore hShareContext in X11DRV_wglCreateContextAttribsARB().
+      wined3d: Disable occlusion query support if the implementation has 0 counter bits.
+      d3drm: Avoid LPDIRECT3DRMMESHBUILDER.
+      d3drm: Avoid LPDIRECT3DRMMESHBUILDER2.
+      d3drm: Avoid LPDIRECT3DRMMESHBUILDER3.
+      winex11: Move the desktop process check from X11DRV_ClipCursor() to grab_clipping_window().
+      wined3d: Introduce a wined3d_vertex_pipe_ops structure.
+      d3drm: Avoid LPDIRECT3DRMFACE.
+      d3drm: Avoid LPDIRECT3DRMFACE2.
+      d3drm: Avoid LPDIRECT3DRMLIGHT.
 
-Joel Holdsworth (1):
-      joy.cpl: Added a Tango compliant icon.
+Huw Davies (3):
+      riched20: Add a visual vs logical order flag to the character to position mapping routines.
+      riched20: Use PointFromCharContext now that we can specify logical ordering.
+      riched20: Fix an (incorrect) compiler warning.
 
-Jonathan Liu (2):
-      d3dcompiler.h: Fix typos.
-      d3dcompiler.h: Add function pointer typedefs.
+Jacek Caban (18):
+      mshtml: Store IWebBrowserApp reference in HTMLDocumentObj.
+      mshtml: Added IHTMLWindow2::close partial implementation.
+      mshtml: Added IHTMLWindow2::close tests.
+      ieframe: Added IConnectionPoint::EnumConnections implementation.
+      ieframe: Return document as IHTMLDocument2 iface from get_document.
+      ieframe: Added DISPID_WINDOWCLOSING tests.
+      mshtml: Added IHTMLDOMTextNode::data property implementation.
+      secur32: Added support for TLS 1.1 and TLS 1.2 on Mac.
+      mshtml: Clean up OleCommandTarget_Exec.
+      mshtml: Moved exec_editmode implementation to a helper function in editor.c.
+      mshtml: Use nsAString_InitDepend in SetDesignMode call.
+      mshtml: Added partial IHTMLDocument2::put_designMode implementation.
+      mshtml: Added IHTMLDocument2::put_designMode tests.
+      wrc: Allow '/' and '\' in identifiers.
+      jscript: Store concatenated strings as a rope string to avoid useless copying.
+      jscript: Run some SunSpider benchmarks in interactive mode.
+      jscript: Use single string instance for strings representing NULL BSTR instead of a flag.
+      jscript: Optimize String.concat implementation.
 
-Jérôme Gardou (1):
-      wined3d: Initialize adapter device name even if opengl is not used.
+Jactry Zeng (2):
+      include: Added missing declarations to msvcrt.
+      msvcrt: Added _wfindfirst32 implementation.
 
-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].
+Ken Thomases (10):
+      loader: On Mac, if Wine is already on secondary thread, don't reserve it for the system frameworks.
+      libwine: Add libwine's directory (@loader_path) to rpath.
+      winemac: Refactor WineApplication class to separate most logic into a controller class.
+      winemac: Set up and drain autorelease pool in LogErrorv() so it's safe to call from background threads.
+      winemac: Implement an IME that uses the OS X input methods.
+      winemac: If an app opens a window shortly after its systray icon is clicked, activate it.
+      winemac: Improve logging from wglChoosePixelFormatARB() and wglGetPixelFormatAttribivARB().
+      winemac: Fix an off-by-one error in macdrv_wglChoosePixelFormatARB().
+      winemac: Work around mouse "pausing" after CGWarpMouseCursorPosition().
+      winemac: For SetCursorPos(), reset positions of pending mouse button and scroll events.
 
-Kim Jung Eon (1):
-      wbemprox: Implement some properties of Win32_ComputerSystem and Win32_DiskPartition.
+Marcus Meissner (2):
+      wininet: Added missing return (Coverity).
+      dplayx: Remove unnecessary assigment (Coverity).
 
-Ludger Sprenker (2):
-      windowscodecs: Basic tests for tiff encoder options.
-      windowscodecs: Add initializations for tiff encoder options.
+Matteo Bruni (6):
+      wined3d: Add ARB_internalformat_query2 GL extension.
+      wined3d: Use ARB_internalformat_query2 to check for texture format rendering and blending support, where available.
+      wined3d: Use ARB_internalformat_query2 for the other texture format caps too.
+      winex11.drv: Print the error in wglCreateContextAttribsARB() when context creation fails.
+      wined3d: Set GL_NONE for glReadBuffer / glDrawBuffer on FBO initialization.
+      wined3d: Remove some, now unnecessary, glReadBuffer(GL_NONE) calls.
 
-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 (17):
+      dplayx: IDirectPlayLobby3 / IDirectPlayLobby3A have independent refcounts.
+      dplayx: Merge the DirectPlayLobby QueryInterface helper.
+      cmd: Print the debug string instead of the pointer value.
+      dplayx: Assimilate the IDirectPlayLobby3 methods.
+      dplayx: Get rid of the LPDIRECTPLAYLOBBY usage.
+      dplayx: Get rid of the IDirectPlayLobbyImpl aliases.
+      dplayx: Add a separate refcount for IDirectPlayLobby.
+      dplayx: Add a separate refcount for IDirectPlayLobbyA.
+      dplayx: Add a separate refcount for IDirectPlayLobby2A.
+      dplayx: Add a separate refcount for IDirectPlayLobby2.
+      dplayx: Move the DirectPlayLobby data fields to the main object.
+      mlang: Remove left over "stub" from a TRACE().
+      d3dx9_36: Remove left over "stub" from a TRACE calls.
+      msdaps: Remove left over "stub" from a TRACE().
+      sxs/tests: Avoid a magic constant.
+      dsound/tests: Skip tests if there is no default device.
+      dsound/tests: Mark some capture status as broken.
 
-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 (14):
+      user32: Use defined constants to identify message box buttons.
+      mshtml: Implement IHTMLTable_get_tBodies.
+      oledb32: Implement DBTYPE_DATE -> DBTYPE_VARIANT conversion.
+      oledb32: Implement DBTYPE_CY -> DBTYPE_VARIANT conversion.
+      include: Fix interface definition.
+      ole32: Move share/access modes to static arrays.
+      ole32: Accept STGM_DIRECT_SWMR mode.
+      ole32: Stub for IDirectWriterLock.
+      ole32: Merge release code to Release method.
+      ole32: Store SMWR storage instance role separately.
+      ole32: Remove some casts that are not needed.
+      ole32: Simplify IEnumSTATSTG initialization.
+      msdaps: Added proxy/stub for IDBInitialize_Uninitialize().
+      msdaps: Added some proxy/stubs for IDBDataSourceAdmin methods.
 
-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.
+Piotr Caban (9):
+      wininet: Fixed Cache-Content: no-cache tests.
+      mshtml: Added IOmHistory::get_length implementation.
+      wininet: Improve searching for no-store header in HTTP response.
+      wininet: Fix cache container prefix initialization.
+      mshtml: Added IOmHistory::get_length test.
+      mshtml: Allocate smaller cookies buffer size in HTMLDocument_get_cookie.
+      wininet: Load persistent cookies from other paths in get_cookie function.
+      mshtml: Limit number of tasks processed in process_timer.
+      mshtml: Support IObjectIdentity interface in HTMLWindow object.
 
 Rico Schüller (1):
-      winhlp32: Always open files as read only.
+      d3d8: Don't assert on invalid IDirect3DBaseTexture8 interfaces.
 
-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.
+Sam Edwards (1):
+      gdi32: Prevent possible buffer overflows in get_glyph_outline.
 
-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.
+Sergey Guralnik (1):
+      extrac32: Add /D switch support.
 
-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 Dösinger (22):
+      wined3d: 1x1 texures have a power of two size.
+      wined3d: Use the np2_fixup to find out if a RECT texture is used.
+      wined3d: Store ps 1.4 texture types in ps_compile_args.
+      wined3d: Don't hardcode the ps_1_3 sampler limit in find_ps_compile_args.
+      wined3d: Refuse to create NPOT textures without GL support.
+      d3d9/tests: Test NPOT texture creation.
+      d3d8/tests: Test NPOT texture creation.
+      d3d9/tests: Fix a test failure on cards that don't support mipmapped cube textures.
+      wined3d: Enable GL_ARB_texture_rectangle in GLSL ffp fragment shaders.
+      wined3d: Remove leftover texture accesses in GLSL shader generation.
+      d3d9/tests: Correct nv40 results.
+      d3d9/tests: Add r500 fp_special results.
+      d3d9/tests: Nvidia cannot handle 2x1 YUY2/UYVY surfaces.
+      d3d9/tests: Don't test for equality in d3d9's depth_blit_test.
+      wined3d: Get rid of device->view_ident.
+      wined3d: Add a new structure for d3d limits and other info.
+      wined3d: Access gl_info and d3d_info from the context in find_arb_*_compile_args.
+      wined3d: Don't pass the device to gen_ffp_frag_op.
+      wined3d: Move shader limits to wined3d_d3d_info.
+      wined3d: Move max_ffp_textures to wined3d_d3d_info.
+      wined3d: Move valid_rt_mask to wined3d_d3d_info.
+      wined3d: Move gl_info->limits.max_texture_stages to d3d_info.
 
 Stefan Leichter (2):
-      msvcp: Match architecture with function we're forwarding to.
-      msvcp110: Add VS2012 C/C++ runtime.
+      setupapi: Add a stub for SetupDiSetDeviceInstallParamsA.
+      msvcr80: Add some 64-bit only exports.
 
-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.
+Zhan Jianyu (1):
+      vbscript: Fix a typo: jscript -> vbscript.
 
 --
 Alexandre Julliard
diff --git a/VERSION b/VERSION
index 69c0c64..fa94c72 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-Wine version 1.5.28
+Wine version 1.5.29
diff --git a/configure b/configure
index 241fdbc..c5a9036 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for Wine 1.5.28.
+# Generated by GNU Autoconf 2.69 for Wine 1.5.29.
 #
 # Report bugs to <wine-devel@winehq.org>.
 #
@@ -580,8 +580,8 @@
 # Identity of this package.
 PACKAGE_NAME='Wine'
 PACKAGE_TARNAME='wine'
-PACKAGE_VERSION='1.5.28'
-PACKAGE_STRING='Wine 1.5.28'
+PACKAGE_VERSION='1.5.29'
+PACKAGE_STRING='Wine 1.5.29'
 PACKAGE_BUGREPORT='wine-devel@winehq.org'
 PACKAGE_URL='http://www.winehq.org'
 
@@ -1402,7 +1402,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Wine 1.5.28 to adapt to many kinds of systems.
+\`configure' configures Wine 1.5.29 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1471,7 +1471,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Wine 1.5.28:";;
+     short | recursive ) echo "Configuration of Wine 1.5.29:";;
    esac
   cat <<\_ACEOF
 
@@ -1617,7 +1617,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Wine configure 1.5.28
+Wine configure 1.5.29
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2135,7 +2135,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Wine $as_me 1.5.28, which was
+It was created by Wine $as_me 1.5.29, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -16834,7 +16834,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Wine $as_me 1.5.28, which was
+This file was extended by Wine $as_me 1.5.29, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -16905,7 +16905,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-Wine config.status 1.5.28
+Wine config.status 1.5.29
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
