diff --git a/ANNOUNCE b/ANNOUNCE
index edf98e9..d44da9d 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,17 +1,17 @@
-The Wine development release 1.7.54 is now available.
+The Wine development release 1.7.55 is now available.
 
 What's new in this release (see below for details):
-  - Implementation of the TransmitFile function.
-  - More implementation of the Web Services DLL.
-  - Improved video decoding.
-  - Alternative for the deprecated prelink tool.
-  - Major Turkish translation update.
+  - Pulse audio driver.
+  - Various fixes for Microsoft Office 2013 support.
+  - Some more implementation of the Web Services DLL.
+  - More fixes for the latest C runtime version.
+  - Improvements to the Makefile generation.
   - Various bug fixes.
 
 The source is available from the following locations:
 
-  http://prdownloads.sourceforge.net/wine/wine-1.7.54.tar.bz2
-  http://mirrors.ibiblio.org/wine/source/1.7/wine-1.7.54.tar.bz2
+  http://dl.winehq.org/wine/source/1.7/wine-1.7.55.tar.bz2
+  http://mirrors.ibiblio.org/wine/source/1.7/wine-1.7.55.tar.bz2
 
 Binary packages for various distributions will be available from:
 
@@ -27,436 +27,533 @@
 
 ----------------------------------------------------------------
 
-Bugs fixed in 1.7.54 (total 51):
+Bugs fixed in 1.7.55 (total 76):
 
-   5048  Multiple applications and games need support for ws2_32 SIO_GET_EXTENSION_FUNCTION_POINTER TransmitFile (WSAID_TRANSMITFILE)
-  12336  Paint.NET 3.22 window rendering broken
-  19525  Poison Ivy does not work correctly because RtlGetCompressionWorkSpaceSize and friends are only stubs
-  21012  MSWT Kart 2004 does not work (TGA images misinterpreted as ICO files in OleLoadPicture)
-  21076  Defense Grid: The Awakening does not draw the models properly
-  22806  Paint.NET 3.36 fails to start without native gdiplus
-  22879  IVONA Voices/Reader (SAPI TTS) 1.0.16 crashes on startup
-  22907  CamStudio displays an error when record button is pressed  (ICOpen with fccHandler = 0 is not supported)
-  24031  Word Perfect Lightning 1.0 beta installer does not display text in first dialog
-  26344  Protel Advanced PCB Design System v2.5 (win16 app) crashes on startup
-  26621  KidStarter Shell installer needs 'HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon' registry key present
-  27595  HyperCam 2.x crashes on startup (when lpbiOutput is NULL it has to be filled by the codec based on lpbiInput)
-  30703  Pepakura Viewer crashes on startup: dib init failed, failed to create rendering context
-  31442  Guild Wars 2 freezes on text input fields
-  32325  Assassin's Creed III crashes on startup (ID3D11Device::QueryInterface doesn't support IDXGIDevice1, '{77db970f-6276-48ba-ba28-070143b4392c}')
-  32620  Warcraft Voice Chat cannot capture voice.
-  32707  Adobe Shockwave 12.1 installer:  hangs during installation
-  32895  Serious Sam HD: TSE crashes randomly in the campaign && when picking up backpacks
-  33893  Midnight Nowhere demo shows black screen
-  33965  WordPerfect 10 (Corel Office 2002) crashes when trying to create a table
-  34079  OneDrive for Business C2R (click-to-run) client reports server error ('rpcrt4.RpcMgmtIsServerListening' must check if binding handle refers to remote server)
-  34574  Kega Fusion 3.64 - Fullscreen not working anymore
-  34898  Evernote 5.0.3 crashes when synchronizing notes with main gui from separate note editor window
-  35023  Paint.NET 3.22 crashes on startup, reporting "Property cannot be found" (no metadata reader/properties present for Png)
-  35792  rmxftmpl.h differs on some architectures
-  35872  Pinball Science crashed on starting
-  36301  valgrind shows an invalid read (bstr) in msxml3/tests/saxreader.c
-  36560  valgrind shows an invalid read in d3drm/tests/d3drm.c
-  36794  valgrind shows an invalid free for comctl32/tests/listview.c
-  36827  The horror game Mad Father won't work
-  36895  You Don’t Know Jack V1 XL: Scaling/moving text shown as solid coloured blocks
-  37351  American Mcgee's Alice No Audio
-  37930  Photoshop CS6: dragging layers leaves a trail of garbage
-  37980  Word Viewer 2007 fails to open *.docx files with Windows version set to Vista or later (Word Converter local COM server requires WebDAV client API 'DavClnt.dll')
-  38131  Java SE Runtime Environment 5.0u16 web installer 'patchjre.exe' tool crashes
-  38242  Granny In Paradise Demo fails to start, reports 'Failed to load encrypted EXE' (ReflexiveArcade Wrapper DRM scheme)
-  38533  opengl32/tests/opengl.c hangs under valgrind (i965/mesa)
-  38655  Galactic Civilizations III Fails to start (D3DCompiler_46 Failed to load)
-  38745  EZCastPro 1.4 crashes on unimplemented function USER32.dll.GetDisplayConfigBufferSizes
-  39171  Creatures: White pixels are black.
-  39296  Setup dialog windows needs to drag for capture
-  39339  Adventure games from Daedalic Ent. (Night of the Rabbit, Edna & Harvey, A New Beginning) have no in-game audio and freeze on new game start - XAudio2_7
-  39357  Do not see the audio equipment , and there is no sound in the game Blade & Soul
-  39395  Wolfram Research Mathematica 10.2 needs kernel32.dll.GetPhysicallyInstalledSystemMemory
-  39400  Eleusis demo needs XAudio2 class '{a90bc001-e897-e897-7439-435500000000}'
-  39449  __finally being called too many times (Unwind consolidate callback needs special wrapper function to skip stack frames)
-  39462  GImageX v2.1.1 (gui for ImageX tool from Windows Assessment and Deployment Kit) needs WIMGAPI.DLL
-  39473  Some of PropVariantCopy tests results are masked by faulty logic
-  39478  Call of Duty: United Offensive demo crashes at launch
-  39480  Sniper Elite V2 demo needs IDXGIFactory1 interface '{770aae78-f26f-4dba-a829-253c83d1b387}'
-  39488  explorer.exe (and other applications) crash on start after drive z: (/) got deleted
+   8854  Unable to get keyboard / mouse input in multiple games
+   9032  Adobe Premiere 6 video playback broken
+  10495  Wine should support PulseAudio
+  11107  Adobe AIR / Adobe Media Player pre 2 never shows GUI
+  12474  Resolume Avenue 3.3.2 - Black video preview windows
+  14518  GetTextMetrics on Tahoma font metrics returns an invalid tmInternalLeading
+  14894  Cubis Gold 2 crashes on start
+  17693  Silkypix 3.0 and DVD-lab PRO 2.x: menus are invisible until clicked
+  18442  Google Video/Voice chat plugin installer finishes with error 0x80040509
+  19937  ArcSoft PhotoStudio 5.5 crashes on startup
+  23001  Dolphin GC/Wii emulator 2.0 Wiimote plugin needs Bluetooth Control Panel Applet 'bthprops.cpl'
+  23575  PowerDVD 10 trial crashes after registration
+  24572  Freelancer (Microsoft Games): installer text in custom graphical user interface rendered in black rather than white, making it nearly unreadable
+  27061  iNode Client 3.60 exits silently on start up (H3C iNode service install fails, needs 'HKLM\\SYSTEM\\CurrentControlSet\\Control\\ServiceGroupOrder\\List' key with REG_MULTI_SZ 'TDI' value)
+  27563  Dungeons and Dragons/Lord of the Rings online: launcher doesn't see COM/ActiveX as supported with builtin mono
+  29309  Zynaps remix exits with memory access violation
+  29852  Star Trek Birth of the Federation - No Videos (negative height used as request for inverted frame decompressing)
+  29899  mapviewoffileex fails under certain condition with PE images
+  31534  TOAD for SQLServer 5.0.1.554 fails to install
+  32703  MyPhoneExplorer 1.8.4 installer has a non-fatal crash
+  32705  VirtualDub: crash when opening video with MPEG-2 plugin (division by zero)
+  32839  Endnote X5 crashes on unimplemented function msvcp90.dll.??0?$basic_fstream@DU?$char_traits@D@std@@@std@@QAE@PAU_iobuf@@@Z
+  32923  Daum Pot Player Media Player crashes
+  33001  AXE3 (hex editor) crashes in TREEVIEW_GetItemT on invalid item pointer
+  33453  Delphi7 import type library hangs
+  33479  Multiple games (Guild Wars 2, Risen 2, Tomb Raider 2013): Raw input is broken
+  33563  Imscared shows visual artifacts (green dots and white lines)
+  33713  download.com (CNET) download manager gets stuck on step 2 of 4
+  34559  Call to Power II: Scrolling causes mouse and screen to lock
+  34845  The Mighty Quest for Epic Loot: "Bloomberg" crash/diag tool complains about dbghelp being too old (v5.x Windows XP vs. v6.x Win Vista/7)
+  35677  BBC iPlayer Desktop installer reports 'You need Windows Media Player (9 or above) to install this software.' (builtin 'wmplayer.exe' along with version resource missing)
+  35702  FarManager v3 crashes on unimplemented function KERNEL32.dll.SetConsoleKeyShortcuts
+  35953  FFXIV: ARR - Launcher requires native winhttp to run.
+  36280  valgrind shows a possible leak in gameux/tests/gamestatistics.c
+  36291  valgrind shows a leak msctf/tests/inputprocessor.c
+  36400  valgrind shows several unitialized values in under crypt32/tests/message.c
+  36427  valgrind shows several leaks in dlls/taskschd/tests/scheduler.c
+  36450  EnumFontFamilies should report unsubstituted font names
+  36508  valgrind shows a couple invalid writes in kernel32/tests/change.c
+  36527  Multiple games and applications crash on unimplemented function KERNEL32.dll.AllocateUserPhysicalPages (Microsoft Office 2007 diagnosis service, Eden Eternal)
+  36607  valgrind shows two definite leaks in xmllite/tests/reader.c
+  37165  Sacred 2 Gold (v2.65.1) fails to start correctly, displays only a black screen in virtual desktop mode
+  37729  Picasa 3.9 crashes in setupapi.SetupFindFirstLineW
+  37829  Phonostar dradio-Recorder cannot connect to radio streams
+  37843  Black Mirror 3 starts minimized
+  37932  Evil Genius from GOG crashes unexpectedly
+  37956  Photoshop (CS6/CC) 64bit crash when you press "cancel" button
+  38097  FreshDiagnose 8.67 'Protected Files' diagnosis wants sfc.dll.SfcGetNextProtectedFile
+  38125  MFC CRichEditCtrl does not correctly put text in Center, Right or Left
+  38255  Sid Meier's Ace Patrol needs msvcp110.dll._Thrd_current
+  38368  AutoPatcher Updater 1.4.x (VB6 app) reports 'Error: Object doesn't support this action' (needs ITextStream::Close method implementation)
+  38390  Photoshop 64-bit (CS/CC) crashes when you break the rendering preview.
+  38417  [EA] Origin self-updater fails to install updates ('kernel32.DeleteFileW' shall only open the file for delete access as callers might not have read/write rights)
+  38444  valgrind shows some definite leaks in dpnet/tests/address.c
+  38445  valgrind shows a couple invalid writes in kernel32/tests/fiber.c
+  38450  valgrind shows several leaks in shell32/tests/shlfolder.c
+  38464  valgrind shows a possible leak in wininet/tests/http.c test_async_HttpSendRequestEx()
+  38477  Elevated: Invisible textures since wine-1.7.34-58-gc6232e1
+  38589  Sades 7.1 CH Gaming Headset driver installation fails
+  38677  valgrind shows invalid memory use in dlls/kernel32/tests/path.c:test_PathNameA()
+  39081  CCleaner needs esent.dll
+  39101  Visual Studio Compiler creates invalid interface from a typelib
+  39143  Roxio CDRAL 'CDRALW2K.SYS' kernel driver (part of Windows Media 9 Runtime) crashes on unimplemented function ntoskrnl.exe.ExAcquireResourceExclusiveLite during driver unload
+  39259  BTHPROPS.DLL and BLUETOOTHAPIS.DLL are unimplemented
+  39423  Voobly: 'Game Browser' can't display content due to Wine built-in browser signature blacklisted on www.voobly.com ('win32' feature token must not be included in user agent string)
+  39443  Multiple applications fail start File System Filter Manager service due unimplemented function fltmgr.sys.FltInitializePushLock (Kaspersky Anti-Virus)
+  39493  GImageX v2.1.1 (gui for ImageX tool from Windows Assessment and Deployment Kit) crashes on unimplemented function wimgapi.dll.WIMRegisterMessageCallback
+  39516  Listview tests consistently fail
+  39528  Emerge Desktop 6.1.3 crashes on startup (incorrect shdocvw.RunInstallUninstallStubs2 stub signature)
+  39529  Data Source initstring parsing is case-sensitive
+  39544  Microsoft Office 2007 installer fails with 'ITERATE_Actions Execution halted, action L"ProcessBranding" returned 1603'
+  39545  wine build fails without libpulse
+  39551  building dlls/atl fails: error: Could not open importlib stdole2.tlb.
+  39568  err:dbghelp_msc:pe_load_debug_directory Got a page fault while loading symbols
+  39574  iNode 3.6 client needs ndis.sys.NdisInitUnicodeString
+  39575  Wine control panel app crashes when encountering builtin applets with unimplemented CPL entry points (bthprops.cpl.CPlApplet)
 
 ----------------------------------------------------------------
 
