diff --git a/ANNOUNCE b/ANNOUNCE
index b1d077e..2493e44 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,16 +1,16 @@
-The Wine development release 1.5.22 is now available.
+The Wine development release 1.5.23 is now available.
 
 What's new in this release (see below for details):
-  - New version of the Gecko engine.
-  - Beginnings of the Mac graphics driver.
-  - Support for ARM64 platforms.
-  - Fixes for RTL text in Uniscribe.
+  - HTTPS support no longer dependent on OpenSSL.
+  - Support for event handling in the Mac driver.
+  - A functional Netstat built-in application.
+  - A bunch of C++ runtime math functions.
   - Various bug fixes.
 
 The source is available from the following locations:
 
-  http://prdownloads.sourceforge.net/wine/wine-1.5.22.tar.bz2
-  http://mirrors.ibiblio.org/wine/source/1.5/wine-1.5.22.tar.bz2
+  http://prdownloads.sourceforge.net/wine/wine-1.5.23.tar.bz2
+  http://mirrors.ibiblio.org/wine/source/1.5/wine-1.5.23.tar.bz2
 
 Binary packages for various distributions will be available from:
 
@@ -26,488 +26,406 @@
 
 ----------------------------------------------------------------
 
-Bugs fixed in 1.5.22 (total 50):
+Bugs fixed in 1.5.23 (total 57):
 
-   8292  RemoveFontResourceEx not implemented - certain games go into infinite loop (Fifa Manager 2007, Neuro Hunter, Prince of Persia 3D)
-  14775  Visere fails to run
-  15672  getpagesize() is deprecated, sysconf(_SC_PAGE_SIZE) should be used instead
-  16371  Evernote treeview icons black
-  16942  Call of Duty 5: World at war has no sound (no FLOAT support in DSound)
-  20699  TeamViewer 3 - characters repeat in the chat window
-  21370  TeamViewer: Minor drawing error: background offset by 1 pixel
-  21440  Teamviewer: crashes before starting remote connection
-  22078  Icon error in tree windows of CSPRO 4.0
-  25023  StoneQuest crashes without d3dx9_25 that is supplied
-  25063  _pclose should wait for the command processor to terminate and return it's exit status
-  25292  Galcon Fusion: Steam overlays don't work in the game
-  25898  World of Tanks: Menu buttons disappear
-  26941  No tab shown under treelist on CSPRO 4
-  27806  fopen() CRT functions should recognize the unicode encoding modifier in mode string (CCS=xxx)
-  28715  msvcrt/locale.ok triggers uninitialised read in MSVCRT__create_locale
-  28743  Pathologic fails to start: 'Error creating renderer'
-  28929  Sins of a solar empire Trinity requires D3DXCreateVolumeTextureFromFileW
-  29396  Artrage starter fail to start
-  29731  Corrupted 3d overlay graphics in Temple of Elemental Evil.
-  31286  Visual Studio 2005 Trial needs atl80.dll.AtlWaitWithMessageLoop when using "Server Explorer"
-  31749  King's Bounty: The Legend crashes when the spell "Poison Skull" is cast in combat
-  31887  QQDownload crash at start
-  32016  QuickTime Player 7.7.1 crashes on exit
-  32340  View NX2 does not launch
-  32364  CMDcenter: 'Run-time error '445': Object doesn't support this action' when opening a form
-  32447  GetFileVersion is unimplemented
-  32485  1nsane: graphical issues when 'skid marks' enabled
-  32513  PPTV needs unimplemented atl100.dll.AtlGetObjectSourceInterface
-  32519  Civilization V: water rendering issue with built-in d3dx9_36
-  32526  Darksiders crashes on start without native d3dx9_36
-  32535  Microsoft SQL Server Management Studio Express 2008 installer fails due to unimplemented function msi.dll.MsiQueryFeatureStateExW
-  32546  cmd: crash when dividing by zero in 'set /a'
-  32549  Visual Studio 2010 (10.0) Express Edition needs windowscodecs ComponentFactory_CreateBitmapFromMemory impl
-  32561  Visual Studio 2010 (10.0) Express Edition needs windowscodecs ComponentFactory_CreateBitmapFromHICON impl
-  32573  Torchlight fails to start due to corrupted local_settings.txt (CSS=unicode)
-  32659  Saxobank Trader litClientStation2 needs TimeZoneInformation registry entries (HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation)
-  32685  Batman: Arkham Asylum Demo doesn't launch
-  32687  Win7 psdk fails to install: "SDKSetup encountered an error: Parameter is not valid."
-  32691  VisualDSP setup fails when registering application files
-  32693  The installer for Medieval: Total War crashes on second disc
-  32698  Elven Legacy crashes during the tutorial mission, needs msvcp80.dll.??$arg@M@std@@YAMABV?$complex@M@0@@Z (purist)
-  32702  The Incredible Machine Contraptions & Even More Contraptions Crash
-  32704  Batman: Arkham Asylum Demo needs wmiutils path_GetClassName()
-  32708  Post Mortem crashes on start with built-in msvcrt
-  32716  Batman: Arkham Asylum Demo needs wmiutils path_GetInfo()
-  32727  Batman: Arkham Asylum Demo needs wmiutils path_SetServer()
-  32729  Morrowind crashes before loading a game
-  32733  Disciples: Sacred Lands crashes on start
-  32737  Batman: Arkham Asylum Demo needs wmiutils path_RemoveAllNamespaces
+   7710  QueryPerformanceCounter should be independent of system time
+   9952  Sketch Studio shows corrupt cursor
+  13417  FlashFXP - No mouse support systemwide if window is open
+  16476  Turok crashes when starting a game
+  16689  winefile: array size is smaller than minimum required
+  17226  SimTower crashes on dereferencing 0xffffffff on attempting to save in SimTower
+  17990  Battleships forever video is offset
+  19773  Largo Winch: mostly black screen
+  19796  Galactic Civilizations II: Crash after menu screen
+  19799  Native cscript crashes if you call WScript.Arguments(0).  Breaks Chromium build setup.
+  20889  In Quake 3 Arena Main Menu one mouse click is taken as two
+  21119  realMYST v1.1.1 [ENGLISH] No-CD/Vista Fixed EXE: Page fault and debug err
+  21943  GetCharABCWidthsI does not return correct widths when handling a DC with dc->gdiFont == null
+  22812  mt creates corrupted executables
+  23121  Iometer 2006.07.27 displays error messages on start (dogfood)
+  23215  4x4 Evo 2: Pagefault on second launch of game
+  23414  Text is italicized in Mozilla Firefox 3.6.6
+  23501  ATEN KVM WinClient did not start
+  25010  radmin fast search halfworking.
+  25082  radmin: right mouse key drag'n'drop not working
+  25222  Football Manager 2011 fails to load with 3d enabled
+  25599  Editing Word 2000 drawing object does not work
+  26530  Frogger: 3D models not rendering correctly/Only shadows
+  27991  LsaLookupNames2 separate allocations break .NET 4.0 System.Security subsystem and leak returned buffer data
+  28343  UFO: Extraterrestrials Gold - crash at start unless native d3dx9_26 (or d3dx_36) is used
+  28530  Asami Sushi Shop hangs when switching to windowed mode
+  28666  Spa Mania: Read from NULL when toggling fullscreen mode
+  29822  winebuild should use Clang to assemble if Clang is used to compile
+  29936  Java Quick Starter service chews CPU
+  30119  ThunderMini crash after a while.
+  30514  RonyaSoft Poster Designer (Poster Forge) 2.x installer crashes during installation of fonts due to unimplemented function gdi32.dll.GetFontResourceInfoW
+  31280  Right-clicking a listview in a dotnet application doesn't open the context menu
+  31343  Steam: Steam is significantly slower in 1.5.x
+  32123  Outlook 2010 crashes in versions newer than 1.5.14
+  32404  Ocean Dive demo launcher shows garbage when window loses focus
+  32504  QQPCDetector.exe from installer of QQMusic 2012 beta2 crashes
+  32564  Visual Studio 2010 (10.0) Express Edition needs atl100.dll.AtlAxDialogBoxW
+  32706  No sound with foobar2000: Unknown error code (0x80070057)
+  32718  Crash on call to SHELL32.dll.709 (SHGetSetFolderCustomSettings)
+  32739  TDXW crashes when the window is resized
+  32744  Batman: Arkham Asylum Demo "err:wbemprox:wql_error syntax error, unexpected $end, expecting TK_ID"
+  32746  TurboTax 2012 installer fails
+  32750  Batman: Arkham Asylum Demo wants wbemprox:class_object_GetPropertyQualifierSet
+  32763  Regression in wbemprox - rFactor 2 launcher - Unhandled page fault
+  32764  STEP7_Lite_V30_incl_SP4 installation crashed
+  32776  Crashes in Legacy 5 resulting in its database being corrupted
+  32779  RegOpenKeyExA fails on 64bit wine when build with lazarus (fpc 2.6 - 64bit)
+  32788  Batman: Arkham Asylum Demo - GetObject gets an empty string
+  32799  err:d3d:check_fbo_compat
+  32806  Freight Tycoon crashes while loading to the menu (with built-in msvcr71)
+  32807  installer of PPTV: needs unimplemented atl100.dll.AtlGetPerUserRegistration
+  32812  Hard Truck Apocalypse crashes on start with built-in msvcp71
+  32819  Max Payne 1 crashes when loading certain level
+  32824  Dota 2 graphics missing without texture copy in check_fbo_compat()
+  32840  Mouse input regression caused by changes in GetTickCount64
+  32847  Microsoft Expression Design 4 (Free Version) installer needs windowscodecs IcoFrameDecode_GetThumbnail impl
+  32853  Microsoft Expression Design 4 (Free Version) installer fails while trying to check for msi.dll file version (MsiGetFileVersion)
 
 ----------------------------------------------------------------
 
