diff --git a/ANNOUNCE b/ANNOUNCE
index 9a8a734..1a9b608 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,16 +1,16 @@
-The Wine development release 1.9.10 is now available.
+The Wine development release 1.9.11 is now available.
 
 What's new in this release (see below for details):
-  - High resolution ("Retina") rendering option on Mac OS X.
-  - More compatible directory enumeration.
-  - A number of C++ runtime fixes.
-  - Video output improvements.
+  - Better support for long URLs in WinInet.
+  - Various Direct3D 11 improvements.
+  - Down-mixing support in DirectSound.
+  - Some cosmetic improvements in desktop mode.
   - Various bug fixes.
 
 The source is available from the following locations:
 
-  http://dl.winehq.org/wine/source/1.9/wine-1.9.10.tar.bz2
-  http://mirrors.ibiblio.org/wine/source/1.9/wine-1.9.10.tar.bz2
+  http://dl.winehq.org/wine/source/1.9/wine-1.9.11.tar.bz2
+  http://mirrors.ibiblio.org/wine/source/1.9/wine-1.9.11.tar.bz2
 
 Binary packages for various distributions will be available from:
 
@@ -26,278 +26,400 @@
 
 ----------------------------------------------------------------
 
-Bugs fixed in 1.9.10 (total 25):
+Bugs fixed in 1.9.11 (total 21):
 
-   9532  Month calendar control uses 0=sunday for firstDayOfWeek
-  13843  tooltips not working properly - message problems
-  14638  Discription file of task configuration \'C:\plc.xml\' not found
-  18166  dlls/ntdll/directory.c: implicit declaration of function 'getdirentries'
-  20383  SetMenuInfo() with MIM_BACKGROUND not implemented
-  24017  Multiple applications need 'reg.exe' 'query' operation implementation
-  24916  Soulbringer: crash in D3D Hardware mode
-  26268  Multiple applications need ntdll.ZwSetLdtEntries stub (kwiksupport.me, Ragnarok Online patcher)
-  32056  iexplore images.google.com doesn't work
-  33961  RPC: server crashes during procedure call that returns variable size array as out parameter
-  34122  Multiple applications expects files returned by FindFirstFile/FindNextFile to be in alphabetical order (Civilization V with 2 expansion packs, TAGAP)
-  36838  TOCA Touring Car Championship: installer copies one file from CD and then shows an error
-  37090  Multiple applications crash with built-in amstream (Shogun: Total War, Medieval: Total War)
-  37926  NordicBet Poker-client fails to install
-  38625  Pac-Man Championship Edition DX+: incomplete text rendering
-  38811  Java JRE 8 installer 'jre-8uXX-windows-i586.exe' crashes on startup (GetThreadPreferredUILanguages is a stub)
-  39509  OneDrive for Business installer crashes in Win8 mode (user32.dll 'SetCoalescableTimer' stub missing)
-  39940  Stars! tooltips have wrong background color
-  40027  Caesar IV Demo crashes at launch
-  40342  playSNOW.exe needs implementation of KERNEL32.dll.InterlockedPushListSList
-  40355  HeidiSQL not starting since version 1.9.5
-  40517  Office 2007 shows error message "Unexpected error during export" when trying to export document as PDF file
-  40532  Microsoft Word Viewer 11.8 does not show text on file properties dialog until the text is selected
-  40550  AfterEffects CS6 crashes at launch
-  40562  AkelPad: [ToolBar plugin] tooltips for toolbar buttons have some extra text
+  25396  Safrosoft RoX freezes at start.
+  33022  Starship Titanic hanging on video replay
+  34052  The Witcher: Character models are sometimes invisible
+  34480  Multiple games crash during attempt to write past the end of mip level, expecting contiguous mipchain allocation (League of Legends, Warlock Master of the Arcane, PSOBB)
+  35415  Gómez Peer: CPU utilisation diagnostic does not work (requires kernel32.GetSystemTimes implementation)
+  36556  valgrind shows a definite leak in comctl32/tests/syslink.c
+  37063  NTLM EncryptMessage/DecryptMessage failure
+  38137  WBaduk: "Could not obtain OLE control window handle" regression
+  38257  Thief: Deadly Shadows: black squares popping up during video playback
+  38286  SpinTires has error with ARB shaders enabled
+  40179  Cannot insert mpg files in Powerpoint 2010
+  40301  wxDatePickerCtrl (wxWidgets) generates an assert on DTM_GETRANGE message result
+  40511  Application that copies files from one place to another stoped working in wine versions greater then 1.6.2
+  40536  Failure to connect to server in TMUnitedForever
+  40555  Black Mirror 3 demo has wrong rendering with ARB shaders enabled
+  40557  KSP Trajectory Optimization Tool (MATLAB Runtime (MCR)) crashes at launch
+  40594  msvcrt:heap test regression
+  40614  Cisco Jabber 11.6 crashes due to missing dbghelp.dll.EnumerateLoadedModulesExW
+  40618  Autodesk 123D Design needs msvcr100.dll.mbsrtowcs_s
+  40659  Window with CS_OWNDC style cause DC leak when GetDC/ReleaseDC is used.
+  40687  BitTorrent Sync Setup won't start, needs ncrypt.dll
 
 ----------------------------------------------------------------
 
-Changes since 1.9.9:
+Changes since 1.9.10:
 