-Changes since 1.7.53:
+Changes since 1.7.54:
 
-Alex Henrie (3):
-      user32: Release capture before sending WM_COMMAND.
-      maintainers: Add myself as a volunteer maintainer.
-      krnl386.exe16: Fix dialog size computation.
+Alex Henrie (9):
+      opengl32: Check the minor version when determining extension support.
+      winex11: Initialize the length of each side of the color cube to 1.
+      winex11: Make color cubes as big as possible.
+      winex11: Avoid double initialization of variables in OpenGL functions.
+      opengl32: Avoid double initialization of variables in WGL functions.
+      opengl32: Define the 2D identity matrix once, at the top of the file.
+      user32: Turn magic values into static constants.
+      user32: Remove redundant check for buf's existence.
+      user32: Avoid double initialization.
 
-Alexandre Julliard (22):
-      libwine: Pass the correct length to GetStringUTFRegion.
-      wineconsole: Deal with fonts that don't have a uniform character width.
-      wineconsole: Accept a too large font if we can't find one that fits the screen.
-      configure: Follow the variable naming convention for libpcap.
-      makefiles: Only define the dummy target in makefiles that need it.
-      makefiles: Read variable definitions from the top makefile instead of using Make.vars.in.
-      makefiles: Get rid of the support for updating a makefile in place.
-      makefiles: Avoid running config.status when not necessary.
-      makefiles: Fix expansion of '$$' in make variables.
-      makefiles: Move wine.desktop to the loader directory.
-      krnl386.exe: Remove some redundant shifts.
-      ntdll: Remove some redundant shifts.
-      makefiles: Generate rules for building tool binaries.
-      tools: Upgrade the config.guess/config.sub scripts.
-      tools: Move winemaker to its own directory.
-      makefiles: Automatically add RPATH support for programs that use libwine.
-      makefiles: Generate rules for installing programs.
-      makefiles: Generate rules for installing scripts.
-      makefiles: Generate rules for installing symlinks.
-      makefiles: Don't add source dependency for symlinks.
-      makefiles: Fix the source path for ttf font installs.
-      makefiles: Specify whether to install program binaries in the individual makefiles.
+Alexandre Julliard (43):
+      mmdevapi/tests: Avoid %ll printf format.
+      makefiles: Generate rules for installing headers.
+      makefiles: Generate rules for installing X template files.
+      makefiles: Add makedep pragmas in all IDL source files.
+      configure: Fix the libpulse check for when the library exists but doesn't work.
+      urlmon/tests: Use the same file as wininet for FTP testing.
+      configure: Use the correct help string macro.
+      makefiles: Generate rules for installing IDL headers.
+      makefiles: Generate rules for installing IDL include files.
+      makefiles: Get rid of the obsolete IMPLIB_SRCS variable.
+      makefiles: Generate correct dependencies for included typelib files.
+      x3daudio1_7: Remove unused debug channel.
+      widl: Disable a noisy warning.
+      makefiles: Only set the manpage flag for programs.
+      makefiles: Get rid of the DLLPREFIX variable.
+      makefiles: Get rid of the documentation makefile.
+      makefiles: Remove a no longer necessary library path.
+      d2d1: Avoid an unsupported makefile variable assignment.
+      kernel32/tests: Fix some todo tests that succeed or fail depending on the kernel version.
+      makedep: Don't store install rules in the makefile object.
+      makedep: Constify the makefile parameter where possible.
+      makedep: Release extra string storage.
+      makefiles: Try to remove all include directories on uninstall.
+      makefiles: Add support in make_makefiles for flags in sfd files.
+      makefiles: Always build .in files.
+      makedep: Add a helper function to open a file in the parent's source directory.
+      makedep: Add a helper function to open a file from the include path.
+      makedep: Store the include paths without the -I prefix.
+      makedep: Expand the rm command.
+      makedep: Always open Makefile.in files from the source directory.
+      makedep: Fix a typo in the usage message.
+      makefiles: Group uninstall files in a single command.
+      makefiles: Generate rules for building libwine.
+      makefiles: Generate rules for installing libwine.
+      makefiles: Generate rules for building the libwine import library.
+      makefiles: Generate makefiles and po rules also for disabled modules.
+      makefiles: Add support for specifying extra dependencies in libraries and programs.
+      makefiles: Generate rules for installing wine.inf.
+      makefiles: Install source directory files from the top-level makefile.
+      makefiles: Replace the loader makefile rules by variable declarations.
+      makefiles: Replace the libwine makefile rules by variable declarations.
+      makefiles: Expand the test resource list through a makefile variable.
+      makefiles: Remove support for running subdirectory makefiles through config.status.
 