-Changes since 1.5.21:
+Changes since 1.5.22:
 
-Akihiro Sagawa (1):
-      po: Update Japanese translation.
+Alex Henrie (1):
+      advapi32: Destination length -1 means no limit.
 
-Alexandre Julliard (32):
-      configure: Cope with sys/un.h requiring sys/socket.h.
-      configure: Allow pthread_create to be in the C library.
-      winedbg: Use an if instead of a switch in case some float types have the same size.
-      ntdll: Make the page_size variable global.
-      krnl386.exe: Retrieve the page size from ntdll.
-      vmm.vxd: Hardcode the x86 page size.
-      winedevice: Retrieve the page size from ntdll.
-      kernel32: Retrieve the system info from ntdll on startup.
-      dbghelp: Use sysconf() instead of getpagesize().
-      server: Use sysconf() instead of getpagesize().
-      libwine: Use sysconf() instead of getpagesize().
-      configure: Get rid of the check for getpagesize.
-      configure: Get rid of the check for strings.h.
-      make_makefiles: Add support for Objective-C sources.
-      configure: Try readelf before ldd to determine a library soname.
-      msvcrt: Fix incorrect use of the system wctomb function.
-      gdi32: Avoid creating a family object just to retrieve the font data.
-      gdi32: Add ref counting to the face and family objects.
-      gdi32: Store the full flags in the face object, and add a flag for fonts added through AddFontResource.
-      gdi32: Store the vertical flag together with the other font flags.
-      gdi32: Add helper functions to compute font paths for AddFontResource.
-      gdi32: Keep the main font cache key open.
-      gdi32: Implement RemoveFontResource.
-      gdi32: Add support for .fot files in RemoveFontResource.
-      gdi32: Support for hidden flag of CreateScalableFontResource.
-      gdi32: Initialize fontconfig even when fonts are cached.
-      libport: Implemented the interlocked_cmpxchg128 function for ARM64.
-      libport: Always include the interlocked_cmpxchg128 fallback.
-      winex11: Check the bpp instead of the depth in the R8G8B8 format test.
-      winex11: Fallback to the standard cursor font when XCursor is missing.
-      d3dx9_36/tests: Remove useless casts.
-      fusion: Remove an unneeded file.
+Alexandre Julliard (20):
+      winapi: Add arm64 architecture.
+      loader: Hardcode Linux syscall numbers.
+      libwine: Hardcode Linux syscall numbers.
+      ntdll: Use the __NR_ names for Linux system calls.
+      server: Use the __NR_ names for Linux system calls.
+      gdi32: Fix copy/paste typo in get_char_positions_indices.
+      winex11: Store the client window in the window data again, now that it can be accessed from all threads.
+      winex11: Handle Expose events on top-level client windows.
+      rpcrt4: Fix wrap-around bug in tick count comparison.
+      ole32: Fix wrap-around bug in tick count comparison.
+      netapi32: Fix wrap-around bug in tick count comparison.
+      wbemprox: Don't rely on GetTicksCount to determine boot time.
+      advapi32/tests: Fix another test failure.
+      ntdll: Use a monotonic time counter to implement NtQueryPerformanceCounter.
+      ntdll: Add support for the monotonic time counter on Mac OS X.
+      ntdll: Use the monotonic counter for NtGetTickCount.
+      kernel32: Use the monotonic counter in GetTickCount64.
+      kernel32: We no longer need the server start time in kernel32.
+      urlmon/tests: Avoid infinite timeouts in tests.
+      server: Use the monotonic time counter also on the server side.
 
-Andrew Eikum (1):
-      ieframe: Strip 'file://' from file URLs in BEFORENAVIGATE2 callbacks.
+Andrew Eikum (2):
+      ieframe/tests: Don't convert to long path name until the file exists.
+      wineoss.drv: Set reasonable defaults if driver reports invalid values.
 