-Akihiro Sagawa (4):
-      po: Update Japanese translation.
-      imm32: Avoid null pointer dereference in trace.
-      imm32: Use wine_dbgstr_rect() and wine_dbgstr_point() in traces.
-      imm32/tests: Add tests for life cycle of default IME window.
+Aaryaman Vasishta (5):
+      d3drm: Keep a reference to IDirect3DRM in d3drm_texture.
+      d3drm: Introduce d3drm_texture_destroy helper.
+      d3drm: Implement IDirect3DRMTexture{2-3}_InitFromImage.
+      d3drm: Implement IDirect3DRM*_CreateTexture.
+      d3drm: Implement IDirect3DRMTexture*_GetImage.
 
-Alex Henrie (2):
-      ole32: Fix memory leak in FileMonikerImpl_ComposeWith.
-      riched20: Don't call UpdateWindow after setting the background color.
+Akihiro Sagawa (2):
+      kernel32/tests: Add more partial DBCS character tests that contains a null character.
+      libport: Fix null character handling when mapping DBCS characters.
 
-Alexandre Julliard (14):
-      server: Add support for maintaining a client-side directory cache.
-      ntdll: Store the directory identity and search mask in the directory cache.
-      inetcomm: Don't use strcasecmp on Ansi strings.
-      ntdll/tests: Convert directory filename tests to Unicode.
-      ntdll: Implement RtlCompareUnicodeStrings.
-      ntdll: Cache the entire directory contents and sort the names before returning files.
-      ntdll/tests: Add tests for directory sorting.
-      configure: We no longer use getdirentries.
-      kernel32: Don't bother storing the file mask in FindFirstFileEx.
-      kernel32: Don't cache the full directory in FindFirstFileEx.
-      ntdll: Support remaining information classes in NtQueryDirectoryFile.
-      makefiles: Fix symlink rules when ln -s isn't supported.
-      comctl32/status: Use DrawFrameControl to draw the size grip.
-      kernel32/nls: Convert remaining files to UTF-8.
+Alex Henrie (1):
+      ncrypt: Add stub dll.
 
-Alistair Leslie-Hughes (7):
-      inetcomm: Implement IMimeBody SetProp.
-      inetcomm: Implement IMimeBody GetProp.
-      inetcomm: Add MimeGetAddressFormatW stub.
-      d3d11shader.h: Add ID3D11Module, ID3D11ModuleInstance interfaces.
-      d3dcompiler: Add D3DLoadModule stub.
-      inetcomm: Improve IMimeMessage SetOption.
-      inetcomm: Ignore OID_SAVEBODY_KEEPBOUNDARY value in IMimeMessage_SetOption.
+Alexandre Julliard (15):
+      winecfg: Keep metrics in DPI-relative format when saving the theme.
+      user32: Load the default app icon with LR_SHARED to avoid a leak.
+      user32: Fix refcounting of window DCEs.
+      user32: Completely free owned DCEs when the corresponding window/class is destroyed.
+      user32: Only start reusing DCEs after the cache reached its limit.
+      secur32/tests: Relax the certificate check a little.
+      user32: Take the arrange flags into account when positioning icon windows.
+      user32: Use the monitor rectangle to position icons on the desktop.
+      user32: Make spacing consistent between DrawCaptionTemp and NC_DrawCaption.
+      winex11: Subtract the tray window from the work area in desktop mode.
+      explorer: Add a helper function to resize and display the tray window.
+      explorer: Use the window caption font for the Start button.
+      explorer: Vertically center the system tray icons.
+      explorer: Add a Wine icon to the Start button.
+      tools: Ensure that everything is stored in UTF-8 in the ANNOUNCE file.
 
-Andrew Eikum (6):
-      winmm: Restrict some MCI actions to the creating thread.
-      powrprof: Stub PowerSetActiveScheme.
-      winegstreamer: Add YUV to ARGB32 transformation filter.
-      winegstreamer: Flip video output.
-      qcap: Search the whole graph for an unconnected pin.
-      qedit: Don't require SampleGrabber to be playing to call callback.
+Alistair Leslie-Hughes (8):
+      wined3d: Support missing WINED3DUSAGE flags to debug_d3dusage.
+      d3d11/tests: Added DXGI_FORMAT_R16_TYPELESS D3D11_BIND_DEPTH_STENCIL test.
+      d3d10core/tests: Added DXGI_FORMAT_R16_TYPELESS D3D11_BIND_DEPTH_STENCIL test.
+      d3d11/tests: Test for ID3D11InfoQueue interface.
+      secur32/tests: Add AcquireCredentialsHandleW tests.
+      d3dx10_43: Add D3DX10GetImageInfoFromMemory stub.
+      inetcomm: Return S_OK from IMimePropertySchema ModifyProperty.
+      inetcomm: Ignore OID_TRANSMIT_BODY_ENCODING value in IMimeBody SetOption.
 
