diff --git a/ANNOUNCE b/ANNOUNCE
index 3531c0f..fc12577 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,16 +1,15 @@
-The Wine development release 1.7.25 is now available.
+The Wine development release 1.7.26 is now available.
 
 What's new in this release (see below for details):
-  - Implementation of the packet capture library.
-  - A few more DirectWrite functions.
-  - Improvements in HTML table support.
-  - More VBScript math functions.
+  - Still more DirectWrite functions.
+  - Improvements to the common File Dialog.
+  - A number of C runtime improvements.
   - Various bug fixes.
 
 The source is available from the following locations:
 
-  http://prdownloads.sourceforge.net/wine/wine-1.7.25.tar.bz2
-  http://mirrors.ibiblio.org/wine/source/1.7/wine-1.7.25.tar.bz2
+  http://prdownloads.sourceforge.net/wine/wine-1.7.26.tar.bz2
+  http://mirrors.ibiblio.org/wine/source/1.7/wine-1.7.26.tar.bz2
 
 Binary packages for various distributions will be available from:
 
@@ -26,257 +25,249 @@
 
 ----------------------------------------------------------------
 
-Bugs fixed in 1.7.25 (total 35):
+Bugs fixed in 1.7.26 (total 48):
 
-   1908  Medieval total war demo crashes with builtin amstream
-   5809  "native" (Microsoft) MSI does not work with wine 0.9.18
-   9059  Space Empires V 1.44 crashes
-  10332  Irfanview crashes in thumbnail mode when previewing certain text file
-  12639  Creative ZENcast Organizer installer fails with error -5002
-  13347  Skype 3.5 only works in "Win95" mode
-  13934  Thief: Deadly Shadows crashes immediately
-  17273  Many apps and games need SetNamedPipeHandleState implementation (support for named pipe message mode)(FireFox+Flash, Win8/NET 4.x SDK/vcrun2012, WiX installers)
-  17856  JFlothows Wuerfel crashes with BAD_DRAWABLE "Cannot get FB Config for iPixelFormat 0"
-  18012  DVDDecrypter 3.5.4.0 fails to detect CDROM drive with 'WinVer' set >= 'Windows 2000' (expects '\Device\Cdrom' in NT object manager namespace)
-  18389  Registering after installing Roblox doesn't work
-  20374  KeePass 1.09 crashes opening password database due to unimplemented bcrypt.dll.BCryptOpenAlgorithmProvider
-  20414  Crash in Tales of Monkey Island
-  21349  Python 2.6/2.7 crashes during run of 'PyInstaller' packaging application
-  22530  CDBurnerXP 4.0.x exits with Wine-Mono when trying to enter data disc mode (needs COM/ActiveX host support)
-  22687  Bonzai3D crashes and freezes when project window is moved
-  22788  OriginPro 8.0 crashes on startup
-  24273  Some objects in Source games are black
-  24700  Explorer++ doesn't open command prompt windows properly
-  25775  World of Warcraft: crashes several seconds after logging in to a character.
-  26097  Mario Forever 5.0.1: fails to start
-  26101  riched20/editor tests show a ton of valgrind warnings
-  28823  riched20/tests/editor.ok: TRACE() of uninitialized value triggered by test_word_movement()?
-  29265  WebGallery 1.x: search throws access violation (XML document labelled UTF-16 but has UTF-8 content)
-  31109  Microshop 2.0 (.NET 2.0 app using System.Transactions) wants ole32 CoGetDefaultContext
-  31462  Open General: corrupted tiles on the map
-  32651  File path passed to linux application by winebrowser is mangled if it contains international characters
-  33655  Magic MP3 Tagger crashes after adding a file
-  34279  Project I.G.I: crashes when starting game
-  34914  mshtml:htmldoc fails on most Windows systems
-  36111  UltraVNC 1.1.9.6 installer fails
-  36769  Adobe Creative Cloud Setup crashes on startup with WinVer set to 'Windows 7' (needs IDWriteFactory::RegisterFontFileLoader method implementation)
-  37061  IEC 61850 v2.02 example client crashes on unimplemented function wpcap.dll.pcap_findalldevs_ex
-  37062  Wireshark 1.10 'dumpcap.exe' tool crashes on unimplemented function wpcap.dll.pcap_findalldevs
-  37094  Wireshark 1.10 'dumpcap.exe' tool crashes on unimplemented function wpcap.dll.pcap_open_live
+   7711  TomTom Home can not detect TomTom devices
+  12916  MPQEdit 2.x crashes on startup if World of Warcraft 'wow.exe' process is already running
+  13443  Incomedia Website X5: impossible to select the main window
+  13497  Kudos generates an access violation when trying to run
+  13951  SetParent doesn't behave properly
+  17455  UnrealED 2: Cannot manipulate the viewports in any way.
+  19263  Slow performance when the theme is changed to vista inspirat
+  20793  Call of Atlantis : does not start after click "Play Game" button
+  23273  Spore doesn't start
+  23277  MetaTrader 4 'MetaEditor' tool has icon transparency problems
+  24576  Final Fantasy XIV: Live Client Launch Fails
+  24618  Aeria Games 'Grand Fantasia' crashes on startup
+  25803  War Leaders: Clash of Nations corrupts graphics
+  26039  The msi package test produce many failures in the root directory
+  26502  Ava Trader 'FX_Client.exe' crashes on startup
+  26569  Baldur's Gate II: SoA v23037 and ToB v26498 crashes during character creation
+  28412  high processor usage of Reaper
+  29585  wineoss.drv audio renderer not on par with others
+  30041  npptools.dll is needed by multiple network authentication clients
+  30871  Binary Domain (FPS) fails on startup, reporting 'inputLanguage is not recognized by the system'
+  30880  Depth Hunter: pictures missing from photo album without native d3dx9_36
+  30931  Newsbin cannot connect to ssl servers
+  31230  Topo4 by National Geographic no longer loads
+  31327  RV Graphich Bug
+  31513  fre:ac vs. window manager - Drag and Drop doesn't work
+  32581  Invalid dwFlags of reference rasterizer's HAL D3DDEVICEDESC
+  33675  Opera Next 15.0 for Windows doesn't display web pages
+  33839  YY crash with builtin msvcr90 when 'my setting' is clicked
+  34709  Terraria 1.0.x crashes during display mode change from windowed mode to fullscreen or vise versa
+  35065  Macromedia Fireworks 8 needs msvcp71.dll.??$?5DU?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAE@Z
+  35667  64-bit Comodo Backup installer fails to complete ('COSService.exe' crash)
+  35760  gdi32:font test_fullname2() fails on Windows 7 in the French locale
+  36085  Markets.com MetaTrader 4 crashes on startup
+  36122  valgrind shows a definite leak in winemenubuilder/winemenubuilder.c
+  36242  valgrind shows several warnings/leaks in d3dx9_36/tests/core.c
+  36243  valgrind shows several leaks in d3dx9_36/tests/mesh.c
+  36375  eRacer demo doesn't start, fails to load audio files
+  36774  Adobe Creative Cloud: Adobe Application Manager crashes after signing in
+  36808  Serif PhotoPlus X5 installation fails with dialog stating "this action is not supported, please use setup.exe"
+  36997  Git error message: "Tweaking file descriptors doesn't work with this MSVCRT.dll"
+  37028  QQ crashes because unimplemented function msvcr100.dll._strnset_s
+  37078  Full Spectrum Warrior demo installer: 'Next' button has no effect after path selection (needs msi builtin 'OutOfNoRbDiskSpace' property)
+  37086  Assassin's Creed: wrong colors in the menus and in-game with built-in d3dx9_36
+  37100  Norton Power Eraser: The procedure OpenEncryptedFileRawW could not be located in ADVAPI32
+  37152  Rainbow Six Lockdown: screen shows garbage when anti-aliasing enabled
+  37189  [Myst Online: Uru Live] unable to start
+  37194  SpellForce 2: Demons of the Past: textures too dark
+  37209  Midnight Mysteries 3: Devil on the Mississipi (Steam) crashes on start with built-in msvcr100
 
 ----------------------------------------------------------------
 
