diff --git a/ANNOUNCE b/ANNOUNCE
index a983d13..64149a8 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,17 +1,18 @@
-The Wine development release 1.3.35 is now available.
+The Wine development release 1.3.36 is now available.
 
 What's new in this release (see below for details):
-  - Triangular gradients and cosmetic wide pens support in the DIB engine.
-  - All Wine dialogs can now be translated through po files.
-  - Many more scripts added to UniScribe.
-  - JScript using bytecode throughout now.
-  - Several MSXML improvements.
+  - UDisks backend for the dynamic device support.
+  - Polygons and geometric pens implemented in the DIB engine.
+  - JScript now compiles entire functions.
+  - Improved support for vertical fonts.
+  - A few more scripts in UniScribe.
+  - A bunch of ctype functions implemented in MSVCP.
   - Various bug fixes.
 
 The source is available from the following locations:
 
-  http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.3.35.tar.bz2
-  http://prdownloads.sourceforge.net/wine/wine-1.3.35.tar.bz2
+  http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.3.36.tar.bz2
+  http://prdownloads.sourceforge.net/wine/wine-1.3.36.tar.bz2
 
 Binary packages for various distributions will be available from:
 
@@ -27,550 +28,481 @@
 
 ----------------------------------------------------------------
 
-Bugs fixed in 1.3.35:
+Bugs fixed in 1.3.36:
 
-   6767  failure enumerating interfaces on NetBSD
-  11217  X Error of failed request:  BadAlloc
-  11490  Speed Commander 12 reports "Can't Initialize Scripting Environment" error on startup
-  12829  Viper Racing crashes with an EXCEPTION_ACCESS_VIOLATION error.
-  14419  Icons outputted to textbox do not render.
-  14535  msxml4 needed to get a Network connection for www.iplabs.de/ Fujiprint based photo print ordering software
-  15047  Tex Murphy Overseer installs fine, but will not run
-  15113  WinUAE DirectDraw graphics overwrite windows which are in front of it
-  15128  JSmooth does not run with WinVer set to 'Windows XP'
-  15402  Application fails to restore window decorations after exiting fullscreen mode
-  16668  Commandos 3: sniper scope incorrectly rendered
-  16669  Service does not start second time.
-  16710  aTube Catcher in not showing the icons
-  17512  Microsoft Virtual PC 2007 SP1 installer fails during CA_InstallVMMDriver (cash in LdrProcessRelocationBlock)
-  19249  Notepad++ default save dialog is 'Save', not 'Save as' (appinstall)
-  19467  Icon text fields have incorrect placement and text input field has garbage only while editing
-  20924  program icons either missing completely or having black background
-  21313  Sony Acid Xpress 7.0: Fails to install the required files
-  21417  opening large files in excel 2000 takes very long
-  21455  Steam installer: target path cannot be changed
-  21729  missing transparent on VB6 usercontrols
-  21816  H&R Block At Home 2009 Deluxe updater is broken
-  22778  PlayOnline viewer's window is not correctly updated
-  22848  Notepad++: Ctrl+tab doesn't work properly
-  23561  When using custom mouse pointer, previous pointer remains frozen on screen
-  23580  Full-screen option not available in several Boulder Dash games
-  23923  pygame: game pieces aren't connected as they should be
-  24615  Can't open or save assembly files in SolidWorks
-  24921  mail.ru agent 5.7: X Error of failed request:  BadAlloc
-  25476  MS Office Pro 2010 Trial: setup.exe is started when starting installed apps
-  25494  Office Pro 2010 Trial: Word, Excel, and Powerpoint cannot open or save OOXML (docx, xlsx, pptx) files
-  25534  Bimoid submenu's shows over menu.
-  26844  Neon Wars: jerky animations and mouse movement
-  27118  Dead Space 2 (Steam) activation.exe only crashes and does not activate the game
-  27281  crash while install ICBC_FT_UShield2_Install.exe ( unimplemented function msvcp60.dll.??0?$basic_ostringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z )
-  27367  widl: gcc warns about pointer mismatch when calling pfnFree
-  27371  crash while install 360chrome browser
-  27695  Need for speed underground 1 DEMO: Keys Num_Lock and Pause are swapped
-  27730  Arcanum hangs on exit
-  27755  Can't log in with yahoo! messenger 11
-  27922  iexplore crashes on windows.microsoft.com
-  28047  IAudioClock_GetPosition must not depend on buffering (ALSA/Pulse)
-  28204  Starfleet Command 3: Fails to load main menu
-  28609  msi/install.ok slightly flaky
-  28986  Quicken: crashes when opening investment account register
-  28994  AOL 9.0VR: wmp9 sub-installer crashes while registering drmclien.dll
-  29127  Typing of the Dead demo crashes on launch
-  29142  Sins of a Solar Empire Trinity causes GLXBadDrawable
-  29161  ZMud fails to run
-  29162  Gens 11b rerecording: fails to initialize drawing surface
-  29179  SAMO-Touragent application,  does not launch due to exception stack overflow
-  29180  WS_CHILD dialog might want WS_CAPTION
-  29204  the dib text rendering breaks text in d3d
-  29213  DDR=gdi leads to a crash
-  29216  Sacred Gold v2.28 hangs on exit (ddr=opengl)
-  29233  FoxitReader 5.1 crashes when a pdf is loaded
-  29235  Worms Armageddon: frontend flickers
-  29239  Age of Empires 1 & 2 rendering broken with OpenGL renderer (DDR=opengl)
-  29260  Wrong scrollbar background in iexplore
-  29262  Creating windows in threads may deadlock
-  29263  'Reinstall' Dialog in Java Runtime Environment Installer Thinks You Always Say "No"
-  29271  Battle For Middle Earth hangs on launch
-  29280  todolist crashes after using LVM_GETHEADER
-  29283  AntiVir 9 configuration wizard shows text in a separate dialog
-  29285  Arcanum: screen resolution stays at 800x600 after exiting the game
-  29296  Heroes 2 Gold demo crashes on startup
-  29297  Cold Fear: graphical glitches when shadows enabled
-  29300  PlayOnline viewer crashes on startup (seems functional)
-  29302  AntiVir 9 shows some corrupted icons
-  29306  Telltale's games launcher unusable (can't click on buttons)
-  29307  Word 2010 cannot open specific docx file with builtin msxml6
-  29308  Word 2010 complains about Normal.dotm on start with builtin msxml6
-  29314  VLC menu bar text is invisible
-  29317  QQ2011 installer crash at the end of installing
-  29321  Internet Explorer 8 shows upside-down previews on the quick tabs screen
-  29333  Raidcall doesn't connect
-  29343  Bloxx It's launcher is missing some background visuals
-  29353  pwsafe (3.xx) crashes
-  29356  Internet Explorer 8's content advisor shows small icons with a black background
+   1129  bitmaps are not drawn in "Dink Smallwood"
+   2116  Bible Companion stop at Unhandled Exception
+   7150  Implement Arabic shaping
+  11572  Adobe FrameMaker 8: Registration Dialog Blocks Execution
+  11628  Gekkeiju Online: Bad audio sync/latency
+  12633  Windows Media Player 10 crashes on "Add to Library" and exit
+  13033  Homeworld2 v1.0 and demo v0.99 fails to launch (crash due to unimplemented function ntoskrnl.exe.IoGetDeviceProperty)
+  13289  Multiple apps/games need ntoskrnl.exe IoGetCurrentProcess (Zeus maplestory, BASCOM AVR Demo)
+  13448  AnyDVD - ElbyCDIO does not work (crash due to unimplemented function ntoskrnl.exe.IoUnregisterShutdownNotification)
+  14052  CoreAudio driver broken
+  15200  Dawn of War: Dark Crusade freezes at black screen
+  15521  AnyDVD setup failure (crash due to unimplemented ntoskrnl.exe.KeSetEvent)
+  15596  Windows Live Writer does not install (IPersistStreamInit support for IXMLDOMDocument needed)
+  16499  Adobe Photoshop CS4 crashes upon using text input tool
+  16513  locomotive like noise effects with Syberia 2
+  17165  VT Trader 2 fails on startup with "Invalid property XML format" error
+  18002  err:msi:call_script Could not find CLSID for Windows Script (VBScript)
+  18402  NAVIGON Fresh failed to login
+  18513  Autohotkey: ctrl/shift keys are nonfunctional under Controlsend
+  18514  Wine botches keysends under autohotkey
+  19034  Starship Titanic freezes during introduction sequence.
+  19150  FlashDevelop 3.0.1 RTM crashes on startup
+  20046  MacOSX race condition during 3D/GL initialisation
+  20048  SIV (System Information Viewer) shows incorrect PCI device information
+  21713  Add support for D-Bus provider "UDisks" (libhal.so is deprecated)
+  22507  Half-life 1: missing PAUSE banner and looking through walls
+  22794  Macrium Reflect 4.2 installer needs "HKLM\System\CurrentControlSet\Control\Class\{4D36E967-E325-11CE-BFC1-08002BE10318}" registry key present
+  23068  Free FLV Converter: Fails to display select language window
+  23069  Free FLV Converter: Buttons have hatched appearance
+  23900  Photoshop Elements 8 installer: “Next button” is grayed out
+  24009  Tomb Raider 4: Wrong camera position (Unnecessary Viewport Scaling transformation)
+  24520  Anno 1503 crashes on start
+  24579  Steam windows move twice as far as they are moved
+  25016  Thief 2 movies stopped working with recent wine update
+  25249  Leonardo.exe from ENVI-met (microclimate model simulation software) crashes due to strict comctl32.151 (CreateMRUListLazyA) input parameter validation
+  25414  Fleet Operations: mouse cursor not drawn during movement
+  25660  Half-Life 1 Demo: "The selected D3D mode is not supported by your video card."
+  25894  Free serial port monitor helper driver crashes due to unimplemented function ntoskrnl.exe.IoInitializeRemoveLockEx
+  25906  DC Universe Online: launcher doesn't work
+  25963  Dead Space 2 dvd installer fails to switch discs (no ready_media/msi_change_media for normal files)
+  25981  Duty Calls: loader fails to resolve msvcm90.dll due to partial manifest data in WinSxS (empty assembly list for process default activation context)
+  25982  Duty Calls: fails to run
+  25986  Windws Live Mail 2009 crashes in actctx / msvcr80.dll
+  26079  Dragon Age - Origins requires d3dx9_36 D3DXLoadMeshFromXW
+  26239  GPU-Z: Crash when trying to save screenshot
+  26340  MSXML3, HTTP POST fails
+  26434  gamestop downloader has an infinite loop error in msxml3
+  26605  Nitro PDF Reader: Menu is black rectangle
+  26631  Plants vs Zombies installer crashes
+  26798  Lego Star Wars 2: whole screen upside down
+  26956  Mouse not released after moving or resizing any UI window
+  27176  Metro 2033 mouse movement hangs application
+  27251  Aliwangwang display ugly
+  27265  system tray menu of POPO2011 missing display some text
+  27536  XMLHTTP POST, server receive incorrect data
+  27709  Implement cryptui.dll.CryptUIDlgSelectCertificateA
+  28093  GetCurrentPadding must slowly decrease (MacOS)
+  28690  ABBYY Finereader 10 needs msvcr90.dll._ultow_s
+  28748  Two Worlds: missing audio
+  28776  Korean text isn't shown
+  28998  Total Annihilation crashes
+  29026  Tree Icons have incorrect color
+  29029  Selection of an Arabic text is not highlighted in Notepad
+  29064  3DMark 2001 SE crashes on startup
+  29087  hh crashes on non-chm files
+  29144  skyrim freeze starting new game with ati/catalyst
+  29157  energyXT crashes immediately
+  29198  Unknown program crashes when minimized
+  29234  Anarchy Online crashes every time you zone
+  29241  Miranda IM crashes at startup, is unuseable
+  29242  Biblio 7.34. Logo image disappears, returning: "err:menubuilder:convert_to_native_icon error 0x88982F81 initializing encoder"
+  29350  Ground Control II: opaque water
+  29373  Window decorations lost in virtual desktop mode
+  29375  Collins Concise German Dictionary crashes on startup
+  29393  Notepad enter / arrow keys are broken
+  29394  d3drm:IDirect3DRMImpl_QueryInterface (0x12e528)->({4516ecc8-8f20-11d0-9b6d-0000c0781bc3},0x416c7c),not found
+  29395  msxml3/domdoc tests hang indefinitely
+  29398  foobar2000: attempting to edit advanced preferences text fields clears existing content
+  29403  Tab control ignores TCN_SELCHANGING result
+  29404  SketchUp 8 crashes under OpenSuse 12.1
+  29407  Word 2003/2007/2010: lines in Equation Editor 3.0 objects are abnormally heavy
+  29413  Acronis True Image 11 Home installer: custom action returns with invalid SQL syntax error (empty column name in select expression)
+  29481  Free serial port monitor crashes due to unimplemented function setupapi.dll SetupDiGetClassBitmapIndex
+  29482  Free serial port monitor crashes due to unimplemented function setupapi.dll SetupDiDrawMiniIcon
 
 ----------------------------------------------------------------
 