-Alistair Leslie-Hughes (8):
-      d3dcompiler: Add D3DReadFileToBlob, D3DWriteBlobToFile stubs.
-      vbscript/tests: Show IActiveScriptSite OnScriptError is called on error.
-      dpnet: Don't leak entry name.
-      d3dx10_43: Add D3DX10CreateEffectPoolFromMemory stub.
-      msxml3/tests: Fix memory leaks (valgrind).
-      xmllite/tests: Fix memory leak (valgrind).
-      msctf/tests: Fix memory leaks (valgrind).
-      oleaut32/tests: Fix memory leaks (valgrind).
+Alistair Leslie-Hughes (7):
+      d3dx9: Don't always fail if an ID3DXAnimationController pointer is passed to D3DXLoadMeshHierarchyFromXInMemory.
+      oledb32: Support VT_NULL on all conversions.
+      wininet: Free critical section (Valgrind).
+      gameux: Fix memory leaks (Valgrind).
+      hnetcfg: Add Dispatch support to interface INetFwOpenPorts.
+      odbccp32: Implement SQLGetPrivateProfileStringW/SQLGetPrivateProfileString.
+      odbccp32: Remove duplicate string.
 
-Andrew Eikum (11):
-      xaudio2: Implement IXAudio28MasteringVoice::GetChannelMask.
-      xaudio2: Explicitly trace the xaudio object version.
-      ntdll: Claim success for FSCTL_SET_SPARSE.
-      explorerframe: Allow treeview expandos to open with a single click.
-      xaudio2: Don't render less than a period of audio.
-      xaudio2: Implement CreateFX for legacy xaudio2 versions.
-      xaudio2_8: Implement CreateFX.
-      xaudio2_8: Add 3D audio function stubs.
-      mmdevapi: Fix win10 test failures.
-      xaudio2_7: Move APO implementations to a new file.
-      xaudio2: Add stub interface for FXEQ.
+Andrew Eikum (10):
+      xaudio2/tests: Fix memory leaks.
+      xaudio2: For legacy xaudio2, prefer native version.
+      shell32: Implement IShellDispatch2::ShellExecute.
+      mmdevapi/tests: Remove todo_wine on some tests for winepulse.
+      winepulse: Always mute buffer.
+      winepulse: In Shared mode, track device position in bytes.
+      winepulse: Prefer PulseAudio driver.
+      maintainers: Add myself to a few entries.
+      winecoreaudio: Handle sysex MIDI messages.
+      xaudio2_7: Update current buffer position after flushing buffers.
 
-Andrey Gusev (2):
-      po: Update Ukrainian translation.
-      wined3d: Recognize Radeon HD 3850 AGP.
+Andrey Gusev (1):
+      include: Add d3dx10.h file.
 
-Anton Baskanov (3):
-      gdi32: Return default palette entries from GetSystemPaletteEntries for non-palette-based devices.
-      quartz: Add stub IAMStreamSelect to MPEG-1 Stream Splitter.
-      quartz/tests: Test that MPEG-1 Stream Splitter implements IAMStreamSelect.
+André Hentschel (2):
+      dbghelp: Add even more symbol types.
+      maintainers: Update winemaker section.
 
-Aric Stewart (3):
-      hidclass.sys: Correct size of IOCTL request and unused return value.
-      hid: Implement HidD_GetSerialNumberString.
-      hidclass.sys: Implement IOCTL_HID_GET_SERIALNUMBER_STRING.
+Austin English (20):
+      kernel32: Add AllocateUserPhysicalPages stub.
+      kernel32: Add SetConsoleKeyShortcuts stub.
+      sfc: Add SfcGetNextProtectedFile stub.
+      fltmgr.sys: Add FltInitializePushLock stub.
+      wine.inf: Add System\CurrentControlSet\Services\RpcSs registry key.
+      dbghelp: Version to 6.1.7601.17514.
+      bthprops.cpl: Add stub dll.
+      wmplayer: Add stub program.
+      bluetoothapis: Add stub dll.
+      ntoskrnl.exe: Add ExAcquireResourceExclusiveLite stub.
+      ntoskrnl.exe: Add ExDeleteResourceLite stub.
+      ntoskrnl.exe: Add ExReleaseResourceForThreadLite stub.
+      wine.inf: Add HKLM\System\CurrentControlSet\Control\ServiceGroupOrder\List registry key.
+      bthprops.cpl: Comment out CPLApplet from spec file.
+      ndis.sys: Forward NdisInitUnicodeString to ntdll.RtlInitUnicodeString.
+      wine.inf: Add Windows Media Player version registry keys.
+      ntoskrnl.exe: Add a stub for ProbeForRead.
+      ntoskrnl.exe: Add ExDeleteNPagedLookasideList stub.
+      ntoskrnl.exe: Add ExDeletePagedLookasideList stub.
+      combase: Add RoGetActivationFactory stub.
 
