diff --git a/ANNOUNCE b/ANNOUNCE
index 58ef4e7..cbaea6b 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,16 +1,16 @@
-The Wine development release 1.3.31 is now available.
+The Wine development release 1.3.32 is now available.
 
 What's new in this release (see below for details):
-  - BiDi text support in the single-line edit control.
-  - Support for StretchDIBits and AlphaBlend in the DIB engine.
-  - A number of audio fixes.
-  - VBScript improvements.
+  - BiDi text support in the multi-line edit control.
+  - Support for pattern brushes in the DIB engine.
+  - A number of MSXML fixes.
+  - Improvements to the PostScript driver.
   - Various bug fixes.
 
 The source is available from the following locations:
 
-  http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.3.31.tar.bz2
-  http://prdownloads.sourceforge.net/wine/wine-1.3.31.tar.bz2
+  http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.3.32.tar.bz2
+  http://prdownloads.sourceforge.net/wine/wine-1.3.32.tar.bz2
 
 Binary packages for various distributions will be available from:
 
@@ -26,565 +26,548 @@
 
 ----------------------------------------------------------------
 
-Bugs fixed in 1.3.31:
+Bugs fixed in 1.3.32:
 
-   7333  Where in the World is Carmen San Diego fails to install
-   8498  builtin msxml3 fails to validate MSN Messenger's xml
-  10112  BitBlt between 8 bit color index DIBs wrong
-  10249  ollydbg complains about unexpected debug events from child processes after attaching to the debuggee
-  10423  Painkiller Single-Player Demo #3: change in shader_glsl_lit() caused white turrets
-  10910  winealsa and PulseAudio
-  11167  Wrong usage of GL_GENERATE_MIPMAP_HINT_SGIS
-  12071  MSI SQL joins on tables with many rows are extremely slow ("Nero 7 essentials", "NI Multisim 11.x" installer)
-  12894  kernel32: thread test fails in PC-BSD but not Linux
-  16549  Chuzzle causes page fault
-  16822  Mass Effect: Mouse input does not work (almost completely)
-  17206  alt.binz 0.24.6: Minimize to systray, icon flickers, right click on systray icon, icon menu won't disappear
-  18140  FastMail: vertical stripes in the fields
-  19037  CTRL key automatically released?
-  19370  Secret of Monkey Island audio functioning is dependent on Wine's sample rate
-  19522  Team Fortress 2 (TF2) missing menu fonts
-  19558  Many Faces of Go 12 - Stone backgrounds are not transparent
-  19971  NFS: Undercover crashes upon launch
-  20554  Populous 3 fails to start
-  21889  F/A-18E Super Hornet fails to start
-  22683  Jedi Knight: Dark Forces II weapon is missing
-  23480  AD-muncher does not install
-  23658  Acclaim Re-Volt: All transparent objects not displayed correctly (black/blinky)
-  23911  Mathcad 14: unimplemented function msvcr80.dll._getptd, aborting
-  24024  CandyWorldSetup.exe from Candy World III: Heart of Heaven Demo show incorrect font
-  24504  Plants vs Zombies: Game loses sound when restarting game
-  24957  32-bit Explorer++ shows garbage in the status bar while opening menu bar menus
-  25163  HTML broken in OpenDiscDVD application
-  25251  Multi-byte characters handled incorrectly by MSVCRT_isleadbyte()
-  25291  Galcon Fusion: Music doesn't works with hardware accelerated sound
-  25774  Crysis demo: water flickering
-  25971  UPX packed 'Link 7000 Plus' exits silently
-  25978  Secret of Monkey Island wants msvcp80.dll.?classic@locale@std@@SAABV12@XZ
-  26074  shell32/brsfolder tests show some valgrind warnings
-  26087  Notepad++ 5.x: window "Find in files" does not respond
-  26091  Finale 2010 - lines that are supposed to be dashed are solid
-  26140  comdlg32/finddlg shows an uninitialized value under valgrind
-  26187  Need For Speed: Underground crashes with extra effects enabled (blur, people)
-  26486  Cannot run ArcGIS
-  26552  Wine sets the resolution incorrectly on widescreen monitors
-  26572  The 4th Coming: Deadlocks or crashes with "out of GDI object handles" errors
-  27094  Lord of the Rings Online can't make entry in taskbar
-  27101  Assassin's Creed Brotherhood needs msvcp90.dll.?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ (purist)
-  27230  Corel Ventura 10's Installer hangs during setup process. Unable to finish setup.
-  27261  first build of wine fails with "/usr/bin/ld: cannot find -lwinecrt0"
-  27331  kernel32.GetLocaleInfoA/W needs to be more strict about invalid LCTYPE values (Dirt3 installer shows language selection with empty strings)
-  27332  richedit EM_STREAMIN handler needs to return the number of characters read (Dirt3 installer shows error instead of EULA text)
-  27507  Mount&Blade: Warband: Mouse pointer not shown in menu after entering battle mode
-  27534  Call of Duty 4 MW: Graphical glitches when shooting
-  27635  FlyLinkDC: Incorrect display images
-  27682  Avant Browser needs HTMLDocument_elementFromPoint
-  27762  EVE Online Singularity build crashes on start due to changes in winsock
-  27956  Dragon Naturally Speaking: Sound no longer works; sample rates and size is no longer supported
-  28056  Problems with sound under FreeBSD
-  28086  Army Builder v3.3b: buttons not clickable
-  28261  Original War: the user interface appears incorrectly (ddr=opengl)
-  28291  Heroes III: sound stops and program hangs at exit
-  28346  Paraworld hangs after playing the intro videos with Opengl renderer
-  28352  Nightly (x64) needs msvcp90.dll.?find_first_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KPEB_W_K@Z
-  28356  Loki requires msvcp80.dll.??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDU_Size_type_nosscl@01@@Z
-  28395  MAKING HISTORY II: The War of the World Demo wants msvcp90.dll.??A?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEAB_WU_Size_type_nosscl@01@@Z
-  28397  gdi32/bitmap test broken on debian testing and ubuntu 11.04
-  28399  Kindle for PC needs msvcp90.dll.?reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z
-  28452  warning: argument to 'sizeof' in 'memcpy' call is the same expression as the source; did you mean to provide an explicit length? [-Wsizeof-pointer-memaccess]
-  28454  Audacity 1.3 crashes on startup - unimplemented function msvcp90.dll.?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIABV12@@Z
-  28485  Pegasus Mail version 4.62 crashes on startup (needs GetProcessDEPPolicy stub)
-  28497  Dawn of War: Soulstorm no longer starts
-  28500  Fails to parse DIM a statement that is on more than one line.
-  28548  Messiah demo installer crashes (ddr=opengl)
-  28551  Adobe Reader X fails to uninstall
-  28560  Time is 1 hour behind in cmd.exe and notepad (F5)
-  28569  From Dust installer wants url.dll.OpenURLA
-  28574  Unimplemented function msvcp80.dll.?begin@?$basic_string@DU? $char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV? $_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ
-  28588  Diner Dash 5 clicking sound during gameplay
-  28594  mshtml/style.ok crashes when run without DISPLAY
-  28616  Plants vs Zombies: no music
-  28617  FlatOut 2 v1.2 crashes on launch (audio related)
-  28619  Armored Fist 3: distorted audio playback
-  28624  Unimplemented function msvcp80.dll.?find_first_not_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z
-  28625  Sanitarium: intermittent freezing while moving the mouse
-  28642  Multiple apps crash on start (incl. Office 2007 & 2010)
-  28644  Uru launcher using up CPU and RAM on startup
-  28648  unable to run HelpNDoc - A program that helps you create chm files
-  28662  kernel32/loader test crashes on FreeBSD7/9 (at least)
-  28679  Corrupt sound in many apps
-  28684  Incomplete check for Mesa's gl_vendor_string in wined3d_guess_card_vendor.
-  28700  And Yet It Moves refuses to launch: 'err:seh:raise_exception Exception frame is not in stack limits'
-  28707  Nightly (x64) needs msvcp90.dll.?find_last_not_of@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBA_KPEB_W_K@Z
-  28714  vbscript/run.ok: invalid write in DispatchEx_Release
-  28720  Kindle for PC needs msvcp90.dll.??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ID@Z
-  28722  Assassins Creed installer fails with GameuxInstallHelper.AddToGameExplorerW error 0x80040707
-  28731  Drakensang (The Dark Eye) crashes before reaching the main menu
-  28732  use-after-free in MONTHCAL_UpdateSize
-  28733  Rome: Total War segfaults on startup when multisampling enabled
-  28737  shell32: invalid free in BrsFolderDlgProc in func_brsfolder in "make brsfolder.ok"?
-  28740  Google Music Manager can't open music player
-  28742  comctl32/tests/monthcal.ok: Invalid read in MONTHCAL_NotifyDayState() in test_daystate()
-  28753  AniDB O'Matic shows exception dialog on startup (madcodehook, gcc 4.6.x frame pointer omission in Wine code)
-  28773  Kindle for PC exposes some heap corruption in msvcp90
-  28780  VBScript fails to parse hex literals
-  28791  XSetDashes is being passed 0 as one of the dashes causing a BadValue Error
-  28794  user32:edit crashes on Mac
-  28796  ntdll: read buffer overrun in lookup_manifest_file
-  28811  Invalid read in ScriptBreak()
-  28812  Uninitialized memory read in ContextualShape_Oriya() in test_ScriptShapeOpenType
-  28813  usp10/tests: uninitialized stack variable in test_ScriptXtoX
+   1425  Implement BiDi Edit control
+   3992  arabic (and probably other RTL languages) dont render correctly in Notepad
+   5629  Printing is mirrored (Genline Family Finder 2)
+   8712  amstream video demo does not play because of IDirectDrawMediaStreamImpl_CreateSample stub
+   9444  Crystal Enterprise 8 (a flavor of Crystal Reports?) install fails
+   9972  Catan: sound runs 2x fast then freezes game
+  10581  swat 3 v2.1 needs some amstream stuff to work
+  11799  ArcRail demo says "No direct 3d, switching to sw rasterizer" forever
+  12402  Reversed printing of vertical text using wineps.drv
+  12970  Unreal media service crashes upon accepting connection
+  13251  Half Life 2 crash after "load" finish
+  13795  Babylon 7: dictionary installation fails
+  14677  Mail.ru Agent ICQ client doesn't start
+  15145  Icons surrounded by squares Prince of Persia 3D
+  15429  winhttp doesn't send HTTP auth credentials (affects google chrome)
+  15500  Can't select options in the menus
+  16203  Not  all entries in Speed Commander GUI are displayed
+  16485  WMP is unable to play mpeg/mpg files, affects Powerpoint 2007's presentation capabilities
+  18474  DPP (Digital Photo Professional): Instruments window returns to its starting position (in the center) automatically when the image windows is selected
+  18608  Trickstyle does not start anymore
+  19405  [Secret of Monkey Island Special Edition] Game crashing, when exiting
+  20419  Foxit Reader fails to start on x86_64: "odbc32.dll" failed to initialize
+  20538  SPlan 7.0 - some elements are printed solid black
+  20870  Usertracks fail to load in GTA San Andreas
+  21204  Warcraft 3 disproportionately slow in d3d mode unless RenderTargetLockMode=disabled
+  21216  Unimplemented function KERNEL32.dll.InitializeSRWLock , causes Shattered Horizon - Steam, to crash.
+  21627  Black surfaces on sims 3 characters
+  21901  Sonic Riders launcher hangs when trying to remap control keys
+  22407  Star Wars DroidWorks severe graphical glitch
+  22506  Russian fiscal declarations application crashes after start
+  22883  implement dbghelp.SymMatchStringA/W (needed by "Debugging Tools for Windows")
+  23194  Black background in some apps when Desktop Integration is used
+  23197  Mathematica Welcome screen has no images
+  23536  Prince of Persia Warrior Within: Sound does not work even though "Test Sound" works fine in winecfg
+  23905  sothink: Maximizing completely breaks the window
+  24095  1c v77 crashes
+  24371  Microsoft EMET v2 and other tools need apphelp.dll (application shim)
+  24432  League of Legends standalone client crashes on unimplemented function msvcr80.dll._localtime64_s
+  24783  WoW 4.x D3D: non-low texture resolution slows the game down
+  24806  Guilty Gear X2 #Reload crashes on startup
+  24891  GUNNER2: The game doesn't start
+  24961  BioEdit errors if datafile is closed
+  25242  QQ International doesn't work
+  25388  ChessPlanet crashes during initializing
+  25423  "38644" - Mandelbulb in 1K intro crashes
+  25826  msctf:inputprocessor tests fail on clang
+  25929  VGA Planets 3.5.025 fails to run
+  25983  Double Sound (Alsa and Pulse)
+  26150  ElektroManager broken due to mlang.GetGlobalFontLinkObject
+  26354  Quicken Deluxe 2009 crashes
+  26355  Webbrowser WM_LBUTTONDOWN message don't work
+  26427  AutoCAD 2008: AdMigrator.exe crashes
+  26474  Wineconsole does not always exit when its child exits
+  26643  Undefined symbols _SSLCopyPeerCertificates on Mac OS X 10.4.11
+  27173  ACDSee Pro 4 crashes during installation
+  27194  The Witcher 2: White/coloured screen with UseGLSL=enabled
+  27239  O.R.B. (Off-World Resource Base): build menu inoperative
+  27327  Star Fury: unusually long delay when opening the setup screen
+  27561  Duke Nukem Forever needs native dinput8
+  27640  notepad and excel do not render hindi typed text properly
+  27756  F-22 Lightning 3 crashes on mission launch (when using hardware acceleration)
+  27803  Internet Explorer 9 installer prerequisite check fails due to mismatching ntoskrnl.exe version resource (reported Winver vs. resource version)
+  27829  Band-in-Box 9 Pro: Regression - corrupted bitmaps
+  27841  LabVIEW 2010: Installation goes slow
+  27937  winmm kept busy playing silence after play finishes
+  28027  μ-law rendering with pauses and repetitions
+  28175  Kurso de Esperanto 3.2 Lessons don't open and block the application
+  28212  Sound stops for Crimsonland
+  28232  Keyboard not working in "Hype - The Time Quest"
+  28342  Nox shows only a black screen with Opengl renderer
+  28411  KORG M1 DLE display problem in Browser
+  28414  Have no sound in Live For Speed S2
+  28446  Internet Explorer 8 hangs at google.com
+  28482  Main window in SeeYou displays nothing and doesn't update
+  28519  WINE cannot be compiled completely outside the source tree
+  28523  Future Pinball produce a parser error
+  28559  Quicktime "Upgrade" splash window is all grey
+  28595  Graphics problems in Starcraft II
+  28597  winecfg page fault during sound test
+  28763  Averasell: Only £ key works on keyboard
+  28765  Columns UI extension for foobar2000 crashes application in Ubuntu 11.10
+  28782  Arcanum: certain keys not working, videos unskippable
+  28798  GearoticMotion.exe: Getting NTE_BAD_DATA importing a key
+  28828  gmail notifier getting unexpected http headers
+  28829  Internet Explorer 3.02 crashes on viewing personal certificates - unimplemented function wininet.dll.ShowClientAuthCerts
+  28830  Internet Explorer 3.02 crashes on viewing a site certificate - unimplemented function wininet.dll.ShowX509EncodedCertificate
+  28837  Internet Explorer 3.02 crashes from unimplemented function wintrust.dll.FindCertsByIssuer
+  28843  The Polynomial hangs after starting
+  28854  Videos in VLC only show a black screen unless DirectDrawRenderer is set to GDI
+  28872  GT Challenge displayed in wrong colors
+  28873  VBScript causes an assert when a running script
+  28889  An unknown application fails to show GUI
+  28894  High cpu usage in a Delphi application
+  28899  Arcanum: portion of the screen gets corrupted as the mouse pointer passes over it
+  28902  Crash with MS-Money 95
+  28903  Oddworld: screen stays frozen with the menu screen
+  28910  cnet download app never gets past loading screen
+  28912  Dark Fall crashes immediately after starting
+  28945  Armored Fist 3 shows only black screen after starting
+  28952  Explorer++ always highlights text in the address bar
+  28955  League of Legends installer freezes for a long time when attempting to display an EULA
+  28956  Internet Explorer 3.02 causes a crash after moving the temporary internet files folder - unimplemented function wininet.dll.RunOnceUrlCache
+  28961  Native usp10 doesn't work with uniscribe enabled edit control
+  28979  monochrome bitmap printing problem
+  28985  colors returned from printer device context are different between windows and wine
 
 ----------------------------------------------------------------
 
