diff --git a/ANNOUNCE b/ANNOUNCE
index 3809c2e..a8af44b 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,11 +1,15 @@
-The Wine team is proud to announce that Wine 1.0 is now available.
-This is the first stable release of Wine after 15 years of development
-and beta testing. Many thanks to everybody who helped us along that
-long road!
+The Wine development release 1.1.0 is now available.
 
-While compatibility is not perfect yet, thousands of applications have
-been reported to work very well. Check http://appdb.winehq.org to see
-the details for your favorite applications.
+What's new in this release (see below for details):
+  - Many more gdiplus functions implemented.
+  - Improved graphics tablet support.
+  - Many Richedit fixes and improvements.
+  - Support for HWND_MESSAGE windows.
+  - A lot of new MSHTML functions.
+  - Many fixes in MSI registry handling.
+  - Initial implementation of the inetmib1 DLL.
+  - Improvements to the quartz renderers.
+  - Various bug fixes.
 
 The source is available from the following locations:
 
@@ -26,46 +30,718 @@
 
 ----------------------------------------------------------------
 
-Bugs fixed in 1.0:
+Bugs fixed in 1.1.0:
 
-   3838  The Punisher demo crashes after the introduction movies
-   3898  Counter-Strike 1.6 performance issue
-   4755  X Error of failed request:  BadDrawable (X_PolyFillRectangle) when switching to Virtual Desktop
-   6315  Starlancer draws ships as white when direct3d is enabled
-   7268  Oni not opening after install
-   8185  can't login in Skype 3.1 on wine/kubuntu 7
-   8634  antialiasing disabled in gtasa menu
-   9555  Wine crash when I click help in Stata 10
-   9589  Static / Scratchy Sound with OSS in Call of Duty
-   9903  WinRAR with NXServer  - black icons
-  10009  QIP: window z-order is still wrong
-  10268  Robot Wars: Arena of Destruction crashes while quitting (causing resolution to stay 640 x 480)
-  10322  Eve-online (video memory misaddressed?)
-  10700  Dragon Naturally Speaking 9 needs gdiplus.GdipDrawArcI, gdiplus.GdipCreatePen2, ...
-  11011  Call of Duty 1.0 doesn't run after install.
-  11104  Dance Praise 2: Does not respond to input
-  12415  Can not leave fullscreen Warcraft 3x (Regression)
-  12963  Moto Racer 2 works with wine 0.9.60 and crashes with wine 0.9.61
-  13271  The demo of the punisher fails to install
-  13740  winebrowser gets wrong URL, problem with unicode
+   2918  Electronics Workbench: instruments are not drawn
+   3159  Incorrect defintions of CFSTR_*
+   3795  c2man: extension is fixed to ".dll"
+   4437  Weird Worlds demo won't start without native msvcrt
+   4935  IHP Kitchen: Unhandled page fault on read access
+   5915  Application gets crashed when I press enter in combobox (While Cursor is present in combo)
+   5986  riched20 : Double Click messages not handled
+   6247  Richedit: Selecting via mouse does not scroll
+   6618  Warcraft III Crash on intro movie playback
+   7069  starting win32-version of tomcat fails with a "jvm_bind" or "java.util.TimeZone.getTimeZone" error message
+   8132  Hyperlink rendering not turned off if link is at end of line
+   8556  Game complains that directx9.0c is not installed
+   8657  Ikea Home Planner crashes when I add an element
+   8901  Personal Stock Monitor 6 standard Active Securities listview columns blank
+   9812  Bad some czech characters in older coursewares
+   9824  GTA Vice City: strange textures when you attack cars with a chainsaw
+   9860  MSN 8.1 doesn't start, gdiplus:GdipImageGetFrameDimensionsList not implemented
+   9924  SysIPAddress32 dialog item glitch
+   9982  Dragon NaturallySpeaking training module - text is too big.
+  10132  bad cyrillic font rendering
+  10550  turbocad install won't work
+  10966  explorer.exe crash every time when removing folders
+  11158  Wineboot and virtual desktop
+  11245  Tomb Raider Anniversary crash during trying to enable an usb joypad.
+  11476  UMDGen "Compression Level" Dialog box doesn't show
+  11699  Acecad tablet not recognised as a tablet
+  11721  GL Excess does not work
+  11774  eMule crashes when right-clicking on file in Transfers window
+  12005  Regression in pressure sensitivity with wizardpen tablet driver and Photoshop 7
+  12167  MS Office 2000 install broken at 0.9.55 --> 0.9.56
+  12305  Firefox 3 beta 4 font problem: colon displayed as 0038 unicode glyph-missing glyph [dogfood]
+  12481  PSPad HTML preview is not working with Gecko
+  12631  FIFA 2007 - black rectangles during gameplay in the recent version
+  12740  Wine tries to execute non-executable data (regression against 0.9.59)
+  13004  3Com Descovery Util do not see any network interfaces
+  13036  Faktury 4.1 doesn't run because of Unimplemented GdipImageGetFrameDimensionsCount
+  13122  Graphical regression in Team Fortress 2.
+  13127  Star wars JK II Jedi outcast does not work
+  13128  Medieval total war crashes
+  13145  Graphic Corruption in Assassin's Creed
+  13225  Sacrifice: texture transparency problems (alpha test)
+  13227  100% CPU Usage with notepad - with dtrace output
+  13341  Painkiller Demo Fails To Run
+  13482  Latest msvcrt's won't load
+  13513  Portal: game crashes
+  13521  liveusb-creator-2.5 unable to load win32file.pyd [dogfood]
+  13552  eDrawings CAD Viewer crashes into shell32 while opening a file
+  13644  Ricochet Infinity cannot activate full version
+  13713  Hema Album Software Advanced won't start, it crashes and has to be killed.
+  13748  Last Chaos aborts after clicking 'start' in 0.9.57 and later
+  13765  ZENcast 2.01.01 Installer Fails to Start
+  13864  F.E.A.R: Can't accept EULA
+  13882  psiops crashes while starting (XStreamlok)
+  13892  mmioOpen MMIO_ALLOCBUF not ignored when passed a buffer
+  13969  Photocameras Adjustment Software: crashes after pressing a button.
+  14006  at least one locale missing: eo - (breaks .NET internationalization)
+  14016  Eclipse 3.3.x (customized) needs WebBrowser_GetIDsOfNames fleshed out
+  14024  Photoshop CS2 installer crashes immediately
 
 ----------------------------------------------------------------
 