-Bruno Jesus (20):
-      avifil32: Absolute addresses already point to the correct place in the frame.
-      msvfw32: Simplify error handling in ICSeqCompressFrameStart.
-      iccvid: Make decode_cinepak a bit more consistent and easier to read.
-      quartz: Cope with invalid MP3 headers being detect as valid.
-      msvfw32: Use a helper to free memory.
-      msvfw32: Fix the size of previous compressed buffer.
-      msvfw32: Lpckid and lpdwFlags must be valid memory addresses.
-      msvfw32: Improve tracing from ICSeqCompressFrameStart.
-      msvfw32: Ask the codec to fill the lpbiOutput info when it is not available.
-      msvfw32: Only update output parameters when the compress operation works.
-      msvfw32: Make wine_dbgstr_fcc handle non-ASCII values better.
-      msvfw32: Fix a copy & paste issue.
-      msvfw32: Ask the driver about how much data is required for lpbiOut.
-      msvfw32/tests: Add ICSeqFrameCompress tests.
-      msvfw32: Better tracing of ICERR codes and general trace improvements.
-      msvidc32: Add missing compression messages to the list.
-      msvfw32/tests: Check if requesting the default codec works.
-      msvfw32: When no fccHandler is specified return the first valid codec.
-      winmm: Initialize struct MMIOINFO in MMIO_Open.
-      avifil32: Implement AVISave[A|W] by forwarding to AVISaveV.
+Bruno Jesus (9):
+      msvfw32: Derive frame dimension from bitmap info when not available.
+      msvfw32: Make it clear why a DrawDibBegin call is required.
+      mcicda: Improve CD drive IOCTL tracing.
+      iccvid: Implement inverted frame decompressing.
+      iccvid: Use a separate argument for inverted decompressing.
+      include: Add definitions related to WSAPoll().
+      msrle32/tests: Add uncompressed frame decompressing test.
+      msrle32: Add support to decompress uncompressed frames.
+      ws2_32/tests: Add WSAPoll() tests.
 
-Can Taşan (1):
-      po: Update Turkish translation.
+Daniel Lehman (4):
+      msvcp120: Implement _Thrd_sleep/yield.
+      msvcp120: Implement _Thrd_current.
+      msvcp120: Implement _Thrd_create/join.
+      msvcp120: Implement _Cnd_* functions.
 
-Daniel Lehman (2):
-      msvcp110: Make argument const for _Xtime_diff functions.
-      msvcp120: Implement _Thrd_equal/lt.
+Dmitry Timoshkov (17):
+      widl: Avoid warnings when being added dispatch guids already present in a typelib.
+      ole32: Handle failure of reading directory entry in IEnumSTATSTG::Next.
+      ole32: Zero out returned stats when IEnumSTATSTG::Next reaches end of enumeration.
+      ole32/tests: Add the tests to show that IEnumSTATSTG::Next should zero out returned stats when it reaches end of enumeration.
+      Revert "msi: Correctly parse double quotes in the token value.".
+      msi: Make sure to reset the 'in_quotes' state in all cases.
+      ole32/tests: Add some tests for loading and drawing various OLE formats.
+      ole32: Relax media type check when loading CF_METAFILEPICT format from OLE storage.
+      ole32: Add more traces to the storage methods.
+      widl: Avoid adding duplicate type definitions if tag and typedef names are the same.
+      widl: Attribute uuid() takes precedence over 'hidden'.
+      widl: Avoid generating duplicate typelib entries for structure tag names.
+      widl: Attributes of the alias are supposed to replace attributes of a tag in the typelib.
+      widl: Ignore assignment of a duplicate uuid.
+      oleaut32/tests: Add a bunch of new tests for typelib generation.
+      taskschd/tests: Fix memory leaks (Valgrind).
+      ntdll: Avoid path buffer re-allocation step for common dll name lengths.
 
-Dmitry Timoshkov (11):
-      ntdll: Return from snoop tracing helpers earlier if tracing is disabled.
-      user32: Always call BeginPaint/EndPaint when handling a WM_PAINT message for the button.
-      ole32: PropVariantCopy should return DISP_E_BADVARTYPE in case of bad source variant type.
-      gdi32: Fix heap corruption.
-      comctl32: Always call BeginPaint/EndPaint when handling a WM_PAINT message for the button.
-      ole32: Initialize number of bytes read before the comparison.
-      ole32: Print a FIXME when the "CONTENTS" stream refers to unsupported format.
-      widl: Add support for unions to the typelib generator.
-      user32/tests: Move MDI tests out of the WM_CREATE handler.
-      user32/tests: Add some tests for WM_MDIGETACTIVE.
-      ole32: Fallback to parsing the Presentation streams ff parsing of the "CONTENTS" stream fails.
+François Gouget (2):
+      configure: Fix the notices handling in WINE_PRINT_MESSAGES().
+      configure: The libtiff pkg-config name is libtiff-4.
 
-Erich Hoover (3):
-      ws2_32: Implement a basic synchronous TransmitFile.
-      ws2_32: Add support for TransmitFile headers and footers.
-      ws2_32: Add asynchronous support for TransmitFile.
-
-François Gouget (4):
-      d3d11: Make impl_from_ID3D11ShaderResourceView() static.
-      oleaut32: Add V_RECORD() and V_RECORDINFO() and use them for wine_dbgstr_variant().
-      oleview: Remove an unneeded NONAMELESSUNION define.
-      hidclass.sys: Make a few functions static.
-
-Gediminas Jakutis (1):
-      d3dx9: Add adjacency generation for D3DXCreateCylinder().
-
-Gerald Pfeifer (8):
-      msi: Avoid shift overflow in msi_view_get_row.
-      d3d8: Adjust D3DCOLOR_ARGB to avoid shift overflow.
-      d3d8: Redefine D3DVSD_MAKETOKENTYPE to avoid shift overflow (warnings).
-      d3d9: Change #define D3DSTREAMSOURCE_INSTANCEDATA to avoid shift overflow.
-      ntdll: Avoid a case of shift overflow in get_cpuinfo.
-      configure: Use the -Wshift-overflow=2 compiler option if available.
-      d3d9: Make D3DFVF_TEXTUREFORMAT4 and friends unsigned.
-      gdiplus: Avoid shift overflow in get_gif_background_color.
-
-Grazvydas Ignotas (3):
-      include: Use float math functions on ARM.
-      include: Use fabsf implementation when available.
-      include: Expose some more implemented math functions.
-
-Hans Leidekker (8):
-      webservices: Parse comment nodes.
-      webservices: Add support for character set detection.
-      webservices: Add a stub implementation of WsGetXmlAttribute.
+Hans Leidekker (18):
+      maintainers: Add Web Services, Windows Management Instrumentation and WinHTTP sections.
+      webservices: Implement WsXmlStringEquals.
       include: Add missing Web Services declarations.
-      webservices: Implement WsCreateXmlBuffer.
-      webservices: Implement WsSetOutputToBuffer.
+      webservices: Keep track of the parent-child relationship between nodes.
+      webservices: Implement WsAlloc.
+      webservices: Parse self-closing tags.
+      webservices: Implement WsMoveReader.
+      webservices: Implement WsWriteStartElement.
+      webservices: Reset writer state in WsSetOutput and WsSetOutputToBuffer.
+      webservices: Add support for retrieving the output buffer.
+      webservices: Implement WsWriteEndElement.
+      webservices: Avoid writing redundant namespace attributes.
+      webservices: Implement WsWriteEndStartElement.
       webservices/tests: Add tests.
-      webservices: Implement WsSetInputToBuffer.
+      webservices: Implement WsWriteStartAttribute.
+      webservices: Implement WsWriteEndAttribute.
+      webservices: Implement WsWriteText.
+      webservices/tests: Add more tests.
 
 Henri Verbeet (6):
-      d2d1: Properly handle collinear edges in d2d_cdt_cut_edges().
-      d2d1: Properly handle collinear edges in d2d_cdt_insert_segment().
-      d3d9/tests: Introduce a helper function to test for WARP.
-      d3d8/tests: Introduce a helper function to test for WARP.
-      wined3d: Add a missing TRACE to wined3d_texture_map().
-      wined3d: Add a missing TRACE to wined3d_texture_unmap().
+      wined3d: Map glDrawArraysInstanced() to glDrawArraysInstancedARB().
+      wined3d: Get rid of getColorBits().
+      wined3d: Get rid of getDepthStencilBits().
+      wined3d: Disallow stencil size mismatches in wined3d_check_pixel_format_depth() if the format has stencil bits.
+      wined3d: Always use the same formats in context_create() when "always_offscreen" is enabled.
+      wined3d: Call wglGetPixelFormat() through the gl_ops table.
 
