diff --git a/ANNOUNCE b/ANNOUNCE
index 76e052b..24dd7e8 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,16 +1,17 @@
-The Wine development release 1.1.29 is now available.
+The Wine development release 1.1.30 is now available.
 
 What's new in this release (see below for details):
-  - Improved Gecko integration by using Wine's network layers.
-  - Use of external libmpg123 for mp3 decoding.
-  - Support for JPEG and PNG formats in WindowsCodecs.
-  - Many regression test fixes for Win64 and Windows 7.
+  - Support for OpenAL.
+  - Many improvements in HTML and JavaScript support.
+  - Many common controls fixes and improvements.
+  - More Direct3D 10 work.
+  - Better MAPI support.
   - Various bug fixes.
 
 The source is available from the following locations:
 
-  http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.1.29.tar.bz2
-  http://prdownloads.sourceforge.net/wine/wine-1.1.29.tar.bz2
+  http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.1.30.tar.bz2
+  http://prdownloads.sourceforge.net/wine/wine-1.1.30.tar.bz2
 
 Binary packages for various distributions will be available from:
 
@@ -26,564 +27,823 @@
 
 ----------------------------------------------------------------
 
-Bugs fixed in 1.1.29:
+Bugs fixed in 1.1.30:
 
-    231  winemaker: Issue the warnings directly in the source
-   5625  Wine does not handle internet proxy settings conveniently
-   7854  VB 3.0: Installation fails
-   9294  Crash when loading Vampire - The Maquerade - Redemption
-  10397  CSS crashes when trying to accept option change
-  11345  Wrong button vertical position
-  11618  Wineinstall blocks midway through
-  13125  Fahrenheit (Indigo Prophecy) broken in newer versions of Wine.
-  13411  setup_exception_record stack overflow in Teach2000
-  13945  subversion fails to Initial network when using http protocol
-  14110  Adobe Audition 1.5: does not install in Hardy Heron
-  14198  Achieve planner crashes after entering data
-  14206  Achieve planner freezes when clicking the 'finished' tab
-  14784  SetWindowHookEx fail to inject DLL containing the HookProc if...
-  14907  TntMPD: Install procedure stopped working between 0.9.61 and 1.0.0
-  14998  BioShock demo dose not start at all
-  15056  Graphical glitches in the menu of The longest journey demo
-  15112  Prey crashes with Segmentation fault
-  15181  IBM Client Access Terminal Emulator crashes on startup
-  15563  AVG Free 7.1 fails due to missing or broken DLLs
-  15744  Microsoft Money 2001 can't open saved files
-  16153  F1 Challenge, incorrectly renders rear view
-  16249  mspaint does not render PNG files correctly
-  16292  Activeworlds client 4.2 update fails with "reason 13"
-  16677  World of Warcraft WotLK crashes randomly after login
-  16844  3dmark2001 Point Sprites test rendered incorrectly in wine >= 1.1.12
-  17150  Achieve Planner 1.9.0 (XP version) aborts with "failed to load resources from resource file"
-  17227  PAF 5 help window text is blank
-  17394  Chip view window is not displayed properly
-  17408  ASPI crashes randomly
-  17428  Taskmgr: blank process names in Process list.
-  17482  Paint.NET doesn't install anymore
-  17783  steamcommunity.com certificate not recognised
-  17897  OpenAL installer thinks it is AMD-64
-  17898  DM Evidence application freezes
-  18275  Snail Mail crashes during startup
-  18519  eMule crashes scrolling files
-  18525  Adobe Reader 9.10 upgrade fails
-  18989  Trackmania Nations Forever does not run
-  19086  Front Panel Designer: crashes when trying to load saved files
-  19185  Word Viewer crash at the end of the installation
-  19266  POD and Caldari shuttle bad render
-  19318  Word Viewer 2003 - installs extra files? (appinstall)
-  19392  Runes of magic : crash while entering world
-  19472  EVE Online avatar rendering sometimes crashes Wine
-  19631  Multiple application installations fail after BadMatch error
-  19721  Dragon NaturallySpeaking 10S training text grays-out too fast
-  19778  cmd set "FOO=bar" does the wrong thing; breaks firefox build script
-  19822  many fullscreen apps loose focus in a virtual desktop when leaving it
-  19826  .Net 2.0 Listview isn't updated properly and causes program to hang
-  19839  Access violation when closing ImgBurn 2.5.0.0 if its 'Disc Layout Editor' window has ever been opened.
-  19854  Oblivion crashes constantly if music is enabled
-  19875  64-bit wine build broken
+    175  CreateIcon does not resize bitmaps
+   4965  Unable to right click on TCL windows apps
+   5092  FASMW registers file change upon mouse click
+   5537  ninjam: Enter (return) key does not work
+   5725  Code for undocumented SwitchToThisWindow function does not reflect empirical evidence
+   5729  Settlers 2 10th Anniversary Edition Demo Shader Errors
+   5787  mirc script editor complains about truncated files
+   6318  VB app can't access database
+   6400  Phantomtest records scripts with too many line breaks
+   6787  Execution of .exe file cause nothing in Servant Salamander
+   6813  RichEdit:Performance issue in opening large files
+   7269  Problem with BDE applications - error $251E.
+   7270  EnigmaSimulator.exe: black client area
+   7877  Weatherbug install stops because of missing wxdist.dll
+   8237  C&C 3 out of memory crashes
+   9345  SecureCRT - Scroll fails on any connection
+   9362  Incredimail install fails on unimplemented function gdiplus.dll.GdipGetImageEncodersSize
+   9372  Starting a Dawn of War: Dark Crusade campaign causes a crash.
+   9735  Wine supplants system menu in child window title bars
+   9931  Offscreen render targets seem to be off by one
+  10120  Oblivion lines in water
+  10493  Wine do no report Pixel Shader 3.0 properly to games
+  10538  Soul Reaver run runs into a problem with wine 0.9.49
+  10651  attempt to save storage snapshot of PalmOS simulator causes crash
+  10720  All chords lyrics aren't displayed in Guitar Pro 5.X
+  10758  myst4 crashes during startup
+  11903  Flickering green rectangle in Portal game
+  12077  Outpost: Can't load DIB.DRV followed by an unhandled page fault.
+  12262  Sonic Heroes Demo launcher buttons have glitches
+  12943  Fonts in some games are displayed incorrectly
+  12982  MP3tag - <keep> value not set if multiple fields selected
+  13995  Microsoft .NET Framework 1.1 Service Pack 1 fails to install (crash)
+  14153  StrongDC++ hangs at start
+  14657  BIOSHOCK crash when loading second level
+  14851  Soulseek: can't connect to server
+  14859  quartz: filtermapper.ok test fails in PC-BSD but not in Ubuntu
+  14930  SPSS 16/17, Adobe Audition 2, Framemaker 9 installers fail during file extraction
+  14979  Winecfg : Test Audio Button hangs winecfg
+  15159  Blitzkrieg game crashes on startup
+  15248  Atlantis Quest 1.0 demo hangs on exit
+  15325  gdi32: palette test fails in PC-BSD but not Ubuntu
+  15382  Tray icons won't appear
+  15642  Quake Live fails to install
+  15651  Corel Painter X needs GdipCreateHBITMAPFromBitmap
+  15717  Far Cry 2 quits when OffscreenRenderingMode=fbo
+  15746  T-72 Balkans in fire demo hangs and sometimes crashes
+  15780  5 Days A Stranger game encounters a page fault on startup
+  15816  Office XP installer aborts early
+  16228  Cannot get a script function from within a comment node.
+  16240  really long lines fail to import into registery
+  16399  Theocracy  "create Directdraw Failed"
+  16601  Prince of Persia (SoT) ingame graphics stutter after Bink video playback
+  16642  Program window shuts down on pressing "Esc"
+  16751  winedbg/be_ppc.c: initialization from incompatible pointer type
+  16918  Flatout 2 network game not working
+  16924  Firefly: crashes trying to load MSVCR90.dll
+  16928  Grand Theft Auto San Andreas: freezes when looking into the sun
+  17136  IE7 error on startup - Cannot find '%ws'.
+  17291  Enemy Territory Quake Wars benchmark crashes on startup with a divide by zero error in gdiplus
+  17486  [radeon] FIFA 2004 shows no backgrounds
+  17599  bridgebaseonline crash
+  17626  Problems with H&R Block's TaxCut 2008
+  17883  Telltale game "Wallace & Grommit" cannot be validated
+  17985  Slingplayer 2.0 unhandled exception in GdipCreateTexture2I
+  18041  Teamviewer 4 crash on Add group of Partner List
+  18060  Redraw problems in Idle
+  18151  strtol - errno is not set
+  18199  WebSlingPlayer Firefox fails to connect to Slingbox
+  18317  Flash CS3 crash due to unimplemented function gdiplus.dll.GdipSetPathGradientPresetBlend
+  18387  Oblivion doesn't quite make it all the way down
+  18479  problem with writing to stdout under MSYS
+  18834  Repeat installation of vcredist_x86.exe (vcrun2005 associated DLLs) deletes them permanently from the winsxs folder
+  18917  Star Trek Armada 2: Graphic's initiation failed.
+  19012  Thief 2 demo crashes on new game
+  19131  GNU Emacs 22.3 multiple graphical glitches [dogfood]
+  19174  Plants vs Zombies is way too slow
+  19243  WebSlingPlayer Firefox remote doesn't work
+  19244  Mavis Beacon crashes wine and enabling +relay works as a workaround
+  19259  Battleforge installer quits unexpectedly
+  19411  'wine uninstaller' crashes on launch (appinstall)
+  19554  Men of War crashes on boot
+  19647  mscms: GetStandardColorSpaceProfileW() profile id handling incorrect (LCS_sRGB and LCS_WINDOWS_COLOR_SPACE)
+  19697  NTE Quick Cross 14.0 fails to display icons due to "invalid floating point exception"
+  19783  Visual C++ 2005 Express: building Firefox: mt.exe crashes while linking mkdepend
+  19808  Golden Tiger Casino seems to lock up when init
+  19809  all cygwin apps crash on exit if run outside wineconsole
+  19810  Visual C 2008 redistributable installers fail to start
+  19890  Trine crashes game if joystick connected.
+  19916  Steam client color scheme appears as green/red instead of gray/brown
+  19919  art2kmin needs oledb32.dll.DllRegisterServer
+  19964  Implement CertGetNameString( CERT_NAME_ATTR_TYPE )
+  19966  Inplement HalGetBusDataByOffset to do the same as HalGetBusData
+  19988  NTE Quick Cross 14.0 displays "bitmap image is not valid" message box when opening certain windows
+  20008  joystick's POV doesn't work when using evdev
+  20011  Oracle IRM Desktop application fails with "error code: 80040325" message box
+  20027  Registax 5 fails
+  20040  After sending EM_SETREADONLY to change edit controls the screen does not get updated
+  20049  Path Problems with SaveDialog
+  20070  Wine applications can't set an gamma value
+  20072  Incorrectly written in Notepad in italian
+  20106  Grim Fandago Launcher: Invalid floating point operation error
+  20134  Latest wine crashes WoW update downloader
 
 ----------------------------------------------------------------
 