-Changes since 1.3.30:
+Changes since 1.3.31:
 
-Alex Henrie (6):
-      po: Update Catalan translation.
-      po: Update Catalan translation.
-      winecfg: Add Catalan translation.
-      comctl32: Add Catalan translation.
-      comdlg32: Update Catalan translation.
-      shell32: Update Catalan translation.
+Alex Henrie (1):
+      kernel32: Output message to stderr in current Unix codepage.
 
-Alexander Morozov (2):
-      kernel32/tests: Shared lock can overlap exclusive if handles are equal.
-      server: Fix overlapping shared and exclusive locks support.
+Alexander Morozov (1):
+      wincrypt.h: Fix a typo.
 
-Alexandre Julliard (41):
-      winex11: Fall back to client-side blit for color -> monochrome conversions.
-      winex11: Fall back to client-side blit when the source needs palette mapping.
-      winex11: Require an A8R8G8B8 format for blending with a source alpha.
-      gdi32/tests: Add tests for GdiAlphaBlend with source alpha.
-      gdi32: Add an AlphaBlend entry point in the DIB driver.
-      winex11: Get rid of the client-side DIB optimization in AlphaBlend.
-      gdi32: Add an all-one alpha channel when converting a DIB for blending.
-      gdi32: Move some common code out of the individual copy_rect functions.
-      gdi32: Add a helper function to look up color table entries, and default to 0 for missing entries.
-      gdi32: Add support for arbitrary DIB bitfields for 32-bpp conversions.
-      gdi32: Add support for arbitrary DIB bitfields for 16-bpp conversions.
-      gdi32: Get rid of the return value in DIB conversion functions, they never fail now.
-      gdi32: Add a check for null bitfields in SetDIBits.
-      gdi32: Add a helper for RGB to color index mapping to avoid redundant shifts.
-      gdi32: Use a reduced precision for RGB to palette mapping in DIB conversions.
-      gdi32/tests: Add tests for DIB conversions from various source formats.
-      gdi32/tests: Add more tests for arbitrary 32-bpp bitfields as destination.
-      gdi32/tests: Add more tests for various palette formats as destination.
-      gdi32: Overlapping rectangles are not allowed in GdiAlphaBlend.
-      gdi32: Implement a BlendImage entry point in the DIB driver.
-      gdi32/tests: Add test cases for DIB blending.
-      gdi32: Add a fall back implementation of BlendImage using client-side blending.
-      wineps: Get rid of the StretchDIBits entry point.
-      gdi32: Get rid of the DC_FUNCTIONS typedef.
-      gdi32: Return the correct error code when selecting objects in a metafile.
-      ntdll: Unwind the stack before calling exit/abort_thread on i386 the same way we do on x86_64.
-      ntdll: Fix string comparison against non null-terminated string (Valgrind).
-      gdi32: Add support for pushing a font driver on the DC driver stack.
-      gdi32: Add an initial Freetype font driver.
-      gdi32: Implement SelectFont as a standard driver entry point.
-      gdi32/tests: Add intermediate pointers to color tables to simplify the code and avoid array bounds warnings.
-      gdi32: Add an intermediate variable to avoid array bounds warnings.
-      gdiplus/tests: Add an intermediate variable to avoid array bounds warnings.
-      ntdll/tests: Clear the full atom structure before every test.
-      winex11: Chain to the next driver when not using a device font.
-      wineps: Chain to the next driver when not using a device font.
-      gdi32: Implement GetTextExtentExPointW as a standard driver entry point.
-      gdi32: Implement GetCharWidthW as a standard driver entry point.
-      xcopy: Fix varargs handling for 64-bit.
-      winex11: Filter out zero-size dashes for PS_USERSTYLE pens.
-      wineps: Add support for PS_USERSTYLE pens.
+Alexandre Julliard (86):
+      makefiles: Build the pot files with a separate pass from the top-level makefile.
+      makefiles: Add rules for building mo files.
+      wrc: Store the current po file in a global variable.
+      wrc: Load translations from mo files instead of po.
+      configure: Generate rules to update po files when gettextpo is explicitly requested.
+      winex11: Add error checks around every XF86VidMode call.
+      mmdevapi/tests: Don't crash on test failure.
+      gdi32: Add a few helper functions for computing font metrics.
+      gdi32: Implement GetTextMetrics as a standard driver entry point.
+      gdi32: Don't return outline metrics for bitmap fonts.
+      gdi32: Implement EnumDeviceFonts as a standard driver entry point.
+      gdi32: Rename the EnumDeviceFonts entry point to EnumFonts since it's not limited to device fonts.
+      gdi32: Add driver entry points for a number of font functions.
+      gdi32: Implement GetCharABCWidths as a standard driver entry point.
+      gdi32: Implement GetCharABCWidthsI as a standard driver entry point.
+      gdi32: Reimplement GetCharABCWidthsFloat using the integer version.
+      gdi32: Implement GetFontUnicodeRanges as a standard driver entry point.
+      gdi32: Implement GetGlyphIndices as a standard driver entry point.
+      gdi32: Implement GetGlyphOutline as a standard driver entry point.
+      gdi32: Implement GetKerningPairs as a standard driver entry point.
+      gdi32: Implement GetOutlineTextMetrics as a standard driver entry point.
+      gdi32: Implement GetTextCharsetInfo as a standard driver entry point.
+      gdi32: Implement GetTextExtentExPointI as a standard driver entry point.
+      gdi32: Implement GetTextFace as a standard driver entry point.
+      gdi32: Implement GetFontData as a standard driver entry point.
+      gdi32: Implement FontIsLinked as a standard driver entry point.
+      gdi32: Implement GdiRealizationInfo as a standard driver entry point.
+      gdi32/tests: Add tests for path open/closed states.
+      gdi32: Move internal path functions to the top of the file to avoid forward declarations.
+      gdi32: Always use a polygon to draw text strike-outs and underlines.
+      winegcc: Avoid including Windows headers in the Mingw unicode stub.
+      gdi32: Avoid directly modifying the cursor position in the DC structure in PolyDraw.
+      gdi32: Push a path driver on the DC stack when a path is opened.
+      gdi32: Implement the MoveTo entry point in the path driver.
+      gdi32: Implement the LineTo entry point in the path driver.
+      gdi32: Add a helper function to start a new path stroke.
+      gdi32: Implement the Rectangle and RoundRect entry points in the path driver.
+      gdi32: Implement the arc entry points in the path driver.
+      gdi32: Implement the Bezier entry points in the path driver.
+      gdi32: Implement the polygon entry points in the path driver.
+      gdi32: Implement the polyline entry points in the path driver.
+      gdi32: Implement the ExtTextOut entry point in the path driver.
+      gdi32: Add a helper function to copy BITMAPINFO structures to avoid copying uninitialized data.
+      gdi32: Fix a misplaced release_dc_ptr call.
+      winex11: Mask FPU exceptions around fontconfig calls.
+      gdi32: Pass a HDC instead of a DC pointer to internal path functions.
+      gdi32: Add a helper function to add multiple points at once to a path.
+      gdi32: Always start a new stroke when the path ends with a closed figure.
+      gdi32: Add path entry points for functions that behave differently with an open path.
+      wineps: Fix the output of indexed bitmaps in PutImage.
+      wineps: Make color devices report 32 bits per pixel.
+      wineps: PaintRgn should leave the path empty on exit.
+      wrc: Print warnings for mismatched dialogs during po file generation.
+      wrc: Set the WS_EX_LAYOUTRTL flag when translating a dialog to a RTL language.
+      wrc: Increase the font size when translating a dialog to a language that needs a larger font.
+      winhlp32: Convert dialogs to po files.
+      wineboot: Convert dialogs to po files.
+      winemine: Convert dialogs to po files.
+      notepad: Convert dialogs to po files.
+      wineps: Implement PolyBezier using the Postscript curveto function.
+      wineps: Stroke and fill GDI paths using Postscript paths.
+      winspool/tests: Allow a different way of specifying the paper size capabilities.
+      gdi32: Allocate the bits for a DDB the first time it's used in any DIB driver call.
+      gdi32: Emulate DDB support using the DIB driver when the graphics driver doesn't support bitmaps.
+      gdi32/tests: Add some tests for the behavior of a printer DC.
+      gdi32: Add a DC driver entry point for GdiGradientFill.
+      oleview: Convert dialogs to po files.
+      wordpad: Convert dialogs to po files.
+      winefile: Convert dialogs to po files.
+      gdi32: Add some brush tests.
+      wineps: Fix a couple of typos in the path painting function.
+      gdi32/tests: Add some tests for palette-relative pattern brushes.
+      gdi32: Store a pointer instead of a global handle for DIB pattern brushes.
+      gdi32: Sanitize the DIB information for DIB pattern brushes.
+      wineconsole: Convert dialogs to po files.
+      inetcpl: Convert dialogs to po files.
+      gdi32: Store internal brush data in separate fields in the brush object.
+      gdi32: Pass the full brush contents in the SelectBrush driver entry point.
+      gdi32: Don't free bitmap bits when changing the owner, we may still have pointers to them.
+      gdi32: Retrieve the bits of a pattern brush when it's selected into a different type of DC.
+      gdi32: Add support for pattern brushes in the DIB driver.
+      dpnet/tests: Fix a test that fails on Windows.
+      gdi32: Return failure when GetPixel is not supported.
+      gdi32: Set the mono color map in BitBlt also for the initial PutImage attempt.
+      wineps: Fix the font escapement when coordinates are being mirrored.
+      dpnet/tests: Fix another test failure on Windows.
 
