diff --git a/ANNOUNCE b/ANNOUNCE
index f5b0fec..eb8f36e 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,17 +1,16 @@
-The Wine development release 1.7.43 is now available.
+The Wine development release 1.7.44 is now available.
 
 What's new in this release (see below for details):
-  - Improved support for Shell Browser windows.
-  - Some more API Sets libraries. 
-  - Read/write operations support with built-in devices.
-  - Major Catalan translation update.
-  - Support for WoW64 mode on ARM64.
+  - More support for the COM interfaces of the RichEdit control.
+  - Initial version of a SmartTee filter.
+  - Some more support for the ARM64 platform.
+  - Support for the null device kernel object.
   - Various bug fixes.
 
 The source is available from the following locations:
 
-  http://prdownloads.sourceforge.net/wine/wine-1.7.43.tar.bz2
-  http://mirrors.ibiblio.org/wine/source/1.7/wine-1.7.43.tar.bz2
+  http://prdownloads.sourceforge.net/wine/wine-1.7.44.tar.bz2
+  http://mirrors.ibiblio.org/wine/source/1.7/wine-1.7.44.tar.bz2
 
 Binary packages for various distributions will be available from:
 
@@ -27,287 +26,342 @@
 
 ----------------------------------------------------------------
 
-Bugs fixed in 1.7.43 (total 26):
+Bugs fixed in 1.7.44 (total 59):
 