-Andrew Talbot (9):
-      ddraw: Avoid signed-unsigned integer comparisons.
-      dinput: Avoid signed-unsigned integer comparisons.
-      dbghelp: Avoid signed-unsigned integer comparisons.
-      dsound: Avoid signed-unsigned integer comparisons.
-      dmusic: Avoid signed-unsigned integer comparisons.
-      dmstyle: Avoid signed-unsigned integer comparisons.
-      gdi.exe16: Avoid signed-unsigned integer comparisons.
-      fusion: Avoid signed-unsigned integer comparisons.
-      explorerframe: Avoid signed-unsigned integer comparisons.
+Andrew Talbot (4):
+      gdi32: Avoid signed-unsigned integer comparisons.
+      gdiplus: Avoid signed-unsigned integer comparisons.
+      hhctrl.ocx: Avoid signed-unsigned integer comparisons.
+      gphoto2.ds: Avoid signed-unsigned integer comparisons.
 
-André Hentschel (22):
-      winedbg: Add shifted register dataprocessing operators to Thumb2 disassembler.
-      winedbg: Use a switch-case style implementation in thumb2_disasm_dataprocessing.
-      ipconfig: Distinguish between IPv4 and IPv6 addresses.
-      netstat: Implement -a option.
-      netstat: Don't translate strings only translated in German.
-      netstat: Implement -e option.
-      tools: Upgrade the config.guess/config.sub scripts.
-      include: Add ARM64 endianness.
-      libwine: Implemented the wine_call_on_stack function for ARM64.
-      libport: Implemented the interlocked_cmpxchg128 function for ARM64.
-      winebuild: Add ARM64 support.
-      winegcc: Add ARM64 support.
-      widl: Add ARM64 support.
-      wrc: Add ARM64 support.
-      include: Add ARM64 context.
-      server: Add ARM64 support.
-      ntdll: Add ARM64 signal handling.
-      ntdll: Add ARM64 cpu info.
-      kernel32/tests: Add ARM64 support.
-      dbghelp: Add ARM64 support.
-      winedbg: Add ARM64 support.
-      winetest: Add ARM64 support.
+André Hentschel (9):
+      include: Fix __int64 definition for ARM64.
+      include: Make sure interlocked_cmpxchg128 is defined on ARM64.
+      ntdll: Implement IMAGE_REL_BASED_THUMB_MOV32 relocation on ARM.
+      netstat: Implement the TCP stats output.
+      netstat: Implement the UDP stats output.
+      configure: Add ARM64 define.
+      dbghelp: Implement rudimentary stack walk for ARM64.
+      dbghelp: Remove useless code in ARM stack walk.
+      include: Add remaining checks for ARM64.
 
-Aric Stewart (6):
-      usp10: Correct issues if a feature tag is duplicated between GSUB and GPOS.
-      usp10: Add GSUB ccmp feature to Hebrew.
-      usp10: Implement GPOS MarkToLigature Attachment Positioning Subtable.
-      ups10: Mark to Base, Mark and Ligature are not cumulative offsets.
-      usp10: Implement GPOS Cursive Attachment Positioning Subtable.
-      usp10: MarkToMark calculations may need to happen even if the offset is 0.
+Aric Stewart (7):
+      usp10: Group the GDEF table loading with the other opentype tables.
+      usp10: GPOS Mark to Base seeks back in the string to the first glyph that is not a mark for its base.
+      usp10: Add locl and ccmp to Latin features.
+      usp10: Only fall back to latin features if the base script tag is not found at all.
+      usp10: Add ShapeCharGlyphProp_Latin to properly handle zero width character properties for Latin.
+      usp10: Add ShapeCharGlyphProp and ContextualShape for Control characters.
+      usp10: Do not apply SSA_LINK to right to left text.
 
-Aurimas Fišeras (2):
-      po: Update Lithuanian translation.
+Aurimas Fišeras (1):
       po: Update Lithuanian translation.
 
-Austin English (3):
-      include: Add D3D_DRIVER_TYPE to d3dcommon.idl.
-      wine.inf: Add HKLM, System\CurrentControlSet\Control\TimeZoneInformation\{StandardName, TimeZoneKeyName} registry keys.
-      shell32: Add a stub for SHGetSetFolderCustomSettings.
+Austin English (1):
+      include: Flesh out d3d11.idl.
 
-Bruno Jesus (1):
-      ws2_32/tests: Add SO_ERROR [set|get]sockopt tests.
+Charles Davis (1):
+      winebuild: Use Clang to assemble if found.
 
-Charles Davis (2):
-      kernel32: Make CopyFile() call CopyFileEx() instead of the other way around.
-      kernel32: Make CopyFile(Ex)() succeed even if the source file is delete-locked.
+Christian Costa (4):
+      d3dx9_36: Fill children info into ID3DXFileData object.
+      dmusic: Add support for loading articulations.
+      d3dx9_36: Implement ID3DXFileData_GetChildren and ID3DXFileData_GetChild.
+      d3dx9_36: Implement ID3DXFileDataImpl_IsReference.
 
-Christian Costa (14):
-      d3drm: Avoid LP stuff and rename some variables.
-      d3dx9_36: Add support for RT_BITMAP resource type since it is in DIB format D3DXIFF_DIB.
-      d3dx9_36: Implement partially ID3DXFileImpl_CreateEnumObject with stubbed ID3DXFileEnumObject interface.
-      d3drm: Avoid LP stuff and rename some variables.
-      d3dx9_36: Finish implementation of ID3DXFileImpl_CreateEnumObject and add stubbed interface for ID3DXFileData.
-      dmusic: COM cleanup of IDirectMusicDownload.
-      d3dx9_36: Implement ID3DXFileEnumObjectImpl_GetChildren and ID3DXFileEnumObjectImpl_GetChild.
-      d3dx9_36: Implement ID3DXFileDataImpl_GetType.
-      d3dx9_36: Implement ID3DXFileDataImpl_GetName.
-      d3dx9_36: Implement ID3DXFileDataImpl_GetId.
-      winealsa.drv: Fix F0 and F7 byte insertion + memory leak and remove LP stuff in modLongData.
-      d3dx9_36: Initialize properly object in CreateEnumObject.
-      d3dx9_36: Implement ID3DXFileDataImpl_Lock and ID3DXFileDataImpl_Unlock + tests.
-      d3dx9_36: Make variables static in xfile tests.
+Detlef Riekenberg (3):
+      wininet: Fix a test failure on w2k.
+      wininet: Remove most GetLastError tests for IsDomainLegalCookieDomainW.
+      wininet: Don't depend on user settings.
 