-Alistair Leslie-Hughes (6):
-      mshtml: Implement IHTMLDOMNode replaceChild.
-      mscoree: Add WARN when ICorDebugManagedCallback2 cannot be found.
-      url: Remove DllCanUnloadNow and DllGetClassObject.
-      mscoree: Register interfaces.
-      mmcndmgr: Add MMC interfaces.
-      mmcndmgr: Add mmcndmgr dll.
+Alistair Leslie-Hughes (3):
+      shell32: Release site pointer.
+      mscoree: Implement ICorDebug EnumerateProcesses.
+      mscoree: Return S_OK from CanLaunchOrAttach.
 
-Andrew Eikum (13):
-      winealsa.drv: Don't try to control ALSA's behavior.
-      wineoss.drv: Trim the sub-device part of the device path.
-      wineoss.drv: Only write as much data as will fit into the OSS buffer.
-      winmm: Also track input device position.
-      winmm: Use buffer offset when recording.
-      dsound: Request a more exact buffer size from MMDevAPI.
-      winecoreaudio.drv: Don't fail if setting volume fails.
-      winealsa.drv: Fix invalid pointer dereference on error path.
-      dsound: Fix type conversion problems.
-      dsound: Don't make the capture buffer object address public until it is prepared.
-      shell32: ShellExec with empty operation should behave same as with NULL operation.
-      dsound: Don't claim to support hardware buffers.
-      dsound: Always enumerate the default device first.
+Andrew Eikum (3):
+      winecfg: Don't reload winmm for each audio test.
+      winmm: Fix clock position calculation.
+      winecfg: Play test sound asynchronously.
 