-   8330  WinBoard console window stops working after 32767 chars
-  25885  Legions Overdrive: crashes when starting a game
-  25892  Mini Racing Online: Cars are invisible
-  29337  Starcraft Campaign Editor shows Wine icon instead of map icon
-  30628  Battlefield Bad Company 2 audio doesn't work in-game
-  31489  C&C - Red Alert 2 can not enter campaign when fullscreen
-  31726  JScript Date.parse doesn't work
-  34351  AsystentCRM installer needs Shell folder object Folder::ParseName method implemented
-  34560  Finale/Finale Notepad 2012: Operations are painfully slow
-  34566  qq international 2.0 crashes with native riched20 and builtin ctf
-  34814  wineconsole truncates argument string in 256 bytes
-  34862  Mars: War Logs crashes at start
-  35831  Age of Mythology games with more than 2 players don't work (interface bound sockets do not return the correct address in getsockname)
-  36408  Child of Light 1.0 Demo Steam exit after launch
-  37013  Evernote 5.5.x - Options window is too small and unresizeable
-  37838  Chessmaster 10/11: Absent chess piece lighting with Direct3D
-  38241  Open General crashes when exiting.
-  38358  Chessmaster X/XI dynamic lighting no longer present in wine-1.7.40 (regression)
-  38399  Voobly fails to connect to lobby (threaded app close socket in the middle of other thread select call)
-  38454  valgrind shows several uninitialized variables in dlls/winmm/tests/wave.c
-  38532  Uru: Ages Beyond Myst demo (Myst Online: Uru Live) hangs with a black screen
-  38547  Tropico 2: rendering issues (pink rectangles)
-  38548  Strong Bad's Cool Game: missing music and voices
-  38556  AsystentCRM installer needs Shell folder object FolderItem::Verbs method implemented
-  38557  Wings of Vi: Hangs when window is moved.
-  38569  PES2015 won't connect to online services (GetIpAddrTable needs to fill wType parameter)
+   8272  When exiting Wizardry 8 waits until background music thread finishes playing
+   8653  Desperados v1.01 fails to start, reports 'ADPCM sound codec is missing' (Wine's MS-ADPCM needs to report as Pid = 1, Mid = 33)
+   9425  Select behavior different on Wine
+  11607  Blood 2: The Chosen keyboard repeat problem
+  12458  Multiple apps fail due to RichEdit ITextDocument_fnRange stub (MySQL Workbench, BlitzMaxDemo137)
+  17920  OleUIAddVerbMenu is not implemented
+  18303  Adobe Acrobat Pro 7: Crashes when selecting the "edit" menu while having a file open.
+  25684  OLE v2.03 16bit (Win3.1 & 3.11): installer deadlocks
+  25950  SEE_MASK_NO_CONSOLE flag in ShellExecuteEx have opposite effect
+  26321  Star Wars: Galactic Battlegrounds Clone Campaigns: 1.0x - Exit DataBank or Basic Training will crash game.
+  30974  No backtrace with Visual C++ 2010 .pdb files in large app; "Unsupported type 1404 in STRUCT field list"
+  31922  64-bit Total Commander 8.x crashes when viewing image files via with 'Imagine' plugin v1.08
+  33012  FAST Search for Sharepoint MOSS 2010 Query Tool only displays a black background
+  33888  VisualDSP++ 5.0 debugger needs atl80.dll.AtlIPersistPropertyBag_Save
+  34262  dbghelp: Unhandled Tag type 0x26 for backtraces in xul.dll
+  34517  Burnout Paradise crashes when trying to connect to server (needs support for Win32_SystemEnclosure WMI class)
+  34930  Cygwin-compiled Hello World program couldn't display output
+  35957  Neverwinter Nights 1.69 crashes on startup since 1.7.16
+  36244  valgrind shows several warnings in d3dx9_36/tests/surface.c
+  36245  valgrind shows several warnings in d3dx9_36/tests/texture.c
+  36246  valgrind shows several warnings in d3dx9_36/tests/xfile.c
+  36339  valgrind shows a lot of leaks in ddraw/tests/d3d.c
+  36352  valgrind shows a ton of leaks in d3dcompiler_43/tests/hlsl.c
+  36379  valgrind shows several possible leaks in light tests in ddraw/tests/d3d.c
+  36386  d3dx9_36/tests/texture.c crashes under valgrind on i965/mesa 10.1.1
+  36449  Death to Spies: Moment of Truth crashes on mission start (incorrect ID3DXSkinInfo::ConvertToIndexedBlendedMesh stub signature)
+  36539  Evernote 5.4 crashes on startup (automatic proxy configuration fails)
+  36592  valgrind shows several leaks in wbemprox/tests/query.c
+  36659  valgrind shows a definite leak in ddraw/tests/d3d.c:CapsTest()
+  36669  ddraw/tests/visual.c crash under valgrind/i965
+  37220  valgrind shows an invalid write in d3dx9_36/tests/core.c
+  37575  regedit: duplicated null characters
+  37604  Adobe Reader 6 crashes at splash screen
+  37667  Custom game development library needs GetRawInputDeviceList to set ERROR_INSUFFICIENT_BUFFER on too small buffer
+  37759  CLARION 8 crashes on null pointer in GetStringTypeW
+  37761  Tree list items do not automatically collapse in Starcraft Campaign Editor
+  38090  Managed (.NET) debugger fails to load symbol files ('GetFileVersionInfoSizeExW' is a stub)
+  38098  Managed (.NET) debugger fails to load symbol files ('GetFileVersionInfoExW' is a stub)
+  38107  Cygwin and MSYS2 needes NULL Device for /dev/zero, /dev/null, /dev/full and so on
+  38149  Wrong alignment for D3D structures
+  38152  PureBasic IDE crashes when launching online help ("F1" key)
+  38170  wine fails to start on raspian/raspberry pi 2 (wine requires a 3G/1G memory split)
+  38195  Firefox 36.0.1 crash at pdf.js demo needing msvcr120.dll.copysignf
+  38294  select() does not report exception on socket after non-blocking connect() fails
+  38313  broken surround sound in skyrim (and possibly games which do not have advanced sound settings)
+  38378  msvcr120.dll.fmaxf is needed by Sonkwo
+  38389  Samsung Smart View 2.0 locks up/crashes
+  38453  valgrind shows an uninitialized variable in programs/vbscript/tests/run.c
+  38465  valgrind shows a definite leak in wininet/tests/http.c
+  38513  Winuae crashes on unimplemented function GetSystemTimePreciseAsFileTime
+  38535  Ukrainian localization problem
+  38539  Jade Empire Special Edition has various graphical glitches
+  38546  Strong Bad's Cool Game launcher: login window doesn't appear properly
+  38562  Ghost Recon Advanced Warfighter 2 hangs with the splash screen
+  38586  Green Ranch crashes when opening
+  38602  Steam 'steamwebhelper.exe' (CEF) crashes on unimplemented function ADVAPI32.dll.ImpersonateAnonymousToken during clipboard paste into 'search store' field
+  38607  GOG Galaxy client needs msvcp110.dll._Call_onceEx
+  38628  League of Legends : LoLPatcherUx.exe crash
+  38643  Sigil Portable 0.8.6 crashes on unimplemented function msvcr120.dll._dsign
 
 ----------------------------------------------------------------
 
-Changes since 1.7.42:
+Changes since 1.7.43:
 
-Aaryaman Vasishta (3):
-      d3drm: Fix IDirect3DRMDevice declaration.
-      d3drm: Fix refcounting for IDirect3DRM{1-3}.
-      d3drm/tests: Remove TODO's from test_qi and TODO field from test tables.
+Alex Henrie (7):
+      winmm: Improve grammar by changing "or" to "and" in an error message.
+      comctl32/tests: Extend TVS_SINGLEEXPAND tests.
+      comctl32: Close previously selected treeview item at common ancestor.
+      comctl32: Do not send WM_NOTIFY if selecting an already-selected item.
+      comctl32: Send WM_NOTIFY when expanding ancestors of the new selection.
+      riched20: Fix copy-paste error in header documentation.
+      winmm: Make mixer UI translatable.
 
-Akihiro Sagawa (3):
-      winmm/tests: Fix uninitialized memory access (Valgrind).
-      mciqtz32: Guarantee that CoInitialize and CoUninitialize run on the same thread.
-      mciqtz32: Simplify null parameter checks.
+Alexandre Julliard (12):
+      ntdll/tests: Use the correct flags for NtOpenFile.
+      server: Ignore FILE_DIRECTORY_FILE on special files.
+      server: Add an intermediate file object for file handles opened on devices.
+      iphlpapi/tests: Avoid sizeof in traces.
+      server: Allow a device file to be mapped directly to a Unix device.
+      server: Create the null device and its symlink.
+      kernel32: Check NT symlink first for all devices in QueryDosDeviceW.
+      kernel32: Get rid of the hardcoded NUL device in QueryDosDeviceW.
+      ntdll: Add support for file I/O on device files.
+      ntdll: Remove the special case for the NUL device.
+      user32: Remove some unnecessary clipboard helper functions.
+      krnl386.exe: Release the Win16 lock when loading a 32-bit dll.
 
-Alex Henrie (10):
-      wineps: Make printer setup dialog caption translatable.
-      po: Update Catalan translation.
-      po: Follow GNU specification for Language and Language-Team headers.
-      po: Update Catalan translation.
-      user32: Do not return the class icon when ICON_SMALL2 is requested.
-      user32: Use the window class icon if the MDI child doesn't have its own.
-      user32: Load hIconSmIntern from the best-matching resource.
-      user32: Free internal icon when freeing the rest of the window class.
-      user32: Simplify GCLP_HICON and GCLP_HICONSM boolean logic.
-      user32: Fall back to downscaling the big icon for ICON_SMALL2.
+Andrew Eikum (2):
+      winealsa.drv: Default to Stereo instead of 5.1 Surround.
+      msacm32: Make ACM driver details match native more closely.
 
-Alexandre Julliard (24):
-      winex11: Remove unnecessary CLIPBOARDINFO structure.
-      server: Rename ioctl to irp to allow supporting various types of I/O requests.
-      server: Retrieve ioctl data directly from the request.
-      server: Return irp size separately from the output data.
-      server: Add read and write fd member functions.
-      server: Add an async structure to the flush request to follow the common pattern.
-      server: Add read and write requests on file objects.
-      server: Implement read and write requests for device files.
-      server: Add a common structure to store irp parameters.
-      server: Add a trace for the supported socket ioctl.
-      server: Allow cancelling async I/O for all object types.
-      server: Make the APC callback optional in async calls.
-      server: Implement flush requests for device files.
-      ntdll: Fallback to server calls for read and write on objects without a file descriptor.
-      ntoskrnl: Flesh out IoBuildSynchronousFsdRequest implementation.
-      ntoskrnl: Add support for read and write requests.
-      ntoskrnl: Add support for flush requests.
-      ntdll: Don't run user APCs in NtCancelIoFile.
-      ntdll: Fix handling of async cancellation for directory changes.
-      user32/tests: Update some todos for changed test failure behavior.
-      server: Make async objects waitable.
-      server: Use the async queue for pipe flush requests.
-      shell32/tests: Avoid duplicate const.
-      jscript: Avoid UINT32_MAX.
+Andrey Gusev (1):
+      po: Update Ukrainian translation.
 
-Andrew Eikum (4):
-      mmdevapi: Always use 64-bit registry keys.
-      kernel32: Support extended pathnames in GetShortPathName.
-      dsound: Don't set very low limits on HW buffers.
-      kernel32: Implement CheckNameLegalDOS8Dot3.
+André Hentschel (13):
+      dbghelp: Fix typo in trace output.
+      kernel32/tests: Add ARM and ARM64 arch strings.
+      include: Add more defines related to ARM64.
+      ntdll: Use the correct arch value for ARM64.
+      wineboot: Add environment registry keys on ARM64.
+      wineboot: Add hardware registry keys on ARM64.
+      ntdll: Parse ARM64 CPU info.
+      ntdll: Add ARMv8 detection for ARM32.
+      libport: Fix build on PowerPC.
+      include: Add more ARM64 CV constants.
+      winedump: Add more image debug types.
+      ntdll: Add stub for __chkstk on ARM.
+      ntdll: Fix returning from various ARM assembler functions.
 
-André Hentschel (4):
-      winedump: Add ARM64 string.
-      server: Allow 32-bit connections on ARM64.
-      ntdll: Enable wow64 on ARM64.
-      winebuild: Use a 64k page size on ARM64.
-
-Aric Stewart (2):
-      setupapi: Restore close brace before using guid string as reg key.
-      server: Fixup input windows on thread_detach.
-
-Aurimas Fišeras (1):
+Aurimas Fišeras (2):
+      po: Update Lithuanian translation.
       po: Update Lithuanian translation.
 
-Bruno Jesus (4):
-      iphlpapi: Set MIB_IPADDR_PRIMARY as wType for GetIpAddrTable entries.
-      ws2_32/tests: Fix a couple of wrong traces.
-      ws2_32: Trace connect() success.
-      iphlpapi/tests: Improve IcmpSendEcho trace.
+Austin English (4):
+      dbghelp: Ignore some more symbol ids.
+      api-ms-win-core-misc-l1-1-0: New dll.
+      version: Move GetFileVersionInfoSize(A/W) implemementation to GetFileVersionInfoSizeEx(A/W).
+      version: Move GetFileVersionInfo(A/W) implementation to GetFileVersionInfoEx(A/W).
 
-François Gouget (12):
-      ddraw/tests: Fix compilation on systems that don't support nameless union.
-      wined3d: Add a trailing '\n' to a generated shader line.
-      ole32: Fix some storage32 comments.
-      ole32: Reorder storage32 functions to avoid forward declarations.
-      ole32: Make some storage32 functions static.
-      urlmon/tests: Silence some protocol traces that generate too many lines.
-      gdi32/tests: Silence some font traces that generate too many lines.
-      ddraw/tests: Silence some ddrawmodes traces that generate too many lines.
-      kernel32/tests: Silence some loader and locale traces that generate too many lines.
-      shlwapi/tests: Silence some istream traces that generate too many lines.
-      user32/tests: Silence some clipboard traces that generate too many lines.
-      ole32/tests: Silence some clipboard traces that generate too many lines.
+Bruno Jesus (3):
+      ws2_32: Simplify select() to make its code more reusable.
+      user32/tests: Add tests for GetRawInputDeviceList.
+      user32: Set the expected errors in GetRawInputDeviceList.
 
-Grazvydas Ignotas (3):
-      port.h: Make use of compiler support for 32bit atomic ops.
-      port.h: Make use of compiler support for 64bit atomic ops.
-      port.h: Make use of compiler support for pointer atomic ops.
+Christian Faure (1):
+      kernel32: Fix a crash in GetStringTypeW() on NULL input string.
+
+Damjan Jovanovic (6):
+      qcap/tests: Fix SmartTeeFilter reference leaks from the pins in its test.
+      qcap/tests: Add many more SmartTee filter tests.
+      qcap/tests: Add media tests for the SmartTee filter.
+      qcap/tests: Test SmartTee filter aggregation.
+      qcap: Implement a stubbed SmartTee filter.
+      qcap: Implement the SmartTee media type functions.
+
+Daniel Lehman (1):
+      msvcr120: Add erf functions.
+
+François Gouget (5):
+      kernel32/tests: Fix compilation on systems that don't support nameless unions.
+      msvcp120/tests: Make call_once(_ex)?_thread() static.
+      msvcp90: Make call_once_func_wrapper() static.
+      include: Remove an unneeded include directive from msctf.idl.
+      include: Add more interfaces to ctfutb.idl.
+
+Frédéric Delanoy (1):
+      po: Update French translation.
+
+Grazvydas Ignotas (1):
+      kernel32: Don't leak an event handle on errors.
 
 Hans Leidekker (3):
-      rpcrt4: Use the Unicode version of InternetReadFileEx.
-      rpcrt4: Also set the Content-Length header explicitly on the in pipe request.
-      rpcrt4: Allow all HTTP read requests to be cancelled.
+      rpcrt4: Use InternetSetCookie to set the session cookie.
+      rpcrt4: Initialize the association UUID in RpcAssoc_Alloc.
+      rpcrt4: Remove a couple of unused assignments.
 
-Henri Verbeet (2):
-      d3drm: Also validate face indices against the vertex count in load_mesh_data() (Valgrind).
-      d3drm/tests: Release the material after a GetGroupMaterial() call in test_MeshBuilder() (Valgrind).
+Huw D. M. Davies (11):
+      gdi32: Prevent the underline / strikeout width getting rounded to zero.
+      comctl32: Don't store the width in the toolbar info structure.
+      comctl32: Layout the toolbar after a potential resize.
+      comctl32: Wrap the buttons inside the toolbar's client rect.
+      comctl32: If necessary add the width of a dropdown arrow while wrapping.
+      user32/tests: Fix tests on Windows 8.
+      comctl32: Fix a typo in the TB_SAVERESTOREA handler.
+      comctl32/tests: Skip the hover tests if the listview's parent is not the foreground window.
+      riched20/tests: Fix test on 64-bit.
+      dinput/tests: Send a matching key-up event.
+      winex11: Fix ctrl-<symbol> to generate codes below 0x20 where necessary.
 
-Hugh McMaster (1):
-      cmd.exe: Remove redundant call to SetConsoleMode.
+Indrek Altpere (1):
+      winex11: Fix uninitialized memory access appearing in multiple tests (Valgrind).
 
-Huw D. M. Davies (2):
-      ntdll/tests: Wait for pending file operations to complete.
-      ntdll/tests: Fix incorrect prototype.
+Iván Matellanes (1):
+      msvcirt: Share exceptions implementation with msvcp.
 
-Jacek Caban (13):
-      mshtml: Split getAttribute into helper function and use it in IHTMLDOMAttribute::get_nodeValue implementation.
-      mshtml: Added IHTMLDOMAttribute2::get_value implementation.
-      mshtml: Added IHTMLEventObj::get_returnValue implementation.
-      mshtml: Added new EventTarget struct representing event targets.
-      mshtml: Moved getting event target data pointer to DispatchEx vtbl.
-      mshtml: Make HTMLInnerWindow inherit from EventTarget.
-      mshtml: Pass EventTarget to set_event_handler.
-      mshtml: Pass EventTarget to get_event_handler.
-      mshtml: Pass EventTarget to attach_event.
-      mshtml: Pass EventTarget to detach_event.
-      mshtml: Pass EventTarget to update_cp_events.
-      mshtml: Get rid of get_node_event_target.
-      mshtml: Initialize output value before passing it to VariantCopy.
+Jacek Caban (8):
+      mshtml: Removed unneeded argument from ensure_nsevent_handler.
+      urlmon: Correctly handle hash part in file protocol handler.
+      mshtml: Use vtbl for binding to event in attach_event.
+      mshtml: Get rid of no longer needed detach_event argument.
+      mshtml: Use bind_event in set_event_handler.
+      ieframe: Allow any VT_ARRAY type as post data.
+      kernel32: Fixed buffer overflow in GetShortPathNameW.
+      mshtml: Pass EventTarget to call_event_handlers.
 
-Josh DuBois (3):
-      ntdll: Avoid movs between rcx, rdx and xmm registers.
-      oleaut32: Avoid movs between rcx, rdx and xmm registers.
-      rpcrt4: Avoid movs between rcx, rdx and xmm registers.
+Jactry Zeng (1):
+      ntdll/tests: Test opening a directory with NULL ObjectName.
 
-Ken Thomases (2):
-      configure: Set the page zero size to 4KiB on OS X to fix building 64-bit Wine.
-      winemac: Don't process WM_EXITSIZEMOVE through filters in macdrv_window_drag_begin().
+Jiaxing Wang (1):
+      regedit: Avoid appending '\0' to string value of imported key.
+
+Julian Rüger (1):
+      po: Update German translation.
+
+Ken Thomases (5):
+      ntdll: Increase name buffer size in read_directory_getattrlist() for UTF-8 encoding.
+      ntdll: If read_directory_getattrlist() finds that the file doesn't exist, return successful "no file" result to stop search.
+      configure: Add a check for sys/vnode.h.
+      ntdll: Fix read_directory_getattrlist() to get the name of a symlink rather than its target, but still detect if the symlink is broken.
+      ntdll: Avoid one of the calls to getattrlist() when read_directory_getattrlist() checks the case sensitivity of the file system.
 
 Lauri Kenttä (1):
       po: Update Finnish translation.
 
-Marcus Meissner (5):
-      dmime: Check return code of create_dmgraph (Coverity).
-      wined3d: Remove superflous check (Coverity).
-      oleaut32: Avoid a library handle leak (Coverity).
-      winedbg: Initialize type.module (Coverity).
-      winedbg: Close filehandle on one exit branch (Coverity).
+Marcus Meissner (2):
+      mshtml: Fixed incorrect NULL ptr check (Coverity).
+      rpcrt4: Make sure we do not have *data allocated on error (Coverity).
 
 Mark Harmstone (2):
-      kernel32: Add GetFileMUIInfo stub.
-      uxtheme: Stub out buffered animation functions.
+      comctl32: Use DPI settings for checkbox size.
+      include: Add GetFileMUIPath to winnls.h.
 
-Martin Storsjo (13):
-      api-ms-win-core-debug-l1-1-0: Add stub dll.
-      api-ms-win-core-errorhandling-l1-1-0: Add stub dll.
-      api-ms-win-core-file-l1-1-0: Add stub dll.
-      api-ms-win-core-heap-l1-1-0: Add stub dll.
-      api-ms-win-core-interlocked-l1-1-0: Add stub dll.
-      api-ms-win-core-libraryloader-l1-1-0: Add stub dll.
-      api-ms-win-core-memory-l1-1-0: Add stub dll.
-      api-ms-win-core-namedpipe-l1-1-0: Add stub dll.
-      api-ms-win-core-processenvironment-l1-1-0: Add stub dll.
-      api-ms-win-core-rtlsupport-l1-1-0: Add stub dll.
-      api-ms-win-core-synch-l1-1-0: Add stub dll.
-      api-ms-win-core-sysinfo-l1-1-0: Add stub dll.
-      advapi32: Add a stub implementation of EventSetInformation.
+Martin Storsjo (2):
+      kernel32: Implement GetSystemTimePreciseAsFileTime.
+      kernel32: Implement a few more classes in GetFileInformationByHandleEx.
 
-Matteo Bruni (5):
-      wined3d: Rename *emission* as *emissive*.
-      wined3d: Check all the ffp_material fields.
-      ddraw/tests: Accept broken testbot result for test_clear_rect_count().
-      ddraw/tests: Add a ddraw2 specular lighting test.
-      wined3d: Fix the TIMESTAMP_DISJOINT query.
+Matteo Bruni (14):
+      wined3d: Dirtify vertex shader on transformed <-> untransformed transitions.
+      wined3d: Fix fragment shaders sampling directly into oC[n] in the ARB backend.
+      ntdll: Implement a read_directory_getattrlist() function.
+      ntdll: Ignore positive matches in read_directory_stat() for case-insensitive filesystems.
+      ntdll/tests: Add a test for filename casing with NtQueryDirectoryFile().
+      ddraw/tests: Accept broken testbot result for test_coop_level_d3d_state().
+      ddraw/tests: Workaround a testbot failure in test_ck_rgba().
+      ddraw/tests: Accept broken testbot result for ddraw1:test_texturemapblend().
+      wined3d: Add missing entries for Nvidia GPUs.
+      wined3d: Make use of more specific device IDs with Nvidia binary drivers.
+      wined3d: Remove point size scaling hack.
+      wined3d: Introduce a get_pointsize_minmax() function.
+      wined3d: Introduce a get_pointsize() function.
+      wined3d: Avoid the builtin uniforms for point size when using the fixed function vertex pipeline.
 
-Nikolay Sivov (45):
-      explorer: Added IDispatch support for ShellBrowserWindow instance.
-      explorer: Implement Application property.
-      explorer: Added stub IServiceProvider support for shell browser window.
-      explorer: Return IShellBrowser in response to SID_STopLevelBrowser.
-      shell32: Better handle creation/destruction of shellview window.
-      dwrite/tests: Test character spacing applied to cluster metrics.
-      shell32/tests: Fix test crashes when running with wine.
-      msdmo: Reg* API does not use HRESULT return codes.
-      shell32/tests: A test for shellview QI for IOleWindow.
-      shell32: Fix multiline trace message and some magic numbers.
-      shell32: Forward AutoArrange() to IFolderView2.
-      shell32: Forward SetRedraw to IFolderView2.
-      shell32: Implement GetSelectedCount() using IFolderView2::GetSelection().
-      explorer: Added IDispatch support for IShellWindows.
-      atl100/tests: Fixed some leaks (Valgrind).
-      oleacc: Added proxies for oleacc.idl.
-      dwrite: Initial implementation of Draw().
-      shell32: Implement Application property of IShellFolderViewDual.
-      shell32: Update to IShellDispatch6.
-      include: Fix IAccessible definition.
-      oleaut32: Simplify connection point creation.
-      oleaut32: Cleanup connection point methods a bit.
-      oleaut32: Implement proxy/stub for IEnumConnections::Next().
-      rpcrt4: Added missing marshalling calls for FC_INT3264/FC_UINT3264 types.
-      include: Update msctf.idl.
-      ole32/tests: Added a test for OleRun().
-      shell32: Added IDispatch support for IShellFolderViewDual3.
-      explorer: Return desktop shellview interface.
-      kernel32: Fixed couple of comments regarding atom calls.
-      kernel32: Implement GetDynamicTimeZoneInformation().
-      shell32: Forward couple of IKnownFolder methods to regular API equivalents.
-      shell32: Silence IMarshal requests to IKnownFolder and IKnownFolderManager.
-      shell32: Partially implement SHGetKnownFolderIDList().
-      shell32: Implement ParseName().
-      shell32: Added FolderItemVerbs stub.
-      shell32: Implement FolderItemVerbs_get_Count().
-      shell32: Added FolderItemVerb stub.
-      shell32: Implement FolderItemVerbs::Item().
+Michael Müller (3):
+      wininet: Fix memory leak by not calling get_cookie_header twice.
+      kernel32: Return correct device type for cd devices without medium.
+      wbemprox: Add support for Win32_SystemEnclosure.
+
+Nikolay Sivov (58):
+      quartz: Implement a trivial case of ConvertTimeFormat().
+      riched20: Added ITextFont stub.
+      riched20: Added stub ITextPara.
+      riched20: Implement SetStart().
+      riched20: Implement SetEnd().
+      riched20: Added tom typelib.
+      oledlg: Make object name menu item localized.
+      comctl32: Remove LoadString() fallback when loading from same module.
       po: Update Russian translation.
-      wininet: Make sure we pass strictly 0/1 to a helper as BOOL value.
-      ieframe: Properly trace variant arguments.
-      oledlg: Forward OleUIAddVerbMenuA to OleUIAddVerbMenuW.
-      oledlg: Partially implement OleUIAddVerbMenuW(), with basic tests.
-      ole32: Implement SNB marshalling.
-      oleaut32: Added IEnumConnectionPoints::Next proxy/stub.
+      riched20: Implement GetBold()/GetItalic().
+      dwrite: Added IDWriteGlyphRunAnalysis stub.
+      xmllite/writer: Implement WriteEndDocument().
+      oleaut32: Added missing IPersistMemory proxy/stub methods.
+      riched20: Implement GetSize().
+      riched20: Implement GetUnderline().
+      riched20: Implement GetForeColor().
+      riched20: Implement GetStrikeThrough().
+      riched20: Implement GetSubscript()/GetSuperscript().
+      riched20: Implement GetLanguageID().
+      riched20: Implement GetFont() for selection range.
+      msctfp: Added proxy/stub dll for msctf.idl interfaces.
+      oledlg: Support convert menu item in OleUIAddVerbMenuW().
+      include: Fix oleacc.idl size_is attributes for void** arrays.
+      include: Fix missing attributes in urlmon.idl.
+      riched20: Implement GetName() for ITextFont.
+      riched20/tests: Test against proper LCID.
+      riched20/tests: Added tests for ITextFont getters on detached font.
+      riched20: Added some tom* constants used with ITextFont::Reset().
+      dwrite: Fix splitting by bidi levels.
+      po: Update Russian translation.
+      dxdiagn: Silence some fixmes from class factory QI.
+      dwrite: Fix breakpoint update logic.
+      riched20: Added IDispatch support.
+      riched20: Implement Start/End properties for ranges.
+      riched20/tests: Some tests for GetText().
+      riched20/tests: Basic test for Delete().
+      riched20/tests: Initial tests for font duplication behavior.
+      setupapi/tests: Skip a test if user is not allowed to open logging.
+      riched20: Support ITextFont instances detached from a range.
+      riched20: Implement tomTrackParms/tomCacheParms.
+      riched20: Initial support for changing font properties.
+      riched20: Support setting boolean font properties.
+      riched20: Implement font property setters.
+      riched20: Implement SetName().
+      riched20: Implement SetText for regular range.
+      riched20: Implement SetText() for selection range.
+      dwrite/tests: Some tests for control characters handling.
+      riched20: Implement GetPara() for selection range.
+      riched20: Implement InRange().
+      riched20: Implement IsEqual() for ranges.
+      riched20: Implement Select().
+      riched20: A bit more tests for GetChar(), improve tracing.
+      dwrite: Implement GetGlyphOrientationTransform().
+      riched20: Convert from twips to points when tomUsePoints is used.
+      riched20: Switch font unit is not allowed.
+      riched20: Added GetStoryType().
+      riched20: Implement SetFont().
+      riched20/tests: Test more return values and released cases.
 
-Piotr Caban (1):
-      ws2_32: Fix ai_canonname buffer allocation in addrinfo_AtoW.
+Piotr Caban (7):
+      msvcrt: Fix functions table reallocation in _onexit.
+      msvcp120: Added _Call_once implementation.
+      msvcp120: Add _Do_call implementation.
+      msvcr120: Add copysign export.
+      msvcr120: Add fmax implementation.
+      msvcr120: Add _dsign implementation.
+      wininet/tests: Test if content is read from cache in INTERNET_FLAG_FROM_CACHE tests.
 
-Qian Hong (2):
-      server: Remove useless trailing comma in array.
-      ntdll/tests: Fixed typo.
+Qian Hong (1):
+      atl: Added stub AtlIPersistPropertyBag_Save.
 
-Sebastian Lackner (13):
-      ntdll: Use lockfree implementation for get_cached_fd.
-      kernel32/tests: Add tests for calling VirtualProtect with NULL as last argument.
-      kernel32: Do not omit mandatory argument for VirtualProtect.
-      krnl386.exe16: Do not omit mandatory argument for VirtualProtect.
-      ntdll: Do not omit mandatory argument for VirtualProtect.
-      winedevice: Do not omit mandatory argument for VirtualProtect.
-      ntdll: Return failure in NtProtectVirtualMemory when last argument is omitted.
-      wbemprox/tests: Actually test the return value of IEnumWbemClassObject_Next.
-      wbemprox/tests: Fix memory leak when tests are skipped.
-      ws2_32: Properly handle closing sockets during a select call.
-      ntdll/tests: Add/remove todo_wine to avoid test failures.
-      server: Fix leak of async handle in pipe_server_flush.
-      dmime: Properly set primary dsound buffer in IDirectMusicPerformance8Impl_CreateStandardAudioPath.
+Sebastian Lackner (10):
+      ntdll/tests: Add tests for accessing \\Device\\Null.
+      server: attach_thread_input shouldn't create queues for foreign threads.
+      dinput: Reset device state in SysKeyboard*Impl_Acquire.
+      kernel32/tests: Add tests for delete behaviour of CopyFileEx.
+      wineconsole: Allocate fake hwnds for curses backend.
+      ntdll: Add stub for NtImpersonateAnonymousToken.
+      advapi32: Forward ImpersonateAnonymousToken to ntdll.
+      ole32/tests: Add additional tests for CoWaitForMultipleHandles and WM_QUIT.
+      wbemprox/tests: Add tests for Win32_SystemEnclosure.
+      wbemprox: Fix handling of arrays as query results.
 
-Stefan Dösinger (1):
-      wined3d: Fix a copy / paste mistake.
+Stefan Dösinger (4):
+      d3d9/tests: Avoid invalid framebuffer configrations in resz_test.
+      wined3d: Don't allow 3D depth textures.
+      wined3d: Check resource types separately in check_fbo_compat.
+      wined3d: Allow specifying a different depth stencil location.
 
-Thomas Faber (1):
-      advapi32/tests: Add tests for RegQueryInfoKey.
+Thomas Faber (3):
+      advapi32: Use STATUS_BUFFER_TOO_SMALL for buffer overflows in RegQueryInfoKeyW.
+      advapi32: Do not fail in RegQueryInfoKey if *class_len is 0.
+      advapi32: Write back partial results in RegQueryInfoKeyA.
 
 Thomas Faller (1):
-      jscript: Date.parse: long date with '/' or '-'.
-
-Vincent Povirk (1):
-      winex11.drv: Report failure when we can't convert a selection.
+      vbscript: Fix for unchecked memory access.
 
 --
 Alexandre Julliard
diff --git a/AUTHORS b/AUTHORS
index 2301f81..c49e8f9 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -243,6 +243,7 @@
 Christian Britz
 Christian Costa
 Christian Eggers
+Christian Faure
 Christian Gmeiner
 Christian Inci
 Christian Lupien
@@ -652,6 +653,7 @@
 Jess Haas
 Jiang Yike
 Jianqiu Zhang
+Jiaxing Wang
 Jim Aston
 Jim Cameron
 Jimen Ching
diff --git a/VERSION b/VERSION
index d8a2dbe..694e6bf 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-Wine version 1.7.43
+Wine version 1.7.44
diff --git a/configure b/configure
index c571b48..f47c09e 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.43.
+# Generated by GNU Autoconf 2.69 for Wine 1.7.44.
 #
 # 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.43'
-PACKAGE_STRING='Wine 1.7.43'
+PACKAGE_VERSION='1.7.44'
+PACKAGE_STRING='Wine 1.7.44'
 PACKAGE_BUGREPORT='wine-devel@winehq.org'
 PACKAGE_URL='http://www.winehq.org'
 
@@ -2036,7 +2036,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.43 to adapt to many kinds of systems.
+\`configure' configures Wine 1.7.44 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -2105,7 +2105,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Wine 1.7.43:";;
+     short | recursive ) echo "Configuration of Wine 1.7.44:";;
    esac
   cat <<\_ACEOF
 
@@ -2301,7 +2301,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Wine configure 1.7.43
+Wine configure 1.7.44
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2819,7 +2819,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.43, which was
+It was created by Wine $as_me 1.7.44, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -18508,7 +18508,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.43, which was
+This file was extended by Wine $as_me 1.7.44, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -18579,7 +18579,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.43
+Wine config.status 1.7.44
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