-Andrey Gusev (14):
-      setupapi: Fix a typo in comment.
-      shell32/tests: Fix a typo in comment.
-      tools/winapi: Fix a typo in comments.
+Andrew Eikum (8):
+      quartz: Use correct scale for quality control proportion.
+      strmbase: Improve QualityControl tracing.
+      strmbase: Initialize QualityControl struct on allocation.
+      dsound: Allow inactive devices to change the primary format.
+      dsound: Support downmixing 5.1 to stereo.
+      dsound: Support downmixing quadraphonic to stereo.
+      winegstreamer: Fix IQualityControl::Notify.
+      winegstreamer: Set offset on GstBuffer.
+
+Andrey Gusev (26):
+      kernel32/tests: Fix a typo in comment.
+      secur32: Fix a typo in comment.
+      comctl32/tests: Fix a typo in ok() call.
+      riched20: Fix a typo in TRACE() message.
+      d3d11/tests: Fix a typo in define.
+      msvcp90: Fix a typo in comment.
+      ole32: Fix a typo in comment.
+      wined3d: Fix a typo in a pointer in wined3d_swapchain_ops.
+      gdi32: Fix a typo in a pointer name in primitive_funcs.
+      d3d8/tests: Fix a typo in ok() message.
+      mshtml/tests: Fix a typo in ok() messages.
       user32/tests: Fix a typo in ok() message.
-      wintrust/tests: Fix a typo in ok() messages.
-      gdi32/tests: Fix a typo in trace() message.
-      msxml3: Fix a typo in comment.
-      dbghelp: Fix a typo in comment.
-      user32/tests: Fix a typo in comment.
-      po: Update Ukrainian translation.
-      wined3d: Fix a typo in checkGLcall.
-      d3d9/tests: Fix a typo in skip() message.
-      wined3d: Fix a typo in FIXME() messages.
-      msvfw32: Fix a typo in TRACE() message.
-
-André Hentschel (2):
-      user32/tests: Don't test function directly when reporting GetLastError().
-      msvcrt/tests: Don't test function directly when reporting errno.
+      shell32: Fix a typo in TRACE format in SHPathPrepareForWriteW.
+      secur32/tests: Fix a typo in ok() messages.
+      include: Fix a typo in IDirect3D9Ex method.
+      dinput: Fix a typo in WARN() messages.
+      include: Fix a typo in IDirectShowStream interface.
+      include: Fix a typo in typedef struct _TEB.
+      ddraw/tests: Fix a typo in ok() messages.
+      msxml3/tests: Fix a typo in variable name.
+      mshtml/tests: Fix a typo in comment.
+      msi/tests: Fix a typo in comment.
+      user32: Fix a typo in comment.
+      comctl32: Fix a typo in comment.
+      urlmon: Fix a typo in comment.
+      winhlp32: Fix a typo in comment.
 
 Aurimas Fišeras (1):
       po: Update Lithuanian translation.
 
-Austin English (1):
-      ntdll: Add NtSetLdtEntries/ZwSetLdtEntries stub.
+Austin English (2):
+      dbghelp: Add forwards for EnumerateLoadedModulesEx/EnumerateLoadedModulesExW.
+      bthprops.cpl: Add BluetoothFindFirstDevice stub.
 
-Charles Davis (1):
-      winemac.drv: Move create_bitmap_from_dib() above the import/export functions.
+David Woodhouse (1):
+      secur32: Fix handling of ANSI NTLM credentials.
 
-Daniel Lehman (4):
-      ntdll: Add NtQueryMutant.
-      ntdll: Fix prev_count from NtReleaseMutant.
-      ntdll: Add trace for NtQueryEvent/Semaphore.
-      ntdll: Remove stub from trace.
+Fabian Maurer (1):
+      msacm32: Added converter for ADPCM to PCM 8 bit mono.
 
-François Gouget (6):
-      d3dx9_36/tests: Spelling fixes for mesh and xfile ok() messages.
-      qmgr: Fix a spelling error in a TRACE().
-      dwrite: Fix a typo in dwrite_3.idl.
-      dwrite: Notify_factory_fallback_removed() is unused so remove it.
-      user32/tests: Fix a spelling error in a scroll comment.
-      kernel32/tests: Fix a spelling typo in a virtual comment.
+François Gouget (2):
+      riched20/tests: Fix a spelling error in an editor comment.
+      wined3d: Make wined3d_texture_set_dirty() static.
 
-Gerald Pfeifer (1):
-      riched20: Properly clear all of a buffer of type WCHAR.
+Frédéric Delanoy (7):
+      ntdll: Fix a typo in an comment.
+      oleaut32: Fix a typo in an comment.
+      msvcp90: Fix a typo in an FIXME message.
+      include: Fix a typo in a comment.
+      winemaker: Fix a couple typos in comments.
+      comctl32/tests: Fix a couple typos in ok() calls.
+      advapi32: Use dbgstr_a() to print string in a FIXME.
 
-Hans Leidekker (4):
-      webservices: Add a stub implementation of WsCall.
-      webservices: Add support for reading date values.
-      webservices: Implement WsDateTimeToFileTime.
-      webservices: Implement WsFileTimeToDateTime.
+Hadrien Boizard (1):
+      mshtml/tests: Use todo_wine_if() in tests.
 
-Hugh McMaster (6):
-      kernel32/tests: Add more tests for GetConsoleFontInfo.
-      kernel32/tests: Add tests for SetConsoleFont.
-      reg: Output the number of matches when querying the registry recursively.
-      reg: Output line break before displaying query output.
-      reg/tests: Add tests for 'reg query'.
-      reg/tests: Add tests for 'reg add/delete/query /?'.
+Hans Leidekker (12):
+      webservices: Flush the writer in WsWriteText.
+      webservices: Validate parent nodes.
+      webservices: Reset the reader position if the next node doesn't match the type to read.
+      webservices: Add support for reading arrays of pointers.
+      webservices/tests: Add tests.
+      qmgr: Clear job error on resume.
+      qmgr: Change job state on failure in transfer_file_http.
+      webservices: Add support for reading double values.
+      webservices: Implement WsReadElement.
+      webservices: Implement WsReadValue.
+      webservices: Implement WsDecodeUrl.
+      webservices: Implement WsEncodeUrl.
 