-Changes since 1.7.24:
+Changes since 1.7.25:
 
-Adam Martinson (1):
-      ntdll: Implement FILE_PIPE_INFORMATION for NtQueryInformationFile.
+Akihiro Sagawa (3):
+      winmm/tests: Add more tests for custom procedures.
+      winmm: Avoid sending MMIOM_SEEK message in debug trace.
+      winmm: Don't call the custom MMIOM_SEEK handler while opening.
 
-Alexandre Julliard (1):
-      kernel32: Add detection of fake dlls when determining a binary type.
+Alexandre Julliard (2):
+      make_makefiles: Check for idl sources in parent directory to set clean flag.
+      make_makefiles: Support the GIT_DIR environment variable.
 
-Andrei Slăvoiu (1):
-      wined3d: Replace vendor specific callbacks with generic code that uses vendor specific arrays.
+Alistair Leslie-Hughes (2):
+      dpvoice: New stub dll.
+      dpvoice: Register interfaces.
 
-André Hentschel (36):
-      wpcap: Implement pcap_major_version and pcap_minor_version.
-      wpcap: Implement pcap_findalldevs.
-      wpcap: Implement pcap_freealldevs.
-      wpcap: Implement pcap_geterr.
-      wpcap: Implement pcap_open_live.
-      wpcap: Implement pcap_stats.
-      wpcap: Add stub for pcap_setbuff.
-      wpcap: Implement pcap_datalink.
-      wpcap: Implement pcap_lookupdev.
-      wpcap: Implement pcap_lookupnet.
-      wpcap: Implement pcap_compile.
-      wpcap: Implement pcap_setfilter.
-      shlwapi/tests: Fix SHFormatDateTimeW tests for right-to-left locales.
-      wpcap: Fix spec file to not print empty buffers.
-      wpcap: Trace strings when possible.
-      wpcap: Implement pcap_freecode.
-      wpcap: Implement pcap_snapshot.
-      wpcap: Implement pcap_dispatch.
-      wpcap: Implement pcap_loop.
-      wpcap: Implement pcap_breakloop.
-      wpcap: Implement pcap_datalink_val_to_name.
-      wpcap: Implement pcap_close.
-      wpcap: Implement pcap_datalink_name_to_val.
-      wpcap: Implement pcap_list_datalinks.
-      wpcap: Implement pcap_datalink_val_to_description.
-      wpcap: Implement pcap_set_datalink.
-      wpcap: Implement pcap_get_airpcap_handle.
-      wpcap: Implement pcap_open.
-      wpcap: Implement pcap_getnonblock.
-      wpcap: Implement pcap_next.
-      wpcap: Implement pcap_next_ex.
-      wpcap: Implement pcap_sendpacket.
-      wpcap: Implement pcap_setnonblock.
-      wpcap: Implement wsockinit.
-      wpcap: Implement pcap_findalldevs_ex.
-      wpcap: Add version resource.
+Aric Stewart (14):
+      dwrite: Make gdiinterop an allocated object.
+      dwrite: Beginning implementation of IDWriteLocalFontFileLoader.
+      dwrite: Initialize realloc'ed memory to zero.
+      dwrite: Add the system font collection to the dwrite factory object.
+      dwrite: Store font data in its own structure.
+      dwrite: Store fontface data in its own structure.
+      dwrite: Add face data to font data.
+      dwrite: Implement GetGlyphIndices from the CMAP table.
+      dwrite: Break out basic IDWriteFont creation from requiring a logfont.
+      dwrite: Check if family is set before releasing.
+      dwrite: Implement a list of font data for IDWriteFontFamily.
+      dwrite: Implement GetFontCollection.
+      dwrite: Shift get_font_properties to opentype.
+      dwrite: Shift to using localized string for family name.
 