-Changes since 1.3.34:
+Changes since 1.3.35:
 
-Adam Martinson (1):
-      ntdll: Properly set flags in NtCreateNamedPipe().
+Akihiro Sagawa (1):
+      gdi32: Avoid making a DBCS character in range.
 
-Akihiro Sagawa (2):
-      po: Update Japanese translation.
-      cmd: Improve the message when the volume has no label.
+Alexander E. Patrakov (1):
+      dsound: Always resample buffers in mixer thread.
 
-Alex Henrie (4):
-      user32: If a dialog has no tab-accessible controls, set focus to first control (with tests).
-      comdlg32: Correct title of "Save As" dialog.
-      po: Update Catalan translation.
-      comdlg32: Widen buffer to accomodate Catalan translation.
+Alexandre Julliard (58):
+      winex11: Hardcode the MWM hints for the desktop window.
+      winex11: Only take managed popups into account when deciding whether to make a window managed.
+      winex11: Remove DIB locking calls from all blitting entry points.
+      gdi32: Remove support for deferring brush calls to X11, all brush types are supported now.
+      regedit: Merge accelerators into the main resource file.
+      winefile: Merge accelerators into the main resource file.
+      wordpad: Merge accelerators into the main resource file.
+      configure: Add a check for libdbus independent from the libhal check.
+      mountmgr: Rename hal.c to dbus.c.
+      mountmgr: Add dynamic devices support using UDisks.
+      mountmgr: Require at least one of device or mount point to match when looking for an existing volume.
+      winex11: Keep the device info around as long as XInput2 is active.
+      winex11: Scale raw motion events according to their valuator range.
+      msvcrt: Fix formatting of pointers in printf.
+      gdi32: Fix handling of COLORREFs with illegal values for the high byte.
+      gdi32: Recompute the brush masks on every use to support PALETTEINDEX colors.
+      gdi32: Recompute the pen masks on every use to support PALETTEINDEX colors.
+      gdi32: Recompute the background masks on every use to support PALETTEINDEX colors.
+      gdi32: Recompute the foreground masks on every use to support PALETTEINDEX colors.
+      gdi32: Add a common helper for computing pen and brush masks.
+      gdi32: Always use proper RGB colors for monochrome DDB pattern brushes.
+      gdi32/tests: Add tests for PALETTEINDEX colors.
+      gdi32: Add a helper function to compute the list of rectangles to paint after clipping.
+      gdi32: Use the get_clipped_rects helper in the text functions.
+      gdi32: Use the get_clipped_rects helper in the pen functions.
+      gdi32: Use the get_clipped_rects helper in the blitting functions.
+      gdi32: Avoid making a copy of the device clipping region in the DIB driver.
+      gdi32: Re-create the brush bits only when the ROP has really changed.
+      gdi32: Compute the correct rectangle interior when using wide pens.
+      gdi32: Add a helper function to add a rectangle to a region.
+      gdi32: Add support for PS_INSIDEFRAME pens when drawing rectangles.
+      gdi32: Pass the clip region to the brush_rect helper and add a similar helper for pens.
+      gdi32: Fix the scaling of the width of cosmetic pens.
+      gdi32: Wide cosmetic pens don't support dashes.
+      gdi32: Extended pens are always transparent.
+      gdi32: Fix handling of invalid pen styles.
+      gdi32: Add support for 1-pixel wide geometric dashed pens.
+      gdi32: Add support for PS_ALTERNATE pens.
+      gdi32: Add support for 1-pixel wide PS_USERSTYLE pens.
+      gdi32: Add support for updating a region from the pen backend functions instead of painting directly.
+      gdi32: Implement returning a region for 1-pixel wide solid pen lines.
+      gdi32: Implement returning a region for 1-pixel wide dashed pen lines.
+      gdi32: Use a region to render geometric and wide pens in PolyPolyline.
+      gdi32: Use a region to render geometric and wide pens in Rectangle.
+      gdi32: Use a region to render geometric and wide pens in LineTo.
+      gdi32: Implement PolyPolygon in the DIB driver.
+      gdi32: Add helpers to paint a region with the brush or pen.
+      gdi32: Add checks for invalid color usage values.
+      gdi32/tests: Get rid of Win9x compatibility in the pen tests.
+      gdi32: Add a structure to store all the extra information needed for a pattern brush.
+      gdi32: Add sanity checks for brush hatch styles.
+      gdi32: Store the pattern brush information for geometric pens.
+      gdi32: Pass a brush_pattern structure to the SelectBrush entry point.
+      gdi32: Pass a brush_pattern structure to the SelectPen entry point for brushed pens.
+      gdi32: Define a structure to make the brush state independent from the physdev.
+      gdi32: Implement brushed pens.
+      gdi32: Don't bother computing interior regions when the brush is null.
+      user32/tests: Remove a crashing test.
 