-Andrew Talbot (7):
-      windowscodecs: Mark some fall-throughs in switch statements.
-      winealsa.drv: Add some return statements to mark semantic separations.
-      wined3d: Mark some fall-throughs in switch statements.
-      winex11.drv: Mark some fall-throughs in switch statements.
-      wininet: Add a break to a switch statement.
-      ws2_32: Mark a fall-through in a switch statement.
-      ws2_32: Replace switch statement with more suitable if statement.
+Andrew Talbot (12):
+      comdlg32: Remove unneeded address-of operator from array name.
+      cryptui: Remove unneeded address-of operators from array names.
+      fusion: Remove unneeded address-of operators from array names.
+      gdiplus: Remove unneeded address-of operators from array names.
+      ole32: Remove unneeded address-of operators from array names.
+      qedit: Remove unneeded address-of operator from array name.
+      rsaenh: Remove unneeded address-of operator from array name.
+      shell32: Remove unneeded address-of operators from array names.
+      windowscodecs: Remove unneeded address-of operators from array names.
+      sane.ds: Remove unneeded address-of operators from array name.
+      wined3d: Remove unneeded address-of operators from array names.
+      ws2_32: Remove unneeded address-of operator from array name.
 
-André Hentschel (6):
-      include: Add more postscript commands.
-      wineps.drv: Print the commands in decimal.
-      dbghelp: Remove superfluous PATH_MAX defines.
-      mshtml: Add stub for QUERY_IS_CACHED_AND_USABLE_OFFLINE.
-      dbghelp: Rewrite stabs parsing to not need PATH_MAX.
-      msvcr90: Add x86_64 stubs and forwards.
+André Hentschel (17):
+      shell32: Use MAX_PATH for a DOS path.
+      cmdlgtst: Add OFN_EXPLORER to allow testing modern file dialogs with multiselection.
+      winex11.drv: Remove remaining pixmap prefix to fix compilation without libxrender.
+      include: Clean up some comments.
+      include: Add some new ARM defines.
+      wininet: Add a stub for ShowX509EncodedCertificate.
+      dbghelp: Rename SymMatchString and forward it to SymMatchStringA.
+      dbghelp: Implement SymMatchStringW.
+      kernel32/tests: Use ARMv7 for PE images.
+      winedump: Add machine string for ARMv7.
+      ntdll: Try to load ARMv7 PE images on ARM.
+      winebuild: Use ARMv7 for wine modules.
+      winedbg: Use ARMv7 for debugging.
+      dbghelp: Use ARMv7 for debugging.
+      ntdll: Only load ARMv7 PE images when supported by CPU.
+      po: Update German translation.
+      apphelp: New dll stub.
 
-Aric Stewart (17):
-      user32: Use uniscribe ScriptBreak to handle edit control linebreaking.
-      usp10: Improve handling of tabs and SSA_TAB.
-      usp10: Implement SSA_FALLBACK.
-      usp10: Correct where the trailing flag transitions in the middle of a glyph.
-      usp10: Correct buffer reading overrun.
-      usp10: Add fallback font for Armenian and Georgian.
-      usp10: Handle the fNeedsCaretInfo flag in XtoCP and CPtoX.
-      usp10: Break out get_cluster_size and use it to correct ScriptStringGetLogicalWidths for clusters.
-      usp10: Handle advance for multi-glyph clusters correctly.
-      usp10: Properly adjust LogClust when composing indic consonants.
-      usp10: Properly adjust LogClust when decomposing indic vowels.
-      user32: Use Uniscribe in the single line edit control.
-      usp10: Handle multi-glyph clusters in ScriptStringOut.
-      user32: Recalculate string length when cropping string to fit.
-      usp10: Correct read overflow in ScriptBreak found by Valgrind.
-      usp10/tests: Initialize our SCRIPT_VISATTR array.
-      usp10: Correct some reading buffer overruns when parsing indic syllables.
+Aric Stewart (11):
+      usp10: Correct itemizing multiple spaces at the beginning of a run.
+      msctf: Increase buffer to have room for full key.
+      user32: Use Uniscribe in the multiline edit control.
+      user32: When building linedefs prev can be less than 0 if the format width is less than the width of a single character.
+      user32: Handle PosFromChar if the string is empty and so we have no ssa.
+      user32: Improvement for performance in soft linebreaking.
+      usp10: All glyphs in a single indic syllable are part of the same cluster.
+      usp10: Sinhala does glyph props like Indic languages.
+      user32: Respect rev for painting selections.
+      user32: Early versions of usp10 are not well behaved with ScriptString_pSize when SCRIPT_STRING_ANALYSIS is NULL.
+      user32: Only attempt autoscroll line breaking on an edit control when we have a reasonable width to break to.
 
 Aurimas Fišeras (3):
+      dinput: Add Lithuanian translation.
       po: Update Lithuanian translation.
-      comdlg32: Update Lithuanian translation.
       po: Update Lithuanian translation.
 
-Austin English (4):
-      wined3d: Recognize "Brian Paul" as a mesa card vendor.
-      d3d9/tests: Only skip the visual tests if d3d cannot be initialized on Windows.
-      configure: Use -fno-omit-frame-pointer when available.
-      kernel32: Add a stub for GetProcessDEPPolicy.
+Austin English (5):
+      winex11: Only declare the winediag debug channel if OpenGL is enabled.
+      winex11: Only declare X11DRV_DIB_QueryXShm if XShm is supported.
+      wininet: Add a stub for RunOnceUrlCache.
+      wininet: Add a stub for ShowClientAuthCerts.
+      urlmon: Add some more tests for FindMimeFromData().
 
-Bernhard Loos (5):
-      server: PIPE_TYPE_BYTE | PIPE_READMODE_MESSAGE is invalid for named pipes.
-      ntdll/tests: FILE_OVERWRITE and FILE_OVERWRITE_IF aren't legal for NtCreateNamedPipeFile.
-      msi: Reorder tables to optimize condition evaluation.
-      msi: Get rid of JOINVIEW.
-      msi: Always use WHEREVIEW for sorting.
+Bernhard Loos (1):
+      ntoskrnl: Correctly implement PsGetCurrentThread/ProcessId.
 