-Damjan Jovanovic (7):
-      shell32: Fix non-BOOL returns in BOOL functions.
-      qcap: Use libv4l1.h when available, instead of linux/videodev.h which is deprecated/obsolete.
-      strmbase: Store and use the chosen IMemAllocator instead of getting it from the input pin.
-      qcap: Use the BaseOutputPin's IMemAllocator.
-      winegstreamer: return the IMemAllocator so the BaseOutputPin can store it and use it, avoiding a NULL pointer crash.
-      Return the IMemAllocator so the BaseOutputPin can store it and use it, avoiding a NULL pointer crash.
-      quartz: return the IMemAllocator so the BaseOutputPin can store it and use it, avoiding a NULL pointer crash.
-
-Daniel Jelinski (6):
-      comctl32/listview: Fix calculating item height.
-      comctl32/listview: Redraw items after insert/delete.
-      comctl32/listview: Update item height when changing font.
-      comctl32/listview: Fix subitem drawing.
-      comctl32/listview: Support header images.
-      comctl32/tests: Add tests for listview header image list.
-
-Detlef Riekenberg (2):
-      include: Add definitions for SHGetStockIconInfo.
-      ntdll/tests: Fix SYSTEM_CACHE_INFORMATION failures.
-
-Dmitry Timoshkov (13):
-      windowscodecs: Add a test for loading a .bmp file with BITMAPINFOHEADER.
-      windowscodecs: BMP decoder should always return valid image resolution.
-      windowscodecs: Add a test for CreateBitmapFromHICON.
-      wineps.drv: Default page dimensions are part of DEVMODE, remove an old hack.
-      wineps.drv: Don't cast away 'const' from DEVMODE provided as input.
-      windowscodecs: Implement CreateBitmapFromHICON.
-      qcap: Fix compilation on older systems.
-      windowscodecs: Fix reading the mask bits in CreateBitmapFromHICON.
-      gdiplus: Fix reading the mask bits in GdipCreateBitmapFromHICON.
-      gdiplus: Avoid not necessary memory allocation for palette entries.
+Dmitry Timoshkov (4):
+      gdiplus: Make GdipCreateFromHDC2 not fail in case of hDevice != NULL.
+      dwrite: Avoid triggering an exception on DLL_PROCESS_DETACH.
       gdiplus: Avoid not necessary memory allocation for BITMAPINFO.
-      gdiplus: Avoid not necessary memory allocation in GdipCreateBitmapFromHICON.
-      windowscodecs: Add a test for CreateBitmapFromHBITMAP.
+      windowscodecs: Implement GetThumbnail in the ICO frame decoder.
 
-Eric Pouech (1):
-      Various background processes must be launched detached from current console (if any).
+Erich Hoover (5):
+      advapi32: Fix intermittent 64-bit test failure.
+      advapi32: Support service objects in SetSecurityInfo.
+      advapi32: Make an internal routine for [Get|Set]SecurityInfo file objects.
+      advapi32: Support service objects in GetNamedSecurityInfo.
+      advapi32: Support service objects in SetNamedSecurityInfo.
 
-Francois Gouget (5):
-      msvcrt/tests: Add a trailing '\n' to a win_skip() call.
+Francois Gouget (4):
+      winmm/tests: Allow more margin in the test_asyncWAVE() playback check.
+      wined3d: Make device_stream_info_from_declaration() static.
+      wined3d: debug_{d3dbasis, d3ddegree}() are not used anymore so remove them.
       Assorted spelling fixes.
-      netstat: Fix compilation on systems that don't support nameless unions.
-      urlmon: Fix the message warning about installing ActiveX components.
-      d3dx9_36: Make error_dxfile_to_d3dxfile() and test_templates() static.
 
 Frédéric Delanoy (1):
       po: Update French translation.
 
-Hans Leidekker (18):
-      msi: Extend registry helpers to support opening the features key for a specific user.
-      msi: Implement MsiQueryFeatureStateExA/W.
-      wbemprox: Both signature parameters are optional in IWbemClassObject::GetMethod.
-      wbemprox: Implement Win32_Process::GetOwner.
-      ws2_32: Set SO_REUSEPORT in addition to SO_REUSEADDR on MacOS.
-      wmiutils: Implement IWbemPath::GetClassName.
-      wmiutils: Implement IWbemPath::GetServer.
-      wmiutils: Implement IWbemPath::GetInfo.
-      advapi32: Improve the stub for CreateRestrictedToken.
-      wmiutils: Implement IWbemPath::SetServer.
-      wmiutils: Implement IWbemPath::SetClassName.
-      wmiutils: Implement IWbemPath::GetNamespaceAt.
-      wmiutils: Implement IWbemPath::RemoveAllNamespaces.
-      wmiutils: Implement IWbemPath::RemoveNamespaceAt.
-      wmiutils: Implement IWbemPath::SetNamespaceAt.
-      wbemprox: Reject empty queries.
-      fusion: No longer prefer native.
-      wmiutils: Add locking to the path object.
+Gerald Pfeifer (1):
+      winex11: Push down variable attrib down in create_gl_drawable.
 
-Henri Verbeet (50):
-      ddraw: Avoid LPD3DVIEWPORT2.
-      ddraw: Avoid LPD3DVIEWPORT7.
-      wined3d: Remove a redundant condition in the indexbuffer() state handler.
-      wined3d: Get rid of the user_stream field from wined3d_state.
-      ddraw: Get rid of some redundant code in IDirect3DImpl_GetCaps().
-      ddraw: Avoid LPD3DTRANSFORMDATA.
-      ddraw: Avoid LPD3DLIGHTINGELEMENT.
-      ddraw: Cleanup ddraw7_QueryInterface() a bit.
-      d3d8/tests: Merge d3d8_main.c into device.c.
-      d3d8/tests: Merge volume.c into device.c.
-      ddraw: Avoid LPD3DMATERIAL.
-      ddraw: Avoid LPD3DMATERIAL7.
-      d3d8/tests: Merge buffer.c into device.c.
-      d3d8/tests: Merge texture.c into device.c.
-      d3d8/tests: Merge surface.c into device.c.
-      ddraw: Avoid LPD3DLIGHT.
-      ddraw: Avoid LPD3DLIGHT7.
-      d3d9/tests: Merge volume.c into device.c.
-      d3d9/tests: Merge buffer.c into device.c.
-      d3d9/tests: Merge query.c into device.c.
-      ddraw: Avoid LPD3DLIGHT2.
-      ddraw: Avoid LPD3DLIGHTDATA.
-      d3d9/tests: Merge shader.c into device.c.
-      d3d9/tests: Merge texture.c into device.c.
-      d3d9/tests: Merge surface.c into device.c.
-      ddraw: Avoid LPD3DINSTRUCTION.
-      ddraw: Avoid LPD3DPICKRECORD.
-      ddraw: Only check dwFlags if we actually have a D3DLIGHT2 structure in d3d_light_SetLight().
-      ddraw: Get rid of dump_light().
-      ddraw: Explicitly create a wined3d object without 3D capabilities when creating a normal wined3d object fails.
-      ddraw: Avoid LPD3DSTATE.
-      ddraw: Avoid LPD3DPROCESSVERTICES.
-      ddraw: Add a small tests for SetCooperativeLevel() calls with different windows.
-      ddraw: Only modify the ddraw destination window at the end of ddraw7_SetCooperativeLevel().
-      ddraw: Get rid of the local "window" variable in ddraw7_SetCooperativeLevel().
-      ddraw: Avoid LPD3DTRIANGLE.
-      ddraw: Avoid LPD3DBRANCH.
-      wined3d: Initialize the various backends in wined3d_adapter_init_nogl() as well.
-      ddraw: Update DefaultSurfaceType if we had to fallback to a wined3d object without 3D support.
-      wined3d: Get rid of the surface_type parameter to wined3d_swapchain_create().
-      ddraw: Avoid LPD3DSTATUS.
-      ddraw: Avoid LPD3DCLIPSTATUS.
-      wined3d: Get rid of the surface_type parameter to wined3d_surface_create().
-      wined3d: Get rid of the surface_type parameter to wined3d_check_device_format().
-      wined3d: Get rid of the "opengl" field in struct wined3d_adapter.
-      ddraw: Avoid LPD3DSTATS.
-      ddraw: Avoid LPD3DEXECUTEDATA.
-      wined3d: Introduce a separate function for intializing the adapter's framebuffer configs.
-      wined3d: Replace InitAdapters() with a function to initialize a single adapter.
-      wined3d: Get rid of vs_selected_mode / ps_selected_mode from struct wined3d_device.
+Hans Leidekker (16):
+      msi: Set the OriginalDatabase property after applying transforms, not before.
+      msi: Execute concurrent installers in a separate process.
+      msi: Remove const from integer parameters.
+      wbemprox: Implement Win32_DiskDrive.DeviceId.
+      wbemprox: Add a stub implementation of IWbemQualifierSet.
+      wbemprox: Check the result count instead of the result pointer in get_propval.
+      wbemprox: Implement IWbemQualifierSet::Get.
+      wbemprox: Return an empty object if the path is NULL or empty.
+      wbemprox: Don't fail if there are less objects than asked for in IEnumWbemClassObject::Next.
+      wbemprox: Implement Win32_VideoController.PNPDeviceID.
+      wbemprox: Build a PNP device ID that better matches the graphics card.
+      msi: Avoid a crash in msi_dialog_handle_event.
+      msi: Set _BrowseProperty to INSTALLDIR.
+      msi: Don't fail if the directory already exists in MsiCreateAndVerifyInstallerDirectory.
+      msi: Fix the return value of MsiGetFileVersion for some corner cases.
+      msi: Improve parsing of the supported platforms string.
 