-Changes since 1.1.28:
+Changes since 1.1.29:
 
-Akihiro Sagawa (8):
-      uninstaller: Add Japanese translation.
-      appwiz.cpl: Update and refine Japanese translation.
-      reg: Update Japanese translation.
-      comctl32: Update Japanese translation.
-      regedit: Update Japanese translation.
-      shell32: Update Japanese translation.
-      csetupapi: Update Japanese translation.
-      winecfg: Update Japanese translation.
+Akihiro Sagawa (5):
+      documentation: Update Japanese translation.
+      xcopy: Add Japanese translation.
+      kernel32: Add Japanese system error messages.
+      start: Add Japanese translation.
+      user32: Update Japanese resource.
 
-Alexandre Julliard (44):
-      server: Define an architecture-independent structure for process startup info.
-      winebuild: Add win32/win64 generic architectures in addition to specific CPUs.
-      ntdll: The large integer functions are 32-bit only.
-      msvcrt: The floating point adjust functions only make sense on i386.
-      user32: The LongPtr functions are only exported on 64-bit.
-      shell32: Move the IQueryAssociations implementation from shlwapi to shell32.
-      winemp3: Include wine/port.h.
-      libwine: Determine the bin directory independently from the lib directory if possible.
-      ntdll/tests: Make sure buffer alignment is correct.
-      comctl32/tests: Fix tab control test failures on older Windows versions.
-      comctl32/tests: Fix tooltips test failures on older Windows versions.
-      riched20: Make sure we have a valid ITextHost vtable for all platforms.
-      ntdll: Correctly jump to the modified context after an exception on x86_64.
-      tools: Take into account the executable extension when looking for tools in the path.
-      ntdll: Fix handling of the duplicate MxCsr entry in the x86_64 context.
-      ntdll: Fix a couple of system information structures for 64-bit.
-      ntdll: Return the expected length in NtQueryInformationProcess.
-      ntdll: Define correct address space limits for x86_64.
-      setupapi: Fix a structure size check for 64-bit.
-      ws2_32/tests: Fix test failures on Vista.
-      ntdll: Move the abort_thread() function to the CPU-specific files to allow redefining it.
-      ntdll: Unwind the stack before calling exit/abort_thread.
-      ntdll: Add support for unwinding the signal stack on x86_64.
-      ntdll: Add support for Dwarf expressions in call frame information.
-      ntdll: Route the process startup through the platform-specific thread startup code.
-      ntdll: Use a more drastic (and simpler) method for unwinding the stack on thread exit.
-      configure: Check for mpg123_feed function since we require it.
-      kernel32: Fix the GetThreadPriorityBoost return value.
-      comctl32/tests: Fix some toolbar test failures on older Windows versions.
-      comctl32/tests: Fix status test failures on older Windows versions.
-      tools: Copy 16-bit font definitions to avoid including 16-bit headers.
-      configure: Fix remaining instances of mpg123_init check.
-      winex11: Bytes per line is signed so make it an int instead of a DWORD.
-      user32: Don't send focus change messages if foreground window didn't change.
-      user32: Bring SwitchToThisWindow a bit more in line with the now documented behavior.
-      libport: Added an interlocked_cmpxchg128 function for 64-bit.
-      ntdll: Implemented the SList functions for Win64.
-      msxml3: Move typelib definitions out of #ifdef HAVE_LIBXML2.
-      server: Disable large files for procfs on Solaris.
-      msvcrt: Fix the strtol/strtoul definitions.
-      configure: Add a .exe extension to the tools dependencies when building on Windows.
-      setupapi: Fix a compiler warning.
-      kernel32/tests: Avoid size_t in traces.
-      windowscodecs/tests: Avoid size_t in traces.
+Alexander Scott-Johns (3):
+      user32/tests: Add some clipboard viewer tests.
+      user32: When sending the WM_DRAWCLIPBOARD message, pass the clipboard owner in wParam.
+      user32: Send a WM_DRAWCLIPBOARD message to the new viewer when SetClipboardViewer is called.
 
-Alistair Leslie-Hughes (9):
-      mshtml: Implement HTMLCurrentStyle_get_borderRightWidth.
-      mshtml: Implement IHTMLCurrentStyle_get_borderBottomWidth.
-      mshtml: Implement IHTMLCurrentStyle_get_borderTopWidth.
-      mshtml: Implement IHTMLCurrentStyle_get_color.
-      mshtml: Implement IHTMLCurrentStyle_get_backgroundColor.
-      mshtml: Implement IHTMLCurrentStyle_get_overflow.
-      mshtml: Implement IHTMLCurrentStyle_get_borderWidth.
-      mshtml: Implement IHTMLCurrentStyle_get_margin.
-      mshtml: Implement IHTMLStyle get/put letterSpacing.
+Alexandre Julliard (45):
+      user32/tests: Non-US keyboards are allowed on Wine too.
+      msi: Force overwriting of read-only files when extracting a cabinet, with tests.
+      include: Fix the RPC_AUTH_KEY_RETRIEVAL_FN definition.
+      kernel32: Use explicit prototypes for function pointers.
+      user32: Use explicit prototypes for function pointers.
+      user32/tests: Use explicit prototypes for function pointers.
+      comctl32: Use explicit prototypes for function pointers.
+      mapi32: Use explicit prototypes for function pointers.
+      shell32: Use explicit prototypes for function pointers.
+      advapi32/tests: Use explicit prototypes for function pointers.
+      ntdll: Fix a file descriptor leak.
+      ntdll: Make sure that serial ioctl calls fail on non-serial handles.
+      msvcrt: Add validity checks on the size of the handle inheritance block.
+      msvcrt/tests: Add tests for the handle inheritance block.
+      actxprxy: Add proxies for activscp.idl.
+      actxprxy: Add proxies for comcat.idl.
+      actxprxy: Add proxies for docobj.idl.
+      actxprxy: Add proxies for hlink.idl.
+      actxprxy: Add proxies for htiframe.idl.
+      actxprxy: Add proxies for objsafe.idl.
+      actxprxy: Add proxies for ocmm.idl.
+      actxprxy: Add proxies for shobjidl.idl.
+      actxprxy: Add proxies for urlhist.idl.
+      ole32: Don't register interfaces that belong to actxprxy.
+      include: Fix an idl string type.
+      quartz: Add proxies for strmif.idl.
+      ntdll: Only create the CPU registry keys on first run.
+      ntdll: Remap EXCEPTION_EXECUTE_FAULT only after the internal handlers have been run.
+      oleaut32: Properly register the stdole typelibs.
+      oleaut32: Use the appropriate PSFactoryBuffer guid when registering interfaces.
+      kernel32: Cope with an empty resource section in UpdateResource.
+      kernel32/tests: Fix a couple of failures in the comm tests.
+      ntdll: Avoid crashing on an empty resource directory.
+      pstorec: Add a typelib resource.
+      sti: StiCreateInstance doesn't need its own implementation.
+      ntdll: Move creation of the CPU-specific registry keys to wineboot.
+      ntdll: Silence a noisy FIXME.
+      winedump: Ordinal functions can be forwards too.
+      ntdll: Support both 32-bit and 64-bit modules in RtlImageDirectoryEntryToData.
+      ntdll: Add support for ordinal forwards.
+      shell32: Don't try to call a 16-bit function on non-x86 platforms.
+      comctl32/tests: Fix some rebar tests on older comctl32 versions.
+      comctl32/tests: Use UDM_GET/SETPOS instead of UDM_GET/SETPOS32 for compatibility with old versions.
+      windowscodecs: Fix incorrect overflow check caused by test mistake.
+      user32/tests: Add missing flush_events in ScrollWindow test.
 
-Andrew Eikum (9):
-      ole32: Don't read past the end of the stream when converting block types.
-      gdiplus: Support regions of more than one rectangle in GdipCreateRegionHrgn.
-      user32/tests: Fix input test failures on NT4.
-      gdiplus: Implement GdipIsVisibleRegionPoint.
-      gdiplus: Implement GdipIsVisibleRegionRect.
-      gdiplus: Add utility function get_visible_clip_region.
-      gdiplus: Implement GdipIsVisiblePoint.
-      gdiplus: Implement GdipIsVisibleRect.
-      ole32: Overwrite previous CompObj instead of failing.
+Alistair Leslie-Hughes (16):
+      msxml3: Add IDispatchEx support to IXMLDOMElement.
+      mshtml: Add support for Reference BSTR when setting styles.
+      mshtml: Implement IHTMLCurrentStyle_get_borderLeftColor.
+      mshtml: Implement IHTMLCurrentStyle_get_borderTopColor.
+      mshtml: Implement IHTMLCurrentStyle_get_borderRightColor.
+      mshtml: Implement IHTMLCurrentStyle_get_borderBottomColor.
+      mshtml: Implement IHTMLCurrentStyle_get_paddingTop.
+      mshtml: Implement IHTMLCurrentStyle_get_paddingRight.
+      mshtml: Implement IHTMLCurrentStyle_get_paddingBottom.
+      mshtml: Implement IHTMLCurrentStyle_get_letterSpacing.
+      mshtml: Implement IHTMLCurrentStyle_get_marginTop.
+      mshtml: Implement IHTMLCurrentStyle_get_marginBottom.
+      mshtml: Implement IHTMLCurrentStyle_get_right.
+      mshtml: Implement IHTMLCurrentStyle_get_bottom.
+      mshtml: Implement IHTMLCurrentStyle_get_lineHeight.
+      mshtml: Implement IHTMLCurrentStyle_get_textIndent.
 