-Aric Stewart (6):
-      dwrite: Implement Font File Loader registration.
-      dwrite: Initial implementation of CreateCustomFontFileReference.
-      dwrite: Beginning implementation of IDWriteFontFile_Analyze.
-      dwrite: Initial implementation of CreateFontFace.
-      dwrite: Implement TryGetFontTable and ReleaseFontTable.
-      dwrite/tests: Add a font resource and use it for tests.
+Austin English (6):
+      npptools: Add stub dll.
+      include: Add EncryptedFileRaw functions and defines.
+      advapi32: Add stub for OpenEncryptedFileRawA/W.
+      advapi32: Add stub for ReadEncryptedFileRaw.
+      advapi32: Add stub for WriteEncryptedFileRaw.
+      advapi32: Add stub for CloseEncryptedFileRaw.
 
-Bernhard Reiter (1):
-      imagehlp/tests: Add test for BindImageEx with NULL as StatusRoutine.
+David Hedberg (6):
+      comdlg32: Implement IFileDialogCustomize::StartVisualGroup() and ::EndVisualGroup().
+      comdlg32/tests: Add some IFileDialogEvents tests.
+      comdlg32: Implement calling IFileDialogEvents::OnTypeChange().
+      comdlg32: ::SetFileTypeIndex and ::GetFileTypeIndex uses a one-based index.
+      comdlg32: Set BS_MULTILINE also for check buttons.
+      comdlg32: Expand the filetype combobox dropdown to fit the contents.
 