-Alexandre Julliard (75):
-      gdi32: Implement triangular gradients in the DIB engine.
-      gdi32/tests: Add more gradient tests.
-      gdi32: Use dithering also for 1-bpp gradients.
-      gdi32: Add more parameter checks in GdiGradientFill.
-      gdi32: Use the DIB engine and PutImage for the null driver triangular gradient implementation.
-      winex11: Always refresh the picture clipping when we have an additional clip region.
-      comctl32: Convert dialogs to po files.
-      shell32: Convert dialogs to po files.
-      user32: Convert dialogs to po files.
-      gdi32: Add a null driver implementation for Polyline and Polygon.
-      wineps: Fall through to the null driver for Polyline and Polygon.
-      winex11: Use an X11 error handler to catch BadMatch errors from XGetImage.
-      netapi32: Simplify the smbpasswd invocation to avoid compiler warnings.
-      gdi32: Add a helper function to clip a rectangle to the DC visible rect.
-      gdi32: Maintain a region inside gdi32 to keep track of the total visible region.
-      gdi32: Pass the total visible region in the SetDeviceClipping driver entry point.
-      winex11: Store the visible region handle directly instead of making a copy.
-      winex11: Allow the visible region to be zero when not clipping.
-      cryptui: Convert dialogs to po files.
-      comdlg32: Convert dialogs to po files.
-      gdi32: Make sure DCs are fully zero-initialized.
-      gdi32: Only create the DC visible region when necessary.
-      gdi32: Only store a total visible region when it's a combination of other regions.
-      gdi32: Don't store the metaclip region, recompute it as needed.
-      gdi32: Rename the CLIPPING_UpdateGCRegion function.
-      winex11: Don't call get_xrender_picture inside the X11 lock.
-      gdi32: Add missing check for empty visible rects in the non-stretching case.
-      winex11: Add some sanity checks on bitmap formats before creating a pixmap.
-      gdi32: Use the convert_bits helper function in SetDIBits and SetDIBitsToDevice.
-      gdi32: Use PutImage directly to set the initial bitmap bits.
-      gdi32: Don't make a copy of the DIB color table when selecting it into a DC.
-      gdi32: Add a helper to build a color table from the DIB_PAL_COLORS bitmap info.
-      gdi32: Always allocate a full-size color table when creating a DIB section.
-      gdi32: Fix handling of DIB_PAL_COLORS in the various DIB functions.
-      gdi32: Remove the nb_colors fields in the bitmap object, we always allocate a full size color table.
-      gdi32/tests: Add tests for DIB_PAL_COLORS and DIB palettes with missing entries.
-      gdi32: Always use biClrUsed for the number of colors of internal BITMAPINFO structures.
-      gdi32: Make sure that biSizeImage always contains the correct size in internal BITMAPINFO structures.
-      gdi32: Simplify computation of the DIB header size for internal BITMAPINFO structures.
-      gdi32/tests: Fix some test failures on Windows.
-      gdi32: GetCharABCWidthsFloatW must succeed with non-TrueType fonts.
-      gdi32: Store the default color tables as static data.
-      gdi32: Use the default DIB color table to create system and halftone palettes.
-      gdi32: Add a flag to request a default color table from init_dib_info.
-      gdi32: Select the pattern brush only when first used.
-      gdi32: Don't create a default color table for pattern brushes, use the DC colors instead.
-      gdi32/tests: Add tests for 1-bpp DDB pattern brushes.
-      gdi32: Pass the correct depth to PutImage for SetBitmapBits on a DIB.
-      gdi32: Remove support for private color maps.
-      gdi32: init_dib_info() can no longer fail, and no longer requires freeing.
-      gdi32: Implement GetNearestColor in the DIB driver.
-      gdi32: Remove some color table size checks, we use full-size color tables now.
-      gdi32: Implement GetPixel in the null driver using GetImage.
-      winex11: Get rid of the GetPixel implementation, use the null driver fallback instead.
-      gdi32/tests: Fix some test failures on old Windows versions.
-      ntdll: Make an error message a proper ERR.
-      widl: Zero-initialize [out] structures and unions that contain pointers.
-      gdi32/tests: Add some tests for behavior of 32-bit DDBs.
-      winex11: Add missing initialization of pattern brush style.
-      wine.inf: Also create iexplorer.exe in the system directory for registration.
-      setupapi: Specify the correct binary file name when registering an executable.
-      kernel32: Don't run a nonexistent builtin from CreateProcess when filename is not specified.
-      comctl32: Don't try to mask out the image for palette-based bitmaps.
-      server: Optionally return the global key state when queueing a hardware message.
-      user32: Cache the global key state to avoid performance issues in applications that poll constantly.
-      user32: Always use the default alignment when displaying submenu popups.
-      winex11: Update MWM hints when the window size changes.
-      wineps: Inherit the device mode from the source DC when creating a compatible DC.
-      gdi32/tests: Add tests for device capabilities on memory DCs.
-      comctl32/tests: Add some more tests for ImageList_Write.
-      comctl32: Use DrawIconEx to copy icon bits and use the correct background color.
-      comctl32: Use GetDIBits to retrieve the default color map for an imagelist DIB section.
-      user32: Don't try to alpha blend icons on low color bitmaps.
-      oleaut32: Fix IPicture::SelectPicture to not try to select a bitmap into two DCs at the same time.
-      comctl32/tests: Fix a test failure on older Windows.
+Alistair Leslie-Hughes (2):
+      jscript: Don't double free IObjectWithSite interface.
+      mmcndmgr: Register MMCVersionInfo Interface.
 
-Andrew Eikum (2):
-      dsound: Validate format in primary buffer's SetFormat().
-      wineoss.drv: Don't set volume in IAudioClient::Initialize.
+Andrew Eikum (1):
+      winealsa.drv: Limit the data written to ALSA's buffer.
 