-Charles Davis (2):
-      ntdll: Also set CPU_FEATURE_HTT on Mac OS.
-      libwine: Fix linking with non-Apple GCC.
+Bruno Jesus (2):
+      shell32: Don't parse command line if numargs is NULL in CommandLineToArgvW.
+      include: Add a few defines to winscard.h.
 
-Dan Kegel (6):
-      msi: Initialize variable to placate static analyzers.
-      winealsa.drv: When allocating opaque blobs for alsa, initialize them to zero.
-      gdiplus/tests: Must define biClrUsed when calling CreateDIBSection.
-      shlwapi/tests: Initialize size parameter in test_SHGetShellKey.
-      comdlg32/tests: Initialize find & replace strings before testing FindTextA, etc.
-      mlang/tests: Don't call lstrcpyW on a null string.
+Charles Davis (1):
+      schannel: Don't use SSLCopyPeerCertificates on Mac OS 10.4.
 
-Daniel Santos (2):
-      winex11.drv: Add on-screen PS_USERSTYLE support to pens.
-      gdi32: Remove PS_USERSTYLE FIXME and workarounds.
+Claudio Fontana (1):
+      wined3d: Rename nVidia GTX560 to GTX560TI, add GTX560 with correct device id.
 
-Dmitry Timoshkov (4):
-      user32: Respect the requested size of NONCLIENTMETRICSW structure.
-      ntdll: FreeBSD needs page read access when execute access is requested.
-      ntdll: Move adding VPROT_READ for Solaris to the same place where it's done for FreeBSD.
-      ntdll: Take into account timezone bias changes when detecting daylight saving rules.
+Dan Kegel (1):
+      kernel32/tests: fni->FileName is not nul terminated in test_readdirectorychanges_cr.
 
-Dylan Smith (1):
-      d3dx9: Removed a duplicate NULL check.
+Dmitry Timoshkov (3):
+      kernel32: Use PAGE_READWRITE access when enabling write access to resource data.
+      ntdll: Use PAGE_READWRITE access when resolving DLL imports.
+      ntdll: Make the VirtualProtect tests pass under Wine.
 
-Francois Gouget (10):
-      comctl32/tests: Make impl_from_IStream() static.
-      po: Fix translations with a mismatched '\n' ending or mark them as fuzzy.
-      po: Fix Catalan translations with a mismatched '\n' ending.
-      xcopy: Reorder the functions to avoid forward declarations.
-      xcopy: Use FormatMessage() for better internationalization support.
-      shlwapi: Don't use a long where an int is more than big enough.
-      winefile: Fix a string resource so its format placeholders can be reordered.
-      wineconsole: Fix a string resource so its format placeholders can be reordered.
-      attrib: Use FormatMessageW() for better internationalization support.
-      net: Use FormatMessageW() for better internationalization support.
+Eric Pouech (2):
+      icinfo: Compile the IcInfo program as a command-line app.
+      icinfo: No longer use stdio functions, but direct kernel32 ones.
 
-Frédéric Delanoy (17):
+Francois Gouget (5):
+      d3dx9_36/tests: Add a trailing '\n' to an ok() call.
+      msvcp90: Add a space before an implementation function name in the spec file.
+      winealsa.drv: Give a name to the mmdevapi critical sections.
+      services: Give a name to the scmdatabase critical section.
+      wineconsole: Give a name to the curses backend critical section.
+
+Frédéric Delanoy (6):
+      opengl32: Avoid superfluous (void*) cast in LOAD_FUNCPTR macro.
+      cmd: Make 'if errorlevel' only recognize integer values.
+      cmd: Fix a comment.
+      cmd: Avoid unnecessary null pointer checks.
+      cmd: Rename a parameter in WCMD_parameter.
       po: Update French translation.
-      cmd/tests: Add MOVE tests.
-      cmd/tests: Show that read-only files are MOVEable.
-      cmd: Make MOVE work for read-only files.
-      inetmib1: Avoid idempotent operation in findSupportedQuery function (Clang).
-      cmd/tests: Add tests for directories RENAMEs.
-      cmd/tests: Show that read-only files are RENAMEable.
-      cmd: Make RENAME work for read-only files.
-      cryptui: Avoid idempotent operation (Clang).
-      po: Update French translation.
-      cmd: Rename WCMD_opt_s_strip_quotes function.
-      dmime: Avoid idempotent operation (Clang).
-      mlang/tests: Fix a typo.
-      dinput: Avoid casting return value of HeapAlloc calls.
-      dpnet/tests: Avoid casting return value of HeapAlloc calls.
-      msvcrt: Avoid superfluous cast of MSVCRT_malloc return value.
-      cmd: Constify WCMD_pushd parameter.
 
-Hans Leidekker (3):
-      msi: Don't attempt to patch files if the component action resolves to anything other than INSTALLSTATE_LOCAL.
-      msi: Properly build the shortcut target path.
-      cryptnet: Respect proxy settings.
+Grazvydas Ignotas (1):
+      ntdll: Fix restart size calculation.
 
-Henri Verbeet (35):
-      gameux: Parse GDFs in a separate thread.
-      gameux/tests: Run the game explorer tests in a multithreaded apartment as well.
-      wined3d: Make the device parameter to wined3d_device_get_front_buffer_data() const.
-      wined3d: Make the device parameter to wined3d_device_validate_device() const.
-      wined3d: Make the device parameter to wined3d_device_get_software_vertex_processing() const.
-      gameux: Don't shadow hr in GAMEUX_RegisterGame().
-      wined3d: Get rid of the mostly unused "pfd" variable in context_create().
-      wined3d: Cleanup context_create() error handling a bit.
-      wined3d: Make the device parameter to wined3d_device_get_raster_status() const.
-      wined3d: Make the device parameter to wined3d_device_get_npatch_mode() const.
-      wined3d: Don't bother updating the context's window in context_destroy_gl_resources().
-      wined3d: Don't try to access the swapchain of a destroyed context in context_set_gl_context().
-      wined3d: Also restore the pixel format in context_restore_gl_context().
-      wined3d: Make the device parameter to wined3d_device_get_render_target() const.
-      wined3d: Make the device parameter to wined3d_device_get_depth_stencil() const.
-      wined3d: Keep surfaces in sysmem if they're both already there in wined3d_surface_blt().
-      wined3d: Mark default pool surfaces lost when they're unloaded.
-      ddraw: Destroy the swapchain in ddraw_destroy() if it still exists.
-      wined3d: Make the device parameter to invalidate_active_texture() const.
-      wined3d: Make the device parameter to is_display_mode_supported() const.
-      ddraw: Initialize the surface desc's dwFlags field to 0 before surface locks.
-      ddraw: Clear attached_iface before releasing it in ddraw_surface_delete_attached_surface().
-      wined3d: Detach any attached overlays on surface cleanup.
-      wined3d: Make the present_parameters parameter to wined3d_device_reset() const.
-      wined3d: Make the device parameter to wined3d_device_get_creation_parameters() const.
-      wined3d: Allow loading multisampled surfaces into sysmem.
-      d3d8/tests: Add a small test for multisampled CopyRects().
-      d3d9/tests: Add a small test for multisampled GetRenderTargetData().
-      wined3d: Make the device parameter to wined3d_device_set_gamma_ramp() const.
-      wined3d: Make the device parameter to wined3d_device_get_gamma_ramp() const.
-      wined3d: Move the cursor in wined3d_device_set_cursor_position().
-      d3d8/tests: Add a small test for IDirect3DDevice8::SetCursorPosition().
-      d3d9/tests: Add a small test for IDirect3DDevice9::SetCursorPosition().
-      wined3d: Make the device parameter to wined3d_device_get_surface_from_dc() const.
-      wined3d: Make the device parameter to context_choose_pixel_format() const.
+Hans Leidekker (10):
+      msi: Wait up to 30 seconds for services to start up.
+      msi/tests: Fix some test failures on win2k.
+      msi/tests: Fix a skip message.
+      msi: Fix the log mode for progress messages.
+      msi: Handle some more message types in MSI_ProcessMessage.
+      msi: Set the ComputerName property.
+      vbscript: Add a version resource.
+      jscript: Add a version resource.
+      msiexec: Preserve the first argument in process_args_from_reg.
+      msi: GetComputerName returns ERROR_BUFFER_OVERFLOW when the buffer is too small.
 