-Changes since 1.0-rc5:
+Changes since 1.0:
 
-Alexandre Julliard (1):
-      Updated the authors list.
+Adam Petaccia (10):
+      gdiplus: Implement GdipCreateFontFamilyFromName.
+      gdiplus: Implement GdipDeleteFontFamily.
+      gdiplus: Implement GdipGetFamilyName.
+      gdiplus: Implement GdipGetGeneric*.
+      gdiplus: Tests for FontFamily.
+      gdiplus: Tests for GetGeneric*.
+      gdiplus: Implement GdipCreateFont.
+      gdiplus: Implement GdipGetFontUnit.
+      gdiplus: Implement GdipGetFontSize.
+      gdiplus: Tests for new font functions.
 
-Francois Gouget (3):
-      Remove spaces before '...' in the Danish resources.
-      regedit: Remove spaces before '...'.
-      winecfg: Remove spaces before '...'.
+Albert Lee (1):
+      ws2_32: WS_getaddrinfo TRACE message can crash Wine.
 
-Jaime Rave (1):
-      wineconsole: Update Spanish translation.
+Alex Villacís Lasso (12):
+      richedit: Fix misreporting of match offset for EM_FINDTEXT and EM_FINDTEXTEX.
+      richedit: WM_SETTEXT must immediately autodetect URLs, without waiting for a WM_CHAR.
+      richedit: Add more tests for URL autodetection on WM_CHAR, make them pass under Wine.
+      richedit: Fix for the semantics of the flags for some effects reported by EM_GETCHARFORMAT.
+      richedit: Add tests for URL autodetection for EM_SETTEXTEX, make them pass under Wine.
+      richedit: Add tests for URL autodetection for EM_REPLACESEL, make them pass under Wine.
+      richedit: Insertion style must NOT be cleared unless selection actually changed.
+      richedit: Empty text should result in a scroll range of 0. Tests for this behavior.
+      richedit: When returning position through wParam pointer, EM_POSFROMCHAR must return 0 as LRESULT.
+      richedit: EM_POSFROMCHAR should take into account scrollbar position. With tests.
+      richedit: Revert patch that introduced a test that fails on all platforms.
+      richedit: Fix failing EM_GETCHARFORMAT test on all platforms.
 