-André Hentschel (3):
-      winecfg: Fill in the Service Pack major version for win2008.
-      winecfg: Bump NT 3.51 to Service Pack 5.
+André Hentschel (15):
+      po: Update German translation.
+      secur32/tests: Fail on missing NTLM.
+      po: Update German translation.
+      include: Add CM_DRP_* and CM_CRP_* defines to cfgmgr32.h.
+      msvcrt/tests: Fix two test messages.
+      dsound: Use if(0) instead of #if 0 to make sure code still compiles.
+      d3drm: Fix the order of the IDirect3DRM methods.
+      d3drm: Add IDirect3DRMMeshBuilder2 interface.
+      d3drm: Add IDirect3DRM2 interface.
+      po: Update German translation.
+      d3drm: Add IDirect3DRMMeshBuilder3 interface.
+      d3drm: Add IDirect3DRM3 interface.
+      comctl32: Also free pszHeaderTitle and pszHeaderSubTitle in DestroyPropertySheetPage.
+      cscript: Add forwarder to wscript.
       po: Update German translation.
 
-Aric Stewart (36):
-      usp10: Correct issues with LTR logclust indexing after Multiple substitution.
-      user32: Protect against NULL ssa to prevent crashes in old native usp10.
-      usp10: Initialize the GSUB table before doing any contextual shaping.
-      usp10: Use GDEF in baseIndic GlyphProp processing.
-      usp10: The top logclust value may be different than the number of chars.
-      usp10: Use UpdateClusters in DecomposeVowels.
-      usp10: Sinhala, while behaving like a base Indic, does not set GlyphProps based on indic syllable.
-      usp10: Handle Halant, ZWJ and ZWNJ in ShapeCharGlyphProp_BaseIndic.
-      usp10: Unicode does not compose the Gurmukhi letter SHA.
-      usp10: Handle dangling joiners when processing Indic GlyphProps.
-      usp10: Some Indic scripts, Sinhala, want GDEF to set glyph properties.
-      usp10: Add Myanmar script.
-      usp10: Resync script_props table.
-      usp10/tests: Check broken value for script tag as well.
-      usp10: Add script Tai Le.
-      usp10: Add New Tai Lue script.
-      usp10: Add Khmer script.
-      usp10: Add CKJ Han and Ideographic scripts.
-      usp10: Add Bopomofo script.
-      usp10: Add Kana script.
-      usp10: Add Hangul script.
-      usp10: Add Yi script.
-      usp10: Add Ethiopic script.
-      usp10: Allow for multiple broken item counts.
-      usp10: Add Mongolian script.
-      usp10: Add Tifinagh script.
-      usp10: Add N'Ko script.
-      usp10: Add Vai script.
-      usp10: Add Cherokee script.
-      usp10: Add Canadian Aboriginal Syllabics script.
-      usp10: Add Ogham script.
-      usp10: Add Runic Script.
-      usp10: Add Braille script.
-      usp10: Add Private Use Area and Surrogates Area from Unicode Chapter 16.
-      usp10: Add Spacing Modifier Letters to the Latin script block.
-      usp10: Do not try to fallback if no fallback font is specified.
+Aric Stewart (19):
+      usp10: N'Ko uses the Ebrima font as a fallback.
+      usp10: Code for the cmap format 12 table for unicode code points beyond the BMP.
+      usp10: Decode surrogate pairs in get_char_script and handle ranges beyond the BMP.
+      usp10: Handle surrogate pairs when shaping.
+      usp10: Add Deseret script.
+      usp10: Add Osmanya script.
+      usp10: Add Mathematical Alphanumeric Symbols script.
+      usp10: Improve selection drawing if selection starts in the middle of a cluster.
+      user32: Modify EDIT_GetLineRect to better handle RTL lines.
+      user32: Do not simply return 0 in EDIT_EM_PosFromChar if line ssa is NULL.
+      usp10: Correct error in EDIT_GetLineRect in index for ScriptStringCPtoX.
+      usp10: Implement ScriptGetFontScriptTags.
+      usp10: Add currency scripts to match windows.
+      usp10: Updates to ScriptGetFontScriptTags.
+      usp10: Cache FontScriptTags information.
+      usp10: Replace GSUB_get_script_table with GSUB_GetFontScriptTags.
+      usp10: Update get_opentype_script to return OPENTYPE_TAG.
+      usp10: Remove redundant information by making scriptData accessible and removing otTag.
+      usp10: Convert newOtTag to an OPENTYPE_TAG.
 
-Aurimas Fišeras (2):
+Aurimas Fišeras (4):
       po: Update Lithuanian translation.
       po: Update Lithuanian translation.
+      winecfg: Increase the size of the dpi label to fit Lithuanian translation.
+      po: Update Lithuanian translation.
 
-Bruno Jesus (1):
-      ws2_32: Fix a function name comment.
+Austin English (3):
+      ntoskrnl.exe: Add a stub for Ke386IoSetAccessProcess.
+      ntoskrnl.exe: Add a stub for Ke386SetIoAccessMap.
+      inetcpl.cpl: Add a stub for LaunchPrivacyDialog.
 
-Dmitry Timoshkov (8):
-      user32: Add more window style tests, make them pass under Wine.
-      user32: Add the tests for dialog window styles, make them pass under Wine.
-      user32: Strip WS_CAPTION|WS_SYSMENU when a dialog has DS_CONTROL style set.
-      user32: Strip WS_CAPTION|WS_SYSMENU when a dialog has DS_CONTROL style set.
-      kernel32: Add the tests for various combinations of CreateFileMapping/MapViewOfFile protections.
-      ntdll: Setting WRITECOPY protection on a memory-mapped file is allowed.
-      kernel32: Add a bunch of VirtualProtect tests on an image section.
-      ntdll: Replace WRITE by WRITECOPY protection on an image section as Windows does.
+Detlef Riekenberg (1):
+      ieframe: Improve status updates in BindStatusCallback_OnProgress.
 
-Eric Pouech (1):
-      d3d: Fixed a couple of warnings for 64bit targets.
+Dmitry Timoshkov (2):
+      kernel32: Add a test for MapViewOfFile called on a not accessible mapping.
+      user32: Add some SetFocus message tests.
 
-Francois Gouget (42):
-      dsound: Remove mmErr(). It is not used anymore.
-      gdi32: Make init_dib_info() static.
-      jscript: Make interp_expression_eval() static.
-      mscoree: Make CorDebugProcess_Create() static.
-      cmd: Use FormatMessage() for better internationalization support.
-      include: Add a couple of missing include directives in dshow.h.
-      include: in6addr.h does not depend on winsock's u_xxx types.
-      include: Eliminate redundancy between winsock.h and inaddr.h.
-      iphlpapi: Remove a few redundant include directives.
-      include: Add the missing inaddr.h and in6addr.h include directives.
-      include: Add a missing wincrypt.h include directive to mprapi.h.
-      userenv: Add a missing include directive to userenv.h.
-      include: Protect mstcpip.h against multiple inclusion.
-      include: Include ipifcons.h from ifdef.h.
-      include: Move some definitions from iptypes.h to nldef.h.
-      include: Split iprtrmib.h into multiple mib.h files.
-      include: Define the MIB_IF_OPER_STATUS_XXX constants using an enumeration in ipifcons.h.
-      include: Add the Dll(Un)RegisterServer() prototypes to olectl.h.
-      include: Remove unneeded extern "C" directives.
-      include: Add extern "C" directives where needed.
-      include: Update the nldef.h and *mib.h headers.
-      include: Add a couple of missing include directives in windows.h.
-      configure: Use errno.h instead of the non-standard sys/errno.h header.
-      include: Add missing include directives.
-      include: Include windef.h and packing directives in rpcasync.h when needed.
-      include: shldisp.idl should only import ocidl.idl.
-      view: Remove unneeded RC files.
-      taskmgr: Remove unneeded and untranslatable widget labels.
-      windowscodecs: Avoid hardcoding the Unicode string literal lengths.
-      riched20: Avoid hardcoding the Unicode string literal lengths.
-      quartz: Avoid hardcoding the Unicode string literal lengths.
-      ntdll: Avoid hardcoding the Unicode string literal lengths.
-      krnl386.exe16: Avoid hardcoding the Unicode string literal lengths.
-      kernel32: Avoid hardcoding the Unicode string literal lengths.
-      gdi32: Avoid hardcoding the Unicode string literal lengths.
-      ole32: Avoid hardcoding the Unicode string literal lengths.
-      mlang/tests: Avoid hardcoding the Unicode string literal lengths.
-      attrib: Avoid hardcoding the Unicode string literal lengths.
-      fusion: Avoid hardcoding the Unicode string literal lengths.
-      strmbase: Avoid hardcoding the Unicode string literal lengths.
-      setupapi: Avoid hardcoding the Unicode string literal lengths.
-      cmd: Avoid hardcoding the Unicode string literal lengths.
+Erich Hoover (1):
+      hhctrl.ocx: Fix HTML Help crashing on non-chm files.
 