-Huw Davies (10):
-      usp10: Simplify the offset calculation by always using ETO_PDY.
-      usp10: Simplify the reordering of glyphs.
-      usp10: Handle an offset of the first glyph.
-      usp10: Fix the offset calculations for rtl display.
-      usp10: Don't invert the y-offsets in RTL mode.
-      usp10: Propagate the script analysis to the GPOS lookup functions.
-      usp10: Fix MarkToBase offset for RTL text.
-      usp10: Don't compute a pair adjustment for the last glyph.
-      usp10: Fix pair adjustment for RTL text.
-      usp10: Fix MarkToMark offset for RTL text.
+Henri Verbeet (30):
+      ddraw: Avoid LPD3DVERTEXBUFFERDESC.
+      ddraw: Avoid LPD3DDRAWPRIMITIVESTRIDEDDATA.
+      wined3d: Get rid of the select_shader_mode() call in wined3d_get_device_caps().
+      wined3d: Move "ffp_proj_control" to the fragment caps.
+      wined3d: Move "vs_clipping" to the shader caps.
+      d3drm: Avoid LPD3DRECT.
+      d3drm: Avoid LPDDPIXELFORMAT.
+      wined3d: Add sRGB writes to the shader backend and fragment pipe caps.
+      wined3d: Properly set WINED3DFMT_FLAG_SRGB_WRITE in init_format_texture_info().
+      wined3d: Get rid of CheckSrgbReadCapability().
+      d3drm: Avoid LPD3DVALUE.
+      d3drm: Avoid LPD3DVECTOR.
+      wined3d: Get rid of select_shader_mode().
+      wined3d: Properly set WINED3DFMT_FLAG_FILTERING in init_format_texture_info().
+      wined3d: Get rid of CheckFilterCapability().
+      d3drm: Avoid LPD3DRMQUATERNION.
+      d3drm: Avoid LPD3DRMRAY.
+      wined3d: Properly set WINED3DFMT_FLAG_VTF in init_format_texture_info().
+      wined3d: Get rid of CheckPostPixelShaderBlendingCapability().
+      wined3d: Get rid of CheckWrapAndMipCapability().
+      d3drm: Avoid LPD3DRMBOX.
+      d3drm: Avoid LPD3DRMRENDERQUALITY.
+      wined3d: Support all fixups in shader_none_color_fixup_supported().
+      wined3d: Replace "VertexShaderMode" and "PixelShaderMode" with shader model limits.
+      wined3d: Get rid of a superfluous texture copy in check_fbo_compat().
+      d3drm: Avoid LPD3DRMIMAGE.
+      d3drm: Avoid LPD3DRMMATERIALOVERRIDE.
+      wined3d: Introduce a format flag for texturing.
+      wined3d: Get rid of CheckTextureCapability().
+      wined3d: Get rid of CheckBumpMapCapability().
 
-Jacek Caban (26):
-      mshtml: Added IHTMLStyle::get_pixelLeft implementation.
-      mshtml: Added IHTMLStyle::put_pixelLeft implementation.
-      mshtml: Fixed leak in get_nsstyle_pos.
-      wininet: Fixed handling NULL buffer in INTERNET_OPTION_PROXY queries.
-      vbscript: Added support for a few more constants.
-      mshtml: Wine Gecko 1.9 release.
-      atl80: Skip NULL map entries in AtlComModuleRegisterServer.
-      atl100: Added AtlWaitWithMessageLoop implementation.
-      mshtml: Added support for non-integer values in get_nsstyle_pixel_val.
-      atl100: Added AtlComModuleUnregisterServer implementation.
-      vbscript: Added support for more constants.
-      atl100: Added AtlGetObjectSourceInterface implementation.
-      atl100: Added AtlGetObjectSourceInterface tests.
-      atl100: Don't leak TLIBATTR in AtlComModuleUnregisterServer.
-      mshtml: Don't check if script element was already parsed in doc_insert_script.
-      mshtml: Added IHTMLScriptElement::put_text implementation.
-      mshtml: Added IHTMLScriptElement::put_text tests.
-      mshtml: Remove duplicated property entries in preprocess_dispex_data.
-      atl100: Added stubs for AtlAxDialogBox[AW].
-      mshtml: Added support for DOCUMENT_TYPE_NODE in nsnode_to_nsstring_rec.
-      mshtml: Treat doctype nodes as comment nodes.
-      mshtml: Don't use PRInt32 in nsio.c.
-      mshtml: Don't use PRInt32 in htmlelem*.
-      mshtml: Don't use PRInt32 in property getters implementations.
-      mshtml: Get rid of remaining PRInt32 usage.
-      mshtml: Get rid of PRInt16 type.
+Huw Davies (12):
+      riched20: Avoid an unnecessary string duplication.
+      wineps: Use a file mapping to read the ppd file.
+      wineps: Cope with '\r'-only end-of-line markers.
+      riched20: Simplify adding the undo items when joining paragraphs.
+      riched20: Move undo handling to a different set of structs as the display item structs are not a good fit.
+      riched20: Add a paragraph ptr to each run.
+      riched20: Add a helper to debug the run text.
+      riched20: Add a helper to retrieve the run text.
+      riched20: Rewrite the run splittable test to take a run parameter.
+      riched20: Rewrite the run whitespace test to take a run parameter.
+      riched20: Use the get_text helper in a few more places.
+      riched20: Add an explicit run length member and use it rather than accessing the string length.
 