-Erich Hoover (3):
-      ddraw/tests: Remove broken tests of D3DTRANSFORM_UNCLIPPED.
-      ddraw: Return empty D3D hardware flags for RGB device enumeration.
-      dwmapi: Add stub for DwmInvalidateIconicBitmaps.
+Felix Janda (3):
+      server: Include <sys/types.h> for mode_t.
+      makedep: Don't mix options and arguments for wrc and widl.
+      ntdll: getdents64 might have been defined previously.
 
-François Gouget (3):
-      rsaenh/tests: Add a trailing '\n' to some ok() calls.
-      shell32/tests: Add a trailing '\n' to a couple of win_skip() calls.
-      shell32: Add a trailing '\n' to a FIXME().
+François Gouget (5):
+      dwrite: Remove WINAPI on static functions where not needed.
+      dwrite: Remove a space before a '\n'.
+      mshtml/tests: Avoid an http -> https redirection.
+      winewrapper: In 64 bit trees the loader is called wine64.
+      comdlg32/tests: Add a trailing '\n' to an ok() call.
 
-Frédéric Delanoy (1):
-      po: Update French translation.
+Gerald Pfeifer (5):
+      jscript: Remove unused propertyIsEnumerableW and isPrototypeOfW.
+      crypt32: Remove elementStatus29, simpleStatus29, andnoMatchingNameBrokenStatus.
+      crypt32: Remove unused bin58.
+      gdiplus: Remove three unused constants.
+      winedbg: Avoid a compiler warning about "use of uninitialized" in in types_extract_as_longlong.
 
-Gerald Pfeifer (8):
-      xmllite: Remove unused function reader_get_len.
-      gdi32: Remove unused constant bit_fields_565.
-      winedbg: Add explicit return in the error case of print_typed_basic.
-      cmd: Remove fslashW.
-      uninstaller: Remove BackSlashW.
-      winex11.drv: Remove colour_is_brighter.
-      winex11.drv: Remove wxr_color_shifts.
-      ws2_32: Define fill_control_message only when it's really used.
+Guillaume Charifi (1):
+      oleaut32/tests: Add test for TLB dependencies lookup in resources.
 