-Frédéric Delanoy (10):
-      dinput: Clarify a translatable string.
-      po: Update French translation.
-      po: Use non-breaking space before double punctuation in the French translation.
-      cmd: Avoid duplication of commonly used strings.
-      taskmgr: Avoid dead assignment (Clang).
-      cmd: Avoid dead assignment (Clang).
-      po: Update French translation.
-      msvfw32: Use appropriate abbreviation for seconds.
+Francois Gouget (30):
+      user32: Avoid hardcoding the Unicode string literal lengths.
+      dlls: Standardize on 'static const WCHAR' for our Unicode string literals.
+      include: Add a few missing include directives to shlguid.h.
+      include: Add the missing guiddef.h include directives.
+      include: bits.h should include bits1_5.h.
+      include: Add missing include directives to cor.idl.
+      include: Import shtypes.idl in shdeprecated.idl.
+      include: Don't import servprov.idl from urlhist.idl.
+      include: indexsrv.idl should import oaidl, not objidl.
+      iphlpapi/tests: Fix compilation on systems that don't support nameless unions.
+      mountmgr: Add a trailing '\n' to a WARN() message.
+      include: Move the ITargetFramePriv* interfaces to htiface.idl.
+      winetest: Always report errors and fatal errors, even in quiet mode.
+      sensapi: Define the SensEvents library in sensevts.idl.
+      quartz: Define the QuartzTypeLib library in control.idl.
+      comdlg32: Use sentence capitalization for group box labels.
+      cryptui: Don't assign access keys to group box labels.
+      inetcpl: Don't pad group box labels with spaces.
+      winemine: Use sentence capitalization for group box labels.
+      winefile: Fix the group box labels to follow the Windows GUI guidelines,.
+      notepad: Don't assign access keys to group box labels or give them trailing punctuation.
+      taskmgr: Use sentence capitalization for group box labels.
+      include: Fix the wia idl imports.
+      include: Fix the metahost.idl import directives.
+      include: strmif.idl should import unknwn.idl.
+      include: Add some D3D import and include directives.
+      include: wincodecsdk.idl should import wtypes.idl.
+      include: pstore.idl should import wtypes.idl.
+      include: oledb.idl should include accctrl.h.
+      winecfg: Fix the group box labels to follow the Windows GUI guidelines.
+
+Frédéric Delanoy (5):
+      crypt32: Avoid reading unitialized variables (Coverity).
+      comctl32: Avoid using uninitialized value (Coverity).
+      cmd: Merge two if blocks.
       po: Update French translation.
       po: Update French translation.
 
-Hans Leidekker (13):
-      user32: Add stub implementations of MessageBoxTimeoutA/W.
-      msi: Make sure to keep a reference to custom action data until the actions are finished.
-      msi/tests: Try harder to remove a shortcut file.
-      winhttp: Avoid a null pointer dereference (clang).
-      winhttp: Remove some dead assignments (clang).
-      po: Update Dutch translation.
-      msi: Format the value name from the RegLocator table.
-      msi: Move some traces from implementations to entry points.
-      msi: Support all install contexts in MsiReinstallFeatureW.
-      msi: Don't set the Installed property in MsiReinstallFeatureW.
-      msi: Don't set the LOGVERBOSE property in MsiReinstallFeatureW.
-      msi: Pass REINSTALL and REINSTALLMODE properties on the command line in MsiReinstallFeatureW.
-      msi: Don't run the rollback script in reinstall mode.
+Gabriele Moabiti (1):
+      wineconsole: Light and dark gray colors are exchanged in the user backend.
 
-Henri Verbeet (35):
-      wined3d: Create the device state block when the device is created.
-      wined3d: Only recreate GL contexts when we're using GL for rendering in wined3d_device_reset().
-      wined3d: Only unload the surface when we're using GL for rendering in updateSurfaceDesc().
-      wined3d: Get rid of WINED3DDEVINFO_VERTEXSTATS.
-      wined3d: Get rid of WINED3DDEVINFO_VCACHE.
-      wined3d: Don't declare more varyings than required by the shader model.
-      wined3d: Disable client storage in upload_palette().
-      ddraw: Don't enumerate surfaces without references.
-      wined3d: Get rid of the WINED3DLOCKED_RECT typedef.
-      wined3d: Get rid of the WINED3DLOCKED_BOX typedef.
-      wined3d: Unbind stateblock resources in wined3d_device_uninit_3d().
-      ddraw: Destroy the swapchain in the DllMain() cleanup handler.
-      ddraw: Just read the actual reference counts in DestroyCallback().
-      wined3d: Get rid of the WINED3DBOX typedef.
-      wined3d: Get rid of the WineDirect3DStridedData typedef.
-      wined3d: Read the PBO back into the DIB section if we have one in surface_remove_pbo().
-      wined3d: Properly check if a surface has a DIB section in gdi_surface_map().
-      wined3d: Avoid clearing the current wined3d context in WineD3D_CreateFakeGLContext().
-      wined3d: Get rid of the WineDirect3DVertexStridedData typedef.
-      wined3d: Get rid of the WINEDDCOLORKEY typedef.
-      wined3d: The VertexAttrib*h[v] calls in NV_half_float depend on NV_vertex_program.
-      wined3d: Print the GL_RENDERER string when no "card selector" is available in wined3d_guess_card().
-      wined3d: Introduce a helper function for checking colors against a color key.
-      wined3d: Get rid of the WINED3DVSHADERCAPS2_0 typedef.
-      wined3d: Get rid of the WINED3DPSHADERCAPS2_0 typedef.
-      ddraw: Destroy the swapchain after the D3D device in DllMain().
-      d3d10: Add a short description to skip_dword_unknown().
-      wined3d: Trace all swapchain_desc fields in wined3d_device_reset().
-      wined3d: Get rid of the WINED3DLIGHTTYPE typedef.
-      wined3d: Get rid of the WINED3DPRIMITIVETYPE typedef.
-      ddraw: Move clipper handling to ddraw.
-      ddraw: Add support for clipped blits.
-      wined3d: Use the correct source pitch and byte_count for uploading converted surfaces.
-      wined3d: Get rid of the WINEDDCAPS typedef.
-      wined3d: Get rid of the WINED3DDEVTYPE typedef.
+Gerald Pfeifer (1):
+      winedump: Remove unused parameter from codeview_dump_linetab(). codeview_dump_linetab().
+
+Hans Leidekker (6):
+      winhttp/tests: Avoid crashes on some win2k systems.
+      iphlpapi: Add a stub implementation of GetExtendedTcpTable.
+      ws2_32: Return the right value for SO_CONNECT_TIME if the socket is not connected.
+      msi: Fix changing media for normal files.
+      msi: Use a common function to validate a product ID.
+      msi: Fix handling of single quoted column names in SELECT queries.
+
+Henri Verbeet (25):
+      ddraw/tests: Introduce some functions for comparing floating-point vectors.
+      ddraw/tests: Remove a redundant IDirect3DDevice7_SetViewport() call.
+      ddraw/tests: Introduce proper vector types.
+      wined3d: Get rid of the WINED3DBLEND typedef.
+      wined3d: Get rid of the WINED3DBLENDOP typedef.
+      ddraw/tests: Remove some error checking from ProcessVerticesTest().
+      ddraw/tests: Add a ProcessVertices() test for Direct3D3.
+      ddraw/tests: Move the Direct3D7 ProcessVertices() test to ddraw7.c.
+      wined3d: Get rid of the WINED3DDEGREETYPE typedef.
+      wined3d: Get rid of the WINED3DRENDERSTATETYPE typedef.
+      wined3d: Don't call surface_init_sysmem() on surfaces with a PBO.
+      wined3d: Handle client storage in surface_init_sysmem().
+      wined3d: Handle client storage in surface_remove_pbo().
+      wined3d: Get rid of the WINED3DVERTEXBLENDFLAGS typedef.
+      wined3d: Get rid of the WINED3DCMPFUNC typedef.
+      ddraw: Handle the Direct3D clipspace transformation.
+      ddraw/tests: Fix a couple of test messages.
+      ddraw/tests: Add some tests for DDSCL_CREATEDEVICEWINDOW.
+      wined3d: Get rid of the WINED3DZBUFFERTYPE typedef.
+      wined3d: Get rid of the WINED3DFOGMODE typedef.
+      ddraw: DDSCL_CREATEDEVICEWINDOW requires DDSCL_EXCLUSIVE.
+      ddraw: Clear the focus and device windows on DDSCL_NORMAL.
+      ddraw: Properly handle DDSCL_CREATEDEVICEWINDOW.
+      ddraw: Handle the special DDSCL_SETFOCUSWINDOW | DDSCL_CREATEDEVICEWINDOW combination.
+      ddraw: Fix the title and class name for the auto ddraw device window.
 
 Huw Davies (2):