-Huw Davies (25):
-      gdi32: Remove no longer needed include file.
-      gdi32: Now that we require a less ancient freetype, we can assume several other functions are also present.
-      gdi32: Add a helper to retrieve the bounding rectangle.
-      gdi32: The text extents functions fail if passed a negative count.
-      gdi32: Move to a more scalable mechanism for picking the default fonts.
-      gdi32: Add the liberation fonts to the default fallback lists.
-      gdi32: Use the helper to get the bounding rectangle.
-      gdi32: Allow a caller to build_rle_bitmap to not request the clip region.
-      gdi32: Move the intersection of vis rects into a separate function.
-      gdi32: Make the convert_bits and stretch_bits helpers external.
-      gdi32: Implement nulldrv_StretchDIBits using the PutImage gdi driver function.
-      gdi32/tests: Add some StretchDIBits tests.
-      gdi32/tests: Remove unused legacy values.
-      gdi32: Introduce a unified function to perform COLORREF to pixel color mapping.
-      gdi32: Add support for non-rgb colorrefs.
-      gdi32/tests: Add tests for non-rgb colorrefs.
-      gdi32: Add pixel_to_colorref primitives.
-      gdi32: Implement SetPixel.
-      gdi32/tests: Add tests for SetPixel.
-      gdi32: Add get_pixel primitives.
-      gdi32: Implement GetPixel.
-      gdi32/tests: Add tests for GetPixel.
-      gdi32/tests: Remove the no longer used todo functionality of the test_color macro.
-      gdi32: Fix character code metrics for bitmap fonts.
-      gdi32: Add a fake 1-entry color table for 1-bpp ddbs.
+Henri Verbeet (50):
+      wined3d: Only try to load surfaces from the drawable if the drawable is current in surface_load_sysmem().
+      wined3d: Reject multisampled readbacks in wined3d_surface_get_render_target_data().
+      wined3d: Get rid of surface_gdi_cleanup().
+      wined3d: Make the context parameter to bind_dummy_textures() const.
+      wined3d: Make the device parameter to SetupForBlit() const.
+      wined3d: Upload directly from the source surface in wined3d_surface_blt(), if possible.
+      ddraw: Keep track of the affected rectangle for ddraw_surface_update_frontbuffer().
+      ddraw: Read/draw from/to the actual screen when there is no swapchain window.
+      wined3d: Make the device parameter to context_apply_blit_state() const.
+      wined3d: Make the device parameter to context_apply_clear_state() const.
+      wined3d: Mark a format as sRGB attachable if the internal format is the same for RGB and sRGB.
+      wined3d: Only check for sRGB attachability when needed in surface_load_texture().
+      gdi32: Update the DC in ExtEscape().
+      wined3d: Get rid of the device parameter to context_setup_target().
+      wined3d: Move the ARB shader program constant handling to the backend where it belongs.
+      wined3d: Recognize Sumo/Llano in select_card_amd_mesa().
+      secur32: Print the ntlm_auth diagnostic message to the winediag channel.
+      wined3d: Get rid of the unused palette9 wined3d_surface field.
+      wined3d: Make the device parameter to wined3d_surface_depth_blt_fbo() const.
+      wined3d: Make the device parameter to surface_blt_fbo() const.
+      wined3d: Use the correct pitch in surface_upload_data().
+      ddraw: Only update primary_lock when we're actually locking the frontbuffer.
+      wined3d: Rename nCfgs to cfg_count.
+      wined3d: Make the device parameter to surface_blt_to_drawable() const.
+      wined3d: Make the device parameter to wined3d_event_query_test() const.
+      d3d8: Implement CopyRects() on top of wined3d_surface_blt().
+      ddraw: Implement copy_mipmap_chain() on top of wined3d_surface_blt().
+      ddraw: Implement ddraw_surface7_BltFast() on top of wined3d_surface_blt().
+      wined3d: Make the device parameter to wined3d_event_query_finish() const.
+      wined3d: Make the device parameter to wined3d_event_query_issue() const.
+      wined3d: Get rid of the wined3d_surface_bltfast() export.
+      wined3d: Create the DIB section for DDSCAPS_OWNDC surfaces on initialization.
+      wined3d: Get rid of the local_constant typedef.
+      wined3d: Make the buffer parameter to buffer_is_dirty() const.
+      wined3d: Make the buffer parameter to buffer_is_fully_dirty() const.
+      wined3d: Construct the projection matrix directly in set_blit_dimension().
+      wined3d: Construct the rhw projection matrix directly in transform_projection().
+      wined3d: Construct the non-rhw projection matrix directly in transform_projection().
+      wined3d: Make the buffer parameter to buffer_sanitize_flags() const.
+      wined3d: Make the shader parameter to shader_arb_load_constantsF() const.
+      wined3d: Use wined3d_surface_blt() in surface_upload_from_surface().
+      wined3d: Use wined3d_surface_blt() in wined3d_swapchain_get_front_buffer_data().
+      wined3d: Use wined3d_surface_blt() in swapchain_gl_present().
+      wined3d: Avoid a drawable -> texture transfer through sysmem in arbfp_blit_surface() with backbuffer ORM.
+      wined3d: Add fallbacks for d3d9 and d3d10 cards in select_card_amd_mesa().
+      wined3d: Merge surface_getdc() and gdi_surface_getdc().
+      wined3d: Make some parameters to shader_generate_arb_declarations() const.
+      wined3d: Make the shader parameter to init_output_registers() const.
+      wined3d: Make the shader parameter to shader_arb_generate_vshader() const.
+      wined3d: Make the shader parameter to shader_arb_generate_pshader() const.
 
-Hwang YunSong (2):
-      po: Updated Korean translation.
-      po: Updated Korean translation.
+Huw Davies (2):
+      gdi32: Pass a NULL user-style array to ExtCreatePen if the user-style count is zero.
+      comctl32: Initialise the mask's colour table.
 
-Jacek Caban (28):
-      vbscript: Pass arguments to 1-arg functions directly if they are VT_VARIANT|VT_BYREF.
-      vbscript: Added Hex function implementation.
-      vbscript: Added Hex function tests.
-      vbscript: Make sure to remove an object from object list in collect_objects.
-      vbscript: Keep script context alive after Close call, but make it reusable.
-      vbscript: Added more script state tests.
-      vbscript: Properly release global variables.
-      vbscript: Added more releasing tests.
-      shlwapi: Make sure we don't write anything to output buffer if its size is too small to store the whole result.
-      vbscript: Added lexer support for '_'.
-      mshtml: Better error handling in NSContainer initialization.
-      vbscript: Added support for hex literals not ending with '&'.
-      mshtml: Added IHTMLDocument2::elementFromPoint implementation.
-      urlmon: Skip tests that fail on too old IEs.
-      wscript: Added tests using vbscript.
-      mshtml.idl: Added IHTMLWindow5 and IHTMLStorage declarations.
-      mshtml: Added IHTMLWindow6 stub implementation.
-      vbscript: Get rid of no longer needed VB_VARIANT|VT_BYREF in Global_IsObject.
-      vbscript: Added Global_IsEmpty implementation.
-      vbscript: Added Global_isNull implementation.
-      ieframe: ieframe variant of IEWinMain is Unicode.
-      vbscript: Added vbSunday constant implementation.
-      vbscript: Added remaining week day constants implementations.
-      hlink: Reorder functions to avoid vtbl forward declaration.
-      hlink: Don't use WINAPI for internal functions.
-      hlink: Moved HLinkBrowseContext_Constructor to avoid vtbl forward declaration.
-      hlink: Return S_FALSE in GetTargetFrameName when returning NULL.
-      hlink: Added TargetFrameName tests.
+Jacek Caban (6):
+      vbscript: Fixed local variable count calculation.
+      jscript: Moved return_type_t declaration to engine.c.
+      mshtml: Reimplement nsIURL::GetFileExtension on top of IUri API.
+      urlmon: Added CompareSecurityIds stub.
+      mshtml: HTMLWindow_item code clean up.
+      mshtml: Fixed ref count leaks.
 
-Juan Lang (2):
-      shell32: Check size of input parameters before copying to fixed length buffers.
-      shell32: Use existing buffer rather than copying, and potentially truncating, a filename prior to executing it.
+Juan Lang (8):
+      wininet: Accept RFC 850 dates in HTTP headers.
+      wincrypt.h: Add FindCertsByIssuer declaration.
+      wintrust: Add FindCertsByIssuer stub.
+      wininet: Fix off by one error parsing RFC 850 dates.
+      wininet: Implement ShowX509EncodedCertificate.
+      rsaenh: Add error messages for failed private key imports.
+      rsaenh: Test importing a key with an input buffer that's too small for the key it contains.
+      rsaenh: Infer private exponent length from data length.
 