-Hugh McMaster (2):
-      kernel32: Implement the FALSE pathway of GetCurrentConsoleFont.
-      kernel32/tests: Add tests for the FALSE pathway of GetCurrentConsoleFont.
+Hugh McMaster (7):
+      po: Fix some format specifiers in the Turkish translation.
+      wineconsole: Add if check to determine whether a font attribute has changed.
+      server: Add console font information.
+      wineconsole: Pass font size information to wineserver.
+      kernel32: Implement GetNumberOfConsoleFonts.
+      kernel32: Implement GetConsoleFontSize.
+      kernel32/tests: Add tests for GetConsoleFontSize.
 
-Huw D. M. Davies (10):
-      wineps: Let CUPS control the copy count rather than embedding it in the PostScript.
-      wineps: Pass the collate setting as a CUPS option.
-      ole32: Set the release interface to NULL before calls to GetDataHere.
-      oleaut32: Clear any existing interface before calling WdtpInterfacePointer_UserUnmarshal().
-      ole32: WdtpInterfacePointer_UserUnmarshal() should release an interface if one is passed in.
-      ole32/tests: Release the marshalled data in the expected buffers.
-      ole32: Correctly release an existing pointer when unmarshalling a NULL-ptr.
-      ole32: Fix ref counting in GetDataHere Proxy.
-      riched20: Rewrite the picture destination parser to handle embedded groups.
-      riched20: Add support for the \shppict destination.
+Huw D. M. Davies (6):
+      user32: Restore the dc's colours after sending WM_DRAWITEM.
+      gdi32: Take into account the mask's offset.
+      maintainers: Add a few entries.
+      riched20: Store the font cache entry rather than the HFONT.
+      riched20: Release the font cache when changing the default style.
+      riched20: Maintain a list of styles and reuse them if possible.
 
-Jacek Caban (14):
-      ole32: Pass requested interface IID to CreateInstance in CoCreateInstanceEx.
-      ole32: Call CoCreateInstanceEx from CoCreateInstance instead of the other way around.
-      winerror.h: Added DNS_REQUEST_PENDING error code.
-      windns.h: Added missing DNS_QUERY_* constants.
-      rpcrt4: Moved formatting pipe names to helper functions.
-      rpcrt4: Added support for binding argument in RpcMgmtIsServerListening.
-      rpcrt4: Added RpcMgmtIsServerListening tests.
-      mshtml/tests: Fixed more test failures on win10.
-      ws2_32: Added GetAddrInfoExW stub.
-      ws2def.h: Fixed ADDRINFOEX declaration.
-      kernel32: Pass SYNCHRONIZE access flag to NtCreateFile.
-      advapi32: Pass SYNCHRONIZE flag in NtCreateFile and NtOpenFile calls.
-      kernel32: Pass SYNCHRONIZE flag to NtOpenFile.
-      krnl386.exe: Pass SYNCHRONIZE flag to NtCreateFile.
+Jacek Caban (24):
+      dnsapi: Added DnsQueryEx stub.
+      ole32: Make CoInitializeEx hot patchable.
+      ntdll: Added NtOpenKeyEx implementation.
+      ntdll: Fixed argument order in NtNotifyChangeKey.
+      urlmon: Don't include 'Win32' token in user agent string.
+      urlmon: Include 'x64' token in user agent string on win64.
+      ntdll: Return STATUS_PENDING in NtNotifyChangeKey if async notify is performed.
+      server: Reset event in set_registry_notification.
+      server: Notify parent key when subkey is created.
+      ntdll: Added NtNotifyChangeMultipleKeys implementation.
+      ieframe: Store toolbar handle in InternetEplorer.
+      ieframe: Disable forward and backward navigation toolbar buttons when they are not usable.
+      ieframe: Don't use WINAPI in internal functions.
+      comctl32: Don't use comparisons to FALSE.
+      ntdll: Added a few registry stubs.
+      server: Return KeyFullInformation maximal string lengths in bytes.
+      ntdll: Added KeyCachedInformation key info class implementation.
+      server: Store all 32 bits of value type.
+      ole32: Added DECLSPEC_HOTPATCHABLE to a few more functions.
+      advapi32: Added DECLSPEC_HOTPATCHABLE to CreateProcessAsUser[AW] functions.
+      kernel32: Added DECLSPEC_HOTPATCHABLE to WinExec function.
+      oleaut32: Added DECLSPEC_HOTPATCHABLE to a few functions.
+      advapi32: Use absolute registry paths to create special root keys.
+      mshtml: Skip travellog notifications for frame navigation.
 
-Józef Kucia (31):
-      d3d11: Implement ID3D10ShaderResourceView1 interface.
-      d3d10core/tests: Check that shader resource views implement ID3D10ShaderResourceView1.
-      d3d11/tests: Check that shader resource views implement ID3D10ShaderResourceView1.
-      dxgi: Make dxgi_swapchain_SetFullscreenState() hotpatchable.
-      d3d11: Implement d3d10_device_CreateShaderResourceView1().
-      d3d10_1/tests: Port test_create_shader_resource_view() from d3d10core.
-      d3d11: Implement ID3D10BlendState1 interface.
-      d3d11: Implement d3d10_device_CreateBlendState1().
-      d3d10core/tests: Check that blend states implement ID3D10BlendState1.
-      d3d11/tests: Check that blend states implement ID3D10BlendState.
-      d3d10_1/tests: Port test_create_blend_state() from d3d11.
-      d3d11: Remove outdated FIXME comment.
-      d3d11: Use CreateDXGIFactory1 to create factory in D3D11CreateDevice.
-      d3d11/tests: Add test for ID3D11Device parents.
-      d3d10core/tests: Port test_device_interfaces() from d3d11.
-      d3d10_1/tests: Port test_device_interfaces() from d3d11.
-      dxgi/tests: Remove test_device_interfaces().
-      d3d11: Do not store ID3D11Device pointer in d3d11_immediate_context.
-      d3d11: Implement d3d11_immediate_context_GSSetShader().
-      d3d11: Implement d3d11_immediate_context_IASetVertexBuffers().
-      d3d11: Implement d3d11_immediate_context_CopyResource().
-      dxgi: Implement IDXGIDevice1 interface.
-      dxgi/tests: Add test for maximum frame latency.
-      d3d/tests: Check that device implements IDXGIDevice1.
-      d3d11: Rename d3d10_query to d3d_query.
-      d3d11: Add ID3D11Query interface stub.
-      d3d11: Implement d3d11_device_CreatePredicate().
-      d3d11: Implement d3d11_device_CreateQuery().
-      d3d10core/tests: Extend test_create_predicate().
-      d3d11/tests: Port test_create_predicate() from d3d10core.
-      include: Add D3D11_QUERY_MISC_FLAG declaration.
+Jactry Zeng (3):
+      riched20: Set pStream->written in ME_StreamOutFlush.
+      riched20: Make paragraph in make_para independently.
+      riched20: Implement alignment styles support.
 
-Ken Thomases (4):
-      winemac: Use a snapshot of an owned window when a zero-sized owner window is minimized.
-      winemac: Reorganize copy_display_modes() to clarify that the user's default mode is always included.
-      winemac: Fix how the user's default display mode is determined.
-      winemac: Add another workaround for bad side effects of CGWarpMouseCursorPosition().
+Julian Rüger (1):
+      po: Update German translation.
 