-      gdi32: Add support for wide cosmetic pens.
-      gdi32/tests: Add some tests for wide pens.
+      gdi32: Add support for geometric solid pens.
+      gdi32/tests: Add tests for geometric solid pens.
 
-Hwang YunSong (1):
+Hwang YunSong (2):
+      po: Updated Korean translation.
       po: Updated Korean translation.
 
-Jacek Caban (60):
-      jscript: Use bytecode for assignment to identifier.
-      jscript: Use bytecode for assigning to array expression.
-      jscript: Use bytecode for assignment to member expression.
-      jscript: Use bytecode for invalid assignments.
-      jscript: Use bytecode for '+=' expression implementation.
-      jscript: Use bytecode for '-=' expression implementation.
-      mshtml: Return wrapped ActiveX object's interface from object element's QueryInterface.
-      mshtml: Added tests for returning ActiveX object's interfaces from object element's QueryInterface.
-      jscript: Use bytecode for '*=' expression implementation.
-      jscript: Use bytecode for '/=' expression implementation.
-      jscript: Use bytecode for '%=' expression implementation.
-      jscript: Added bytecode version of member expression.
-      jscript: Use bytecode for '|=' expression.
-      jscript: Use bytecode for '^=' expression implementation.
-      mshtml: Don't use WINAPI for assembly functions to avoid linker warnings on mingw.
-      mshtml: Added support for navigating to _self target.
-      jscript: Use bytecode for calls on identifier and member expressions.
-      jscript: Use bytecode for all call expressions.
-      jscript: Use binary_expression_t instead of array_expression_t.
-      jscript: Added bytecode version of array expression.
-      jscript: Use bytecode for post-increment expression.
-      jscript: Use bytecode for post-decrement expression.
-      scrrun: Moved script extensions registration to scrrun.dll.
-      appwiz.cpl: Run winebrowser directly instead of using ShellExecute.
-      jscript: Use bytecode for pre-increment expression implementation.
-      jscript: Use bytecode for pre-decrement implementation.
-      jscript: Use bytecode for array literal expressions.
-      jscript: Use bytecode for binary and implementation.
-      jscript: Use bytecode for '&=' expression implementation.
-      jscript: Use bytecode for '>>' expression.
-      jscript: Use bytecode for '>>=' expression.
-      wininet: Use test.winehq.org instead of crossover.codeweavers.com in test_async_HttpSendRequestEx.
-      wininet: Properly handle closed connection in HTTP_HttpEndRequestW.
-      wininet: Added more connection failure tests.
-      winebrowser: Use IUri API for URL-related logic.
-      jscript: Fixed memory leaks.
-      jscript: Use bytecode for '>>>' expression implementation.
-      jscript: Use bytecode for '>>>=' expression implementation.
-      jscript: Use bytecode for '<<' expression implementation.
-      jscript: Use bytecode for '<<=' expression implementation.
-      jscript: Don't use EXPR_NEWREF in for_statement_event.
-      jscript: Don't use EXPR_NEWREF in forin_statement_event.
-      jscript: Use bytecode for instanceof implementation.
-      jscript: Properly handle NULL IDispatch in stack_pop_object.
-      jscript: Initialize VARIANT before passing it to disp_propget.
-      mshtml: Initialize VARIANT before passing it to variant_copy.
-      jscript: Use bytecode for typeof expression implementation.
-      htiframe.idl: Added ITargetFramePriv and ITargetFramePriv2 declarations.
-      jscript: Use byte code for deleting identifier expressions.
-      jscript: Added more deleting tests.
-      jscript: Throw type error on invalid delete.
-      jscript: Call expressions needling EXPR_NEWREF flag directly.
-      jscript: Don't pass EXPR_NEWREF to name expression in array_expression_eval.
-      jscript: Always use compiler for member, array and identifier expressions.
-      jscript: Get rid of no longer needed EXPR_NEWREF flag.
-      jscript: Use bytecode for function expression implementation.
-      jscript: Use bytecode for object literal implementation.
-      jscript: Get rid of no longer needed expression eval entry.
-      jscript: Invoke bytecode directly from expr_eval.
-      jscript: Return VARIANT directly from expr_eval.
+Jacek Caban (51):
+      jscript: Store type information in statement nodes.
+      jscript: Use bytecode for block statement implementation.
+      jscript: Use bytecode for execution main code block in exec_source.
+      jscript: Use compiler for handling expression statements.
+      jscript: Use compiler for handling if statement.
+      jscript: Use compiler for hanling empty statements.
+      jscript: Use compiler to handle variable statement.
+      jscript: Get rid of no longer used expr_eval flags.
+      jscript: Get rid of no longer needed identifier in exprval_t.
+      jscript: Renamed jmp_z and jmp_nz to cnd_z and cnd_nz.
+      jscript: Added new jmp_z opcode, more appropriate for branches.
+      jscript: Added bytecode version of while statement.
+      jscript: Added bytecode version of for loop statement.
+      jscript: Added bytecode version of with statement.
+      jscript: Added bytecode version of switch statement.
+      jscript: Use bytecode for labelled statement stub.
+      ntoskrnl.exe: Added IoGetCurrentProcess stub.
+      vbscript: Added compiler support for parametrized assignment statements.
+      jscript: Added bytecode version of for..in statement.
+      jscript: Rename throw opcode to throw_ref.
+      jscript: Use bytecode for throw statement.
+      jscript: Added bytecode version of try statement.
+      jscript: Use labels in compiler for ending loops.
+      jscript: Added bytecode versions of break and continue statements.
+      jscript: Get rid of no longer needed no_fallback hack.
+      jscript: Added more control flow tests.
+      mshtml: Use IURi for IHTMLLocation::get_hash implementation.
+      jscript: Always use bytecode for with statement.
+      jscript: Always use bytecode for for..in statement.
+      jscript: Always use bytecode for for statement.
+      jscript: Always use bytecode for switch statement.
+      jscript: Always use bytecode for try statement.
+      jscript: Always use bytecode for while statement.
+      jscript: Moved exec_source to the bottom of the file.
+      jscript: Get rid of stat_eval_table.
+      jscript: No longer support per-statement compilation.
+      jscript: Moved instr_off from statement_t to source_elements_t.
+      jscript: Added bytecode dumper implementation.
+      mshtml: Use IUri in IHTMLLocation::get_protocol implementation.
+      mshtml: Reorder nsIURL functions to match vtbl order.
+      actxprxy: Added htiface.idl interfaces.
+      jscript: Handle invalid break statements in compiler.
+      jscript: Handle invalid continue statements in compiler.
+      jscript: Make compiler responsible for proper return from regular code vs. eval-interpreted code.
+      jscript: Use bytecode for return statement implementation.
+      jscript: Get rid of no longer needed type field of return_type_t structure.
+      jscript: Use bytecode for labeled continue and break statements.
+      jscript: Get rid of no longer needed compile_interp_fallback since we can handle all execution by bytecode.
+      jscript: Get rid of no longer needed interp_tree.
+      jscript: Get rid of return_type_t.
+      mshtml: Use IUri in IHTMLLocation::put_port implementation.
 