-Andrew Nguyen (2):
-      user32/tests: Fix a test failure on Win9x.
-      comdlg32: Fix the copyright year for the Esperanto translation.
+Andrew Eikum (2):
+      ole32: Don't fail when constants are 'incorrect'.
+      mshtml: Reimplement IHTMLElement::{get, set}Attribute using IDispatchEx.
 
-André Hentschel (4):
-      wcmd: Ignore start and end quotes.
-      winemaker: Fix dll compiling in project files.
-      winemaker: Update usage text.
-      winetest: Mute an annoying message box.
+André Hentschel (10):
+      jscript: Update German translation.
+      oleaut32/tests: Add a testcase for vartype.
+      readme.de: Git is not an acronym.
+      oleaut32: Test for rolled minutes.
+      README.de: Convert to utf-8.
+      oleaut32: Test for rolled hours and seconds.
+      winemaker: Update manpage.
+      winex11: Add alternative header for xf86vm.
+      include: Add ARM endianess.
+      winegcc: Add ARM support.
 
-Aric Stewart (11):
-      msacm32: If a driver load fails and it does not give us another error set the error to MMSYSERR_NODRIVER.
-      msacm32: In acmDriverDetails if we are unable to load the driver then return MMSYSERR_NOTSUPPORTED as windows does.
-      msacm32/tests: msacm32 can enumerate drivers that cannot be loaded or have their details queried. Deal with this properly.
-      winemp3.acm: Link to system libmpg123.so.
-      msctf: Define ITfSourceSingle.
-      msctf: Stub implementation of ITfSourceSingle for ITfContext.
-      msctf: Hook up ITfTextEditSink::OnEndEdit.
-      msctf: Hook up ITfLanguageProfileNotifySink::OnLanguageChange.
-      msctf: Correct handling if NULL for pdimFocus in ITfThreadMgr::SetFocus.
-      msctf: Implement ITfThreadMgr::AssociateFocus.
-      msctf/tests: Test ITfThreadMgr::AssociateFocus.
+Aric Stewart (13):
+      msctf: Stub of TF_InvalidAssemblyListCacheIfExist.
+      msctf: Add stub ITfSourceSingle interface to ThreadMgr.
+      msctf: Define ITfThreadFocusSink.
+      msctf/test: Add sink_fire_ok helper and use it to check sink firing.
+      msctf/tests: Add handler sink_check_ok for checking fired sinks.
+      msctf/tests: Correct wine_todo handling in sinks.
+      msctf/tests: Fix tests for Windows Vista.
+      msctf/tests: Add wine_todo processing to sink_check_ok.
+      wininet: Ensure the ftp connections lstnSocket is set to -1 after each close.
+      wininet: Be sure to set lpwfs->pasvSocket to -1 when closing the socket to prevent double closes.
+      shlwapi: Implement StrChrNW.
+      advapi32: Implement LsaLookupSids.
+      shell32: Stub ShellHookProc.
 
-Austin English (9):
-      dxdiag: Add stub implementation.
-      dnsapi: Add a stub for DnsFlushResolverCache.
-      ole32: Add a stub for CoGetCurrentLogicalThreadId.
-      dxdiag: Make dxdiag a Unicode rather than ANSI program.
-      dxdiag: Add basic command line parsing.
-      ntdll/tests: Fix a compiler warning on PowerPC.
-      winscard: Add a stub for SCardListCardsA.
-      oleaut32: Avoid a NULL pointer dereference.
-      ole32: Fix build on Power PC.
+Aurimas Fišeras (2):
+      jscript: Update Lithuanian translation.
+      jscript: Update Lithuanian translation.
 
-Benjamin Kramer (1):
-      ntdll: Fix build on MacOSX.
+Austin English (7):
+      hal: Add a stub for HalGetBusDataByOffset.
+      netapi32: Add a stub for NetGroupGetInfo.
+      advapi32/tests: Avoid #if 0, use if(0) instead.
+      Cancel in Italian is Annulla, not Anulla.
+      clock: Fix license in Swedish resources.
+      progman: Fix license in Swedish resources.
+      wined3d: Recognize DRI R300 drivers as Mesa.
 
-Chris Robinson (1):
-      winemp3.acm: Fix reading/decoding loop.
+Chris Robinson (6):
+      openal32: Add a stub DLL thunk.
+      openal32: Fill out thunk functions.
+      openal32: Wrap and track OpenAL contexts.
+      openal32: Add thunks for EFX functions.
+      openal32: Pass invalid contexts to the host OpenAL lib so it can set the proper error state.
+      openal32: Downgrade two FIXMEs to WARNs, since they test app-specified parameters.
 
-Damjan Jovanovic (1):
-      sti: Add self registration.
+Damjan Jovanovic (2):
+      sti.h: Add sti create function declarations.
+      sti: Add sti class factory.
 
-Davide Pizzetti (2):
-      regedit: Italian translation update.
-      winhlp32: Italian translation update.
+Dan Kegel (5):
+      ntdll: Add tests for NtQueryInformationFile.
+      ntdll: Add initial test for NtQueryDirectoryFile().
+      ntdll: Fix NtQueryInformationFile test failures on Vista Home Basic.
+      cmd: Improve 'attrib' builtin to handle at least setting/clearing single attributes.
+      cmd: Make 'dir' hide hidden or system files by default.
+
+Davide Pizzetti (3):
+      winecfg: Italian translation update.
+      start: Italian translation update.
+      winefile: Italian translation update.
 
 Detlef Riekenberg (5):
-      ws2_32: Use only the lower 16 bit as level when calling [g|s]etsockopt from 16 bit.
-      ws2_32: Set WSAEINVAL on invalid levels in set+getsockopt.
-      ws2_32/tests: Add tests for getsockopt with invalid levels.
-      ws2_32/tests: Add tests for setsockopt with invalid levels.
-      regedit: Do not write junk after the LastKey value.
+      include: Add a missing semicolon (splint).
+      libs/port: use gcc compatible asm code as default for __i386__ (for PCC).
+      twain_32/tests: Avoid a Dialog from a DS when the scanner is not connected.
+      advapi32: Don't use -1 as dstlen in WideCharToMultiByte.
+      advapi32: Don't use -1 as dstlen in MultiByteToWideChar.
 
-Dylan Smith (7):
-      makedep: Handle non-overwriting rename for Windows.
-      winedbg: Prevent syntax errors for list command due to the lexer.
-      winedbg: Fixed listing source of function in file.
-      tools: Detect windows platform with _WIN32 instead of _WINDOWS.
-      taskmgr: Finish partial unicode conversion of process page.
-      winedbg: Extract address from expression for listing source at address.
-      winedbg: Resolve typedefs when checking for user defined type.
+Dmitry Timoshkov (4):
+      riched20: Make vtables const.
+      winex11.drv: Handle WM_DELETE_WINDOW by simulating clicking the caption Close button.
+      user32: Send the same lParam with WM_SYSCOMMAND/SC_CLOSE as was received with WM_NCLBUTTONDOWN.
+      ntdll: RtlpNtQueryValueKey takes 5 parameters.
 
-Eric Pouech (9):
-      configure: Check for large filesystems support.
-      winmm: Correctly check for the installed default ioProcs.
-      services: Correctly store the service's PID upon startup.
-      Remove a couple of superfluous casts.
-      ole32: Fix various missing Release calls on monikers.
-      kernel32: Handle the case where wineconsole isn't properly started.
-      shell32: In shell view, use the expected value for the effect in Drag & Drop operation.
-      msvcrt: Correctly handle the error cases in strtol and strtoul.
-      winedbg: Fix backend prototypes for PowerPC and Alpha.
+Dylan Smith (1):
+      richedit: Silence fixme for WM_STYLECHANGING & WM_STYLECHANGED.
 
-Francois Gouget (21):
-      wrc: Add a '\n' to a parser_warning() call.
-      ntoskrnl.exe: Remove a space before a '\n'.
-      windowscodecs/tests: Make some functions static.
-      riched20: Make ME_SetCursorToEnd() static.
-      mshtml: Remove the create_nsstream() prototype.
-      jscript: Make Arguments_value() static.
+Eric Pouech (7):
+      ntdll: In SYSTEM_BASIC_INFORMATION, the active processors field refers to the affinity mask.
+      kernel32: Store the process features flag in the KUSER_SHARED_DATA structure.
+      ntdll: Reuse kernel32's cpu info to implement NtQuerySystemInformation(SystemProcessInformation).
+      ntdll: Implement basic support for processor power information.
+      ntdll: Moved CPU related registry key creation from kernel32 to ntdll.
+      kernel32: Rewrite GetSystemInfo() purely on ntdll calls.
+      winhelp: Added support for hotspot links in graphical objects.
+
+Erich Hoover (1):
+      winealsa.drv: Fix DSOUND_BufPtrDiff in Kane's Wrath with new audio pathway.
+
+Francois Gouget (5):
+      uninstaller: Perform a case-insensitive search for the application to uninstall.
       jscript: Add a trailing '\n' to a FIXME().
-      windowscodecs/tests: Fix compilation on systems that don't support nameless unions.
-      rpcrt4/tests: Fix compilation on systems that don't support nameless unions.
-      ddraw/tests: Fix compilation on systems that don't support nameless unions.
-      d3drm/tests: Fix compilation on systems that don't support nameless unions.
-      windowscodecs: Fix compilation on systems that don't support nameless unions.
-      d3d10core/tests: Fix compilation on systems that don't support nameless unions.
-      rpcrt4: Fix compilation on systems that don't support nameless unions.
-      iphlpapi: Fix compilation on systems that don't support nameless structs or unions.
-      d3d10core: Fix compilation on systems that don't support nameless unions.
-      wintrust/tests: Fix compilation on systems that don't support nameless unions.
-      d3dx9_36: Fix compilation on systems that don't support nameless unions.
-      ddrawex: Fix compilation on systems that don't support nameless unions.
-      dplayx/tests: Fix compilation on systems that don't support nameless unions.
-      iphlpapi/tests: Fix compilation on systems that don't support nameless unions or structs.
+      msctf/tests: Make _sink_check_ok() static.
+      msctf: Reorder a couple of functions to avoid forward declarations.
+      msctf: Make ThreadFocusHookProc() static.
 