-Henri Verbeet (30):
-      d3d8: Return E_OUTOFMEMORY on HeapAlloc() failure in device_parent_surface_created().
-      d3d9: Return E_OUTOFMEMORY on HeapAlloc() failure in device_parent_surface_created().
-      d3d8: Volumes are always part of a texture.
-      d3d9: Volumes are always part of a texture.
-      d3d8: The "forwardReference" field in struct d3d8_surface is always a texture, if set.
-      d3d9: The "forwardReference" field in struct d3d9_surface is always a texture, if set.
-      ddraw: Clamp video memory to UINT_MAX in ddraw7_GetAvailableVidMem().
-      d3d8: wined3d_device_get_available_texture_mem() returns a UINT.
-      d3d9: wined3d_device_get_available_texture_mem() returns a UINT.
-      wined3d: Store the amount of video memory as a UINT64.
-      wined3d: Recognize some more AMD cards.
-      wined3d: Explicitly destroy the volume in texture3d_sub_resource_cleanup().
-      wined3d: Explicitly destroy the surface in texture2d_sub_resource_cleanup().
-      wined3d: Move the "map_binding" field from struct wined3d_surface to struct wined3d_resource.
-      wined3d: Replace surface_is_offscreen() with wined3d_resource_is_offscreen().
-      wined3d: Replace surface_update_draw_binding() with wined3d_resource_update_draw_binding().
-      wined3d: Move the "swapchain" field from struct wined3d_surface to struct wined3d_texture.
-      wined3d: Use the texture draw binding instead of the surface draw binding.
-      wined3d: Keep a reference to the frontbuffer texture instead of the surface in the swapchain.
-      wined3d: Keep a reference to the backbuffer textures instead of the surfaces in the swapchain.
-      wined3d: Pass a texture instead of a surface to upload_palette().
-      wined3d: Keep a reference to the resource in rendertarget views.
-      wined3d: Introduce struct wined3d_rendertarget_view_desc.
-      wined3d: Make wined3d_device_clear_rendertarget_view() work with texture resources.
-      wined3d: Use rendertarget views for color output instead of surfaces.
-      wined3d: Also update the container in wined3d_surface_update_desc().
-      wined3d: Use rendertarget views for depth/stencil buffers instead of surfaces.
-      wined3d: Get rid of wined3d_device_color_fill().
-      d3d10core: Implement d3d10_device_OMSetRenderTargets().
-      d3d10core: Implement d3d10_device_OMGetRenderTargets().
+Hans Leidekker (7):
+      msiexec: Command line option '!' is used to hide the cancel button.
+      msi/tests: Make tests pass when running from the root directory.
+      msi: Set the OutOfNoRbDiskSpace property.
+      msi: Return an error from MSI_GetComponentPath if the buffer is too small.
+      msi: Update the cached product code when the property has changed.
+      winhttp/tests: Avoid test failures caused by connection errors.
+      msi: Check transform validation flags.
 
-Jacek Caban (7):
-      d3d10_1.idl: Added some missing constants.
-      d3d11.idl: Added some missing declarations.
-      mshtml: Fixed handling NULL argument in IHTMLElement::contains implementation.
-      d3d10_1.idl: Added _D3D10_1_CONSTANTS guard.
-      mshtml: Override default onsubmit action with our submit implementation.
-      mshtml: Added IHTMLDocument5::get_implementation implementation.
-      mshtml: Added IHTMLLinkElement::rev property implementation.
+Henri Verbeet (12):
+      wined3d: Allow sRGB read/write and VTF on WINED3DFMT_R8G8B8A8_UNORM.
+      d3d10core: Set wined3d state in d3d10_device_RSSetState().
+      d3d10core/tests: Add a basic scissoring test.
+      d3d10core: Properly handle parentless views in d3d10_device_OMGetRenderTargets().
+      d3d10: Implement d3d10_stateblock_Capture().
+      d3d10: Implement d3d10_stateblock_Apply().
+      d3d10_1: Forward stateblock functions to d3d10.
+      d2d1: Get rid of a FIXME in d2d_d3d_render_target_BeginDraw().
+      d2d1: Implement d2d_d3d_render_target_EndDraw().
+      d2d1: Implement d2d_d3d_render_target_GetPixelSize().
+      d2d1: Implement d2d_d3d_render_target_GetDpi().
+      d2d1: Implement d2d_d3d_render_target_SetDpi().
+
+Indrek Altpere (2):
+      winemenubuilder: Fix resource leak (Valgrind).
+      winemenubuilder: Fix crash on invalid icon entries.
+
+Jacek Caban (12):
+      restartmanager.h: Added some missing declarations.
+      d3d11.idl: Added a few more missing constants.
+      msctf.idl: Added ITfMouse* interfaces.
+      atl: Added typelib.
+      mshtml: Fixed session_storage leak.
+      mshtml: Use TID_LIST in debugstr_mshtml_guid.
+      mshtml: Use debugstr_mshtml_guid in htmlhead.c.
+      wininet: Fixed buffer size rising in get_cookie.
+      wininet/tests: Fixed most tests on IE11.
+      wininet/tests: Always use test.winehq.org instead of www.codeweavers.com in tests.
+      wininet/tests: Fixed security flags tests on IE11.
+      wininet/tests: Fixed more tests on IE11.
 
 Jactry Zeng (1):