-Juan Lang (1):
-      wintrust: Don't dereference a potentially NULL pointer.
+Jörg Höhle (3):
+      mmdevapi: Enforce limits on period and duration.
+      winealsa.drv: Request ALSA period time to match MMDevAPI period time.
+      winealsa: Use an ALSA buffer of 4 periods to limit prefill.
 
-Jörg Höhle (1):
-      winealsa: Implement IAudioClock::GetPosition() using snd_pcm_delay.
+Ken Thomases (3):
+      comdlg32: Fix a leak.
+      winex11: Have ToUnicodeEx null-terminate the output buffer, if there's room.
+      user32/tests: Test that ToUnicode null-terminates the buffer if it's big enough.
 
-Kusanagi Kouichi (3):
-      gdi32/tests: Add tests for vertical font.
-      gdi32: Don't use preferred family name.
-      gdi32: Don't remove leading '@' from face name.
+Kusanagi Kouichi (6):
+      gdi32: Add a helper function to convert a string from A to W.
+      gdi32: Use find_family_from_name and LIST_FOR_EACH instead of open-coding them.
+      gdi32: Merge two ifs.
+      gdi32: Split AddFontToList into two functions.
+      gdi32: Add vertical fonts to font list.
+      gdi32: Substitute glyph for vertical font only.
 
-Luca Bennati (5):
+Luca Bennati (2):
       po: Update Italian translation.
       po: Update Italian translation.
-      po: Update Italian translation.
-      po: Update Italian translation.
-      po: Update Italian translation.
 
-Marcus Meissner (2):
-      ole32: Handle VT_BLOB in PropertyStorage_ReadProperty.
-      ole32: Output more information in OleCreateStaticFromData.
+Matteo Bruni (3):
+      wined3d: Improve invalid TEXTURETRANSFORMFLAGS handling.
+      wined3d: Improve projection TEXTURETRANSFORMFLAGS handling in the ARB fragment ffp implementation.
+      d3d9/tests: More D3DTSS_TEXTURETRANSFORMFLAGS projection tests.
 
-Matteo Bruni (2):
-      wined3d: Fix some flag checks.
-      wined3d: Ignore invalid texture transform flags.
+Michael Mc Donnell (1):
+      d3dx9/tests: Add a D3DXValidMesh test.
 
-Michael Stefaniuc (1):
-      cmdlgtst: Remove obsolete and unused application.
-
-Nikolay Sivov (26):
-      comctl32/listview: Create header when LVS_EX_GRIDLINES style is set.
-      msxml3: Added IDispatchEx support for IMXWriter.
-      msxml3: Attribute name could be qualified.
-      msxml3: Added IDispatchEx support for IXSLTemplate.
-      msxml3: Added IDispatchEx for IXSLProcessor.
-      comctl32/listview: Create header when LVS_EX_FULLROWSELECT is requested.
-      msxml3: Use libxml2 buffer support through helpers.
-      msxml3: Write document prolog separately.
-      msxml3: Properly handle writer output in a form of BSTR.
-      msxml3: Escape '<','&','"' and '>' in attribute value.
-      msxml3: Trace parameters in stub methods.
-      msxml3: Accept disabled on load validation.
-      msxml3: Schema cache COM cleanup.
-      msxml3: Added IDispatchEx support for IXMLDOMSchemaCollection2.
-      msxml3: Use IXMLDOMDocument3 as a latest interface version.
-      msxml3: IDispatchEx support for MXNamespaceManager.
+Nikolay Sivov (17):
+      msxml3: Skip leading space characters when loading from BSTR.
+      msxml3: Implement response headers access methods.
+      msxml3: libxml2 is not used for writer.
+      msxml3: Use ascii/utf-8 encoding for request body.
+      msxml3: Support VT_VARIANT|VT_BYREF for body data.
+      comctl32: Fix parameter validation for CreateMRUListLazyA().
+      msxml3: Support VT_ARRAY|VT_UI1 as body type.
+      msxml3: Support DELETE method in IXMLHttpRequest.
+      msxml3: Fix VT_BSTR case for IXMLHttpRequest::send().
       po: Update Russian translation.
-      ole32: COM cleanup of IStream based on HGLOBAL.
-      ole32: Simplify stream creation, remove redundant comments.
-      msxml3/tests: Test switching encoding after document is started already.
-      msxml3: Implemented get_responseStream().
-      msxml3: Added IXMLDOMParseError2 support.
-      msxml3: Initialize VARIANT before passing it to VariantCopy.
-      msxml3: Get rid of libxml2 output buffer implementation.
-      msxml3: Don't use libxml2 encoding helpers.
-      msxml3: Remove redundant type specifiers.
+      msxml3: IXSL* implementations do not depend on libxml2.
+      comctl32: Block selection change depending on TCN_SELCHANGING result.
+      msxml3: Implement element stack and use it in related callbacks.
+      wshom.ocx: Added IDispatch support for IWshShell3.
+      po: Update Russian translation.
+      wshom.ocx: Fix IWshShell3 definition.
+      wshom.ocx: Added IWshCollection stub and some tests.
 
-Pierre Schweitzer (6):
-      kernel32: Fix memory leak.
-      usp10: Fix memory leaks.
-      msctf: Fix memory leaks.
-      msacm32: Fix buffer double free.
-      wineps.drv: Fix memory leak.
-      usp10: Fix memory leak.
+Piotr Caban (31):
+      msvcp90: Reorder classes to avoid forward declarations.
+      msvcp90: Added collate<char> constructors implementation.
+      msvcp90: Use macro to define RTTI data.
+      msvcp90: Added macro to call functions from vtable.
+      msvcp90: Added collate<char>::compare implementation.
+      msvcp90: Added collate<char>::do_hash implementation.
+      msvcp90: Correctly export collate<short> constructors.
+      msvcp90: Added partial collate<wchar_t> implementation.
+      msvcp90: Added ctype<char> constructors implementation.
+      msvcp90: Added ctype<char>::narrow functions implementation.
+      msvcp90: Added ctype<char>::widen functions implementation.
+      msvcp90: Hold _LOCK_LOCALE critical section while _Lockinfo object exists.
+      msvcp90: Added ctype<char>::tolower functions implementation.
+      msvcp90: Added ctype<char>::toupper functions implementation.
+      msvcp90: Added ctype<char>::is functions implementation.
+      msvcp90: Don't crash if NULL is passed to _Strcoll and _Wcscoll.
+      msvcp90: Added ctype<wchar_t> constructors implementation.
+      msvcp90: Added ctype<wchar_t>::narrow functions implementation.
+      msvcp90: Added ctype<wchar_t>::widen functions implementation.
+      msvcp90: Added ctype<wchar_t>::tolower functions implementation.
+      msvcp90: Added ctype<wchar_t>::toupper functions implementation.
+      msvcp90: Added ctype<wchar_t>::is functions implementation.
+      msvcp90: Added ctype<wchar_t>::scan functions implementation.
+      msvcp90: Added numpunct<char> class stub.
+      msvcp90: Added numpunct<wchar_t> class stub.
+      msvcp90: Correctly initialize vtable pointer in Getcat functions.
+      msvcrt: NULL terminate strings returned by _Getdays and _Getmonths.
+      msvcp90: Fix class functions invocation on 64bit systems.
+      msvcp90: Added numpunct<char> constructors implementation.
+      msvcp90: Added numpunct<char> class implementation.
+      msvcp90/tests: Test virtual function calls returning structures.
 