-Ge van Geldorp (21):
-      netapi32/tests: Fix tests on Win7.
-      shlwapi/tests: Prevent buffer overflow.
-      ntdll/tests: Fix info tests on Win7.
-      ntdll/tests: Add acceptable status codes for Win7.
-      shlwapi/tests: Remove test that crashes on Win7.
-      ntdll/tests: Pass properly aligned buffers.
-      crypt32/tests: Remove test that crashes on Win7.
-      advapi32/tests: Add acceptable error codes for Win7.
-      advapi32/tests: Fix tests on Win7.
-      kernel32/tests: Remove test that crashes on Win7.
-      user32/tests: Fix test failure on Win7.
-      msi/tests: Create only a single restore point.
-      netapi32/tests: Add acceptable error codes for Win7.
-      comctl32/tests: Adjust message sequences for Win7 (monthcal).
-      comctl32/tests: Adjust message sequences for Win7 (updown).
-      comdlg32/tests: Fix test on Win7.
-      comctl32/tests: Adjust message sequences for Win7 (trackbar).
-      kernel32/tests: Fix locale tests on Vista and higher.
-      shell32/tests: Fix tests on Vista+.
-      gdiplus/tests: Fix test on Win7.
-      msvcrt/tests: Add acceptable error codes for W2K8+.
+Frédéric Delanoy (3):
+      jscript: Update French translation.
+      documentation: Keep README.fr in sync; fixes.
+      jscript: Update French translation.
 
-Hans Leidekker (5):
-      mscms: Use correct standard color space constants in GetStandardColorSpaceProfileW.
-      mscms/tests: Remove code that mixes up color space IDs and standard color space IDs.
-      msi: Set REINSTALL property when the product is already installed and the command line is empty.
-      msi: Add a partial implementation of MsiDetermineApplicablePatchesW.
-      wininet: Destroy authorization info on failure in HTTP_DoAuthorization.
+Ge van Geldorp (12):
+      user32/tests: Skip test on non-US keyboard.
+      ws2_32/tests: Add acceptable error codes for Win7.
+      gdiplus/tests: Fix tests on Win7.
+      winhttp/tests: Fix tests on Win7.
+      shlwapi/tests: Fix tests on Win7.
+      shdocvw/tests: Fix test on Win7.
+      urlmon/tests: Fix tests for IE8.
+      kernel32/tests: Fix actctx tests on Vista+.
+      crypt32/tests: Fix cert test on Win7.
+      mshtml/tests: Fix htmldoc test on Windows Server and Win7.
+      mshtml/tests: Fix copyright notice.
+      rpcrt4/tests: Fix cstub test on Win7.
 
-Henri Verbeet (40):
-      wined3d: Properly check if an attribute is used in loadVertexData().
-      wined3d: Properly check if an attribute is used in loadTexCoords().
-      wined3d: Properly check if an attribute is used in buffer_check_attribute().
-      wined3d: Properly check if an attribute is used in drawStridedSlowVs().
-      wined3d: Properly check if an attribute is used in state_colormat().
-      wined3d: Properly check if an attribute is used in drawStridedSlow().
-      wined3d: Properly check if an attribute is used in streamsrc().
-      wined3d: Properly check if an attribute is used in find_conversion_shift().
-      d3d8: Remove stray tabs.
-      d3d8: Use a wined3d cs for wined3d locking.
-      wined3d: Properly check if an attribute is used in transform_texture().
-      wined3d: Properly check if an attribute is used in state_normalize().
-      wined3d: Properly check if an attribute is used in remove_vbos().
-      d3d9: Remove stray tabs.
-      d3d9: Use the wined3d cs for wined3d locking.
-      wined3d: Properly check if an attribute is used in drawStridedInstanced().
-      wined3d: Get rid of a redundant memset() in device_stream_info_from_declaration().
-      d3d10: Add the ID3D10EffectScalarVariable interface.
-      d3d10: Add the ID3D10EffectVectorVariable interface.
-      wined3d: Remove trailing spaces.
-      d3d10: Add the ID3D10EffectStringVariable interface.
-      d3d10: Add the ID3D10EffectShaderResourceVariable interface.
-      d3d10: Add the ID3D10EffectRenderTargetViewVariable interface.
-      d3d10: Add the ID3D10EffectDepthStencilViewVariable interface.
-      d3d9: Remove trailing spaces.
-      d3d10: Add the _D3D10_EFFECT_SHADER_DESC struct.
-      d3d10: Add the D3D10_NAME enum.
-      d3d10: Add the D3D10_REGISTER_COMPONENT_TYPE enum.
-      dxdiag: Make the "cmdline" parameter const.
-      d3d8: Remove trailing spaces.
-      d3d10: Add the _D3D10_SIGNATURE_PARAMETER_DESC struct.
-      d3d10: Add the ID3D10EffectShaderVariable interface.
-      wined3d: Add support for ARB_depth_clamp.
-      wined3d: Only warn about using Lod sample functions in fragment shaders is ARB_shader_texture_lod isn't supported.
-      ddraw: Remove trailing spaces.
-      d3d10: Add the ID3D10EffectBlendVariable interface.
-      d3d10: Add the ID3D10EffectDepthStencilVariable interface.
-      wined3d: Release the GL lock on IWineD3DImpl_FillGLCaps() error paths.
-      wined3d: Properly check for ARB program compile errors.
-      wined3d: Print a warning when an ARB program exceeds the native resource limits.
+Gerald Pfeifer (6):
+      imm32/tests: Simplify code.
+      winedos: Clarify three logical expressions.
+      winedos: Make an expression in DOSVM_Int10Handler() more clear.
+      wrc: Fix eight conditions in compare_menuex_item.
+      oleview: Simplify ENUM_FLAGS in CreateInterfaceInfo.
+      netapi32: Remove two conditions which always hold true.
 
-Hongbo Ni (1):
-      user32: Fix DLL injection problem using LOAD_WITH_ALTERED_SEARCH_PATH.
+Hans Leidekker (19):
+      usp10: Make tests pass on Win7. Conform to the more recent behavior.
+      winhttp: Make tests pass on Win7. Conform to the more recent behavior.
+      shell32: Reject NULL path in IShellLink_SetPath.
+      msi: Add a test to show that creating shortcuts works regardless of COM initialization state.
+      msi: Open the database read/write when the update count is greater than zero in MsiGetSummaryInformation.
+      msi: Ignore CoInitialize failure in ACTION_CreateShortcuts.
+      msi: Set ProductState property.
+      msi: Improve a trace.
+      msi: Downgrade two ERRs to WARNs.
+      msi: GetDriveType and GetVolumeInformation require a path terminated by a slash.
+      msi: Don't append the cabinet file name in find_published_source.
+      msi: Set or override a user environment string when there is no prefix.
+      rpcrt4: Add stub implementations of NdrMesTypeDecode2 and NdrMesTypeFree2.
+      msi: Test last used source property in combination with cabinet storage.
+      msi: Add tests to show that the condition table is ignored when there are overrides.
+      crypt32: CertGetCertificateChain does not validate the size of the CERT_CHAIN_PARA structure.
+      wininet: Try harder to find a unique cache file name.
+      wininet: Consistently set last error before testing it.
+      wininet: Add some URL cache tests and make them pass.
 