-Martin Storsjo (5):
-      ucrtbase: Implement some printf functions.
-      combase: Fix cornercase error handling in WindowsCreateStringReference.
-      ucrtbase: Hook up the terminate function.
-      ucrtbase: Implement vsscanf.
-      vcruntime140: Add the new MSVC 2015 compiler specific DLL.
+Józef Kucia (61):
+      wined3d: Introduce wined3d_resource_map().
+      wined3d: Introduce wined3d_resource_unmap().
+      wined3d: Set slice pitch in wined3d_map_desc to surface size.
+      d3d11: Implement d3d11_immediate_context_Map().
+      d3d11: Implement d3d11_immediate_context_Unmap().
+      d3d11: Add support for mapping 3D textures.
+      d3d11/tests: Add test for resource mapping.
+      d3d11: Implement d3d11_immediate_context_RSSetViewports().
+      d3d11: Implement d3d11_immediate_context_OMSetRenderTargets().
+      d3d11/tests: Port test_il_append_aligned() from d3d10core.
+      d3d8: Use wined3d_resource_{map, unmap}() instead of wined3d_texture_{map, unmap}().
+      d3d9: Use wined3d_resource_{map, unmap}() instead of wined3d_texture_{map, unmap}().
+      d3d11: Use wined3d_resource_{map, unmap}() instead of wined3d_texture_{map, unmap}().
+      wined3d: Remove wined3d_texture_{map,unmap}().
+      d3d11: Implement d3d11_immediate_context_Draw().
+      d3d11: Implement d3d11_immediate_context_RSSetScissorRects().
+      d3d11: Implement d3d11_immediate_context_RSSetState().
+      d3d11/tests: Port test_scissor() from d3d10core.
+      d3d11: Implement d3d11_immediate_context_OMSetBlendState().
+      d3d11/tests: Port test_blend() from d3d10core.
+      include: Add some missing D3D11 constants.
+      d3d11: Implement d3d11_immediate_context_PSSetSamplers().
+      d3d11: Implement d3d11_immediate_context_PSSetShaderResources().
+      d3d11/tests: Port test_texture() from d3d10core.
+      d3d11: Implement d3d11_immediate_context_PSSetConstantBuffers().
+      d3d11/tests: Port test_fragment_coords() from d3d10core.
+      d3d11: Implement d3d11_immediate_context_UpdateSubresource().
+      d3d11/tests: Port test_update_subresource() from d3d10core.
+      d3d11: Implement d3d11_immediate_context_GSSetConstantBuffers().
+      d3d11: Implement d3d11_immediate_context_GSSetShaderResources().
+      d3d11: Implement d3d11_immediate_context_IAGetPrimitiveTopology().
+      d3d11: Implement d3d11_immediate_context_VSSetConstantBuffers().
+      d3d11: Implement d3d11_immediate_context_VSSetShaderResources().
+      d3d11: Implement d3d11_immediate_context_VSSetSamplers().
+      d3d11: Implement d3d11_immediate_context_GSSetSamplers().
+      d3d11: Implement d3d11_immediate_context_RSGetState().
+      d3d11: Implement d3d11_immediate_context_IAGetInputLayout().
+      d3d11: Implement d3d11_immediate_context_SetPredication().
+      d3d11: Implement d3d11_immediate_context_GetPredication().
+      d3d11: Implement d3d11_immediate_context_VSGetSamplers().
+      d3d11: Implement d3d11_immediate_context_PSGetSamplers().
+      d3d10core/tests: Fix typo.
+      d3d10core/tests: Avoid multiple readbacks of backbuffer texture.
+      d3d11/tests: Avoid multiple readbacks of backbuffer texture.
+      d3d11: Implement d3d11_immediate_context_GSGetSamplers().
+      d3d11: Implement d3d11_immediate_context_GSGetConstantBuffers().
+      d3d11: Implement d3d11_immediate_context_GSGetShader().
+      d3d11: Implement d3d11_immediate_context_GSGetShaderResources().
+      d3d11: Implement d3d11_immediate_context_VSGetConstantBuffers().
+      d3d11: Implement d3d11_immediate_context_VSGetShader().
+      d3d11: Implement d3d11_immediate_context_VSGetShaderResources().
+      d3d11: Implement d3d11_immediate_context_PSGetShaderResources().
+      d3d11: Implement d3d11_immediate_context_PSGetShader().
+      d3d11: Implement d3d11_immediate_context_PSGetConstantBuffers().
+      d3d11: Implement d3d11_immediate_context_SOSetTargets().
+      wined3d: Make offset parameter optional in wined3d_device_get_stream_output().
+      d3d11: Implement d3d11_immediate_context_SOGetTargets().
+      d3d11: Implement d3d11_immediate_context_IASetIndexBuffer().
+      d3d11: Implement d3d11_immediate_context_DrawIndexed().
+      d3d11: Implement d3d11_immediate_context_DrawIndexedInstanced().
+      d3d11: Implement d3d11_immediate_context_OMGetRenderTargets().
 
-Matteo Bruni (11):
-      wined3d: Use non-deprecated texture sample builtins also in the fragment pipeline replacement shaders.
-      wined3d: Set GL_DEPTH_TEXTURE_MODE_ARB to GL_INTENSITY.
-      d3d9/tests: Extend the INTZ test a bit.
-      d3d9/tests: Extend the shadow test a bit.
-      wined3d: Allow FBO blits for depth formats with swizzle fixups.
-      wined3d: Add a format fixup for INTZ on core profile.
-      d3d8/tests: Extend the INTZ test a bit.
-      d3d8/tests: Extend the shadow test a bit.
-      wined3d: Use the core version of the debug messages functions.
-      msctf: Add ITfThreadMgrEx stub.
-      msctf: Add ITfUIElementMgr stub.
+Ken Thomases (6):
+      winemac: Cope with multiple seemingly-identical display modes, only some of which work, by trying them in sequence.
+      winemac: Use CVDisplayLink to limit window redrawing to the display refresh rate.
+      winemac: Remove the live-resize display timer.
+      winemac: Check the window's display link after adding it as a child of another window, which may order it on screen.
+      winemac: Stop the CVDisplayLink when there are no more changes to flush.
+      winemac: Fix a crash on versions of OS X prior to 10.9 which don't have the -[NSImage drawInRect:] method.
 
-Michael Cronenworth (1):
-      winegcc: Check for linker relocation support before relying on prelink.
+Maarten Lankhorst (10):
+      winepulse: Add initial stub for pulseaudio support.
+      winepulse: Add format and period probing.
+      winepulse: Add audioclient.
+      winepulse: Add IAudioRenderClient and IAudioCaptureClient.
+      winepulse: Add IAudioClock and IAudioClock2.
+      winepulse: Add audiostreamvolume.
+      winepulse: Add session support.
+      winepulse: Forward winmm functions to winealsa.
+      winepulse: Fixup IsFormatSupported calls.
+      winepulse: Add support for IMarshal.
 
-Michael Stefaniuc (7):
-      ddraw/tests: Test the return of DrawPrimitive().
-      gdiplus/tests: Test the return of GdipImageSelectActiveFrame().
-      d3d9/tests: Test the return value of CreateDepthStencilSurface().
-      kernel32/tests: Simplify an ok() condition (PVS-Studio).
-      rsaenh/tests: Mark an old behavior as broken (PVS-Studio).
-      ddraw/tests: Use the proper type for a return value (PVS-Studio).
-      oleaut32: Remove an always true if-subcondition (PVS-Studio).
+Marcus Meissner (2):
+      quartz: Avoid endless loop (Coverity).
+      d3dx9_36: Remove unneeded vertex_remap variable (Coverity).
 