-Piotr Caban (38):
-      msvcrt: Added _get_current_locale implementation.
-      msvcrt: Fix lc_collate_cp initialization.
-      include: Update msvcrt/locale.h.
-      msvcp90: Added _Locinfo constructor implementation.
-      msvcp90: Added _Locinfo::_Addcats partial implementation.
-      msvcp90: Added _Getcoll implementation.
-      msvcp90: Added _Getctype implementation.
-      msvcrt: Initialize lc_time_curr inside create_locale.
-      msvcrt: Added _Gettnames implementation.
-      msvcrt: Added _Getdays implementation.
-      msvcrt: Added _Getmonths implementation.
-      msvcrt/tests: Added _Gettnames tests.
-      msvcp90: Added _Getcvt implementation.
-      msvcp90: Added _Locinfo::_Getfalse and _Gettrue implementation.
-      msvcp90: Added _Locinfo::_Getlconv implementation.
-      msvcp90: Added _Locinfo::_Getname implementation.
-      msvcp90: Added _Locinfo::_Getdays implementation.
-      msvcp90: Added _Locinfo::_Getmonths implementation.
-      msvcp90: Added _Locinfo::_Gettnames implementation.
-      services: Accept SERVICE_START_PENDING as valid service start status.
-      services: Set result inside service_send_command.
-      services: Fix SERVICE_STATUS initialization in svcctl_ControlService.
-      services: Check process status to determine if service has terminated.
-      services: Don't close control_pipe when SERVICE_CONTROL_STOP is sent.
-      services: Move service cleanup code to separate function.
-      services: Terminate service when its status is set to SERVICE_STOPPED.
-      hlink: Fix leak in HlinkNavigateToStringReference.
-      urlmon: Fixed trace message in URLMoniker_BindToObject function.
-      urlmon: Added stub for 444 and 445 function.
-      msvcp90: Removed __ASM_EXCEPTION_VTABLE macro.
-      msvcp90: Fixed basic_streambuf<char> vtable.
-      msvcp90: Added collate<char> class stub.
-      msvcp90: Added collate<wchar_t> class stub.
-      msvcp90: Added collate<unsigned short> class stub.
-      msvcp90: Added ctype_base class implementation.
-      msvcp90: Added ctype<char> class stub.
-      msvcp90: Added ctype<wchar_t> class stub.
-      msvcp90: Added ctype<unsigned short> class stub.
+Rico Schüller (16):
+      d3dx9/tests: Add effect parameter value GetValue() test.
+      d3dx9/tests: Add effect parameter value GetBool() test.
+      d3dx9/tests: Add effect parameter value GetBoolArray() test.
+      d3dx9/tests: Add effect parameter value GetInt() test.
+      d3dx9/tests: Add effect parameter value GetIntArray() test.
+      d3dx9: Simplify ID3DXBaseEffect::SetInt().
+      d3dx9: Use a loop in get_vector().
+      d3dx9/tests: Add effect parameter value GetFloat() test.
+      d3dx9/tests: Add effect parameter value GetFloatArray() test.
+      d3dx9/tests: Add effect parameter value GetVector() test.
+      d3dx9/tests: Add effect parameter value GetVectorArray() test.
+      d3dx9: Fix variable sequence.
+      d3dx9/tests: Add effect parameter value GetMatrix() test.
+      d3dx9/tests: Add effect parameter value GetMatrixArray() test.
+      d3dx9/tests: Add effect parameter value GetMatrixTranspose() test.
+      d3dx9/tests: Add effect parameter value GetMatrixTransposeArray() test.
 
-Rico Schüller (5):
-      d3dx9: Implement D3DXSHAdd().
-      d3dx9: Implement ID3DXBaseEffect::GetVector().
-      d3dx9: Implement ID3DXBaseEffect::SetVector().
-      d3dx9: Implement ID3DXBaseEffect::SetVectorArray().
-      d3dx9: Implement ID3DXBaseEffect::SetValue().
+Ričardas Barkauskas (2):
+      ws2_32/tests: Test some completion port behavior.
+      ws2_32: Don't post completion packet if sending fails with error immediately.
 
-Stefan Dösinger (11):
-      ddraw: Size handling fixes for IDirect3DDevice::GetCaps.
-      ddraw/tests: Add a IDirect3DDevice7 GetCaps test.
-      ddraw/tests: Update a copyright line.
-      wined3d: Remove fglrx GLSL constant quirks.
-      wined3d: Remove the Apple NV_texture_shader quirk.
-      ddraw/tests: Add a IDirect3DDevice2 GetCaps test.
-      d3d9/tests: Test StrechRect between depth stencils with different sizes.
-      d3d9/tests: Clarify a comment.
-      ddraw/tests: Make the SetSurfaceDesc test ok messages consistent.
-      ddraw: SetSurfaceDesc can set width, height and pitch under certain conditions.
-      ddraw/tests: Extend the CreateSurface(NULL test), use own function.
+Stefan Leichter (6):
+      dhcpcsvc: New stub dll.
+      ntoskrnl.exe: Add stub for IoUnregisterShutdownNotification.
+      wine.inf: Add registry key for DiskDrive class.
+      ntoskrnl.exe: Add stub for IoInitializeRemoveLockEx.
+      setupapi: Add stub for SetupDiGetClassBitmapIndex.
+      setupapi: Add stub for SetupDiDrawMiniIcon.
 
 Łukasz Wojniłowicz (1):
       po: Update Polish translation.
diff --git a/VERSION b/VERSION
index 88e8c17..0c1b47c 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-Wine version 1.3.35
+Wine version 1.3.36
diff --git a/configure b/configure
index bcc8105..09b5cb4 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.68 for Wine 1.3.35.
+# Generated by GNU Autoconf 2.68 for Wine 1.3.36.
 #
 # Report bugs to <wine-devel@winehq.org>.
 #
@@ -560,8 +560,8 @@
 # Identity of this package.
 PACKAGE_NAME='Wine'
 PACKAGE_TARNAME='wine'
-PACKAGE_VERSION='1.3.35'
-PACKAGE_STRING='Wine 1.3.35'
+PACKAGE_VERSION='1.3.36'
+PACKAGE_STRING='Wine 1.3.36'
 PACKAGE_BUGREPORT='wine-devel@winehq.org'
 PACKAGE_URL='http://www.winehq.org'
 
@@ -1380,7 +1380,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.3.35 to adapt to many kinds of systems.
+\`configure' configures Wine 1.3.36 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1449,7 +1449,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Wine 1.3.35:";;
+     short | recursive ) echo "Configuration of Wine 1.3.36:";;
    esac
   cat <<\_ACEOF
 
@@ -1595,7 +1595,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Wine configure 1.3.35
+Wine configure 1.3.36
 generated by GNU Autoconf 2.68
 
 Copyright (C) 2010 Free Software Foundation, Inc.
@@ -2113,7 +2113,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.3.35, which was
+It was created by Wine $as_me 1.3.36, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   $ $0 $@
@@ -16130,7 +16130,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.3.35, which was
+This file was extended by Wine $as_me 1.3.36, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -16201,7 +16201,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.3.35
+Wine config.status 1.3.36
 configured by $0, generated by GNU Autoconf 2.68,
   with options \\"\$ac_cs_config\\"
 