-      riched20: Pass count of character into ME_WordBreakProc() instead of count of byte.
+      mshtml: Add IHTMLStyle5::minWidth property implementation.
 
-Julian Rüger (1):
-      po: Update German translation.
+Johannes Brandstätter (1):
+      wined3d: Fix trace output of emulated_textureram.
 
-Ken Thomases (1):
-      loader: Set LSUIElement to 1 in the embedded Mac Info.plist.
+Jonathan Vollebregt (1):
+      reg.exe: Fix stack overflow on large registry keys.
 
-Lauri Kenttä (1):
-      po: Update Finnish translation.
+Matteo Bruni (14):
+      d3dx9: Properly evaluate fallbacks for luminance texture formats in D3DXCheckTextureRequirements.
+      d3dx9: Account for include paths mixing '/' and '\'.
+      d3dx9/tests: Add a test for an include path containing '/'.
+      d3dcompiler/tests: Add a test for an include path containing '/'.
+      d3dx9/tests: Create the asm shader test files under the temporary files directory.
+      d3dcompiler/tests: Free the Direct3D9 object (Valgrind).
+      d3dcompiler: Free the relative addressing data of destination registers (Valgrind).
+      d3dx9: Release child mesh objects (Valgrind).
+      d3dx9: Remove stray hunk.
+      d3dx9: Correctly handle out of memory conditions while reallocating children array.
+      d3dx9: Avoid reading outside of the allocated surface memory (Valgrind).
+      d3dx9: Allow implicit conversions in D3DXCreateTextureFromFileInMemoryEx.
+      wined3d: Handle half-float attributes in load_numbered_arrays().
+      wined3d: Store bool uniforms location in the GLSL shader structures.
 
-Marcus Meissner (1):
-      dwrite: Fixed paste error (Coverity).
+Nikolay Sivov (18):
+      advapi32: Use heap* helpers in service code.
+      dwrite: Add a tiny helper to return DWRITE_TEXT_RANGE values.
+      dwrite: Support a few more range attributes.
+      dwrite: Support getting/setting per range font size value.
+      strmbase: Remove noop assignment (PVS-Studio).
+      po: Update Russian translation.
+      advapi32: Use heap helpers in security code.
+      advapi32/registry: Use heap helpers.
+      usp10/tests: Test for S_OK return value in a clean way.
+      advapi32: Switch to heap helpers in the rest of the code.
+      dwrite/tests: Initial tests for SetLineBreakpoints().
+      msvcrt: Implement llabs().
+      ntdll: NtWaitForMultipleObjects()'s third arguments means 'wait_any', not 'wait_all'.
+      qedit: Use V_BSTR() to access BSTR data.
+      quartz: Use V_* macros to access variant members.
+      devenum: Use V_* macros to access variant data.
+      usp10: Add a missing 'break' for rule LB20.
+      dwrite: Implement AnalyzeLineBreakpoints() using Unicode breaking algorithm.
 