-Matthias Kupfer (1):
-      wordpad: Small typo fix for German translation.
+Alexander Dorofeyev (5):
+      ddraw: Implement FPU mode fixup in d3d7 device.
+      quartz: Fix accessing variant string.
+      quartz: Do not ignore current position in IEnumRegFiltersImpl_Next.
+      devenum: Update type when reading binary data to VT_EMPTY variant.
+      quartz: Prevent heap corruption if IPropertyBag_Read fails.
+
+Alexandre Julliard (36):
+      winex11: Check for matching pixel format in wglMakeCurrent.
+      winex11: Avoid erasing the window when changing the pixel format.
+      cabinet: Always use INT_PTR for handles.
+      kernel32: The first argument of GetBinaryType is a string.
+      server: Move the process pipe hangup handling into kill_process.
+      winex11: Only register an XIM callback if we can't open the XIM right away.
+      winspool: Don't print NULL pointers in traces.
+      shell32/tests: Use the original path if GetLongPathNameA fails.
+      winex11: Print more details on OpenGL load failure. Only print errors once.
+      d3d8: Make Direct3DCreate8 fail if we can't initialize wined3d.
+      d3d9: Make Direct3DCreate9 fail if we can't initialize wined3d.
+      d3d9/tests: Test for Direct3DCreate9 failure.
+      ole32: Don't consider RPC_S_UUID_LOCAL_ONLY an error in CoCreateGuid.
+      oleaut32/tests: Allow UuidCreate to return RPC_S_UUID_LOCAL_ONLY.
+      server: Use a unicode_str to represent atom names.
+      server: Add support for a top-level message parent window in parallel to the desktop window.
+      user32: Register the builtin 'Message' window class.
+      user32: Add support for a top-level message parent window in parallel to the desktop window.
+      server: Also return the top-level message window in the get_desktop_window request.
+      explorer.exe: Create the top-level message window along with the desktop window.
+      user32: Use the top-level message window as parent for HWND_MESSAGE windows.
+      user32: Treat the top-level message window as a desktop window.
+      user32/tests: Add some more tests for HWND_MESSAGE windows.
+      user32: Add support for finding HWND_MESSAGE windows in FindWindowEx.
+      user32: Make sure that IsWindowVisible returns FALSE for HWND_MESSAGE windows.
+      ole32: Make the apartment window a HWND_MESSAGE window.
+      wine.inf: Make the initial owner information empty.
+      winex11: Explicitly request creation of the per-thread data where necessary.
+      winex11: Pass the display as parameter to a few more functions instead of using thread_display().
+      winex11: Get rid of the explicit colormap management.
+      winex11: Explicitly request creation of the thread display where necessary.
+      winex11: Don't create a win data structure for HWND_MESSAGE windows.
+      server: Fix a potential desktop reference leak.
+      widl: [default] is an allowed attribute for union fields.
+      ntdll: Force execute permission again on the stack after clearing it.
+      configure: Fix the netinet header checks for Mac OS and Solaris.
+
+Alistair Leslie-Hughes (6):
+      urlmon: Check pointer before use.
+      msxml3: Improved checking of failed case.
+      secur32: Fix crash under win98.
+      shell32: Stop crash when an error occurs.
+      mapi32: Skip tests on error.
+      msxml3: Added support for creating DOMFreeThreadedDocument.
+
+Anatoly Lyutin (3):
+      user32: Return at the end of processing (cmd == SW_HIDE).
+      user32/tests: Add two tests for ShowWindow(SW_RESTORE).
+      user32/tests:c Add msg tests for SetActiveWindow().
+
+Andrew Talbot (12):
+      user32: Dangling pointer fix.
+      advpack: Constify some variables.
+      qmgr: Constify some variables.
+      shell32: Constify a variable.
+      setupapi: Constify a variable.
+      riched20: Constify some variables.
+      msxml3: Constify some variables.
+      comctl32: Constify some variables.
+      wineps.drv: Use const-correct GetPrinterDataEx() instead of GetPrinterData().
+      dbghelp: Use dbgstr_a() in case pointer is NULL.
+      mpr: Fix some memory leaks.
+      gdi32: Pass correct pointer value to HeapFree().
+
+Colin Finck (2):
+      wininet: Always pass a variable as lpNumberOfBytesWritten on a WriteFile call if lpOverlapped is set to NULL.
+      comctl32: Use a clip region when collapsing the treeview.
+
+Dan Hipschman (7):
+      gdi32: Add tests for GetTextFace.
+      riched20/tests: Add tests for OLE interface.
+      riched20/tests: Add a test for creating ITextDocument.
+      kernel32/tests: Add tests for TLS functions.
+      gdi32: Return the correct value from GetTextFace.
+      riched20: Implement ITextDocument_fnGetSelection.
+      user32: Redefine internal pop-up tracking flags to avoid conflicts.
+
+Dan Kegel (8):
+      advpack: Don't close a handle if it wasn't opened.
+      dsound: Don't free buffer if it's owned by alsa.
+      winmm/tests: Initialize MIXERLINECONTROLSA before calling mixerGetLineControlsA.
+      gdi32: GdiConvertToDevmodeW should not refer to unintialized name bytes.
+      kernel32/tests: Initialize a few variables.
+      msxml3/tests: VT_EMPTY is not a string.
+      user32: Fix buffer length thinko in dde_client.c.
+      wininet: InternetCrackUrlW: For URLs that have no urlpath, native clears lpszUrlPath.
+
+Detlef Riekenberg (2):
+      avifil32: The array index is 0-based.
+      rpcrt4: Add a stub for I_RpcBindingInqTransportType.
+
+Dmitry Timoshkov (29):
+      gdi32: Print the assigned world transform.
+      gdi32: Use 0xffff as a default character as Vista does.
+      user32: Add a test for MNS_NOTIFYBYPOS, make it pass under Wine.
+      kernel32: Make GetModuleFileName set ERROR_INSUFFICIENT_BUFFER like win2k3 and vista do.
+      winmm: Add the tests for mmioOpen and mmioSetBuffer, make them pass under Wine.
+      winmm: Clear the fccType in mmioDescend for a not RIFF/LIST case.
+      gdi32: Add a test for combined mapping mode/world transform changes.
+      wine.inf: Add Baltic font substitutions.
+      gdi32: Extend the font substitution test, make it pass under Wine.
+      gdi32: Make GetOutlineTextMetrics set tmDigitizedAspectX/Y to real values as GetTextMetrics does.
+      gdi32: Perform font height scaling with higher precision.
+      gdi32: Initialize otmMacAscent, otmMacDescent, otmMacLineGap in outline text metrics.
+      gdi32: Don't forget to update the glyph advance in the case of a custom transformation.
+      gdi32: Font scaling transform is performed separately.
+      gdi32: Perform the world transform separately from font scaling.
+      gdi32: Apply the custom transform to a glyph only if it's not an identity one.
+      gdi32: Don't cache glyph metrics if they have a custom transformation.
+      gdi32: Don't return cached glyph metrics if a custom transformation was requested.
+      gdi32: Scale outline font metrics.
+      gdi32: Indent a block of code using 4 spaces instead of 5.
+      gdi32: Add a test for outline text metrics.
+      gdi32: Perform correct glyph scaling even if font metrics haven't been cached yet.
+      user32: Make test_SetForegroundWindow() the last message test.
+      include: Remove a semicolon from a DECL_WINELIB_TYPE_AW use.
+      include: Undefine a custom DECL_WINELIB_DBT_TYPE_AW macro at the end of the file.
+      winmm: Add another test confirming that mmioDescend does set fccType of non RIFF/LIST chunks to 0.
+      mciavi32: Read the stream header in order to determine its type.
+      user32: Add a test for focus behaviour on minimize/restore.
+      wordpad: Pass correct parameters to WM_SIZE message handler.
+
+Dylan Smith (35):
+      wordpad: Added style to the richedit control to not hide selection.
+      wordpad: Fixed the font size validation for the toolbar's combobox.
+      wordpad: Apply changes on dropdown selection for comboboxes on toolbar.
+      wordpad: Fixed calculations for the paragraph format dialog.
+      wordpad: Fixed bugs that prevented setting alignment through dialog.
+      wordpad: Fixed a bug in setting the recent file list in the registry.
+      winemine: Beginner mode should have one more row and column.
+      winemine: Adding flag before the game starts shouldn't start the timer.
+      winemine: Set mines after first choice.
+      winemine: Middle click drag should move the box highlighting.
+      winemine: The number of mines should be visible before first choice.
+      winemine: Increased buffer size for player names.
+      richedit: Allow cursor to move over trailing spaces in wrapped lines.
+      richedit: Trailing spaces should not affect alignment shift length.
+      richedit: bCaretAtEnd should not be reset from rewrapping text.
+      richedit: Tests for undo coalescing.
+      richedit: Added missing defines and structures to richedit.h.
+      richedit: Null pointer check missing on optional parameter.
+      richedit: Show caret after pasting or streaming in text.
+      richedit: Prevented NULL value from being used to avoid a page fault.
+      richedit: Prevented an assertion error on startup when run on Windows.
+      richedit: Fixed the forward word movement bug.
+      richedit: Fixed a bug preventing NULL pointers from being in text.
+      richedit: Added tests reveal a problem with EM_SETCHARFORMAT's affect on the undo stack.
+      richedit: Moved function declarations in header to reflect locations of definitions.
+      richedit: Corrected the conversion used for the initial font size.
+      richedit: Fixed bug preventing bold from being set with EM_SETCHARFORMAT.
+      richedit: Make cursor visible when selecting via mouse above/below editor.
+      richedit: Implemented undo coalescing to group typing events.
+      richedit: Removed redundant code for getting the insert style.
+      richedit: Set error codes and stop parsing for some rtf syntax errors.
+      richedit: Fixed mistake that didn't cause a bug.
+      richedit: Caret size must match font size characters to be inserted.
+      riched32: Added class style to process double click events.
+      richedit: Ensure caret is seen if moved past end of view over trailing spaces.
+
+Eric Durbin (10):
+      iphlpapi: Implement getInterfaceStatsByName on FreeBSD.
+      iphlpapi: Implement getNumUdpEntries on FreeBSD.
+      iphlpapi: Implement getUDPStats on FreeBSD.
+      iphlpapi: Implement getIPStats on FreeBSD.
+      iphlpapi: Downgrade some ERR messages to WARN.
+      iphlpapi: Implement getICMPStats on FreeBSD.
+      iphlpapi: Fix a typo resulting in wrong variable assignment.
+      iphlpapi: Implement getTCPStats on FreeBSD.
+      iphlpapi: Implement getNumArpEntries on FreeBSD.
+      iphlpapi: Implement getArpTable on FreeBSD.
+
+Eric Pouech (3):
+      winhelp: Properly quit winhelp when no file are given on command line.
+      winhelp: Added the options menu.
+      winhelp: Removed the main history button, and use the item in Options menu instead.
+
+Filipe Ferreira (1):
+      winecfg: Added Windows registration information setting.
+
+Francois Gouget (5):
+      A couple of spelling fixes.
+      configure: Detect and use gld/gnm/gar as alternatives to ld/nm/ar, especially for winegcc.
+      configure: Fix the isinf() detection. Fixes compilation on Solaris.
+      shlwapi: Don't use Unix functions for case sensitive string comparisons.
+      wined3d: Add a trailing '\n' to a couple of shader_addline() calls.
+
+Gerald Pfeifer (2):
+      comctl32: tooltips: Adjust the type of three loop variables from INT to UINT.
+      winex11: Remove two unused parameters from BITBLT_GetSrcArea().
+
+Guy Albertelli (3):
+      comctl32: listview: Change header control create act like native for LVS_NOCOLUMNHEAD.
+      comctl32: listview: Show the header when updating header size if not LVS_NOCOLUMNHEADER.
+      comctl32: listview: Implement LVS_NOCOLUMNHEADER support for WM_STYLECHANGED message.
+
+H. Verbeet (14):
+      wined3d: Add support for ARB_color_buffer_float.
+      wined3d: Use gl_Color and gl_SecondaryColor to support more varyings in SM3.0 shaders.
+      wined3d: Handle depth formats like any other format in CheckDeviceFormat.
+      wined3d: Report WINED3DFMT_FLAG_FILTERING on WINED3DFMT_D24X8.
+      wined3d: Report post pixelshader blending on WINED3DFMT_A16B16G16R16F.
+      wined3d: Half float formats need ARB_TEXTURE_FLOAT as well.
+      d3d8: Use color_match() in alpha_test().
+      d3d9: Use color_match() in alpha_test().
+      wined3d: Explicitly enable depth buffer writing in depth_blt().
+      d3d9: Use color_match() in fog_with_shader_test().
+      d3d: Allow more imprecision in the texop test.
+      d3d9: Unset the pixel shader at the end of cnd_test().
+      wined3d: Report WINED3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING.
+      wined3d: Delete depth_blt_texture on IWineD3DDeviceImpl_Uninit3D().
+
+Hans Leidekker (6):
+      wininet: Clear last error upon successful return from HttpSendRequest.
+      wininet: Improve some traces.
+      wininet: Send a 'Pragma: no-cache' header if asked for.
+      wininet: Resolve hostname once per connection.
+      wininet: Win64 compatibility fixes.
+      wininet: Make a test pass on IE6.
+
+Huw Davies (9):
+      gdi32: Initialize the handle table.
+      gdiplus: GdipCreatePen2 should make a copy of the brush.
+      ntdll: Free the correct buffer in the test.
+      netapi32: Free the correct pointers.
+      kernel32: Fix typo.
+      d3d8: Fix typo in test.
+      inetcomm: Fully initialize start and length.
+      winspool.drv: Make sure the printer driver registry entry exists.
+      localspl: Ensure that we load winspool before spoolss to work around a circular dependence.
+
+Hwang YunSong(황윤성) (2):
+      winhlp32: Updated Korean resource.
+      shell32: Updated Korean resource.
+
+Jacek Caban (60):
+      mshtml: Added IHTMLElement::get_id implementation.
+      mshtml: Added IHTMLElement::put_id implementation.
+      mshtml: Added IDispatchEx support to HTMLSelectElement.
+      mshtml: Added fdexNameEnsure support to IDidpatchEx implementation.
+      mshtml: Use heap_alloc_zero in HTMLElementCollection_Create.
+      mshtml: Added missing tids to HTMLCommentElement.
+      mshtml: Added more IDispatchEx tests.
+      mshtml: Change backslashes to shashes in URLs passed to IHTMLStyle::put_backgroundImage.
+      mshtml: Added IHTMLStyle::put_background implementation.
+      mshtml: Added IHTMLStyle::put_color implementation.
+      mshtml: Added IHTMLElement2::focus implementation.
+      mshtml: Use heap_alloc_zero to allocate OmNavigator.
+      mshtml: Added IHTMLDOMNode::get_nodeValue implementation.
+      mshtml: Added IHTMLDOMNode::put_nodeValue implementation.
+      mshtml: Added IHTMLElement2::put_accessKey implementation.
+      mshtml: Better stub for IHTMLElement::setAttribute with NULL  nselem.
+      mshtml: Added IHTMLElement2::get_clientWidth implementation.
+      mshtml: Added IHTMLElement::get_clientHeight implementation.
+      mshtml: Added IHTMLInputElement::put_value implementation.
+      mshtml: Forward HTMLInputElement IDispatch calls to IDispatchEx implementation.
+      urlmon: Make mk protocol behave like IE7.
+      mshtml: Better timer handling.
+      mshtml.idl: Added DispHTMLGenericElement declaration.
+      mshtml.idl: Added IHTMLGenericElement declaration.
+      mshtml: Initialize node object from child node's constructors.
+      mshtml: Added IHTMLDocument2::createElement implementation.
+      mshtml: Added IHTMLGenericElement implementation.
+      mshtml: Added IDispatchEx support to HTMLGenericElement.
+      mshtml: Added createElement test.
+      shdocvw: Added WebBrowser's IDispatch methods implementation.
+      mshtml: Added IHTMLDOMNode::appendChild implementation.
+      mshtml: Added IHTMLDocument3::createTextNode implementation.
+      mshtml: Return NULL instead of empty string in  IHTMLElement::get_className.
+      mshtml: Added IHTMLElement::put_className implementation.
+      mshtml: Added IHTMLImgElement::put_src implementation.
+      mshtml: Added onclick attribute support.
+      mshtml: Use heap_alloc_zero in NSContainer_Create.
+      mshtml: Added generic HTML event listener and use it for click  event.
+      mshtml: Added IHTMLElement::put_onclick implementation.
+      mshtml: Added keyup event support.
+      mshtml: Added IHTMLElement::put_onkeyup implementation.
+      mshtml: Added IHTMLElement2::get_tabIndex implementation.
+      mshtml: Added IHTMLElement2::put_tabIndex implementation.
+      mshtml: Added support to accessing child nodes by index in IHTMLDOMChildrenCollection.
+      mshtml: Fixed argument checking in IHTMLDOMChildrenCollection::item.
+      mshtml: Added IHTMLDOMNode::removeChild implementation.
+      mshtml: Added IHTMLDOMNode::hasChildNodes implementation.
+      mshtml: Added IHTMLSelectElement::put_value implementation.
+      mshtml: Return NULL instead of empty string in  IHTMLSelectElement::get_value.
+      mshtml: Added IHTMLSelectElement::put_onchange implementation.
+      mshtml: Added IHTMLElement::get_title implementation.
+      mshtml: Added IHTMLElement::put_title implementation.
+      mshtml: Added IHTMLInputElement::put_disabled implementation.
+      mshtml: Added IHTMLSelectElement::get_type implementation.
+      mshtml: Forward HTMLSelectElement's IDispatch functions to  IDispatchEx implementation.
+      mshtml: Added IHTMLElement::get_offsetTop implementation.
+      mshtml: Added useful TRACEs.
+      mshtml: Added IHTMLDOMNode::get_parentNode implementation.
+      mshtml: Added DOCUMENT_NODE type support.
+      urlmon: Make file protocol invalid URL handling behave like IE7.
+
+James Hawkins (38):
+      ddraw: Reset the viewport data before each test.
+      msi: Rewrite the ProcessComponents test to only check the registry changes.
+      msi: Don't publish components to the Installer key.
+      msi: Determine the installation context after reading properties from the command line.
+      msi: Fix the ProcessComponents action to handle the package context.
+      msi: Rewrite the RegisterUser test to only check the registry changes.
+      msi: Fix the RegisterUser action to handle the package context.
+      msi: Rewrite the PublishFeatures test to only check the registry changes.
+      msi: Don't publish features to an invalid location.
+      msi: Fix the PublishFeatures action to handle the package context.
+      msi: Rewrite the RegisterProduct test to only check the registry changes.
+      msi: Don't publish the upgrade key to an invalid location.
+      msi: Factor out the publishing of installation properties.
+      msi: Test the RegisterProduct action with the machine context.
+      msi: Rewrite the PublishProduct test to only check the registry changes.
+      msi: Factor out publishing icon files.
+      msi: Factor out publishing the product source list.
+      msi: Don't set an invalid install property in PublishProduct.
+      msi: Don't publish the product to an invalid location.
+      msi: Factor out publishing the product properties.
+      msi: Squash the package code property.
+      msi: Allow checking a REG_MULTI_SZ string.
+      msi: Publish a few more product properties.
+      msi: Publish media disks whether the drive type is removable or not.
+      msi: Publish the UpgradeCode in PublishProduct.
+      msi: Test the PublishProduct action with the machine context.
+      msi: Open the local user data product key for the machine context.
+      msi: Fix the published location of the upgrade code for the machine context.
+      msi: Create the SourceList key in msi_publish_sourcelist.
+      msi: Add more tests for MsiQueryFeatureState.
+      msi: Handle the user managed context in MsiQueryFeatureState.
+      msi: Handle the machine context in MsiQueryFeatureState.
+      msi: Reimplement MsiGetUserInfo.
+      msi: Add tests for MsiGetUserInfo.
+      mscms: Only check the first three characters of the color space name.
+      urlmon: Fix a few test failures in IE7.
+      msi: Add another MsiGetFileVersionTest.
+      msi: Don't overwrite a file that has a greater or equal version to the source file.
+
+Jeff Zaroyko (1):
+      ws2_32: Ignore lpFrom for connected sockets.
+
+John Klehm (4):
+      winex11: Add comments explaining wintab cursor slotting, type, and clarify x11 config.
+      winex11: Always assign a tablet cursor type.
+      winex11: Cursor iteration is now done by checking ACTIVE cursors.
+      winex11: Place tablet cursors in slots based on type.
+
+Jon Griffiths (10):
+      tapi.h: Fix struct member names.
+      include/msvcrt: Wrap remaining msvcrt headers for C++ compilation.
+      include/rpcproxy.h: Fix incorrect include guard comment.
+      winedbg: Add support for printing c++ bool values.
+      include: Provide wide char definitions for CFSTR_*.
+      oleaut32/tests: Fix invalid free (found by valgrind).
+      oleidl.h: Fix spelling of OLECONTF_ONLYUSER (reported by Marcos Gutiérrez Batz).
+      dbghelp: Implement SymEnumerateSymbols64.
+      ntdll: Implement [Rtl]InitializeCriticalSectionEx.
+      c2man: Correct extension for non-dlls (based on a patch by Vijay Kamuju).
+
+Joris Huizer (3):
+      user32/tests: Copy/paste fix.
+      gdiplus: font: Ensure to release resources.
+      gdiplus: Change tmw field of GpFontFamily into an embedded structure.
+
+Juan Lang (26):
+      inetmib1: Add stub dll.
+      inetmib1: Add stub for SnmpExtensionInit.
+      inetmib1: Add tests for SnmpExtensionInit.
+      inetmib1: Add stub for SnmpExtensionQuery.
+      inetmib1: Add tests for SnmpExtensionQuery.
+      inetmib1: Improve SnmpExtensionInit stub.
+      inetmib1: Improve SnmpExtensionQuery stub.
+      inetmib1: Add a mechanism for initializing supported OIDs, and use it in SnmpExtensionInit.
+      inetmib1: Add initialization function for getting the MIB2 number of interfaces.
+      inetmib1: Implement SnmpExtensionQuery.
+      inetmib1: Support querying the MIB2 number of interfaces.
+      inetmib1: Support the MIB2 interface table.
+      inetmib1: Support the MIB2 IP statistics.
+      inetmib1: Support the MIB2 ICMP statistics.
+      inetmib1: Support the MIB2 IP address table.
+      inetmib1: Use a helper function to get the item and instance of the MIB2 interface table.
+      inetmib1: Use a helper function to get the item from the Oid.
+      inetmib1: Use a helper function to get the item and instance of the MIB2 IP address table.
+      inetmib1: Support the MIB2 TCP statistics.
+      inetmib1: Support the MIB2 IP route table.
+      inetmib1: Support the MIB2 IP net (ARP) table.
+      inetmib1: Use a helper function to set the Oid with an IP address-based instance.
+      inetmib1: Use a helper function to set the Oid with an integer instance.
+      inetmib1: Use a helper function to set the Oid with an item.
+      inetmib1: Support the MIB2 UDP statistics.
+      inetmib1: Sort the tables keyed by IP address, and use bsearch to find entries in them.
+
+Kai Blin (6):
+      rpcrt4: Fix some A/W use in error messages.
+      rpcrt4: Ignore the AuthzSvr parameter for RPC_C_AUTHN_WINNT.
+      advapi32: Fix lsa tests for domain members.
+      netapi32: tests/access: Don't clutter up standalone Windows boxes.
+      netapi32: Remove double free test from apibuf tests.
+      netapi32: Don't test NetUserChangePassword for now.
+
+Kirill K. Smirnov (1):
+      kernel32: Add stubs for [G|S]etConsoleDisplayMode.
+
+Lei Zhang (5):
+      comctl32: Don't rearrange icons / update scroll bar when destroying a listview.
+      comctl32: Support LVCF_SUBITEM in LVM_GETCOLUMN.
+      gdi32: Check for regular fonts by style instead of style name.
+      comctl32: Use the system variable pitch font for ip address controls.
+      mshtml: Remove unneeded variable.
+
+Louis Lenders (3):
+      kernel32: Fix typo in SetProcessAffinityMask.
+      advapi32: Add stub for GetAuditedPermissionsFromAcl{A/W}.
+      d3dx9_*: Add version resources.
+
+Maarten Lankhorst (30):
+      quartz: Improve the directsound renderer a bit.
+      quartz: Set data length in avi decompressor.
+      include: Add definitions for IBasicVideo2 interface.
+      include: Add definitions for IAMFilterMiscFlags interface.
+      winemp3: Try to find a valid header instead of failing immediately.
+      qcap: Capture pin should have an IAMStreamConfig.
+      quartz: Forward some messages from IMediaSeekingPassThru.
+      quartz: Add the ability to force a pin to use a certain renderer.
+      quartz: Only query for event interface when there is a filtergraph.
+      quartz: Expose some methods so that a custom allocator can be created.
+      quartz: Try to render any existing renderers before creating a new one.
+      quartz: Implement MediaControl_GetState.
+      quartz: Implement IMediaSeeking in the video renderer.
+      quartz: Implement IBasicVideo2 for the filtergraph.
+      include: Add definitions for VMR-9 interface.
+      quartz: Implement GraphConfig_Reconfigure.
+      quartz: Implement VideoRenderer_GetCurrentImage.
+      quartz: Have thread safety in memallocator.
+      quartz: DSoundRender shouldn't delete buffer when already connected.
+      quartz: Only enumerate renderers if bRender is set in filtermapper.
+      quartz: Add support for VideoInfoHeader2 to AVI Decompressor.
+      quartz: Clear pin value if not connected.
+      quartz: Handle case where ReceiveConnection is called on an already connected pin.
+      quartz: Remove dead code from DSoundRender.
+      quartz: Create thread after connection is made.
+      quartz: Make the memory allocator emit more warnings and fix race condition.
+      quartz: Downgrade a fixme to a warn in dsoundrender.
+      quartz: Make removing filters work slightly better.
+      quartz: Make FilterGraph_Connect and ConnectDirect behave better.
+      quartz: Fix Render and RenderFile.
+
+Marcus Meissner (2):
+      ws2_32/tests: Initialize memory to send.
+      ws2_32/tests: Initialize buffer to avoid valgrind warning.
+
+Michael Karcher (1):
+      ddraw: Ensure to load wined3d before attempting to create a clipper.
+
+Michael Stefaniuc (2):
+      riched20: Remove redundant NULL check before heap_free (Smatch).
+      winedbg: Fix "floating pointer" typo.
+
+Mikołaj Zalewski (4):
+      winhlp32: Update Polish translation.
+      comdlg32: Implement CDM_GETFOLDERIDLIST.
+      comdlg32/tests: Make sure no ANSI strings are passed to Unicode functions.
+      kernel32: Improve Esperanto locale definition.
+
+Nikolay Sivov (16):
+      gdiplus: Check pointer in GdipGetLineRectI.
+      gdiplus: Implemented GdipAddPathRectangles with tests.
+      gdiplus: Stub for GdipFlush.
+      gdiplus: Implemented GdipGetPathData with test.
+      gdiplus: Fix GdipGetPathData implementation and test.
+      gdiplus: GdipPathIterGetCount implementation.
+      gdiplus: GdipSetPathMarker implementation.
+      gdiplus: GdipClearPathMarkers implementation.
+      gdiplus: Implementation of GdipAddPathPolygon with tests.
+      gdiplus: Implemented GdipCloneImageAttributes.
+      gdiplus: Implemented GdipGetPenEndCap.
+      gdiplus: Implemented GdipGetPenLineJoin, GdipGetPenMiterLimit.
+      gdiplus: Added GdipGetPenStartCap.
+      gdiplus: Implemetned GdipGetPenUnit.
+      gdiplus: Implemented GdipGetPenWidth.
+      gdiplus: Implemented GdipGetPenDashCap197819.
+
+Owen Rudge (7):
+      shell32: Add support for WantsForDISPLAY and HideAsDeletePerUser to the register_coclasses routine.
+      wine.inf: Add cplfile (control panel applet) association.
+      shell32: Register Control Panel namespace folder.
+      shell32: Ensure the correct applet is loaded in multi-applet control panels.
+      shell32: Populate comment column in Control Panel.
+      shell32/tests: Rename shfldr_netplaces test to shfldr_special, for all special folders.
+      shell32/tests: Add basic ParseDisplayName test for control panel.
+
+Paul Vriens (22):
+      tools/winapi: Fix typo in the generated header.
+      advapi32/tests: Fix a test on NT4.
+      msi/tests: Fix some test failures.
+      setupapi/tests: Fix some typos.
+      oleaut32/tests: Remove some stray spaces from the ok message.
+      user32/tests: Skip tests if functions are not implemented.
+      setupapi/tests: Skip all tests on Win9x and WinMe.
+      setupapi/tests: Remove win9x specifics from testDeviceRegistryPropertyW.
+      setupapi/tests: Remove win9x specifics from testDevRegKey.
+      setupapi/tests: Remove some function pointer checks from testRegisterDeviceInfo.
+      setupapi/tests: Remove win9x specifics from testCreateDeviceInfo.
+      setupapi/tests: Remove win9x specifics from testInstallClass.
+      setupapi/tests: Remove last win9x references.
+      setupapi/tests: Prevent crash on NT4.
+      setupapi/tests: Remove a registry key on failure for NT4.
+      setupapi/tests: Fix a test on NT4.
+      setupapi/tests: Add a simple test for the DelReg directive.
+      shell32/tests: Skip some tests if functions are not available.
+      kernel32/tests: Add some tests for GetConsoleCursorInfo.
+      kernel32: Fix return values of GetConsoleCursorInfo.
+      shlwapi/tests: Fix a test on Vista.
+      shlwapi/tests: Fix another test on Vista.
+
+Petr Dlouhý (2):
+      gdiplus: Stub implementation of GdipImageGetFrameDimensionsCount + test.
+      shlwapi: UrlCanonicalize will canonize address in format "file://localhost/c:/" correctly.
+
+Philip Nilsson (1):
+      msvcrt: Make EXCEPTION_PRIV_INSTRUCTION generate SIGILL.
+
+Przemysław Białek (1):
+      gdiplus: Implementation of function GdipDrawEllipse.
+
+Rob Shearman (40):
+      rpcrt4: Fix ndr_marshall tests to cope with using pointer ids instead of using pointer values.
+      rpcrt4: Save the previous BufferLength in test_ndr_buffer and use it when testing the expected buffer length after the NdrFreeBuffer call.
+      rpcrt4: Reduce the timeout of waiting on the stop event in the server test to one second.
+      rpcrt4: Zero the memory of the s1 structure in test_simple_struct to avoid a Valgrind warning.
+      Update generated packing tests using current headers.
+      rpcrt4: Rename RPCRT4_SendAuth to RPCRT4_SendWithAuth.
+      rpcrt4: Add new function RPCRT4_ReceiveWithAuth to receive a fragment and return the authentication data received, if any.
+      rpcrt4: Make RpcAssoc_BindConnection use RPCRT4_ReceiveWithAuth instead of RPCRT4_Receive.
+      include: Update the MIDL_STUB_MESSAGE structure.
+      shell32: Free the correct pointer in XDG_UserDirLookup.
+      wininet: Fix memory leak in HTTP_DeleteCustomHeader.
+      rpcrt4: Initialise UniquePtrCount in NdrClientInitializeNew.
+      rpcrt4: Use abrtitrary pointer identifiers when marshalling pointers instead of using pointer values.
+      widl: Fix generation of the type format string for conformant-varying structures.
+      ole32: Include enumx.h in enumx.c to get the declarations of the functions.
+      ole32: Include ole2.h in ole32_main.c to type-check the function signature of OleMetafilePictFromIconAndLabel.
+      ole32: Remove unused BIGBLOCKFILE_GetSize.
+      ole32: Include compobj_private.h in oleobj.c to type-check the function signatures of DataAdviseHolder_OnConnect and DataAdviseHolder_OnDisconnect.
+      include: Add declarations for OleNoteObjectVisible, GetConvertStg and OleDoAutoConvert to ole2.h.
+      include: Add new bitfields to MIDL_STUB_MESSAGE added in Vista SDKs.
+      rpcrt4: Initialise UniquePtrCount in NdrServerInitializeNew.
+      rpcrt4: Add test for using a conformant varying structure with pointers.
+      widl: Replace code to round up values and calculate padding with macros to improve readability.
+      widl: Fix the embedded pointer offsets in generated code when the containing structure has padding.
+      rpcrt4: Factor out string validation from NDR unmarshalling functions into a separate function, validate_string_data.
+      rpcrt4: Fix NdrConformantVaryingStructUnmarshall to use buffer memory if applicable and to reuse memory for embedded pointers.
+      widl: Factor out the finding of a registered type to reduce code duplication.
+      widl: Set the type of the type_t node constructured for dispinterfaces to RPC_FC_IP, like we do for interfaces.
+      widl: Fix crash in find_array_or_string_in_struct if the structure or union has no fields or cases.
+      widl: Fix the types of enums with the v1_enum attribute applied.
+      widl: Fix type_memsize to follow aliases so that the correct size is calculated.
+      widl: Fix check_remoting_fields to enumerate the correct list of fields.
+      include: Add the local attribute to IShellExecuteHookA/W since they use an undefined structure.
+      include: Add more IXMLDOMNotation, IXMLDOMEntity, IXMLDOMEntityReference and IXMLDOMImplementation interfaces to xmldom.idl.
+      include: Don't import files in control.idl that aren't imported on Windows.
+      include: Add more interfaces and types to msinkaut.idl.
+      rpcss: Implement endpoint-mapper server using DCE/RPC.
+      rpcrt4: Use DCE/RPC to contact the endpoint-mapper server.
+      rpcrt4/rpcss: Remove old named pipe code for communicating with RPCSS process.
+      rpcrt4: Add tests for endpoint mapper functions.
+
+Roderick Colenbrander (4):
+      wined3d: Add a Geforce9 driver version (right now garbage is returned).
+      wined3d: Update the Nvidia driver version to 173.41 and also put it in the right format e.g. 7.15.11.7341 instead of 7.15.10.17341.
+      wined3d: Update the d3dusage query mask with 0x100000 (vertextexture).
+      wined3d: Fix a usage flags conflict.
+
+Roy Shea (3):
+      user32: Initialize hdd HDDEDATA to NULL (valgrind).
+      dsound/tests: Removed test depending on value of undefined variable.
+      dsound/tests: Added additional tests of IDirectSound_CreateSoundBuffer.
+
+Scott Ritchie (1):
+      wine.desktop: Add application/x-msi and change "emulator" to "program loader".
+
+Simon Richter (1):
+      widl: Write string lengths in host endianness.
+
+Ted Percival (1):
+      regedit: Interpret REG_DWORD as unsigned in editor.
+
+Vitaliy Margolen (2):
+      dxdiagn: PhysicalMemory parameter is a string not long long.
+      dxdiagn: Use helper functions for adding properties to container.
+
+Vitaly Lipatov (3):
+      user32: Implemented processing SPI_{GET/SET}SNAPTODEFBUTTON for SystemParametersInfo.
+      user32: Implemented processing SPI_{GET/SET}WHEELSCROLLCHARS for SystemParametersInfo.
+      user32: Add test for SPI_{GET/SET}WHEELSCROLLCHARS for SystemParametersInfo.
+
+Vladimir Pankratov (6):
+      shell32: Update Russian translation.
+      mshtml: Update Russian translation.
+      regedit: Update Russian translation.
+      oleview: Add Russian translation.
+      taskmgr: Add Russian translation.
+      hhctrl.ocx: Update Russian translation.
+
+Zac Brown (4):
+      mshtml: Initialize variables in a couple structs.
+      ntdll/tests: Add tests for (Rtl)IsTextUnicode to verify that IS_TEXT_UNICODE_CONTROLS and IS_TEXT_UNICODE_REVERSE_CONTROLS are not mutually exclusive.
+      winealsa.drv: Initialize a variable in MIX_close.
+      shell32: Add stub implementation for SHGetIconOverlayIndex[AW].
+
+Zhangrong Huang (1):
+      kernel32: Add locale script tag resources.
 
 --
 Alexandre Julliard