-Jacek Caban (27):
-      user32/tests: Moved creating .ico file into a helper function.
-      user32: Use proper types in ICO_GetIconDirectory.
-      user32/tests: Added PrivateExtractIcons test.
-      mshtml: Ensure that bind_event is not called multiple times for the same event.
-      mshtml: Bind load event directly to the target.
-      mshtml: Added IHTMLElement2::oncontextmenu property implementation.
-      wininet: Return synchronously from InternetReadFileEx if there is no more data to read.
-      wininet: Added support for IRF_NO_WAIT flag.
-      wininet/tests: Added IRD_NO_WAIT flag tests.
-      msctf: Improved ITfKeystrokeMgr::TestKeyUp and TestKeyDown stubs.
-      mshtml: Fixed GetNextDispID for the case when the first dynamic property is deleted.
-      msctf.idl: Added ITfTransitoryExtensionSink declaration.
-      msctf: Use generic sink type for thread manager sinks.
-      msctf: Moved thread manager's AdviseSink implementation into a more generic helper.
-      msctf: Moved thread manager's UnadviseSink implementation into a more generic helper.
-      msctf: Moved thread manager's sink list destructor implementation into a more generic helper.
-      msctf: Added a helper macro for interating sink list.
-      msctf: Use generic sinks in Compartment object.
-      msctf: Use generic sinks in Context object.
-      msctf: Use generic sinks in InputProcessorProfiles object.
-      msctf: Added document manager's AdviseSink and UnadviseSink implementation.
-      msctf: Added ITfTransitoryExtensionSink tests.
-      jscript: Properly handle function expressions with identifiers.
-      wininet: Updated winehq.org cert info.
-      wininet: Fixed http tests on win10.
-      wininet: Get rid of test_http1_1 test.
-      wininet: Added open_simple_request helper and use it where appropriate.
+Henri Verbeet (50):
+      wined3d: Only allow 256 vertex shader vec4's.
+      wined3d: Only allow 224 pixel shader vec4's.
+      wined3d: Rename MAX_CONST_I to WINED3D_MAX_CONSTS_I.
+      wined3d: Store vertex shader integer constants as wined3d_ivec4 structures.
+      wined3d: Store pixel shader integer constants as wined3d_ivec4 structures.
+      wined3d: Pass wined3d_ivec4 structures to wined3d_device_set_vs_consts_i().
+      wined3d: Pass wined3d_ivec4 structures to wined3d_device_get_vs_consts_i().
+      wined3d: Pass wined3d_ivec4 structures to wined3d_device_set_ps_consts_i().
+      wined3d: Pass wined3d_ivec4 structures to wined3d_device_get_ps_consts_i().
+      wined3d: Emit position / attribute 0 last in draw_primitive_immediate_mode().
+      wined3d: Rename MAX_CONST_B to WINED3D_MAX_CONSTS_B.
+      wined3d: Make wined3d_device_set_vs_consts_b() consistent with wined3d_device_set_vs_consts_f().
+      wined3d: Make wined3d_device_get_vs_consts_b() consistent with wined3d_device_get_vs_consts_f().
+      wined3d: Make wined3d_device_set_ps_consts_b() consistent with wined3d_device_set_ps_consts_f().
+      wined3d: Make wined3d_device_get_ps_consts_b() consistent with wined3d_device_get_ps_consts_f().
+      usp10: Resolve BNs and explicit formatting characters to the preceding level in resolveResolved().
+      kernel32/nls: Persian uses a right-to-left writing system.
+      kernel32/nls: Use Persian characters to write Persian.
+      kernel32/nls: Use ZWNJ where appropriate in far.nls.
+      kernel32/nls: Persian is called Persian in English.
+      kernel32/nls: Store LOCALE_SNATIVEDIGITS as UTF-8 in far.nls.
+      kernel32/nls: Use Persian punctuation for LANG_PERSIAN.
+      kernel32/nls: Fix LOCALE_IFIRSTDAYOFWEEK for LANG_PERSIAN.
+      kernel32/nls: Return CAL_GREGORIAN_XLIT_FRENCH for LOCALE_ICALENDARTYPE for LANG_PERSIAN.
+      kernel32/nls: Fix LOCALE_SMONTHNAME5/LOCALE_SABBREVMONTHNAME5 for LANG_PERSIAN.
+      wined3d: Send shader constant updates through the command stream.
+      wined3d: NP2 emulation is not allowed on array textures.
+      wined3d: Get rid of some unused declarations.
+      wined3d: Don't import libuuid.
+      wined3d: Use debug_color() in wined3d_format_convert_from_float().
+      wined3d: Properly cleanup on failure in wined3d_cs_create().
+      wined3d: Introduce a helper function to allocate arrays.
+      wined3d: Get rid of the redundant "output_signature" parameter to shader_set_function().
+      wined3d: Store shader signatures directly in struct wined3d_shader_desc.
+      d3d11: Get rid of struct d3d_shader_info.
+      d3d11: Validate offsets and sizes in parse_dxbc() (AFL).
+      d3d10: Validate offsets and sizes in parse_dxbc() (AFL).
+      d3d11: Validate offsets and sizes in shader_parse_signature() (AFL).
+      d3d10: Validate offsets and sizes in shader_parse_signature() (AFL).
+      d3d11: Introduce a helper function to allocate arrays.
+      d3d10: Introduce a helper function to allocate arrays (AFL).
+      d3d10: Introduce fx10_copy_string() (AFL).
+      d3d10: Validate offsets in parse_fx10_object() (AFL).
+      d3d10: Validate offsets and sizes in read_value_list() (AFL).
+      d3d10: Initialise the type tree in D3D10CreateEffectFromMemory() (AFL).
+      d3d10: Check if the type was initialised in d3d10_effect_variable_destroy() (AFL).
+      d3d10: Simply use d3d10_effect_type_destroy() in d3d10_effect_local_buffer_destroy().
+      d3d10: Names and semantics are allowed to be NULL (AFL).
+      d3d10: Validate the data size in parse_fx10() (AFL).
+      d3d10: Validate the base offset in parse_fx10_body() (AFL).
 