-Jason Edmeades (2):
-      cmd: Avoid division by zero in set /a with %.
-      cmd: Add beginnings of support for delayed expansion.
+Jacek Caban (41):
+      secur32: Return a cert context with context store in SECPKG_ATTR_REMOTE_CERT_CONTEXT GnuTLS implementation.
+      secur32: Return a cert context with context store in SECPKG_ATTR_REMOTE_CERT_CONTEXT MacOSX implementation.
+      secur32: Added SECPKG_ATTR_REMOTE_CERT_CONTEXT tests.
+      mshtml: Get rid of PTInt64 type.
+      mshtml: Get rid of PRUint8 type.
+      mshtml: Get rid of PRUint16 type.
+      mshtml: Get rid of PRUint32 outside XPCOM C API.
+      mshtml: Get rid of PRUint64 type.
+      winhttp: Test that the data is really read in test_secure_connection.
+      winhttp: Enable more OpenSSL-independent code when OpenSSL is not available.
+      winhttp: Use schannel in netconn_secure_connect if OpenSSL is not available.
+      winhttp: Added schannel-based netconn_recv implementation.
+      winhttp: Added schannel-based netconn_send implementation.
+      winhttp: Added schannel-based netconn_get_certificate implementation.
+      winhttp: Added schannel-based netconn_get_cipher_strength implementation.
+      winhttp: Use schannel for HTTPS connection by defaul and get rid of OpenSSL dependency.
+      vbscript: Added GetObject implementation.
+      vbscript: Added GetObject tests.
+      ieframe/tests: Fixed a race in tests.
+      d3dcompiler.h: Added D3DCOMPILER_DLL macro.
+      atl100: Added AtlGetPerUserRegistration stub implementation.
+      wininet: Moved WORKREQUEST allocation to INTERNET_AsyncCall callers.
+      wininet: Moved WORKREQ_HTTPSENDREQUESTW out of WORKREQUEST.
+      wininet: Moved WORKREQ_INTERNETOPENURLW out of WORKREQUEST.
+      wininet: Moved WORKREQ_HTTPREADFILEEX out of WORKREQUEST.
+      textstor.idl: Added TS_ATTR_FIND_* constants.
+      wininet: Moved WORKREQ_HTTPENDREQUESTW out of WORKREQUEST.
+      wininet: Moved WORKREQ_SENDCALLBACK out of WORKREQUEST.
+      wininet: Moved WORKREQ_FTPPUTFILEW out of WORKREQUEST.
+      wininet: Moved WORKREQ_FTPSETCURRENTDIRECTORYW out of WORKREQUEST.
+      wininet: Moved WORKREQ_FTPCREATEDIRECTORYW out of WORKREQUEST.
+      wininet: Moved WORKREQ_FTPREMOVEDIRECTORYW out of WORKREQUEST.
+      wininet: Moved WORKREQ_FTPGETFILEW out of WORKREQUEST.
+      wininet: Moved WORKREQ_FTPGETCURRENTDIRECTORYW out of WORKREQUEST.
+      wininet: Moved WORKREQ_FTPFINDFIRSTFILEW out of WORKREQUEST.
+      wininet: Moved WORKREQ_FTPOPENFILEW out of WORKREQUEST.
+      wininet: Moved WORKREQ_FTPRENAMEFILEW out of WORKREQUEST.
+      wininet: Moved WORKREQ_FTPFINDNEXTW out of WORKREQUEST.
+      wininet: Moved WORKREQ_FTPDELETEFILEW out of WORKREQUEST.
+      wininet: Get rid of WORKREQ* types.
+      ieframe: Use int resource ID for toolbar image.
 
-Julian Rüger (1):
-      po: Update German translation.
+Jörg Höhle (1):
+      winealsa: Have the MIDI recorder wait in poll(), not snd_seq_event_input().
 
-Ken Thomases (16):
-      winemac: Implement CreateDesktopWindow().
-      libwine: Call the Mac Multi-Processing Services lib from the main thread first.
-      loader: On Mac, embed Info.plist in (__TEXT, __info_plist) section.
-      winemac: Add a custom NSApplication subclass, WineApplication.
-      winemac: Convert main thread to Cocoa main loop on process attach.
-      winemac: Implement basic window functionality.
-      libwine: Use rpath-based install name and library references for libwine on Mac.
-      winemac: Implement support for WS_DISABLED windows.
-      winemac: Implement support for no-activate windows.
-      winemac: Implement support for WS_EX_TOPMOST windows.
-      winemac: Implement support for owned windows.
-      winemac: Translate presence in Windows task bar to participation in Exposé and window cycling.
-      winemac: Implement the Mac "Window" menu.
-      winemac: Implement window surface rendering.
-      winemac: Implement SetWindowRgn.
-      winemac: Implement layered windows: SetLayeredWindowAttributes() and UpdateLayeredWindow().
+Ken Thomases (14):
+      winemac: Add a simple ERR() logging macro that can be used from Cocoa code.
+      winemac: Add WineEventQueue class for conveying events from Cocoa to Wine threads.
+      winemac: Associate an event queue with each thread that creates windows and with each window.
+      winemac: Make each Mac driver window track the HWND it's associated with.
+      winemac: Implement MsgWaitForMultipleObjectsEx and infrastructure for processing events.
+      winemac: Implement a WINDOW_CLOSE_REQUESTED event to allow closing windows.
+      winemac: Implement WINDOW_FRAME_CHANGED event to tell Wine when window is moved or resized.
+      winemac: Add infrastructure to convert from Cocoa event time to Wine tick count.
+      winemac: Implement a MOUSE_BUTTON event for mouse clicks.
+      winemac: Take control over when a window can become focused away from Cocoa.
+      winemac: Maintain a list of which windows have been "key" (focused) recently.
+      winemac: Implement a WINDOW_GOT_FOCUS event for when Cocoa tries to focus a window.
+      winemac: Implement a WINDOW_LOST_FOCUS event.
+      winemac: Implement an APP_DEACTIVATED event.
 
-Lauri Kenttä (1):
-      po: Update Finnish translation.
+Ludger Sprenker (6):
+      windowscodecs: Add tests for IPropertyBag2.
+      windowscodecs: Implement ComponentFactory::CreateEncoderPropertyBag.
+      windowscodecs: Implement IPropertyBag2::CountProperties.
+      windowscodecs: Implement IPropertyBag2::GetPropertyInfo.
+      windowscodecs: Implement IPropertyBag2::Write.
+      windowscodecs: Implement IPropertyBag2::Read.
 