diff --git a/VERSION b/VERSION
index 1142d74..85bcbfd 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-Wine version 1.0
+Wine version 1.1.0
diff --git a/configure b/configure
index d91102b..76111e1 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.61 for Wine 1.0.
+# Generated by GNU Autoconf 2.61 for Wine 1.1.0.
 #
 # Report bugs to <wine-devel@winehq.org>.
 #
@@ -574,8 +574,8 @@
 # Identity of this package.
 PACKAGE_NAME='Wine'
 PACKAGE_TARNAME='wine'
-PACKAGE_VERSION='1.0'
-PACKAGE_STRING='Wine 1.0'
+PACKAGE_VERSION='1.1.0'
+PACKAGE_STRING='Wine 1.1.0'
 PACKAGE_BUGREPORT='wine-devel@winehq.org'
 
 ac_unique_file="server/atom.c"
@@ -1297,7 +1297,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.0 to adapt to many kinds of systems.
+\`configure' configures Wine 1.1.0 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1366,7 +1366,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Wine 1.0:";;
+     short | recursive ) echo "Configuration of Wine 1.1.0:";;
    esac
   cat <<\_ACEOF
 
@@ -1495,7 +1495,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Wine configure 1.0
+Wine configure 1.1.0
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1509,7 +1509,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.0, which was
+It was created by Wine $as_me 1.1.0, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -22909,7 +22909,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.0, which was
+This file was extended by Wine $as_me 1.1.0, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -22962,7 +22962,7 @@
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-Wine config.status 1.0
+Wine config.status 1.1.0
 configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