-Julian Rüger (1):
-      po: Update German translation.
+Hugh McMaster (4):
+      reg: Avoid using strlenW to check if a string is valid.
+      reg: Update general help logic.
+      reg: Update the general usage message.
+      reg: Inform users about the 'add/delete/query /?' command.
 
-Ken Thomases (12):
-      winemac: Implement the WGL_WINE_query_renderer extension.
-      winemac: Use floor() rather than truncation when converting Cocoa event positions to integers.
-      winemac: Add support for a high-resolution ("Retina") rendering mode.
-      winemac: Remove the assumption that OpenGL views are always immediate subviews of the window content view.
-      winemac: Add function macdrv_set_view_superview().
-      winemac: Change macdrv_set_view_window_and_frame() to macdrv_set_view_frame().
-      winemac: Create views hidden initially and add macdrv_set_view_hidden() to change that.
-      winemac: Change macdrv_create_view() to not add the new view to a window's content view.
-      winemac: Make show_window() and hide_window() tolerate being called when there's no Cocoa window.
-      winemac: Extract some logic into a new function, sync_window_z_order().
-      winemac: Mirror the hierarchy of Win32 child windows with Cocoa views.
-      winemac: When a child window's client area is equal to its whole area, use a single Cocoa view for both.
+Huw D. M. Davies (1):
+      fonts: Fix typo in glyph name.
 
-Kim Malmo (2):
-      po: Update Norwegian translation.
-      po: Update Norwegian translation.
+Jacek Caban (40):
+      wininet: Fixed internet tests on win10.
+      wininet: Fixed handing NULL buffer in InternetReadFileExW.
+      wininet: Pass domain to get_cookie_domain as a substring.
+      wininet: Pass arguments as substrings to get_cookie_container.
+      wininet: Pass arguments as substrings to create_cookie_url.
+      wininet: Pass arguments as substrings to load_persistent_cookie.
+      wininet: Pass arguments as substrings to get_cookie.
+      wininet: Added IsDomainLegalCookieDomainW helper with substrings as arguments.
+      wininet: Pass arguments as substrings to set_cookie.
+      wininet: Rerite COOKIE_crackUrlSimple to use substrings.
+      wininet: Added test of cookies with long URL.
+      wininet: Rewrite test_accept_encoding using more generic request.
+      wininet: Store request URL in req_file_t.
+      wininet: Added test of request with a long URL.
+      wininet: Don't assume maximal URL length in INTERNET_InternetOpenUrlW.
+      wininet: Initialize url_w in InternetCrackUrlA.
+      wininet: Include config.h in internet.c for Mac configure macros.
+      wininet: Removed maximum URL length assumption from get_proxy_autoconfig_url.
+      wininet: Don't assume maximal URL length in HTTP_ShouldBypassProxy.
+      wininet: Pass host name as substring to get_server.
+      wininet: Don't assume maximum URL length in HTTP_DealWithProxy.
+      wininet: Get rid of INTERNET_INVALID_PORT_NUMBER fixups after InternetCrackUrl calls.
+      wininet: Use scheme id instead of string in HTTP_HandleRedirect.
+      wininet: Don't use host header in compose_request_url.
+      wininet: Use compose_request_url in INTERNET_OPTION_URL implementation.
+      wininet: Don't assume maximal URL length in HTTP_GetRedirectURL.
+      wininet: Moved more redirect URL handling to a helper function and get rid of its maximum size assumption.
+      wininet: Store cookie URL in cookie_container_t.
+      urlmon: Unescape path in place in MkProtocol::StartEx.
+      d3d11.idl: Added CD3D11_QUERY_DESC declaration.
+      wininet: Return NULL instead of FALSE in get_proxy_autoconfig_url.
+      mshtml: Added IHTMLElement::put_onkeyup implementation.
+      jscript: Added RegExp.ignoreCase getter implementation.
+      jscript: Added RegExp.multiline getter implementation.
+      jscript: Added RegExp.global getter implementation.
+      jscript: Removed obsolete FIXME comments in tests and add relevant tests.
+      jscript: Added non-zero timezone offset tests.
+      mshtml: Improved FIXMEs about unimplemented events.
+      mshtml: Added IHTMLWindow2::onunload property implementation.
+      mshtml: Fixed OnStopBinding if it's called called after we aborted document binding.
 