-Nikolay Sivov (44):
-      include: Add a couple of documented Toolbar messages definitions.
-      shell32: Remove recurring return value check (PVS-Studio).
-      mshtml: Use VARIANT_TRUE instead of TRUE when appropriate (PVS-Studio).
-      dwrite: Scale glyph run analysis advances and offsets with ppdip factor.
-      dwrite: Scale run origin by given ppdip run analysis was created with.
-      dwrite: Set bitmap target ppdip factor from context dpi.
-      dwrite: Respect transform when calculating glyph advances for run analysis.
-      strmbase: Remove some redundant return value initializers.
-      strmbase: Remove redundant null pointer check.
-      strmbase: Switch to void for QualityControlImpl_Destroy().
-      shell32: Remove another recurring return code check (PVS-Studio).
-      comctl32/syslink: Simplify conditional expression (PVS-Studio).
-      ole32/tests: Use BOOL variables for BOOL return type (PVS-Studio).
-      oleaut32/tests: Don't use HRESULT codes for BOOL retval (PVS-Studio).
-      usp10/tests: Use BOOL variable for BOOL retval (PVS-Studio).
-      xmllite: Don't use HRESULT codes for BOOL retval (PVS-Studio).
-      shell32: Cleanup ReadCabinetState exports.
-      ddraw: Use proper prototype for internal enumeration callback (PVS-Studio).
-      shell32: Properly handle SHGetPathFromIDListW failure (PVS-Studio).
-      wintrust/tests: Use proper return types when calling provider funcs (PVS-Studio).
-      quartz: Minor cleanup of returned interface pointers.
-      shell32/tests: Fix prototype to match implementation (PVS-Studio).
-      dxdiagn: Properly set VT_BOOL values (PVS-Studio).
-      msi: Use VARIANT_BOOL values consistently for VT_BOOL type (PVS-Studio).
-      include: Fix a couple of logical processor info structures.
-      user32: Added a GetDisplayConfigBufferSizes stub.
-      dwrite/tests: Some tests for GetRecommendedRenderingMode() with different ppdip values.
-      prntvpt: Remove export ordinals.
-      prntvpt: Added PTOpenProvider() stub.
-      gdiplus: Added GdipBitmapConvertFormat stub.
-      dwrite: Use dpiX/dpiY argument in GetRecommendedRenderingMode().
-      dwrite/tests: Add missing return value test (PVS-Studio).
-      mshtml/tests: Add missing return value test (PVS-Studio).
-      msi/tests: Add missing return value test (PVS-Studio).
-      msxml3/tests: Add missing return value test (PVS-Studio).
-      d3dx9_36/tests: Use proper printf format (PVS-Studio).
-      comctl32/listview: Fix printf format (PVS-Studio).
-      crypt32/tests: Fix printf format (PVS-Studio).
-      dwrite: Fix analysis leak on error path.
-      ntdll: Fix printf format to use unsigned integers (PVS-Studio).
-      shell32: Fix temporary item array leak (Valgrind).
-      dwrite: Fix streams and files pointer arrays leak (Valgrind).
-      dwrite: Fail earlier in TranslateColorGlyphRun() for fonts without color info.
-      dwrite/tests: Fixed some leaks (Valgrind).
+Mark Harmstone (3):
+      winepulse: Handle stream create failing correctly.
+      winepulse: Add stub for GetPropValue.
+      winepulse: Return PKEY_AudioEndpoint_PhysicalSpeakers device prop.
 
-Pierre Schweitzer (1):
-      msacm32.drv: Don't dereference a pointer after free.
+Martin Storsjo (18):
+      ucrtbase: Fix the function name in a comment.
+      ucrtbase: Simplify the snprintf/swprintf tests.
+      ucrtbase: Add defines for the printf/scanf options constants.
+      ucrtbase: Handle the swprintf style termination and return values.
+      msvcrt: Refactor pf_printf to take options as flags instead of as BOOL parameter.
+      msvcrt: Ignore 'N' as format length modifier for pointers, just like 'F'.
+      ucrtbase: Implement the new printf corner case behaviour.
+      msvcrt: Interpret 'I' as size_t size specifier for integer conversions.
+      ucrtbase: Handle the C99 'z' size_t specifier for integers.
+      ucrtbase: Handle the _s variant of vsscanf.
+      makedep: Set use_msvcrt for ucrtbase imports as well.
+      ucrtbase: Implement _get_stream_buffer_pointers.
+      vcruntime140: Implement __vcrt_InitializeCriticalSectionEx.
+      ucrtbase: Implement __std_type_info_compare.
+      ucrtbase: Add a test for snprintf to a NULL buffer.
+      msvcrt: Pass on the return value in _callnewh.
+      msvcrt: Don't lock the heap in operator_new.
+      ucrtbase: Hook up _seh_filter_exe and _seh_filter_dll.
+
+Matteo Bruni (12):
+      wined3d: Cleanup extension check for shader model 4 support.
+      wined3d: Set default texture units mapping for vertex shader samplers when possible.
+      wined3d: Avoid going through the texture units mapping when unnecessary.
+      wined3d: Enforce a stable texture units mapping.
+      wined3d: Handle WINED3D_SHADE_PHONG the same as WINED3D_SHADE_GOURAUD.
+      d3d9/tests: Improve the shade mode test.
+      d3d8/tests: Port test_shademode() to d3d8.
+      ddraw/tests: Port test_shademode() to ddraw7.
+      ddraw/tests: Port test_shademode() to ddraw4.
+      ddraw/tests: Port test_shademode() to ddraw2.
+      ddraw/tests: Port test_shademode() to ddraw1.
+      wined3d: Flat shading emulation for core contexts.
+
+Nikolay Sivov (27):
+      dwrite: Store transform analysis was created with.
+      dwrite: Store origin, advances and offsets as vectors for run analysis.
+      dwrite: Added support for transform in glyph run analysis.
+      dwrite: When assembling run bitmap combine instead of overwriting.
+      oledb32: Allow case-insensitive match for Provider keyword.
+      dwrite: Apply run reading direction to advances and offsets on analysis creation.
+      dwrite/tests: Simple test to show that run analysis instances are not reused.
+      comctl32: Protect TVM_GETITEM from invalid item pointers.
+      kernel32: Simplify EnumDateFormats & EnumDateFormatsEx.
+      kernel32: Implement EnumDateFormatsExEx().
+      hnetcfg: Store port name for INetFwOpenPort.
+      nls: Added LOCALE_SSHORTTIME locale data.
+      hnetcfg: Store protocol for INetFwOpenPort.
+      hnetcfg: Store port number for INetFwOpenPort.
+      kernel32: GetLocaleInfoA() doesn't support LOCALE_SSHORTTIME.
+      kernel32: EnumTimeFormatsA() doesn't support TIME_NOSECONDS.
+      kernel32: Added support for TIME_NOSECONDS, restructured EnumTimeFormats implementation.
+      kernel32: Implement EnumTimeFormatsEx().
+      winemine: Fix loading program state from registry.
+      mshtml: Make it clear that ATTR_FIX_PX and ATTR_FIX_URL as exclusive (Coverity).
+      riched20: Fix a memory leak on error path (Coverity).
+      mshtml: Fix a memory leak (Coverity).
+      shell32: Return as soon as requested CLSID is located (Coverity).
+      hnetcfg: Return success from put_Enabled for a port.
+      dwrite: Remove a couple of dead assignments (Clang).
+      comctl32/tests: Test more return values (Clang).
+      dwrite/tests: Remove unused assignment (Clang).
 
 Piotr Caban (3):
-      shlwapi: Don't crash in PathStripPath when read-only string is passed and it's not modified.
-      msvcp120: Fix tr2::sys::__Statvfs header for gcc.
-      msvcp110: Fix 64-bit _Getcoll implementation.
+      include: Fix CreateSymbolicLink and TryAcquireSRWLockExclusive prototypes.
+      comctl32/tests: Flush events in listview tests after setting foreground window.
+      wininet: Create file with correct file name in test_trailing_slash tests.
 
-Riccardo Bortolato (15):
-      d3d8: Call wined3d_swapchain_get_front_buffer_data instead of wined3d_device_get_front_buffer_data in d3d8_device_GetFrontBuffer.
-      d3d9: Call wined3d_swapchain_get_front_buffer_data instead of wined3d_device_get_front_buffer_data in d3d9_device_GetFrontBuffer.
-      wined3d: Make wined3d_swapchain_get_front_buffer_data work with wined3d_texture and sub_resource_idx.
-      wined3d: Make wined3d_device_set_cursor_properties work with wined3d_texture and sub_resource_index.
-      wined3d: Introduce a new wined3d_texture_blt function.
-      d3d9: Replace wined3d_surface_preload with wined3d_texture_preload.
-      d3d9: Replace wined3d_surface_get_resource with wined3d_texture_get_sub_resource in d3d9_device_ColorFill.
-      d3d9: Replace wined3d_surface_blt with wined3d_texture_blt in d3d9_device_StretchRect.
-      d3d9: Avoid using a wined3d_surface in get_desc calls inside d3d9_device_StretchRect.
-      d3d9: In surface_init check for GetDC supported at texture level (avoid using a subresource).
-      d3d9: Replace wined3d_surface_get_render_target_data with wined3d_texture_blt in d3d9_device_GetRenderTargetData.
-      wined3d: Introduce wined3d_rendertarget_view_create_from_sub_resource().
-      d3d8: Use wined3d_rendertarget_view_create_from_sub_resource() in d3d8_surface_get_rendertarget_view().
-      wined3d: Introduce wined3d_texture_get_dc().
-      wined3d: Introduce wined3d_texture_release_dc().
+Qian Hong (4):
+      gdi32: Initialize system font link registry.
+      quartz: Fix crashing when connect to NULL Pin.
+      quartz/tests: Add NULL pointer tests for IGraphBuilder.
+      quartz: Fix error code when checking circular connection.
 