-Ken Sharp (3):
-      ntdll: Update Win2k8 to SP2.
-      winecfg: Update English resource.
-      browseui: Update English resources.
+Jörg Höhle (4):
+      winecoreaudio: Release buffer memory.
+      mmdevapi: IsFormatSupported EXCLUSIVE mode never returns S_FALSE.
+      mmdevapi/tests: Fix errors and crashes in various native configurations.
+      winmm: Never write silence, mmdevapi must handle underruns.
 
-Ken Thomases (4):
-      winecoreaudio: Fix a leak.
-      winecoreaudio: Fix a test for allocation failure (copy/paste error).
-      winecoreaudio: Avoid an extra copy/conversion of a string.
-      winecoreaudio: Improved tracing.
+Ken Sharp (2):
+      po: Update English (Neutral) resource.
+      kernel32: Update English resource.
+
+Ken Thomases (1):
+      gdi32: Allow ~-based paths in HKCU\Software\Wine\Fonts:Path.
 
 Louis Lenders (2):
-      kernel32: Add stub for GetThreadPreferredUILanguages.
-      kernel32: Add stubs for several SRW lock functions.
+      ntoskrnl.exe: Update version resource.
+      opengl32: Use wrappers for wglCreateContext and wglMakeCurrent instead of directly forwarding to gdi32.
 
-Luca Bennati (7):
-      po: Update Italian translation.
-      dinput: Add Italian translation.
-      inetcpl: Update Italian translation.
-      comdlg32: Update Italian translation.
-      winecfg: Update Italian translation.
+Luca Bennati (2):
       po: Update Italian translation.
       po: Update Italian translation.
 
-Marcus Meissner (20):
-      winhttp: Fixed sizeof calls (Coverity).
-      wined3d: Fixed sizeof (Coverity).
-      dsound: Added missing LeaveCriticalSection (Coverity).
-      winecfg: Added missing break (Coverity).
-      user32: Load PaddedBorderWidth from registry too (Coverity).
-      usp10: Fixed some oom handling (Coverity).
-      dsound: Remove dead code from mixer (Coverity).
-      setupx.dll16: Fixed bad sizeof() (Coverity).
-      msvcrt: Replaced bad memcpy by strcpy (Coverity).
-      msvcrt: Use correct sizeof to realloc (Coverity).
-      mshtml: Adjusted some incorrect sizeofs (Coverity).
-      gdi32: Remove a incorrect sizeof from pointer arithmetic (Coverity).
-      explorerframe: Fixed incorrect sizeof (Coverity).
-      directshow: Removed bad sizeof in copy/pasted code (Coverity).
-      ddraw: Lowercase variable names to fix a incorrect sizeof() (Coverity).
-      shlwapi: Fixed bad pointer arithmentic by removing sizeof() (Coverity).
-      user.exe16: Fixed incorrect sizeof() (Coverity).
-      ntdll: Avoid shadowing "de" variable.
-      ntdll: Avoid shadowing size variable.
-      ntdll: Avoid shadowing "p" variable.
+Lucas Fialho Zawacki (2):
+      dinput8/tests: Moved EnumDevicesBySemantics specific tests to dinput.c and added a couple more.
+      dinput8/tests: Tests for DIPROP_USERNAME property.
 
-Matteo Bruni (1):
-      wined3d: Remove an obsolete comment.
+Marcus Meissner (6):
+      kernel32: Avoid shadowing "ret" variable.
+      kernel32: Avoid shadowing variables "a", "nt" and "fd".
+      kernel32: Avoid shadowing "buffer" variable.
+      kernel32: Avoid shadowing parameter "len".
+      winex11.drv: WORD and BYTE swapped in 555->1 bit converter (Coverity).
+      kernel32: Make sure we reference stack data still in scope (Coverity).
 
-Michael Mc Donnell (1):
-      shell32: Set pointer to NULL after free to avoid double free.
+Matteo Bruni (8):
+      d3d9: Limit VS/PS reported version.
+      wined3d: Return only the shader major version.
+      wined3d: Enable SM4 support in the GLSL shader backend when possible.
+      dxgi: Refuse to create a D3D10 wined3d device if it is not supported by the GPU.
+      wined3d: Refuse to create a shader unsupported by the backend.
+      wined3d: Add filtering flag to more texture formats.
+      wined3d: Test more thoroughly for post-pixelshader blending support, try on more texture formats.
+      wined3d: Recognize Northern Islands cards with AMD binary drivers.
 
-Michael Stefaniuc (5):
-      msi: Move a TRACE before the continue (Smatch).
-      msi: Remove a break after return (Smatch).
-      msi: Remove a redundant NULL check before free (Smatch).
-      urlmon: Remove a redundant NULL check before free (Smatch).
-      winealsa.drv: Remove redundant NULL checks before free (Smatch).
+Michael Mc Donnell (2):
+      d3dx9: Implemented non-equal declaration support in CloneMesh.
+      d3dx9/tests: Implemented CloneMesh test.
 
-Nikolay Sivov (3):
-      ntdll: Fix SID data copy length.
-      comctl32/monthcal: Update pointer after reallocation (Valgrind).
-      comctl32/tests: Make state data accessible to caller (Valgrind).
+Michael Stefaniuc (22):
+      include: Remove 'l' modifier from numeric constants in mmsystem.h.
+      include: Remove 'l' modifier from numeric constants in dinput.h.
+      include: Remove 'l' modifier from numeric constants in digitalv.h.
+      include: Drop the 'l' modifier from some numeric constants in winnt.h.
+      include: Add a macro to paper over LP64/LLP64 differences for numeric constants.
+      include: Make "long" numeric constants LP64/LLP64 proof (d3d9caps.h).
+      include: Make "long" numeric constants LP64/LLP64 proof (d3d9*.h).
+      include: Make "long" numeric constants LP64/LLP64 proof (d3d*.h).
+      include: Make "long" numeric constants LP64/LLP64 proof (sqlext.h).
+      include: Make "long" numeric constants LP64/LLP64 proof (sql.h).
+      include: Fix numeric constants in mmsystem.h for LLP64 compilers.
+      kernel32/ntdll: Mark a variable as unused.
+      include: Fix numeric constants in digitalv.h for LLP64 compilers.
+      include: Fix numeric constants in dinput.h for LLP64 compilers.
+      include: Make "long" numeric constants LP64/LLP64 proof (winuser.h).
+      comctl32: Drop 'inline' from a function using sigsetjmp.
+      ole32: Drop 'inline' from a function using sigsetjmp.
+      include: Drop gratuitous l modifier from numeric constants in corerror.h.
+      include: Make "long" numeric constants LP64/LLP64 proof (wingdi.h).
+      include: Make "long" numeric constants LP64/LLP64 proof (msacm.h).
+      include: Make "long" numeric constants LP64/LLP64 proof (winver.h).
+      include: Make "long" numeric constants LP64/LLP64 proof (oledlg.h).
+
+Nikolay Sivov (13):
+      shlwapi: Fix window style set with SHSetParentHwnd().
+      msxml3: Don't try to use null interface pointer.
+      msxml3: Add stub IEnumVARIANT support for IXMLDOMSelection.
+      msxml3: Block attempt to modify namespace definition with setAttribute().
+      msxml3: Init dynamic data pointer in IDispatchEx implementation.
+      msxml3: Release IDispatchEx dynamic data properly.
+      msxml3: Implement IEnumVARIANT::Next() for IXMLDOMSelection.
+      msxml3: Fix trace formats to match all other files.
+      msxml3: Init IDispatchEx data for all node types.
+      msxml3: Support IDispatchEx for IXMLDOMParseError.
+      msxml3: Silence IDispatchJS query.
+      jscript: Use specified expression length to trace it.
+      msxml3: Add type id placeholder for index 0 to make lookup code actually work.
 
 Octavian Voicu (3):
-      ddraw/tests: Test detachment of attached surfaces on Release.
-      ddraw: Be consistent about param and local var naming across AddAttachedSurface implementations.
-      ddraw: Keep track of interface attached by AddAttachedSurface and detach correct interface when parent is released.
+      ddraw/tests: Move surface attachment tests from refcount.c to dsurface.c.
+      ddraw/tests: Use more common pixel formats and caps for attachment tests.
+      ddraw/tests: Add more attachment/detachment test cases.
 