-Kirill K. Smirnov (2):
-      msi: Do not return success on failure (spotted by clang).
-      mciavi32: Propely handle Heap[Re]Alloc failure.
+Józef Kucia (56):
+      d3d10core/tests: Check all sub-resources in check_texture_* functions.
+      d3d10core/tests: Add tests for 2D texture RTVs.
+      ddraw: Forbid creating flippable cubemaps.
+      ddraw/tests: Test creating flippable cubemaps.
+      wined3d: Implement SM4 round_ne instruction.
+      d3d11: Fix default view descriptions for 2D array textures.
+      wined3d: Use d3d_perf channel for performance warnings.
+      wined3d: Add SV_VertexID sysval semantic.
+      wined3d: Implement SV_VertexID in GLSL backend.
+      d3d11: Accept DXGI_FORMAT_UNKNOWN as format in view descriptions.
+      d3d11/tests: Use abbreviations for long D3D11 enum value names.
+      d3d10core/tests: Use abbreviations for long D3D10 enum value names.
+      d3d10core/tests: Use D3D10 enum values instead of D3D11 ones.
+      wined3d: Add support for 2D array texture samplers.
+      d3d11/tests: Add tests for sampling from 2d array textures.
+      d3d10core/tests: Add tests for sampling from 2d array textures.
+      d3d11/tests: Add tests for accessing unbound 2d array textures.
+      d3d10core/tests: Add tests for accessing unbound 2d array textures.
+      wined3d: Forbid to create BC{1, 2, 3}_UNORM_SRGB 3D textures.
+      wined3d: Load color key constants after switching to ARB fixed-function program.
+      wined3d: Implement texture stage constants in ARB program shader backend.
+      wined3d: Use bit fields instead of BOOL arrays.
+      d3d9: Allow to pass NULL pointers to IDirect3DDevice9_GetRenderTargetData().
+      d3d11/tests: Add create_buffer() helper.
+      d3d10core/tests: Add create_buffer() helper.
+      wined3d: Match position output register by sysval semantic value.
+      wined3d: Add wined3d creation flag for selecting unbound resource color.
+      d3d11/tests: Add more tests for accessing unbound resources.
+      d3d10core/tests: Add more tests for accessing unbound resources.
+      wined3d: Add more D3D11 vertex formats.
+      wined3d: Simplify "ffp_attrib_ops" initialization.
+      wined3d: Inverse logic for applying half float vertex format fixups.
+      wined3d: Simplify "format_vertex_info" table.
+      d3d9/tests: Add some tests for draw methods.
+      d3d9: Check if valid vertex declaration is set before issuing draw call.
+      wined3d: Allow draw calls without vertex declaration.
+      d3d11/tests: Add test showing that inputs aren't matched with outputs.
+      d3d10core/tests: Add test showing that inputs aren't matched with outputs.
+      wined3d: Ignore flags for conditional SM 1-3 instructions explicitly.
+      wined3d: Clean up SM1 frontend.
+      wined3d: Handle SM4 if instruction modifiers.
+      wined3d: Handle SM4 breakc instruction modifiers.
+      d3d11/tests: Add test for SM4 if instruction.
+      d3d10core/tests: Add test for SM4 if instruction.
+      d3d11/tests: Add test for SM4 breakc instruction.
+      d3d10core/tests: Add test for SM4 breakc instruction.
+      wined3d: Simplify match_apple().
+      wined3d: Prefer sized GL internal formats.
+      wined3d: Add ARB_texture_storage extension.
+      wined3d: Use immutable storage for 2D textures.
+      wined3d: Use immutable storage for 3D textures.
+      wined3d: Remove redundant entries from "formats" table.
+      wined3d: Add more integer formats to "typed_formats" table.
+      wined3d: Simplify buffer_is_fully_dirty().
+      wined3d: Do not call wined3d_buffer_map() before "buffer->maps" is initialized.
+      wined3d: Replace WINED3D_BUFFER_CREATEBO with WINED3D_BUFFER_USE_BO.
+
+Ken Thomases (2):
+      winex11: Fix logic of whether to use XUnmapWindow() or XWithdrawWindow() in make_window_embedded().
+      winemac: Adjust sizes of all descendant views when Retina mode changes.
+
+Kirill K. Smirnov (3):
+      regedit: Fix an out-of-bounds array access (clang).
+      winhlp32: Do not pass NULL to strchr() (spotted by clang).
+      winhlp32: Fix an uninitialized variable (clang).
 
 Lauri Kenttä (1):
       po: Update Finnish translation.
 
-Maarten Lankhorst (3):
-      dsound: Use AudioClient buffer statistics.
-      dsound: Use AudioClient for position.
-      dsound: Mix float natively.
+Maarten Lankhorst (5):
+      dsound: Fixup DSOUND_WaveQueue checks.
+      dsound: Fixup IDirectSoundCaptureBuffer_QueryInterface.
+      dsound: Prevent reopening device from leaving dsound object in invalid state.
+      dsound: Remove state machine from render buffer.
+      dsound: Remove unconditional memory allocation in mixing thread.
 