-Ludger Sprenker (4):
-      windowscodecs: Introduce 24bppRGB PixelFormat.
-      windowscodecs: Support conversions of the 24bpp PixelFormats.
-      windowscodecs: Test conversions of the 24bpp PixelFormats.
-      windowscodecs: Support 24bppRGB in tiff encoder.
+Maarten Lankhorst (1):
+      dbghelp: Add support for zlib compressed debug sections.
 
-Marcus Meissner (15):
-      oledb32: Avoid leaking propsets on error paths (Coverity).
-      advapi32: Close hTemp on error (Coverity).
-      winedbg: Free snapshot handle in error path (Coverity).
-      kernel32: Improve condition variable test case.
-      oledb32: Check start for NULL before strstrW (Coverity).
-      comctl32: Free the selection ranges (Coverity).
-      advpack: Avoid using sessions uninitialized (Coverity).
-      dmsynth: Remove now useless NULL ptr check (Coverity).
-      advapi32: Close scm_handle on error exit (Coverity).
-      dplayx: Check return of CoCreateInstance (Coverity).
-      dmloader: Check return of CoCreateInstance (Coverity).
-      oleaut32: Mark various symbols as hidden.
-      comctl32: Avoid leak of hShell32 (Coverity).
-      crypt32: Free the encoded msg (Coverity).
-      comctl32: Initialize SYSTEMTIME structs (Coverity).
+Marcus Meissner (3):
+      dmusic: Actually return the allocated interface (Coverity).
+      msvcrt: read_utf8: free readbuf on return (Coverity).
+      kernel32: Conditional variable tests.
 
-Michael Stefaniuc (2):
-      atl100: Fix a mem leak on an error path (Smatch).
-      winmm: Add missing LeaveCriticalSection on error paths (Smatch).
+Matteo Bruni (1):
+      wined3d: Rebind texture before checking for its content in check_fbo_compat().
 
-Nikolay Sivov (21):
-      xmllite: Implement PI parsing.
-      xmllite: Support streams starting with comments, simplify tests.
-      xmllite: Support name reporting for comments and PIs.
-      xmllite: Report node value for comment nodes.
-      xmllite: Report value for PI nodes.
-      xmllite: Explicitly set value and names to empty for xml decl node.
-      comctl32/listview: Fix focus index update when item is deleted.
-      comctl32/listview: Use LVM_SETITEMSTATE directly in tests.
-      comctl32/listview: Always send LVN_ITEMCHANGING notification even if nothing changed.
-      comctl32/listview: Add a special case for deselect all attempt when nothing is selected.
-      comctl32/listview: Update focus index when new item data is already there.
-      comctl32/listview: Remove some dead code.
-      xmllite: Add a stub function for DTD parsing.
-      xmllite: Support whitespace nodes reporting.
-      xmllite: Initial implementation of DTD external id parsing.
-      xmllite: Added IXmlResolver definition.
-      qmgr: COM cleanup of IBackgroundCopyJob2 interface.
-      qmgr: COM cleanup for IBackgroundCopyFile interface.
-      qmgr: Remove separate release helpers.
-      xmllite: Initial support for start tag parsing.
-      po: Update Russian translation.
+Michael Stefaniuc (10):
+      ws2_32: Use assignment instead of memcpy to copy structs.
+      d3dx9_36/tests: Use assignment instead of memcpy to copy a struct.
+      dinput: Use assignment instead of memcpy to copy a struct.
+      msvcrt/tests: Use assignment instead of memcpy to copy structs.
+      mscms: Use assignment instead of memcpy to copy structs.
+      crypt32: Use assignment instead of memcpy to copy a struct.
+      itss: Use assignment instead of memcpy to copy a struct.
+      mscoree: Use assignment instead of memcpy to copy a struct.
+      d3dcompiler_43: Use assignment instead of memcpy to copy structs.
+      wined3d: Use assignment instead of memcpy to copy structs.
 
-Piotr Caban (38):
-      msvcrt: Don't duplicate wfsopen functionality in wfrepopen.
-      msvcrt: Added support for unicode open mode in msvcrt_get_flags function.
-      msvcrt: Added support for unicode text mode in open functions family.
-      msvcrt: Call _wsopen_s function in _sopen_s.
-      msvcrt: Added fopen_s test with ccs option.
-      msvcrt: Added support for unicode mode in write function.
-      msvcrt: Added write tests on unicode files.
-      msvcrt: Fixed handling of '\r' when it's the last character in the buffer in read.
-      msvcrt: Call ftell function in fgetpos.
-      msvcrt: Simplify fseek implementation.
-      msvcrt: Improved ftell implementation.
-      msvcrt: Added unicode modes support _setmode function.
-      msvcrt: Added _setmode tests.
-      msvcrt: Added more read tests.
-      msvcrt: Added UTF16 support to read function.
-      msvcrt: Added UTF8 support to read function.
-      msvcrt: Added read tests on unicode files.
-      msvcrt: Make fputwc encoding aware.
-      msvcrt: Added fputwc tests.
-      msvcrt: Use fputwc to output characters to file in fprintf functions.
-      msvcrt: Don't add '\r' character in fputws function.
-      msvcrt: Fixed ftell behaviour when file is opened for writing in text mode.
-      msvcrt: Added fwprintf tests.
-      msvcrt: Be less strict while parsing file open mode in fopen function.
-      msvcp90: Added complex<{float, double, long double}> constructors implementation.
-      msvcp90: Added operators working on complex numbers.
-      msvcp90: Added basic complex numbers tests.
-      msvcp90: Added std::arg(complex) implementation.
-      tools: Update make_specfiles script.
-      msvcp70: Remove forwards to msvcp80.
-      cmd: Even if FindExecutable fails wait for process to finish in non-interactive mode.
-      msvcrt: Added support for commit flag in fopen.
-      msvcrt: Return child exit code in _pclose function.
-      msvcrt: Added basic _popen tests.
+Nikolay Sivov (14):
+      advapi32: Make it possible to free data buffer returned from LsaLookupSids().
+      advapi32: Fix LsaLookupNames2() regarding referenced domain list allocation.
+      xmllite: Add a name stack for elements.
+      xmllite: Handle empty elements and transition to content/misc part, update depth on push.
+      xmllite: Implement end tag parsing.
+      xmllite: Complete content parsing with implemented parts and stubs.
+      user32: Accept BI_BITFIELDS format for icons when creating icons.
+      xmllite: Handle E_PENDING from stream for comment nodes.
+      xmllite: Fail to set input for external IXmlReaderInput.
+      comctl32/listview: Implement dragging with right button with a message loop.
+      comctl32: Use NM_RCLICK return value to allow default processing.
+      comctl32: Test WM_GETDLGCODE return value for TreeView.
+      comctl32/listview: Fix item search with keyboard input.
+      po: Use a shorter string for button.
+
+Piotr Caban (26):
+      vbscript: Fixed typo in vbsregexp55.idl.
+      msvcp90: Added complex::real and complex::imag implementation.
+      msvcp90: Added std::abs(complex) implementation.
+      msvcp90: std::_Fabs(complex) tests.
+      msvcp90: Added std::conj(complex) implementation.
+      msvcp90: Added complex trigonometric functions implementation.
+      msvcp90: Added std::tan(complex) tests.
+      msvcp90: Added complex hyperbolic functions implementation.
+      msvcp90: Added std::tanh(complex) tests.
+      msvcp90: Added std::log(complex) and std::exp(complex) implementation.
+      msvcp90: Added std::log10(complex) tests.
+      msvcp90: Added std::norm(complex) and std::polar(complex) implementation.
+      msvcp90: Added std::pow(complex) and std::sqrt(complex) implementation.
+      msvcp90: Added std::sqrt(complex) tests.
       msvcp: Sync implementations.