-Sebastian Lackner (23):
-      kernel32/tests: Add tests for GetPhysicallyInstalledSystemMemory.
-      kernel32: Implement stub for GetPhysicallyInstalledSystemMemory.
-      kernel32/tests: Remove unnecessary busy loop (PVS-Studio).
-      ntdll: Use wrapper function for consolidate callback on x86_64.
-      maintainers: Add a section for volunteer reviewers.
-      kernel32/tests: Add test to show that multiple user APCs are processed at once.
-      ntdll: Do not check if object was signaled after user APC in server_select.
-      ws2_32: Use wine_server_release_fd to close file descriptor.
-      kernel32/tests: Add tests for triggering write watches in asynchronous ReadFile call.
-      combase: Add TRACEs to string functions.
-      combase: Simplify NULL pointer check in WindowsCreateString[Reference].
-      combase: Implement WindowsSubstringWithSpecifiedLength.
-      combase/tests: Add tests for WindowsSubstringWithSpecifiedLength.
-      gdiplus: Use the correct memory allocation function for PropVariants.
-      gdiplus: Use helper function for HeapAlloc calls.
-      gdiplus: Use helper function for HeapReAlloc calls.
-      gdiplus: Use helper function for remaining HeapFree calls.
-      server: Remove a wrong release_object in write_console_input.
-      server: Unconditionally close APC handle in get_apc_result call.
-      server: Remove unused device manager argument from set_irp_result call.
-      combase: Implement WindowsConcatString.
-      combase/tests: Add tests for WindowsConcatString.
-      server: Add a missing grab_object in cgwe_enum.
+Ralf Habacker (1):
+      dbghelp: Fix crash in module_find_cb on trying to parse non image files.
+
+Riccardo Bortolato (7):
+      wined3d: Make wined3d_device_copy_sub_resource_region return an error code.
+      ddraw: Remove unused mipmap_level from ddraw_surface.
+      wined3d: Call wined3d_texture_decref() instead of wined3d_surface_decref() in wined3d_cs_exec_set_depth_stencil_view().
+      wined3d: Call wined3d_texture_{inc, dec}ref() instead of wined3d_surface_{inc, dec}ref() in device_switch_onscreen_ds().
+      wined3d: Call wined3d_texture_decref() instead of wined3d_surface_decref() in wined3d_device_uninit_3d().
+      wined3d: Call wined3d_texture_decref() instead of wined3d_surface_decref() in wined3d_device_reset().
+      wined3d: Call wined3d_texture_decref() instead of wined3d_surface_decref() in swapchain_gl_present().
+
+Sebastian Lackner (15):
+      server: Clear last error when creating object without name.
+      widl: When adding an interface typedef do check whether it has been already added while resolving the parent interface.
+      winepulse.drv: Add a missing linebreak to ERR message.
+      kernel32/tests: Add a test to demonstrate a deadlock by suspending a thread during a system APC.
+      server: Wake up APC if we fail to allocate a handle in target process.
+      dinput: Print TRACE at the beginning of SysMouseWImpl_GetDeviceState function.
+      dinput: Ensure X11 input events are forwarded to wineserver even without message loop.
+      ntdll: Fix specfile entry for NtCreateKeyTransacted.
+      include: Add declarations for recently added registry functions.
+      kernel32/tests: Add some more tests for opening a file with FILE_DELETE_ON_CLOSE.
+      server: Return STATUS_CANNOT_DELETE when trying to open readonly file with FILE_DELETE_ON_CLOSE.
+      kernel32: DeleteFile should open the file without read/write permissions.
+      ntdll/tests: Add tests for multiple registry notifications per key.
+      server: Only send WM_WINE_CLIPCURSOR for forced clip resets.
+      ntoskrnl.exe: Add a stub for ProbeForWrite.
 
 Stefan Dösinger (2):
-      wined3d: Only set GL_DEPTH_TEXTURE_MODE_ARB if ARB_depth_texture is supported.
-      wined3d: Prepare GL resources before calling context_apply_fbo_state.
+      user32: Silently ignore temporary foreground loss.
+      comctl32: Re-enable the parent before destroying the dialog.
 
 Stefan Leichter (1):
-      wimgapi: Add new stub dll.
+      wimgapi: Add stub for WIMRegisterMessageCallback.
 
-Thomas Faber (2):
-      shdocvw: Add missing parameter to RunInstallUninstallStubs2.
-      wldap32: Add missing const to ldap_init definitions.
+Thomas Faller (1):
+      kernel32: Fix invalid write.
 
-Thomas Pointhuber (2):
-      combase: Implement WindowsSubstring.
-      combase/tests: Add tests for WindowsSubstring.
+Vincent Povirk (10):
+      gdiplus: Skip the EMR_HEADER record when looking for the EMF+ header.
+      gdiplus/tests: Add tests for metafile headers and image information.
+      gdiplus: Add initial GdipGetMetafileHeaderFromEmf implementation.
+      gdiplus: Use reference device to determine created metafile resolution.
+      gdiplus: Use GdipGetMetafileHeaderFromEmf when opening metafiles.
+      gdiplus: Return Ok from GdipSetMetafileDownLevelRasterizationLimit.
+      gdiplus: Placeable is optional in GdipCreateMetafileFromWmf.
+      comdlg32: Add ES_AUTOHSCROLL style to filename text box.
+      makedep: Fix install rule for .idl files.
+      comdlg32: Initially focus filename text box.
 
-Vincent Povirk (2):
-      gdiplus/tests: Add a test for CompositingModeSourceCopy.
-      maintainers: Add myself.
+YongHao Hu (1):
+      msvcp110: Add tr2_sys__Open_dir implementation.
 
 --
 Alexandre Julliard
diff --git a/VERSION b/VERSION
index ce7f5a1..541a706 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-Wine version 1.7.54
+Wine version 1.7.55
diff --git a/configure b/configure
index 3d6d521..3d3dfc9 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.7.54.
+# Generated by GNU Autoconf 2.69 for Wine 1.7.55.
 #
 # Report bugs to <wine-devel@winehq.org>.
 #
@@ -580,8 +580,8 @@
 # Identity of this package.
 PACKAGE_NAME='Wine'
 PACKAGE_TARNAME='wine'
-PACKAGE_VERSION='1.7.54'
-PACKAGE_STRING='Wine 1.7.54'
+PACKAGE_VERSION='1.7.55'
+PACKAGE_STRING='Wine 1.7.55'
 PACKAGE_BUGREPORT='wine-devel@winehq.org'
 PACKAGE_URL='http://www.winehq.org'
 
@@ -2102,7 +2102,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.7.54 to adapt to many kinds of systems.
+\`configure' configures Wine 1.7.55 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -2172,7 +2172,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Wine 1.7.54:";;
+     short | recursive ) echo "Configuration of Wine 1.7.55:";;
    esac
   cat <<\_ACEOF
 
@@ -2372,7 +2372,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Wine configure 1.7.54
+Wine configure 1.7.55
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2890,7 +2890,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.7.54, which was
+It was created by Wine $as_me 1.7.55, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -18818,7 +18818,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.7.54, which was
+This file was extended by Wine $as_me 1.7.55, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -18889,7 +18889,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.7.54
+Wine config.status 1.7.55
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