-Huw Davies (15):
-      msdaps: Implement IDBInitialize_Initialize proxy and stub.
-      msdaps: Implement IDBProperties_SetProperties proxy and stub.
-      msdaps: Implement IDBCreateSession_CreateSession proxy and stub.
-      msdaps: Implement ISessionProperties_SetProperties proxy and stub.
-      widl: Add separate --win32-align and --win64-align options.
-      msdaps: Use 2 byte structure packing for win32 code.
-      msdaps: Implement ICreateRow_CreateRow proxy and stub.
-      msdaps: Implement IDBCreateCommand_CreateCommand proxy and stub.
-      msdaps: Implement IBindResource_Bind proxy and stub.
-      include: Add msdaguid.h.
-      include: Add msdadc.idl.
-      msdaps: Implement IDBDataSourceAdmin_CreateDataSource proxy and stub.
-      oledb32: Add a stub oledb32.dll.
-      oledb32: Add a stub implementation of the conversion library class.
-      wine.inf: Register msdaps.dll.
+Henri Verbeet (100):
+      d3d10: Add the ID3D10EffectRasterizerVariable interface.
+      d3d10: Add the ID3D10EffectSamplerVariable interface.
+      d3d10: Implement IsValid() for a few interfaces.
+      wined3d: Fix shader_arb_load_constantsF().
+      wined3d: Check the correct debug channel in shader_arb_load_constantsF().
+      wined3d: Fix some function pointers and typedefs.
+      d3d10: Parse an effect type's basetype and class.
+      d3d10: Add initial support for parsing structures.
+      d3d10: Implement ID3D10EffectVariable::GetType().
+      d3d10: Implement ID3D10EffectType::GetDesc().
+      d3d10: Use debugstr_a()/debugstr_an() to trace external strings.
+      widl: Generate proper prototypes for function declarations without arguments.
+      d3d10: Add a debug function for D3D10_SHADER_VARIABLE_CLASS.
+      d3d10: Add a debug function for D3D10_SHADER_VARIABLE_TYPE.
+      d3d10core: Use debugstr_a()/debugstr_an() to trace external strings.
+      d3d10: Implement ID3D10EffectVariable::AsScalar().
+      d3d10: Implement ID3D10EffectVariable::AsVector().
+      d3d10: Implement ID3D10EffectVariable::AsMatrix().
+      d3d10: Use the shader variable class/type debug functions in parse_fx10_type().
+      d3d10: Move effect variable vtable initialization to parse_fx10_variable_head().
+      wined3d: Remove unused parameters to drawPrimitive().
+      d3d10core: Add an initial implementation of ID3D10Device::IASetIndexBuffer().
+      d3d10core: Implement ID3D10Device::DrawIndexed().
+      dxgi: Add a separate function for dxgi_adapter initialization.
+      dxgi: Implement IDXGIAdapter::EnumOutputs().
+      d3d10core: Add a separate function for d3d10_texture2d initialization.
+      d3d9: Add a separate function for surface initialization.
+      d3d8: Add a separate function for surface initialization.
+      wined3d: Make some variables static.
+      wined3d: Mark internal symbols hidden.
+      wined3d: Don't free D3D surfaces until the wined3d surface is destroyed.
+      wined3d: Add a separate function for volume initialization.
+      d3d9: Add a separate function for volume initialization.
+      d3d8: Add a separate function for volume initialization.
+      wined3d: Don't free D3D volumes until the wined3d volume is destroyed.
+      d3d9: Mark internal symbols hidden.
+      wined3d: Move vtable initialization to the texture init functions.
+      d3d9: Add a separate function for volume texture initialization.
+      d3d8: Add a separate function for volume texture initialization.
+      wined3d: Don't free D3D volume textures until the wined3d volume texture is destroyed.
+      wined3d: Get rid of a redundant strcpy().
+      d3d8: Mark internal symbols hidden.
+      d3d9: Add a separate function for cube texture initialization.
+      d3d8: Add a separate function for cube texture initialization.
+      wined3d: Don't free D3D cube textures until the wined3d cube texture is destroyed.
+      wined3d: Get rid of some redundant checks for ORM_FBO.
+      wined3d: Get rid of the unused DeviceType parameter to select_shader_mode().
+      ddraw: Mark internal symbols hidden.
+      d3d9: Add a separate function for texture initialization.
+      d3d8: Add a separate function for texture initialization.
+      wined3d: Don't free D3D textures until the wined3d texture is destroyed.
+      wined3d: Add a separate function for buffer initialization.
+      d3d10core: Add a separate function for d3d10_buffer initialization.
+      d3d9: Add a separate function for index buffer initialization.
+      d3d9: Add a separate function for vertex buffer initialization.
+      d3d8: Add a separate function for index buffer initialization.
+      d3d8: Add a separate function for vertex buffer initialization.
+      wined3d: Don't free D3D buffers until the wined3d buffer is destroyed.
+      wined3d: Move "parent_ops" to IWineD3DResourceClass.
+      d3d10: Mark internal symbols hidden.
+      winedos: Avoid comparing BOOLs against TRUE.
+      wined3d: Revert 4ba16b84a9e60ffcc98fc4b4c303c975589b59e2.
+      wined3d: Cleanup vertex declaration initialization.
+      d3d9: Limit "NumSimultaneousRTs" to 4.
+      d3d9: Properly destroy vertex declarations.
+      d3d10core: Mark internal symbols hidden.
+      d3d10core: Add a separate function for d3d10_input_layout initialization.
+      d3d9: Add a separate function for vertex declaration initialization.
+      d3d8: Add a separate function for vertex declaration initialization.
+      d3d8: Add a separate function for vertex declaration initialization from an FVF.
+      wined3d: Don't free D3D vertex declarations until the wined3d vertex declaration is destroyed.
+      dxgi: Mark internal symbols hidden.
+      wined3d: Detect ARB_framebuffer_object.
+      wined3d: Add support for ARB_framebuffer_object.
+      wined3d: Don't create a depthstencil renderbuffer if ARB_framebuffer_object is supported.
+      wined3d: Fix a typo.
+      wined3d: Add support for ARB_provoking_vertex.
+      wined3d: Cleanup after wglMakeCurrent() failures in context_set_current().
+      wined3d: Remove unused IWineD3DVertexShaderImpl fields.
+      wined3d: Add a separate function for vertex shader initialization.
+      d3d10core: Add a separate function for d3d10_vertex_shader initialization.
+      d3d9: Add a separate function for vertex shader initialization.
+      d3d8: Add a separate function for vertex shader initialization.
+      wined3d: Don't free D3D vertex shaders until the wined3d vertex shader is destroyed.
+      wined3d: Add a separate function for pixel shader initialization.
+      d3d10core: Add a separate function for d3d10_pixel_shader initialization.
+      d3d9: Add a separate function for pixel shader initialization.
+      d3d8: Add a separate function for pixel shader initialization.
+      wined3d: Don't free D3D pixel shaders until the wined3d pixel shader is destroyed.
+      d3d8: Set the vertex declaration's shader handle in vertexdeclaration_init().
+      wined3d: Move some common shader functions to the IWineD3DBaseShader interface.
+      wined3d: Remove SetFunction() from the public shader interface.
+      wined3d: Move common shader fields to IWineD3DBaseShaderClass.
+      wined3d: Rename IWineD3DDevice::SetIndices() to IWineD3DDevice::SetIndexBuffer().
+      wined3d: Rename IWineD3DDevice::GetIndices() to IWineD3DDevice::GetIndexBuffer().
+      d3d8: It's not an error to have a NULL texture bound to a stage.
+      wined3d: Add a state handler for WINED3DRS_SOFTWAREVERTEXPROCESSING.
+      wined3d: Use the DXGI naming convention for all formats.
+      wined3d: Release the stateblock before destroying the GL context.
+      ddraw: The ddraw surface is now always the wined3d surface's parent.
 
-Hwang YunSong (1):
-      winecfg: Updated Korean resource.
+Huw Davies (24):
+      include: Add IClientSecurity constants.
+      ole32: The server principal name can be the constant COLE_DEFAULT_PRINCIPAL.
+      oledb32: Add registration routines.
+      oledb32: Add stub DllCanUnloadNow.
+      oledb32: Add a stub IDCInfo interface.
+      include: Add oledberr.h.
+      oledb32: Implement the IDCInfo interface.
+      oledb32/tests: Add some tests for IDCInfo.
+      include: Add DBTYPEENUM.
+      include: Add a few more error codes.
+      include: Add DBSTATUSENUM.
+      winetest: Add the ability to retrieve the dll path for com dlls from the registry.
+      oledb32/tests: Add CanConvert tests.
+      oledb32/tests: Skip tests on older versions of the conversion library.
+      oledb32/tests: Skip tests on older versions of the conversion library.
+      oledb32/tests: Add CanConvert tests for DBTYPE_BYREF, DBTYPE_ARRAY and DBTYPE_VECTOR.
+      oledb32: Implement CanConvert.
+      oledb32/tests: Add tests for conversions to DBTYPE_I4.
+      ntdll: Fix build on MacOSX.
+      oledb32: Implement some conversions to DBTYPE_I4.
+      oledb32: Implement DBTYPE_STR and DBTYPE_WSTR src types.
+      oledb32: Add conversions to DBTYPE_I2.
+      oledb32: Implement conversions to DBTYPE_BSTR.
+      oledb32: Implement conversions to DBTYPE_WSTR.
+
+Ilya Shpigor (1):
+      gdi32/tests: Add test for SelectClipRgn in metafile.
 
 Ismael Barros (1):
-      dpwsockx: Stub implementation.
+      dpwsockx: Implementation of SPInit.
 