-      widl: Make it possible to set typelib resource id with id attribute.
-      vbscript: Added VBScript.RegExp version 5.5 typelib.
-      vbscript: Added VBScript.RegExp version 1.0 typelib.
+      msvcrt: Ignore S and R flags in fopen.
+      msvcrt: Added N flag support to fopen.
+      msvcrt: Fixed setlocale tests on Win8.
+      msvcrt: Fixed _Gettnames test on Win8.
+      jscript: Fixed a leak in do_regexp_match_next function.
+      jscript: Fixed a leak in regexp_match function.
+      msvcp71: Fixed basic_filebuf class layout.
+      jscript: Update buffer size in do_regexp_match_next.
+      msvcrt: Don't call invalid parameter handler in str{n,i}cmp functions.
+      msvcrt: Don't make stdout and stderr bufferred when writing to console.
+      msvcrt: Use temporary buffers to speed up operations on stdout and stderr.
 
-Rico Schüller (15):
-      d3dx9: Handle invalid byte code in D3DXFindShaderComment().
-      d3dx9: Always set the table = NULL in D3DXGetShaderConstantTableEx().
-      d3dx9: Handle invalid byte code in D3DXGetShaderConstantTableEx().
-      d3dx9: Use sizeof variable, not type.
-      d3dx9: Constify some variables.
-      d3dx9: Remove unused variable.
-      d3dx9: Introduce a function for filling a texture.
-      d3dx9: Shift only as much as needed.
-      d3dx9: Use all 32 bits as mask.
-      d3dx9: Add support for D3DFMT_A16B16G16R16F.
-      d3dcompiler43/tests: Don't use IUnknown_Release().
-      d3dx9: Use lowercase hexadecimal values.
-      d3dx9: Add support for D3DFMT_A32B32G32R32F.
-      d3dx9: Add support for D3DFMT_A16B16G16R16.
-      d3dx9/tests: Use D3DXFloat16To32Array() instead of a custom function.
+Putin Evgeny (1):
+      cscript: Correct forming cmd for forwarding to wscript.
 
-Stefan Dösinger (9):
-      ddraw: Don't discard buffers that haven't been used in draws.
-      d3d9: Return D3D_OK from the palette setters.
-      d3d8: Return D3D_OK from the palette setters.
-      wined3d: Shadow buffers in sysmem when software vertexprocessing is used.
-      d3d9/tests: Add a software vertexprocessing buffer discard test.
-      d3d8/tests: Add a software vertexprocessing buffer discard test.
-      d3d9/tests: Create a plain DS surface in test_reset_resources.
-      d3d8/tests: Create a plain DS surface in test_reset_resources.
-      ddraw/tests: Add basic tests for DrawIndexedPrimitiveStrided.
+Rico Schüller (1):
+      advapi32: Use the lower 32bit of the special HKEYs on 64bit.
 
-Vincent Povirk (2):
-      windowscodecs: Don't copy extra data from the end of a row.
-      winex11.drv: Don't join INCR data until the transfer finishes.
+Ričardas Barkauskas (3):
+      advapi32: Add AddMandatoryAce stub.
+      kernel32: Add SetFileInformationByHandle stub.
+      advapi32: Partially implement CreateProcessWithTokenW.
+
+Sergey Guralnik (3):
+      user32/tests: Test standard scrollbar initialization.
+      user32: Init standard scrollbars during WM_NCCREATE.
+      winemenubuilder: Try to wait for creating icon files.
+
+Stefan Dösinger (15):
+      wined3d: Ignore clears if count = 0 and rects != NULL.
+      ddraw: Implement DrawPrimitiveStrided with regular draws.
+      ddraw: Implement DrawIndexedPrimitiveStrided with regular draws.
+      d3d: Remove high level patch support.
+      wined3d: Remove draw_primitive_strided.
+      d3d8/tests: Add simple DrawRectPatch tests.
+      d3d9/tests: Add simple DrawRectPatch tests.
+      ddraw: device::GetCurrentViewport returns an error if no viewport is set.
+      ddraw: Delete viewports when destroying the device.
+      ddraw: Check for NULL pointers in DeleteViewport.
+      ddraw: Check for NULL pointers in SetCurrentViewport.
+      ddraw: AddViewport holds a reference to the viewport.
+      ddraw: Unset the viewport if the current vp is deleted.
+      ddraw: Don't check for NULL in GetCurrentViewport.
+      ddraw/tests: Add viewport handling tests.
+
+Stefan Leichter (1):
+      gdi32: Add stub for GetFontResourceInfoW.
 
 --
 Alexandre Julliard
diff --git a/VERSION b/VERSION
index 50176c6..ac7d9a1 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-Wine version 1.5.22
+Wine version 1.5.23
diff --git a/configure b/configure
index 2e7c008..e3253ee 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for Wine 1.5.22.
+# Generated by GNU Autoconf 2.69 for Wine 1.5.23.
 #
 # Report bugs to <wine-devel@winehq.org>.
 #
@@ -580,8 +580,8 @@
 # Identity of this package.
 PACKAGE_NAME='Wine'
 PACKAGE_TARNAME='wine'
-PACKAGE_VERSION='1.5.22'
-PACKAGE_STRING='Wine 1.5.22'
+PACKAGE_VERSION='1.5.23'
+PACKAGE_STRING='Wine 1.5.23'
 PACKAGE_BUGREPORT='wine-devel@winehq.org'
 PACKAGE_URL='http://www.winehq.org'
 
@@ -1403,7 +1403,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Wine 1.5.22 to adapt to many kinds of systems.
+\`configure' configures Wine 1.5.23 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1472,7 +1472,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Wine 1.5.22:";;
+     short | recursive ) echo "Configuration of Wine 1.5.23:";;
    esac
   cat <<\_ACEOF
 
@@ -1619,7 +1619,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Wine configure 1.5.22
+Wine configure 1.5.23
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2137,7 +2137,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Wine $as_me 1.5.22, which was
+It was created by Wine $as_me 1.5.23, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -16956,7 +16956,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Wine $as_me 1.5.22, which was
+This file was extended by Wine $as_me 1.5.23, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -17027,7 +17027,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-Wine config.status 1.5.22
+Wine config.status 1.5.23
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