-Nikolay Sivov (16):
-      dwrite: Implement support for inline object and font weight attributes of a range.
-      dwrite: Support for attributes for a range.
-      comctl32/pager: Reduce pointer scope so it doesn't point to inner scope vars (PVS-Studio).
-      secur32/tests: Remove duplicated expression (PVS-Studio).
-      odbccp32/tests: Remove test of always true conditions (PVS-Studio).
-      mshtml: Free buffer for empty strings too (PVS-Studio).
-      urlmon: Remove duplicated check (PVS-Studio).
-      oleaut32: Remove duplicated expression (PVS-Studio).
-      oleaut32/tests: Remove redundant assignment (PVS-Studio).
-      oleaut32/tests: Remove redundant assignment (PVS-Studio).
-      oleaut32/tests: Remove duplicate code blocks (PVS-Studio).
-      winhttp: Fix return code check (PVS-Studio).
-      dwrite: Implement ranges merging.
-      dwrite: Implement layout getters derived from text format.
-      dwrite: Use layout pointer as an argument instead of neutral list.
-      wrc: Remove some always-true conditions (PVS-Studio).
+Piotr Caban (6):
+      msvcp71: Add basic_istream_char_read_ch export.
+      msvcp90: Don't fail if conversion was successful in wctob.
+      msvcp90: Fix complex::operator*= implementation.
+      msvcrt: Add _strnset_s implementation.
+      msvcr80: Throw bad_alloc exception when operator new fails.
+      msvcrt: Fix _stricmp behavior on characters that doesn't fit into signed char.
 
-Piotr Caban (1):
-      oleaut32: Add support for VAR_TIMEVALUEONLY and VAR_DATEVALUEONLY flags in VarDateFromUdateEx.
+Qian Hong (1):
+      riched20: Handle QI failure in ME_GetOLEObjectSize.
 
 Sebastian Lackner (7):
-      server: Store pipe_flags in a separate variable for both server and client of named pipes.
-      server: Implement set_named_pipe_info wineserver call for NtSetInformationFile/FilePipeInformation.
-      ntdll/tests: Add tests for FILE_PIPE_INFORMATION.
-      kernel32: Implement GetNamedPipeHandleState.
-      kernel32: Implement SetNamedPipeHandleState.
-      kernel32/tests: Add better handling for test failure in test_readfileex_pending.
-      kernel32/tests: Always allow only one correct test result, add todo_wine where necessary.
+      msi: Fix ITERATE_MoveFiles when no source- and destname is specified.
+      kernel32/tests: Add some even more basic pipe tests without call to PeekNamedPipe.
+      kernel32/tests: Ensure that pipe tests read the full pipe content.
+      kernel32/tests: Add basic tests for partially received pipe messages (ERROR_MORE_DATA).
+      kernel32/tests: Add tests for partially received pipe messages after calling SetNamedPipeHandleState.
+      kernel32/tests: Add additional tests for multithreaded partial reads from named pipes.
+      configure: Fix detection of ncurses library on Archlinux.
 
-Shuai Meng (9):
-      vbscript: Implemented Fix.
-      vbscript: Implemented Int.
-      vbscript: Implemented Sqr.
-      vbscript: Implemented Cos.
-      vbscript: Implemented Sin.
-      vbscript: Implemented Tan.
-      vbscript: Implemented Atn.
-      vbscript: Implemented Exp.
-      vbscript: Implemented Log.
+Shuai Meng (2):
+      vbscript: Implemented Date.
+      vbscript: Implemented Time.
 
-Stefan Dösinger (2):
-      ddraw: Clear application-passed lpSurface pointers.
-      ddraw: Do not set lpSurface in GetSurfaceDesc.
+Stefan Dösinger (4):
+      wined3d: Replace VFLAG_PBO with resource->map_binding.
+      wined3d: Move volume flags to volume.c.
+      wined3d: Initialize the map binding in resource_init.
+      ddrawex: Don't leak surfaces.
 