-Jacek Caban (60):
-      urlmon: Fixed tests on IE older than 8.
-      mshtml: Wrap nsIHttpChannelInternal interface.
-      mshtml: Treat wyciwyg protocol as Gecko special protocol.
-      mshtml: Don't return Gecko interfaces implementation from nsChannel::QueryInterface.
-      shdocvw: Return succes in bind status callback functions.
-      wininet: Don't free gzip_stream in HTTPREQ_CloseConnection.
-      urlmon: Call OnStopBinding before Terminate.
-      mshtml: Use URL moniker to load http documents.
-      msxml3: Get rid of not used aggregation support in domelement.
-      mshtml: Get rid of handling post data in IPersistMoniker::Load hack.
-      mshtml: Remove no longer used create_nsstream.
-      mshtml: Wrap nsIURL interface.
-      mshtml: Update wine_url in nsIURL::SetQuery.
-      jscript: Fixed parsing regexps starting with '='.
-      jscript: Don't require semicolon after function declaration.
-      jscript: Throw an exception when evaluating invalid identifier instead of on lookup failure.
-      jscript: Return "undefined" type for invalid references.
-      jscript: Create undeclared values to script_disp instead of var_disp.
-      jscript: Added RegExp.lastIndex implementation.
-      jscript: Added RegExp.exec implementation.
-      jscript: Added RegExp.test implementation.
-      jscript: Use proper VARIANT_BOOL values in bool literals.
-      jscript: Create Array objects from proper constructor.
-      jscript: Get script_ctx_t as to_object arguments.
-      jscript: Added 'instanceof' keyword implementation.
-      jscript: Create arguments object as a seaprated class inheriting from Object.
-      jscript: Added Function.call implementation.
-      jscript: Added Function.apply implementation.
-      jscript: Make Array.push generic.
-      msxml3: Moved IDispatchEx implementation from domdoc to xmlnode.
-      msxml3: Use IXMLDOMSelection as a main queryresult interface.
-      msxml3: Added more IDispatchEx tests.
-      shdocvw: Added IPropertyNotifySink stub implementation.
-      shdocvw: Move OnObjectAvailable implementation to dochost.c.
-      mshtml: Always call OnStartRequest before OnStopRequest.
-      shdocvw: Use IPropertyNotifySink to track ready state and complete notification.
-      shdocvw: Added IWebBrowser2::get_ReadyState implementation.
-      mshtml: Fixed script tests on IE8.
-      mshtml: Added support for DISPID_VALUE.
-      mshtml: Added DISPID_VALUE implementation for HTMLLocation object.
-      mshtml: Added IOmNavigator::toString implementation.
-      mshtml: Added IHTMLWindow2::toString implementation.
-      dispex.idl: Added SID declarations.
-      mshtml: Move ITypeInfo::Invoke call to separated function.
-      mshtml: Moved dynamic_data allocation to separated function.
-      mshtml: Added function object implementation.
-      mshtml: Added function object tests.
-      mshtml: Properly release DispatchEx data.
-      jscript: Code clean up.
-      jscript: Code clean up.
-      jscript: Added String.lastIndexOf implementation.
-      jscript.idl: Added IActiveScriptDebug declaration.
-      mshtml: Fixed script tests on IE6 and IE7.
-      jscript: Added to_primitive on hosting objects test.
-      jscript: Make Array.slice generic.
-      jscript: Added Array.unshift implementation.
-      mshtml: Fixed tests on IE8.
-      mshtml: Added http loading test.
-      mshtml: Added IHTMLDocument::writeln implementation.
-      mshtml: Added IOmNavigator::get_userAgent implementation.
+Jacek Caban (105):
+      jscript: Fixed typeof implementation for null VT_DISPATCH.
+      jscript: Added 'in' expression implementation.
+      mshtml: Move builtin function info lookup to separated function.
+      mshtml: Added IDispatchEx::GetNextDispID implementation.
+      mshtml: Added GetMemberName implementation.
+      mshtml: Added GetNextDispID and GetMemberName tests.
+      mshtml.idl: Added missing hidden attributes.
+      mshtml: Move event handlers invocation to separated function.
+      mshtml: Always create event object in fire_event.
+      mshtml: Added IHTMLEventObj::get_type implementation.
+      mshtml: Added IHTMLEventObj::get_altKey implementation.
+      mshtml: Added IHTMLEventObj::get_ctrKey implementation.
+      mshtml: Addded IHTMLEventObj::get_shiftKey implementation.
+      mshtml: Added IHTMLEventObj::get_keyCode implementation.
+      mshtml: Added IHTMLEventObj::get_button implementation.
+      mshtml: Added IHTMLEventObj::get_client[XY] implementation.
+      mshtml: Added IHTMLEventObj::get_screen[XY] implementation.
+      mshtml: Improve IHTMLEventObj getter stubs.
+      mshtml: Added IHTMLDocument2::onclick property implementation.
+      mshtml: Store event handlers in vector structure.
+      mshtml: Added IHTMLElement2::attachEvent implementation.
+      mshtml: Added HTML events test.
+      mshtml: Make empty string is a valid overflow style.
+      mshtml: Improve debug messages for timer invocation.
+      mshtml: Added JSProtocol class factory stub implementation.
+      mshtml: Added JSProtocolInfo::ParseUrl implementation.
+      mshtml: Added JScriptProtocolInfo::QueryInfo implementation.
+      mshtml: Added javascript protocol tests.
+      mshtml: Store body event target in window object.
+      mshtml: Added IHTMLWindow2::onbeforeunload property implementation.
+      mshtml: Added IHTMLWindow2::onload property.
+      mshtml: Added IHTMLWindow3::attachEvent implementation.
+      mshtml: Added support for document events in fire_event.
+      mshtml: Fire beforeunload event on body element.
+      mshtml: Added IHTMLElement::dblclick property implementation.
+      mshtml: Moved script host objects to HTMLWindow.
+      mshtml: Added support for quering global variables from window object.
+      mshtml: Added window global properties test.
+      mshtml: Use ActiveScript for JavaScript in about protocol documents.
+      mshtml: Fixed tests.
+      jscript: Added Array.splice implementation.
+      jscript: Fixed null dispatch comparison.
+      jscript: Fixed to_primitive for null dispatch.
+      mshtml: Report download failure to necko.
+      mshtml: Added semi-stub IHTMLElement2::onreadystatechange implmementation.
+      mshtml: Added IHTMLInputElement::src property implementation.
+      mshtml: Moved option_factory to HTMLWindow object.
+      mshtml: Moved HTMLLocation object to HTMLWindow.
+      mshtml: Make COM inproc object and document node separated objects inheriting from HTMLDocument.
+      mshtml: Use stored HTMLWindow in get_selection implementation.
+      mshtml: Moved event_vector to HTMLWindow.
+      mshtml: Don't create window in create_doc_from_nsdoc.
+      mshtml: Create HTMLDocumentNode for each HTMLDocumentObj.
+      mshtml: Store document node in window.
+      mshtml: Store reference to document node in window object.
+      mshtml: Use stored nswindow in IHTMLTxtRange::select.
+      mshtml: Moved NSContainer to HTMLDocumentObj.
+      mshtml: Moved selection_list to HTMLDocumentNode object.
+      mshtml: Move client site ifaces to HTMLDocumentObj.
+      mshtml: Moved undomgr to HTMLDocumentObj.
+      mshtml: Moved hwnd and tooltip_hwnd to HTMLDocumentObj.
+      mshtml: Moved hostinfo to HTMLDocumentObj.
+      mshtml: Moved state flags to HTMLDocumentObj.
+      mshtml: Moved range_list to HTMLDocumentNode object.
+      mshtml: Moved binding variables to HTMLDocumentObj.
+      mshtml: Moved usermode to HTMLDocumentObj.
+      mshtml: Move readystate to HTMLDocumentObj.
+      mshtml: Move mime to HTMLDocumentObj.
+      mshtml: Move update flags to HTMLDocumentObj.
+      mshtml: Move node list to HTMLDocumentNode.
+      mshtml: Inherit HTMLDocumentNode from HTMLDOMNode.
+      mshmtl: Moved ICustomDoc implementation to HTMLDocumentObj.
+      mshtml: Get rid of htmldoc_vtbl_t.
+      mshtml: Use node's IDispatchEx implementation in HTMLDocumentNode.
+      mshtml: Use node event_target for HTMLDocument.
+      jscript: Added Function.toString implementation for builtin functions.
+      jscript: Fixed debugstr_variant for NULL argument.
+      jscript: Added Object function invocation implementation.
+      jscript: Fixed NULL IDispatch comparistion.
+      mshtml: Added IHTMLDOMNode2::get_ownerDocument implementation.
+      mshtml: Added IHTMLDOMNode2::get_ownerDocument tests.
+      jscript: Added Array.shift implementation.
+      jscript: Added arguments.callee implementation.
+      jscript: Added RegExp function call implementation.
+      jscript: Don't require semicolon after function expression.
+      jscript: Use script global LCID in *disp_call* functions.
+      jscript: Use script LCID in *disp_propget* functions.
+      jscript: Use script LCID in *disp_propput* functions.
+      jscript: Get rid of lcid argument in builtin function implementations.
+      jscript: Pass script_ctx_t to builtin functions.
+      jscript: Avoid calling JS builtin functions directly.
+      jscript: Avoid calling JS builtin functions directly.
+      jscript: Don't use dispex->ctx in array.c.
+      jscript: Don't use dispex->ctx in date.c.
+      jscript: Don't use dispex->ctx in function.c.
+      jscript: Avoid using dispex->ctx.
+      jscript: Allow 'this' to be host object in builtin functions.
+      jscript: Allow this_obj to be host object in call_function.
+      jscript: Added Object.toString for host objects implementation.
+      jscript: Allow 'this' to be host object in invoke_value_proc.
+      jscript: Throw correct error in get_length.
+      jscript: Fixed to_object for NULL IDispatch.
+      jscript: Throw type error fot Array.toString with wrong 'this' call.
+      jscript: Added Object.toString implementation for variable object.
+      jscript: Throw type error from call and apply functions.
 
-Jan de Mooij (1):
-      comctl32/propsheet: Update position of hidden buttons too.
+Jaime Rave (1):
+      wined3d: Fix vendor detection when using an Intel X4500HD.
+
+James Helferty (1):
+      d3d9: Fix some typos in visual test.
 
 Jeff Zaroyko (1):
-      kernel32: sLanguage is LOCALE_SABBREVLANGNAME.
+      readme: Git is not an acronym.
 
-Jesse Allen (1):
-      dinput: Add DISEQUENCE_COMPARE macro.
+Juan Lang (12):
+      winhttp: Add a fixme for WINHTTP_OPTION_SECURITY_FLAGS.
+      crypt32: Correct searching the alternate name in CertGetNameStringW if the main name doesn't contain an appropriate OID.
+      crypt32: Return an empty string from CertGetNameStringW if a name couldn't be found.
+      crypt32: Use a helper function to simplify CertGetNameStringW.
+      crypt32: Further simplify CertGetNameStringW.
+      crypt32: Implement CertGetNameStringW for CERT_NAME_ATTR_TYPE.
+      crypt32: Implement CertGetNameStringW for CERT_NAME_RDN_TYPE.
+      crypt32: Implement CertGetNameStringW for CERT_NAME_EMAIL_TYPE.
+      crypt32: Implement CertGetNameStringW for CERT_NAME_DNS_TYPE.
+      crypt32: Implement CertGetNameStringW for CERT_NAME_URL_TYPE.
+      crypt32: Fix potential buffer overruns in CertGetNameStringW.
+      crypt32: Implement retrieving the encoded signer of a decoded signed message.
 
-Juan Lang (5):
-      comctl32: Return the number of characters copied in WM_GETTEXT even if the buffer is too small.
-      crypt32: Fix a test failure on Windows 7.
-      quartz: Don't crash if sample allocation fails.
-      include: Define IPPROTO_IPV6.
-      ws2_32: Add a fixme for IPPROTO_IPV6.
+Jörg Höhle (6):
+      ddraw: Complete recognition of pixelformat 19: X8L8V8U8.
+      wineoss: Enforce invariant about BlockAlign and nAvgBytesPerSec.
+      winecoreaudio: Make supported format test more restrictive.
+      winecoreaudio: Enforce invariant about BlockAlign and nAvgBytesPerSec.
+      winecoreaudio: Added WAVEFORMATEXTENSIBLE support, for PCM only.
+      mciwave: Require at least 16 bytes in the WAVE fmt file header.
 
-Jörg Höhle (1):
-      wined3d: Delete meaningless UNIX GL driver version parsing.
+Ken Thomases (1):
+      openal32: Add support for Mac OS X's OpenAL.framework.
 
-Louis Lenders (3):
-      shdocvw.inf: Add default registry key "HKCU\Software\Microsoft\Internet Explorer\Settings.
-      dbghelp: Add version resource.
-      psapi: Add version resource.
+Marcus Meissner (7):
+      wineoss.drv: Avoid mixer fd leak.
+      oleview: Fixed bad error check.
+      wineoss.drv: 2 more close(mixer) added.
+      gdiplus: do not memcpy over NULL ptrs (Coverity).
+      jscript: Initialize this_obj with NULL (Coverity).
+      mshmtl: Check nsrange before calling ->Release (coverity).
+      jscript: Check for arg_array being NULL (Coverity).
 
-Michael Stefaniuc (16):
-      ntdll: Fix a memory leak on an error path (Smatch).
-      winefile: Get rid of the #ifndef UNICODE code paths.
-      winefile: Don't use _tsplitpath().
-      winefile: Use the explicit SendMessageW form.
-      winefile: Use the explicit W-form of the string functions.
-      winefile: Use the explicit W-form for the *Window* functions.
-      winefile: Use the explicit W-form of the Load*() functions.
-      winefile: Use the explicit W-form for the file IO related functions.
-      winefile: Convert the rest of the functions to use the explicit W-form.
-      winefile: Replace TCHAR with WCHAR.
-      winefile: Replace the TSTR types with WSTR.
-      winefile: Use the explicit W-form for the rest of the types.
-      winefile: Compile with -DWINE_NO_UNICODE_MACROS.
-      d3d8: Release the lock instead of locking a second time (Smatch).
-      user32: Remove a stray ';' that produces an empty if condition.
-      jscript: Check the correct variable for the error condition (Smatch).
+Markus Stockhausen (1):
+      gdi32: Check for NULL pointer in GdiAlphaBlend.
 