-Michael Müller (6):
-      dwmapi: Return S_OK in DwmSetWindowAttribute stub.
-      quartz: FileSource_Load should not fail on unknown file formats.
-      amstream: Implement IAMMediaStream::GetMultiMediaStream for video.
-      amstream: Implement IDirectDrawMediaStream::GetMultiMediaStream.
-      amstream: Implement IAMMediaStream::GetMultiMediaStream for audio.
-      amstream: Implement IAudioMediaStream::GetMultiMediaStream.
+Markus Heidelberg (1):
+      jscript: Date.parse: make "UTC"/"GMT" optional before the timezone offset.
 
-Michael Stefaniuc (6):
-      wmp/tests: Use SetRect() instead of open coding it.
-      dwrite/tests: Use SetRect() instead of open coding it.
-      dwrite: Use SetRect() instead of open coding it.
-      user32: Use IsRectEmpty() instead of open coding it.
-      wined3d: Use IsRectEmpty() instead of open coding it.
-      ddraw: Use IsRectEmpty() instead of open coding it.
+Matteo Bruni (8):
+      wined3d: Alpha test emulation for core profile contexts.
+      wined3d: Clean up VS-PS interface matching in GLSL.
+      wined3d: Simplify shader interface matching for SM4+ vertex shaders.
+      wined3d: Get rid of the "reorder shaders" for SM4+.
+      wined3d: Handle GS inputs and outputs.
+      wined3d: Fixup vertex position in geometry shaders.
+      wined3d: Add support for core OpenGL geometry shaders.
+      wined3d: Reselect the current GLSL geometry shader when possible even if the VS changed.
 
-Nikolay Sivov (22):
-      ctl3dv2: Claim success in Ctl3dRegister().
-      comctl32/listview: Simplify setting redraw mode flag.
-      d3dx10: Implement D3DX10UnsetAllDeviceObjects().
-      comctl32/tooltips: Cut tooltip text at first tab char unless TTS_NOPREFIX is used.
-      dwrite: Make IDWriteGdiInterop1 a part of a factory.
-      dwrite: Implement GetFontSignature().
-      dwrite: Use common structure to pass stream/facetype/index data around.
+Michael Stefaniuc (2):
+      wined3d: Initialize a RECT to avoid compiler warnings.
+      include: Use inline functions for common RECT helpers.
+
+Nikolay Sivov (25):
+      mmdevapi: Increment loop counter once per iteration (Clang).
+      msdaps: Fix GetBasicErrorInfo() method proxy (Clang).
+      msdaps: Always initialize error pointers in proxies.
+      dwrite/tests: Couple more tests for IDWriteNumberSubstitution creation.
+      dwrite: Don't reset advances if original and modified advances are the same array.
+      dwrite/tests: Get rid of global script analysis variable.
+      amstream/tests: Simplify refcount check.
+      comctl32/listview: Hit test data pointer is never NULL when sending LVN_ITEMACTIVATE.
       po: Update Russian translation.
-      dwrite/tests: A test for references returned from IDWriteFontFace3.
-      dwrite: Fix reference equality condition.
-      dwrite: Validate simulation flags and fail face/reference creation.
-      dwrite: Implement IDWriteFontList1::GetFont().
-      dwrite: Implement IDWriteFontList1::GetFontFaceReference().
-      dwrite: Implement IDWriteFontFamily1::GetFontFaceReference().
-      include: Added IDWriteFontSet definition.
-      comctl32/header: Use proper return type for HDM_CREATEDRAGIMAGE handler.
-      comctl32/imagelist: Simplify setting ImageList_DragEnter() return code.
-      kernel32: Handle NULL locale name in IsValidLocaleName().
-      kernel32: Set C3_KASHIDA only for kashida character.
-      kernel32/nls: Added SSHORTESTDAYNAME* entries.
-      webservices: Actually use channel type in WsCreateServiceProxyFromTemplate() (Clang).
-      msvcrt/tests: Fix a test failure on early XP versions.
+      kernel32/nls: Fix shortest day names for Thai and Vietnamese.
+      comctl32/monthcal: Added support for MCS_SHORTDAYSOFWEEK style.
+      comctl32/monthcal: Take into account day name width when setting calendar column width.
+      dwrite/tests: Simplify refcount check a bit.
+      msxml3/tests: Simplify refcount checks.
+      oledb32/tests: Simplify recount check.
+      dwrite/tests: Remove unused functions (Clang).
+      comctl32/header: Implement HDM_SETFILTERCHANGETIMEOUT.
+      dwrite: Be prepared for 0 face_id passed to face requester.
+      comctl32/syslink: Use wine list to keep items.
+      dwrite: Resolve BNs and embedding and override formatting characters to preceding level.
+      rpcss: Fix potential leaks when removing endpoint (Coverity).
+      rpcss: Fix a leak when TowerExplode() fails on endpoint insertion (Coverity).
+      rpcss: No need to initialize entry list pointers.
+      crypt32: No need to init entry fields when it's about to be added to a list.
+      po: Update Russian translation.
 
-Olivier F. R. Dierick (2):
-      shell32: Set last error explicitly in SHFileOperation().
-      shell32/tests: Tests for broken apps that check GetLastError() after SHFileOperation().
+Paul Gofman (3):
+      d3dx9/tests: Extend effect preshader test.
+      d3dx9: Add d3ds_dotswiz opcode to preshader.
+      d3dx9: Add is_param_type_sampler() helper function.
 