-Thomas Faber (2):
-      rpcrt4: Correctly check for in-buffer memory in PointerFree.
-      advapi32/tests: Fix a buffer overflow when calling GetEventLogInformation.
+YongHao Hu (1):
+      msvcp90: Added complex_float_pow implementation (fix precision) and tests.
 
-Vincent Povirk (5):
-      mscoree: Implement corruntimehost_Start.
-      mscoree: Implement corruntimehost_CreateDomainSetup.
-      mscoree: Factor out common code for calling .NET methods.
-      wbemprox: Implement __SystemSecurity::GetSD.
-      wbemprox: Stub __SystemSecurity::SetSD.
-
-Zhenbo Li (15):
-      mshtml: Added IHTMLStyle::textIndent property implementation.
-      mshtml: Added IHTMLStyleElement::lineHeight property.
-      mshtml: Added IHTMLStyle::listStylePosition property implementation.
-      mshtml/tests: Fix test_tr_modify().
-      mshtml: Added IHTMLTable::insertRow/deleteRow methods implementation.
-      mshtml: Added IHTMLTable::frame property implementation.
-      mshtml: Added IHTMLTableCell::align property implementation.
-      mshtml: Added IHTMLImgElement::isMap property implementation.
-      mshtml: Added IHTMLInputElement::size property implementation.
-      mshtml: Added IHTMLImgElement::align property implementation.
-      mshtml: Added IHTMLInputElement::readOnly property.
-      mshtml: Added IHTMLInputElement_get_form method implementation.
-      mshtml: Added IHTMLStyle2::tableLayout property implementation.
-      mshtml: Added IHTMLStyle::backgroundAttachment property implementation.
-      mshtml: Added IHTMLStyle::listStyle property implementation.
+Zhenbo Li (1):
+      mshtml/tests: Fix a memory leak.
 
 --
 Alexandre Julliard
diff --git a/AUTHORS b/AUTHORS
index c001fb2..1c70227 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -654,6 +654,7 @@
 Johan Dahlin
 Johan Gardell
 Johan Gill
+Johannes Brandstätter
 Johannes E. Schindelin
 Johannes Koch
 Johannes Ruscheinski
@@ -683,6 +684,7 @@
 Jonathan Ernst
 Jonathan Liu
 Jonathan Naylor
+Jonathan Vollebregt
 Jon Griffiths
 Jon Konrath
 Jon Parshall
@@ -1438,6 +1440,7 @@
 Yaron Shahrabani
 Yngvi Sigurjonsson
 Yong Chi
+YongHao Hu
 Yorick Hardy
 Yoshiro Takeno
 Yuri Khan
diff --git a/VERSION b/VERSION
index c10fbaa..78842e9 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-Wine version 1.7.25
+Wine version 1.7.26
diff --git a/configure b/configure
index ca28645..a327c50 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.25.
+# Generated by GNU Autoconf 2.69 for Wine 1.7.26.
 #
 # 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.25'
-PACKAGE_STRING='Wine 1.7.25'
+PACKAGE_VERSION='1.7.26'
+PACKAGE_STRING='Wine 1.7.26'
 PACKAGE_BUGREPORT='wine-devel@winehq.org'
 PACKAGE_URL='http://www.winehq.org'
 
@@ -1981,7 +1981,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.25 to adapt to many kinds of systems.
+\`configure' configures Wine 1.7.26 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -2050,7 +2050,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Wine 1.7.25:";;
+     short | recursive ) echo "Configuration of Wine 1.7.26:";;
    esac
   cat <<\_ACEOF
 
@@ -2246,7 +2246,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Wine configure 1.7.25
+Wine configure 1.7.26
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2764,7 +2764,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.25, which was
+It was created by Wine $as_me 1.7.26, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -18176,7 +18176,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.25, which was
+This file was extended by Wine $as_me 1.7.26, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -18247,7 +18247,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.25
+Wine config.status 1.7.26
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