-Mike Kaplinskiy (1):
-      ws2_32/tests: Fix failure on NT4.
+Michael Karcher (1):
+      ntdll: Fix DEP status initialization.
 
-Nikolay Sivov (5):
-      comctl32/tests: Move message testing helpers to header.
-      comctl32/listview: Call default handler for WM_PAINT disabled by WM_SETREDRAW.
-      comctl32/trackbar: Fix tic count calculation.
-      comctl32/trackbar: Cache window style.
-      comctl32/trackbar: Reduce parameter count for some helpers.
+Michael Stefaniuc (5):
+      windowscodecs: Use FAILED instead of !SUCCEEDED.
+      setupapi: Use FAILED instead of !SUCCEEDED.
+      shell32: Use FAILED instead of !SUCCEEDED.
+      mapi32: Don't leak memory on an error path (Smatch).
+      kernel32: Add missing stdarg.h include.
 
-Paul Vriens (1):
-      user32/tests: Run tests again on Win95.
+Mike Kaplinskiy (4):
+      ntdll: Remember to set the iosb status if using a worker thread for serial wait.
+      ws2_32: Remember to convert ports to network byte order.
+      ws2_32: Try accepting a connection before blocking.
+      ws2_32/tests: Test WSAAccept with CF_DEFER.
 
-Piotr Caban (5):
-      jscript: Fixed keywords handling.
-      jscript: Fixed Function method's lengths.
-      jscript: Added String.substr implementation.
-      jscript: Throw 'Object expected' error in call_expression_eval.
-      jscript: Added JSGlobal_unescape implementation.
+Nikolay Sivov (40):
+      comctl32/trackbar: Default to TBTS_TOP position on creation.
+      comctl32/trackbar: TBM_SETTIC processing shouldn't be affected by TBS_AUTOTICKS style.
+      comctl32/trackbar: Drop initial parent creation tests, they are nothing to do with control testing.
+      comctl32/listview: Implement LVS_EX_TRANSPARENTBKGND style.
+      comctl32/header: Implement HDF_FIXEDWIDTH format flag.
+      comctl32/listview: Handle LVCFMT_FIXED_WIDTH flag.
+      comctl32/header: Implement HDS_NOSIZING style with tests.
+      comctl32/listview: Add partial support for cxMin width field.
+      comctl32/monthcal: Cache window GWL_STYLE.
+      comctl32/monthcal: Draw selected day as v6 does. Get rid of ugly selection curve.
+      comctl32/header: Add XP SP3 workaround for Header tests. Fix window handle leak.
+      comctl32/dpa: Split tests to several functions to avoid undesired dependencies.
+      include: Move some documented DPA definitions to public header, use PSDK names.
+      comctl32/dpa: Some DPA_Merge tests.
+      comctl32/dpa: Fix DPA_Merge() for DPAM_INTERSECT option.
+      include: Move some definitions to public header, use PSDK names.
+      comctl32/dpa: Separate tests for parameter validation in DPA_LoadStream().
+      comctl32/dpa: Fix parameter validation in DPA_LoadStream().
+      comctl32/dpa: Implement DPA_SaveStream() with tests.
+      comctl32/dpa: Implement DPA_GetSize().
+      comctl32/dpa: Fix DPA_Merge() test failures on old 4.7x comctl32.
+      comctl32/dpa: Check for DPA_LoadStream() presence. Merge original test function with save tests.
+      comctl32/trackbar: Protect from negative tic count in recalculation helper.
+      comctl32/updown: Skip thousands separation on hex mode.
+      user32/edit: Invalidate if style changed after EM_SETREADONLY.
+      comctl32/updown: Make tests independent, drop unrelated tests.
+      comctl32/updown: Show that UDS_SETBUDDYINT switching doesn't affect behaviour for already created control.
+      comctl32/updown: Fix control behaviour for UDS_SETBUDDYINT style.
+      comctl32/updown: Additional test for display base.
+      comctl32/updown: Update buddy on base change.
+      comctl32/listview: Skip LVS_EX_CHECKBOXES tests when this style is unsupported.
+      comctl32/listview: Skip some header tests on version 4.0 module.
+      comctl32/listview: Skip icon spacing tests when unsupported.
+      comctl32/monthcal: Move helper parameter cast to winproc, remove dead parameter check code.
+      comctl32/monthcal: Use a style we're caching already.
+      comct32/monthcal: Invalidate background too on MCM_SETCOLOR with MCSC_BACKGROUND.
+      comctl32/monthcal: Don't redraw after MCM_SETCURSEL if selection doesn't change.
+      comctl32/monthcal: Name MCM_SETMAXSELCOUNT parameter.
+      comctl32/monthcal: Don't redraw if date didn't change on MCM_SETTODAY.
+      comctl32/monthcal: Some cleanup to avoid cast in helpers.
 
-Riccardo Loti (1):
-      clock: Fix typo in the Italian translation.
+Owen Rudge (11):
+      shlwapi: Implement IUnknown_UIActivateIO.
+      shlwapi: Implement stub for SHCreatePropertyBagOnRegKey.
+      shlwapi: Implement stub for SHGetViewStatePropertyBag.
+      shlwapi: Implement stubs for SHFormatDateTimeA/W.
+      shlwapi: Implement stub for ZoneCheckUrlExW.
+      shlwapi: Implement stub for UrlFixupW.
+      mapi32: Scan registry for MAPI providers and load them.
+      mapi32: Load and store MAPI function pointers after loading MAPI providers.
+      mapi32: Implement MAPIInitialize, Logon, Logoff, LogonEx, Uninitialize.
+      mapi32: Pass through MAPISendMail if Simple MAPI provider loaded.
+      mapi32: Implement the rest of the Simple MAPI functions.
 
-Rico Schüller (7):
-      d3d10: Identify some more unknowns in parse_fx10.
-      d3d10: Parse variable flag.
-      wined3d: Add WINED3D_SM4_OP_MAX.
-      wined3d: Add WINED3D_SM4_OP_MIN.
-      d3d10: Add null objects for technique, pass, local_buffer and variable.
-      d3d10: Add argument check in ID3D10EffectTechnique::GetDesc.
-      d3d10: Add argument check in ID3D10EffectPass::GetDesc.
+Paul Vriens (18):
+      jscript: Updated Dutch translations.
+      shell32/tests: Fix a crash on Win9x.
+      mscms/tests: Fix some test failures on Win98 and WinME.
+      mshtml/tests: Fix some test failures on Win98 and WinME.
+      mshtml/tests: Fix test failures on Win9x/WinME.
+      imm32/tests: Fix test failures on Vista/W2K8.
+      shell32/tests: Fix a test failure on Win95/NT4.
+      wininet/tests: Fix a test failure on IE8.
+      ntdll/tests: Fix some test failures on several platforms.
+      wininet/tests: Run tests again on systems with IE5.
+      comdlg32/tests: Fix a test failure on Vista/W2K.
+      comdlg32: Return the correct path length for CDM_GETFOLDERPATH.
+      comdlg32/tests: Test the correct path length for CDM_GETFOLDERPATH.
+      winetest: Fix winetest to cope with com dlls.
+      cryptui: Fix a typo.
+      msi/tests: Skip some tests on Win9x/WinMe.
+      msi/tests: Fix some test failures on Vista/W2K8.
+      crypt32/tests: Fix a test failure on Vista and higher.
 
-Roderick Colenbrander (4):
-      winex11: Introduce a new function for looking up the physical color of a pixel for use with colormap generation-like functions.
-      winex11: Prepare X11DRV_PALETTE_ToPhysical/_ToLogical for a new ColorShift structure.
-      winex11: Use ColorShifts from physDev in X11DRV_PALETTE_ToPhysical.
-      winex11: Use ColorShifts data in X11DRV_PALETTE_ToLogical.
+Peter Dons Tychsen (1):
+      mshtml: Fix crash because of usage of pointer before cheking if it is NULL.
 
-Sergey Khodych (6):
-      user32: edit: Use a dialog mode after receiving WM_GETDLGCODE message.
-      user32: edit: Improve handling of WM_KEYDOWN VK_ESCAPE in a dialog mode.
-      user32: edit: Improve handling of WM_KEYDOWN VK_TAB in a dialog mode.
-      user32: edit: Improve handling of WM_KEYDOWN VK_RETURN in a dialog mode.
-      user32: Use IDOK as default identifier in a template.
-      user32/tests: Fix a typo.
+Piotr Caban (1):
+      jscript: Fix 'object expected' error number.
+
+Reece Dunn (1):
+      jscript/tests: Fixed typos in the output strings.
+
+Rein Klazes (1):
+      user32: In ScrollWindowEx do not clip the clipping rectangle with the scrolling rectangle.
+
+Rico Schüller (17):
+      d3d10: Add initial type parsing code.
+      d3d10: Reorder some functions.
+      d3d10: Implement annotation parsing.
+      d3d10: Implement ID3D10EffectTechnique::GetAnnotationByIndex().
+      d3d10: Implement ID3D10EffectPass::GetAnnotationByIndex().
+      d3d10: Implement ID3D10EffectVariable::GetAnnotationByIndex().
+      d3d10: Implement ID3D10EffectConstantBuffer::GetAnnotationByIndex().
+      d3d10: Implement ID3D10EffectTechnique::GetAnnotationByName().
+      d3d10: Implement ID3D10EffectPass::GetAnnotationByName().
+      d3d10: Implement ID3D10EffectVariable::GetAnnotationByName().
+      d3d10: Implement ID3D10EffectConstantBuffer::GetAnnotationByName().
+      d3d10: Add variable semantic parsing.
+      d3d10: Implement ID3D10EffectVariable::GetDesc().
+      wined3d: Fix shader spam.
+      wined3d: Don't call wglMakeCurrent(NULL, NULL) in context_set_current() if the current context is NULL.
+      gdi32: Check the current context in wglMakeCurrent().
+      opengl32/tests: Improve test for wglMakeCurrent.
+
+Ričardas Barkauskas (1):
+      d3dx9_42: Implement d3dx9_42 and forward the functions to d3dx9_36.
+
+Roderick Colenbrander (7):
+      winex11: Always adjust the color_shifts pointer when SelectBitmap is called.
+      winex11: Use ColorShifts in get_xrender_format_from_pdevice.
+      winex11: Add helper function for calculating ColorShifts.
+      winex11: Add helper function get_xrender_format_from_color_shifts.
+      winex11: Add helper function for copying brushes.
+      winex11: Fix a null pointer bug in ToLogical in case of 8-bit. Move the code to the place where the shifts are needed.
+      winex11: Don't use ColorShifts for non-TrueColor bitmaps.
 
 Stefan Dösinger (8):