-Paul Gofman (2):
-      d3dx9: Add 'exp' preshader opcode.
-      d3dx9: Add test for 0 * INF preshader operation.
+Sebastian Lackner (3):
+      wininet: Return synchronously from InternetReadFile if there is no more data to read.
+      comctl32/syslink: Fix a blocks leak (Valgrind).
+      wininet: Initialize user_len before GetUserNameW call.
 
-Pierre Schweitzer (2):
-      comdlg32: Check for overflow before dereferencing.
-      user32: Check bounds before dereferencing.
+Stefan Dösinger (2):
+      wined3d: Use wined3d_texture_prepare_location() in wined3d_texture_update_desc().
+      wined3d: Discard the backbuffer in swapchain_gl_present() with the "discard" swap effect.
 
-Piotr Caban (13):
-      mshtml: Add more <img> onload tests.
-      mshtml: Fix HTMLWindow3_setInterval behavior on 0 msec intervals.
-      mshtml: Make it possible to clear timer and interval with any of clearTimeout and clearInterval functions.
-      msvcp90: Allocate facetvec of size at least 40 in locale::_Locimp::_Locimp_Addfac.
-      msvcr100: Add missing fields to lconv structure.
-      msvcrt: Fix mbtowc behavior for buffers containing more than one character.
-      msvcp110: Fix Yarn::operator=(const char*) implementation.
-      msvcp110: Don't allocate empty buffers in _Locinfo::_Locinfo_ctor.
-      msvcp110: Use locale_string::assign instead of freeing and allocating new object in _Locinfo__W_Getdays.
-      msvcp110: Fix num_put<char> structure layout.
-      msvcrt: Fix mbsrtowcs behavior when no out buffer is passed.
-      msvcrt: Add mbsrtowcs_s implementation.
-      msvcrt: Add mbsrtowcs_s tests.
+Thomas Faber (1):
+      qmgr: Fully initialize URL_COMPONENTSW structure before calling WinHttpCrackUrl.
 
-Sebastian Lackner (7):
-      ntdll: Initialize Reserved_0 bit in NtQueryInformationThread.
-      mscoree: Avoid buffer overflow when mono print handler returns huge string at once.
-      ntdll: Make sure buffer allocated in get_cached_dir_data is big enough for returned entry.
-      kernel32: Fix possible leak of directory handle in RemoveDirectoryW.
-      amstream/tests: Add tests for GetMultiMediaStream methods.
-      ntdll: Fix buffer allocation check in get_dir_data_space.
-      dsound: Get rid of no longer needed mix_buffer_len field.
+Vincent Povirk (2):
+      user32: Also change rcUpdate when scrolling by more than the window size.
+      user32: Don't regard the clipboard as changed if we don't own it.
 
 --
 Alexandre Julliard
diff --git a/AUTHORS b/AUTHORS
index 608f46d..2db400f 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -345,6 +345,7 @@
 David Quintana
 David Smith
 David Welch
+David Woodhouse
 Davin McCall
 Denis Baranov
 Denis Lukianov
@@ -420,6 +421,7 @@
 Evgeny Putin
 Fabian Bieler
 Fabian Cenedese
+Fabian Maurer
 Fabian Müntefering
 Fabrice Bauzac
 Fabrice Ménard
@@ -504,6 +506,7 @@
 Gustavo Noronha Silva
 Guy Albertelli
 György 'Nog' Jeney
+Hadrien Boizard
 Hagen Heiduck
 Hagop Hagopian
 Haithem Hmida
@@ -909,6 +912,7 @@
 Marko Nikolic
 Markus Amsler
 Markus Gömmel
+Markus Heidelberg
 Markus Hitter
 Markus Stockhausen
 Markus Weiland
diff --git a/VERSION b/VERSION
index 3aa265d..c71f4b9 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-Wine version 1.9.10
+Wine version 1.9.11
diff --git a/configure b/configure
index c1d1bf8..9d0663a 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.9.10.
+# Generated by GNU Autoconf 2.69 for Wine 1.9.11.
 #
 # Report bugs to <wine-devel@winehq.org>.
 #
@@ -580,8 +580,8 @@
 # Identity of this package.
 PACKAGE_NAME='Wine'
 PACKAGE_TARNAME='wine'
-PACKAGE_VERSION='1.9.10'
-PACKAGE_STRING='Wine 1.9.10'
+PACKAGE_VERSION='1.9.11'
+PACKAGE_STRING='Wine 1.9.11'
 PACKAGE_BUGREPORT='wine-devel@winehq.org'
 PACKAGE_URL='http://www.winehq.org'
 
@@ -2135,7 +2135,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.9.10 to adapt to many kinds of systems.
+\`configure' configures Wine 1.9.11 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -2205,7 +2205,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Wine 1.9.10:";;
+     short | recursive ) echo "Configuration of Wine 1.9.11:";;
    esac
   cat <<\_ACEOF
 
@@ -2410,7 +2410,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Wine configure 1.9.10
+Wine configure 1.9.11
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2928,7 +2928,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.9.10, which was
+It was created by Wine $as_me 1.9.11, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -18884,7 +18884,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.9.10, which was
+This file was extended by Wine $as_me 1.9.11, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -18955,7 +18955,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.9.10
+Wine config.status 1.9.11
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