-Piotr Caban (36):
-      msvcrt: Don't overwrite mbcinfo inside setlocale.
-      msvcrt: Handle C locale in _setmbcp.
-      msvcrt: Use ismbcodepage instead of mb_cur_max in mbcodepage dependent functions.
-      msvcrt: Use _ismbblead instead of _isleadbyte in mbcodepage dependent functions.
-      msvcrt: Move _pctype definition to locale.c.
-      msvcrt: Added _mbtowc_l implementation.
-      msvcrt: Don't duplicate _setmbcp functionality inside _create_locale function.
-      msvcp90: Added basic_string::find_first_not_of implementation.
-      msvcp90: Added operator+(basic_string, char) implementation.
-      msvcp90: Added basic_string::reserve implementation.
-      msvcp90: Added basic_string<char>::replace implementation.
-      msvcp90: Added basic_string<wchar>::replace implementation.
-      msvcp90: Added basic_string::operator[] implementation.
-      msvcp: Sync spec files.
-      msvcrt: Added missing calling convention specification.
-      msvcrt: Fix handling of locales without region in MSVCRT_locale_to_LCID.
-      msvcp90: Added basic_string::operator<= implementation.
-      msvcp90: Added basic_string::operator> implementation.
-      msvcp90: Added basic_string::operator>= implementation.
-      msvcp90: Added more basic_string::assing functions.
-      msvcp90: Added more basic_string constructor implementations.
-      msvcp90: Added basic_string::max_size implementation.
-      msvcp90: Remove code that is never executed.
-      msvcp90: Added _String_val class implementation.
-      msvcp: Sync spec files.
-      msvcp90: Added basic_string::rfind implementation.
-      msvcp90: Added basic_string::find_last_not_of implementation.
-      msvcp90: Added basic_string::replace iterator based functions.
-      msvcp90: Added basic_string::erase iterator based functions.
-      msvcp90: Added basic_string::get_allocator implementation.
-      msvcp90: Fix buffer size in basic_string_char_grow.
-      msvcp90: Use debugstr_a to avoid overflow in traces.
-      msvcp: Sync spec files.
-      msvcrt: Initialize all ctype fields.
-      shell32: Don't convert output parameter in SHBrowseForFolderA (Valgrind).
-      shell32/tests: Fix uninitialized memory access (Valgrind).
+Piotr Caban (19):
+      msxml3: Don't report fatal errors many times.
+      msxml3: Return parser result in detach_url.
+      msxml3: Prefer to report msxml error over libxml parsing error.
+      msxml3/tests: Added saxreader error handling test.
+      msxml3: Make positions returned by ISAXLocator compatible with msxml6.
+      msxml3: Accept S_FALSE as a valid callback result when msxml6 is used.
+      msxml3/tests: Tests more XMLSAXReader versions.
+      msxml3: Fix attributes handling when msxml6 is used.
+      msxml3/tests: Added element attributes tests when SAXXMLReader is used.
+      msvcrt: Don't search for LCID in _setmbcp_l if it was already done.
+      urlmon: Improve disk detection in MapUrlToZone.
+      msxml3: Fix position computation in libxmlStartElementNS.
+      msxml3: Merge SAXLocator and SAXAttributes objects.
+      msxml3/tests: Added SAXAttributes object pointer tests.
+      msxml3: Don't use libxml namespaces stack.
+      msxml3: Don't allocate new strings when returning namespace related data.
+      msxml3: Use namespaces stack in SAXAttributes interface implementation.
+      msxml3/tests: Added NamespaceUri pointer test.
+      user32: Fix DFC_BUTTONRADIOMASK flag support in DrawFrameControl.
 
-Ričardas Barkauskas (12):
-      ddraw: Use unsafe_impl_from_IDirect3DDevice for application provided interfaces.
-      ddraw: Rename device_from_device1 to impl_from_IDirect3DDevice.
-      ddraw: COM cleanup for IDirect3DDevice interface.
-      ddraw: Use unsafe_impl_from_IDirect3DDevice2 for application provided interfaces.
-      ddraw: Rename device_from_device2 to impl_from_IDirect3DDevice2.
-      ddraw: COM cleanup for IDirect3DDevice2 interface.
-      ddraw: Use unsafe_impl_from_IDirect3DDevice3 for application provided interfaces.
-      ddraw: Rename device_from_device3 to impl_from_IDirect3DDevice3.
-      ddraw: COM cleanup for IDirect3DDevice3 interface.
-      ddraw: Use unsafe_impl_from_IDirect3DDevice7 for application provided interfaces.
-      ddraw: Use impl_from_IDirect3DDevice7 for application provided interfaces.
-      ddraw: COM cleanup for IDirect3DDevice7 interface.
+Rico Schüller (2):
+      d3dx9: Improve argument check in D3DXFindShaderComment().
+      d3dx9/tests: Fix typo.
 
-Stefan Dösinger (3):
-      d3d8: Remove the palette implementation methods.
-      d3d9: Remove the palette implementation methods.
-      wined3d: Remove d3d8/9 palette support.
+Ruslan Kabatsayev (1):
+      uxtheme: GetSysColor() expects the same type of argument as GetThemeSysColor().
 
-Stefan Leichter (1):
-      url: Add stub for OpenURLA.
+Stefan Dösinger (2):
+      d3d9/tests: Move the double unlock test into a separate test, test other pools.
+      wined3d: Locking partial blocks is not allowed in DEFAULT pool resources.
 
-Thomas Faber (1):
-      ntdll/tests: Fix build with MSVC.
+Thomas Faber (6):
+      gdi32/tests: Test GetTextExtentExPoint behavior with zero and negative max extent values.
+      riched20: Constify some ME_Context pointer parameters.
+      riched20: Avoid a forward declaration.
+      riched20: Simplify ME_PrepareParagraphForWrapping.
+      riched20/tests: Test format rect adaption to window size and behavior with zero-sized windows.
+      riched20: Do not return incorrect values from ME_CharFromPoint[Cursor].
 
-Uwe Bonnes (1):
-      ntdll: Generate a single EV_TXEMPTY when the TX buffer turns empty.
+Vitaliy Margolen (4):
+      dinput: Restore checks for DirectX 3 buffer size.
+      dinput: Report mouse and keyboard as being emulated. This works better for some games.
+      dinput8: Register CLSID_DirectInputDevice8.
+      dinput: Window supplied to SetCooperativeLevel have to be top level window.
 
-Vincent Povirk (2):
-      windowscodecs: Use a smaller magic number to detect JPEG files.
-      msi: Use MsgWaitForMultipleObjectsEx to do waits.
-
-Vitaliy Margolen (7):
-      dinput: GetDeviceData always succeeds regardless if buffering is enabled or device is acquired.
-      dinput: Acquire should not reset buffer position.
-      dinput: Fix buffer size in test.
-      dinput: Add buffer overflow check.
-      dinput: Don't mask buffer overflow error.
-      dinput: Put some checks back into GetDeviceData for DirectInput 8.
-      dinput: Add some logging to base class.
-
-Łukasz Wojniłowicz (2):
+Łukasz Wojniłowicz (1):
       po: Update Polish translation.
-      winecfg: Update Polish translation.
 
 --
 Alexandre Julliard
diff --git a/VERSION b/VERSION
index e0f7fc7..4c8df74 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-Wine version 1.3.31
+Wine version 1.3.32
diff --git a/configure b/configure
index 4c3cd84..9350761 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.31.
+# Generated by GNU Autoconf 2.68 for Wine 1.3.32.
 #
 # 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.31'
-PACKAGE_STRING='Wine 1.3.31'
+PACKAGE_VERSION='1.3.32'
+PACKAGE_STRING='Wine 1.3.32'
 PACKAGE_BUGREPORT='wine-devel@winehq.org'
 PACKAGE_URL='http://www.winehq.org'
 
@@ -1378,7 +1378,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.31 to adapt to many kinds of systems.
+\`configure' configures Wine 1.3.32 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1447,7 +1447,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Wine 1.3.31:";;
+     short | recursive ) echo "Configuration of Wine 1.3.32:";;
    esac
   cat <<\_ACEOF
 
@@ -1592,7 +1592,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Wine configure 1.3.31
+Wine configure 1.3.32
 generated by GNU Autoconf 2.68
 
 Copyright (C) 2010 Free Software Foundation, Inc.
@@ -2110,7 +2110,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.31, which was
+It was created by Wine $as_me 1.3.32, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   $ $0 $@
@@ -16005,7 +16005,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.31, which was
+This file was extended by Wine $as_me 1.3.32, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -16076,7 +16076,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.31
+Wine config.status 1.3.32
 configured by $0, generated by GNU Autoconf 2.68,
   with options \\"\$ac_cs_config\\"
 