-      wined3d: Initialize ps_arb_max_local_constants.
-      wined3d: Don't use WINED3DADAPTER_DEFAULT as refresh rate.
-      wined3d: Make it clear that glFlush and glFinish are WGL functions.
-      wined3d: Remove redundant TRACEs.
-      wined3d: Allow filtering on RECT textures.
-      wined3d: Add a comment about D3DSAMP_MAXMIPLEVEL.
-      wined3d: Handle per-texture max LOD level.
-      wined3d: SetLOD is ignored on D3DPOOL_DEFAULT textures.
+      wined3d: Only generate the clipplane emulation KIL if a clipplane is used.
+      wined3d: Silence a compiler warning.
+      wined3d: Test and fix ddraw and d3d9 GetDC differences.
+      wined3d: Track GL texture states in a separate structure.
+      wined3d: Use the correct enum.
+      wined3d: Create a separate function for deleting GL textures.
+      wined3d: Don't mark SFLAG_INTEXTURE up to date with fbo stretchrect.
+      wined3d: Fix sRGB->RGB copy condition.
 
-Tony Wasserka (6):
-      windowscodecs: Add tests for IWICStream_InitializeFromMemory.
-      windowscodecs: Add tests for IWICStream_Seek with memory streams.
-      windowscodecs: Add tests for IWICStream_Read with memory streams.
-      windowscodecs: Add tests for IWICStream_Write with memory streams.
-      windowscodecs: Add tests for the unimplemented IWICStream methods when using memory streams.
-      windowscodecs: Add tests for IWICStream_Stat with memory streams.
+Stefan Ginsberg (1):
+      msctf: Define function calling convention compatibly for MSVC.
 
-Vincent Povirk (50):
-      oleaut32: Avoid copying the data when loading an image using WIC.
-      include: Add 8-bit grayscale pixel format.
-      windowscodecs: Add stub JPEG decoder.
-      windowscodecs: Implement Initialize for the JPEG decoder.
-      windowscodecs: Implement GetFrame for the JPEG decoder.
-      windowscodecs: Implement GetPixelFormat for the JPEG decoder.
-      windowscodecs: Implement GetSize for the JPEG decoder.
-      windowscodecs: Implement CopyPixels for the JPEG decoder.
-      windowscodecs: Print a FIXME when WICConvertBitmapSource fails.
-      windowscodecs: Support conversion of 8bppGray to 32bppBGRA.
-      windowscodecs: Fix rounding in BMP encoder.
-      oleaut32: Make ITypeInfo2::GetCustData succeed when data is not found.
-      wininet: Allow +.- characters in url scheme.
-      include: Add WIC pixel formats needed for PNG.
-      windowscodecs: Add stub PNG decoder.
-      windowscodecs: Register the PNG decoder.
-      windowscodecs: Implement GetContainerFormat for PNG decoder.
-      windowscodecs: Implement GetFrameCount for PNG decoder.
-      windowscodecs: Implement Initialize for the PNG decoder.
-      windowscodecs: Implement GetFrame for the PNG decoder.
-      windowscodecs: Implement GetPixelFormat for the PNG decoder.
-      windowscodecs: Implement GetSize for the PNG decoder.
-      windowscodecs: Implement CopyPixels for the PNG decoder.
-      windowscodecs: Implement CopyPalette for the PNG decoder.
-      windowscodecs: Support color-keyed transparency in PNG images.
-      windowscodecs: Implement conversion from BlackWhite to 32bppBGRA.
-      windowscodecs: Implement conversion from 2bppIndexed to 32bppBGRA.
-      windowscodecs: Implement conversion from 2bppGray to 32bppBGRA.
-      windowscodecs: Implement conversion from 4bppGray to 32bppBGRA.
-      windowscodecs: Implement conversion from 16bppGray to 32bppBGRA.
-      windowscodecs: Implement conversion from 48bppRGB to 32bppBGRA.
-      windowscodecs: Implement conversion from 64bppRGBA to 32bppBGRA.
-      gdiplus: Add test for GdipCreateHBITMAPFromBitmap.
-      gdiplus: Implement GdipCreateHBITMAPFromBitmap.
-      gdiplus: Add PNG to the decoders list.
-      gdiplus: Use the decoder list to decide how to load image files.
-      gdiplus: Add and use an HBITMAP field in GpBitmap objects.
-      gdiplus: Don't use IPicture to manage the HDC associated with a GpBitmap.
-      gdiplus: Create DIBs instead of IPictures in CreateBitmapFromScan0.
-      gdiplus: Return the real image bits from LockBits when possible.
-      gdiplus: Use AlphaBlend for 32-bit images with alpha channels.
-      gdiplus: Reimplement GdipCreateBitmapFromHICON based on RGBA bitmaps.
-      gdiplus: Use WIC to decode ICO files.
-      oleaut32: Use WIC to decode JPEG images.
-      oleaut32: Use WIC to decode PNG images.
-      gdiplus: Use WIC to encode images.
-      gdiplus: Use WIC to decode JPEG files.
-      gdiplus: Use WIC to decode GIF files.
-      oleaut32: Handle LCID arguments in ITypeInfo::Invoke.
-      oleaut32/tests: Add test for tlibattr->lcid.
+Vincent Povirk (27):
+      gdiplus: Test for the lowest rejected startup version.
+      gdiplus: Fix a copy outside allocated memory in GdipCreateTextureIA.
+      gdiplus: Use WIC to decode BMP files.
+      gdiplus: Use WIC to decode PNG files.
+      gdiplus: Disable alpha channel support for BMP images.
+      gdiplus: Remove unused bitmap flipping code.
+      windowscodecs: Fix the bmpformat test on Windows 7.
+      gdiplus: Implement GdipDrawImagePointRect.
+      gdiplus: Stub GdipResetLineTransform.
+      gdiplus: Stub GdipScaleLineTransform.
+      gdiplus: Don't use the supplied rect to calculate font scaling factors.
+      gdiplus: Don't calculate the number of points in the arc by dividing.
+      gdiplus: Don't accept MS Sans Serif as the generic sans serif font.
+      oleaut32: Implement ITypeLibComp::BindType.
+      gdiplus: Implement GdipGetImageRawFormat.
+      gdiplus: Stub GdipGetLinePresetBlend[Count].
+      gdiplus: Store preset blends in linear gradient brushes.
+      gdiplus: Add tests for linear gradient preset blends.
+      gdiplus: Use the preset blend when drawing linear gradients.
+      oleaut32: Add test for HREFTYPE's from inherited methods.
+      oleaut32: Use DISPATCH_HREF_MASK even for non-dual dispatch types.
+      gdiplus/tests: Reject gdiplus versions greater than 2.
+      gdiplus: Accept version 2 in GdiplusStartup.
+      winex11: Re-add the optimization for blending 1x1 pixel bitmaps.
+      gdiplus: Add tests for GdipBitmap(Get|Set)Pixel.
+      gdiplus: Implement GdipBitmapGetPixel.
+      gdiplus: Implement GdipBitmapSetPixel.
 
-Vladimir Pankratov (4):
-      shdoclc: Correct Russian translation.
-      shell32: Handle NULL path.
-      setupapi: Add stub for SetupDiGetClassImageIndex.
-      urlmon: Handle NULL parameter.
+Vitaliy Margolen (3):
+      dinput: Move axes and buttons queries into initial joystick discovery for joydev driver.
+      dinput: Convert axis mapping array to int instead of BYTE. BYTE is unsigned and char isn't enough to store all possible axis values.
+      dinput: Fix POV for programs that use buffered events.
+
+Vitaly Perov (2):
+      comdlg32: Fix some Russian resources.
+      shell32: Enlarge static to display multiline text correctly.
+
+Vladimir Pankratov (3):
+      jscript: Add Russian translation.
+      readme: Keep README.ru in sync.
+      jscript: Update Russian translation.
+
+Wilfried Pasquazzo (2):
+      user32: Correct scaling of DrawIcon.
+      user32/tests: Test for correct scaling of DrawIcon.
 
 --
 Alexandre Julliard
diff --git a/VERSION b/VERSION
index 6a09ea5..45a4f2a 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-Wine version 1.1.29
+Wine version 1.1.30
diff --git a/configure b/configure
index 87628f5..6a76027 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.64 for Wine 1.1.29.
+# Generated by GNU Autoconf 2.64 for Wine 1.1.30.
 #
 # Report bugs to <wine-devel@winehq.org>.
 #
@@ -549,8 +549,8 @@
 # Identity of this package.
 PACKAGE_NAME='Wine'
 PACKAGE_TARNAME='wine'
-PACKAGE_VERSION='1.1.29'
-PACKAGE_STRING='Wine 1.1.29'
+PACKAGE_VERSION='1.1.30'
+PACKAGE_STRING='Wine 1.1.30'
 PACKAGE_BUGREPORT='wine-devel@winehq.org'
 PACKAGE_URL='http://www.winehq.org'
 
@@ -1370,7 +1370,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.1.29 to adapt to many kinds of systems.
+\`configure' configures Wine 1.1.30 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1439,7 +1439,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Wine 1.1.29:";;
+     short | recursive ) echo "Configuration of Wine 1.1.30:";;
    esac
   cat <<\_ACEOF
 
@@ -1580,7 +1580,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Wine configure 1.1.29
+Wine configure 1.1.30
 generated by GNU Autoconf 2.64
 
 Copyright (C) 2009 Free Software Foundation, Inc.
@@ -2100,7 +2100,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.1.29, which was
+It was created by Wine $as_me 1.1.30, which was
 generated by GNU Autoconf 2.64.  Invocation command line was
 
   $ $0 $@
@@ -18482,7 +18482,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.1.29, which was
+This file was extended by Wine $as_me 1.1.30, which was
 generated by GNU Autoconf 2.64.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -18547,7 +18547,7 @@
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_version="\\
-Wine config.status 1.1.29
+Wine config.status 1.1.30
 configured by $0, generated by GNU Autoconf 2.64,
   with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
