diff --git a/.mailmap b/.mailmap
index 594760a..2a138b7 100644
--- a/.mailmap
+++ b/.mailmap
@@ -18,6 +18,7 @@
 Dimitrie O. Paun <dimi@lattica.com>
 EA Durbin <eadurbin@freebsd.org>
 Eduardo García <eduardo.garcia@gmx.com>
+Erich Hoover <erich.e.hoover@gmail.com>
 Erwin Wolff <erwinwolffnl@microformatica.com>
 Evgeny Putin <evcalipt@etersoft.ru>
 Fatih Aşıcı <fasici@linux-sevenler.org>
diff --git a/ANNOUNCE b/ANNOUNCE
index 939e444..c22eaed 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,13 +1,13 @@
-The Wine maintenance release 1.6.1 is now available.
+The Wine maintenance release 1.6.2 is now available.
 
 What's new in this release (see below for details):
-  - Translation updates.
+  - Color management support updated to liblcms version 2.
   - Various bug fixes.
 
 The source is available from the following locations:
 
-  http://prdownloads.sourceforge.net/wine/wine-1.6.1.tar.bz2
-  http://mirrors.ibiblio.org/wine/source/1.6/wine-1.6.1.tar.bz2
+  http://prdownloads.sourceforge.net/wine/wine-1.6.2.tar.bz2
+  http://mirrors.ibiblio.org/wine/source/1.6/wine-1.6.2.tar.bz2
 
 Binary packages for various distributions will be available from:
 
@@ -23,381 +23,236 @@
 
 ----------------------------------------------------------------
 
-Bugs fixed in 1.6.1 (total 58):
+Bugs fixed in 1.6.2 (total 36):
 
-   2770  Powerbullet Presenter 1.44: Powerbullet.dll registration fails (Armadillo v4.x software protection fails at checkpoint L5, error 0x17)
-   4473  WSAStartup not needed before socket() call
-  18744  Mp3Tag: Column headers in list view incorrectly redrawn
-  23839  Neverwinter Nights 2 can't detect video adapter properly, claiming: "Your video card has less than 128 MB of video memory"
-  25754  Excel Workbook with Macros Is not Running : Getting Crashed.
-  25994  Process Hacker 2.x needs ntdll.dll.NtCreateKeyedEvent
-  27052  winedbg and its man page should use "wpid" consistently for Windows' process ID
-  28423  ImmGetDescriptionW() from imm32 crashes with certain parameters
-  28664  qedit/mediadet test crashes on FreeBSD9
-  29448  GameShield/SoftwareShield protected apps/games won't start (SetCurrentDirectoryA calling W API causes detours recursion)
-  30485  MeGUI 2112 crashes after first update / restart (application XML settings can't be fully deserialized due to oleaut32 VarDecRound being a semi-stub)
-  30797  wine(1) man page should mention running built-in programs like explorer.exe
-  31487  kernel32.dll.InitOnceExecuteOnce needed for several MS installer (Office2013 / Windows Essentials 2012 / .NET Framework 4.5 / Skydrive / ARM Applications)
-  31773  Torchlight 2 shadows are rendered incorrectly on some areas
-  32922  iTunes 7 needs msvcr80.dll._wmktemp_s
-  33378  measuring/painting strings needs better tests
-  33523  .NET Framework 3.5 WPF 3.x apps need windowscodecsext.dll.DllGetClassObject
-  33657  Garena didn't start with ADMINISTRATOR privileges
-  33693  Spin Tires tech demo needs msvcr90.dll.wctomb_s
-  33794  Arabic Entry Box Has Big Errors .
-  33872  Pando (installer of LOL) can't load FAQ
-  33890  Anno 1602 (demo): crash during startup
-  34005  WS2_32.dll.WSASendMsg is unimplemented
-  34013  Altium Designer 10 and its installer crash in InternetQueryOptionW
-  34077  Sins of a Solar Empire Font Size Regression
-  34102  It is not drawn when specify 0 for the width and height in GdipDrawString.
-  34110  MS Excel 2010 escape/unescape problem in sheet names
-  34142  Nullsoft installer appearance is broken
-  34162  CGDirectPaletteRef has been deprecated so winemac.drv can't be compiled in Mavericks.
-  34177  -pipe makes mingw-g++ work unreliably
-  34188  crash when creating a new wineprefix with winemac.drv
-  34190  number.c could not compile due to "dtoa" naming conflict in Cygwin
-  34191  cabarc.c could not compile
-  34209  fullscreen apps won't switch back to resolution after command-tabbing on OS X
-  34211  strncpy C library function doesn't compliant C standard.
-  34245  WMI query "select * from win32_Directory" via WMI crashes
-  34275  Louisiana Adventure Demo fails with 'OLE error 80004001' (HTMLStyleSheet_GetIDsOfNames is a stub)
-  34305  League of Legends 3.10.13_07_26_19_59: page fault in read_map()
-  34329  Wine 1.6 fails to build with bison 3.0
-  34353  The Ur-Quan Masters fails to start
-  34381  Rectangle rotation problem using GM_ADVANCED graphicmode
-  34399  .NET 3.x/4.x WPF based installers/apps require windowscodecs.dll ComponentFactory_CreateBitmapFromHBITMAP implementation
-  34401  QuiteRSS WinRT/ARM port needs msvcr110.dll.fabsf
-  34417  Everquest character models invisible
-  34418  regression: Finale NotePad 2012 installer splash screen appears as black box
-  34442  Multiple applications ported to WinRT/ARM require msvcr110.dll.?before@type_info@@QBA_NABV1@@Z (Halite torrent client)
-  34463  thai2english loads ok but crashes on startup
-  34464  Jagged Alliance 2 fails to start (becomes unresponsive after startup)
-  34486  __unDName cannot demangle a string and shows error
-  34496  winhttp POST fails
-  34514  an odd regression on an old video card
-  34521  make: *** [dlls/msxml3] Error 2
-  34550  RTX server crashes at start
-  34564  RTX Server fail to import user template database with builtin msvcp60
-  34567  qq 2012 installer crashes at 100%
-  34570  Game crash because of improperly cloning MMIOINFO struct in MMIO_Open
-  34571  EasiSlides v4 crashes when clicking a folder listbox item (GdipFillPath failure)
-  34583  LINE (Powered by Naver) 3.2.0.76: Cannot work after Installation
+   8320  DirectInput joystick timestamps are wrong
+  15738  Max Payne 2: Ingame windows rendered incorrect with nvts pipe
+  18465  url.dll FileProtocolHandler does not open URLs in browser.
+  21884  Resident Evil 2: no sound and annoying dialog window
+  23529  Add support for lcms2
+  24611  Install Shield fails on 64bit multilib wine if WINEPREFIX was created by 64bit wine
+  30745  GOG.com version of Soulbringer crashes on startup (GetModuleHandleExW needs to support GET_MODULE_HANDLE_EX_FLAG_PIN)
+  32658  Certain games on Steam crash on start in xinput1_3 (in-game overlay enabled)
+  33799  Wargame: Airland Battle needs msvcr110.dll._libm_sse2_atan_precise
+  33963  WINE Wordpad crashes when selecting text from line end to line start
+  34034  Locale settings broke shader program generator.
+  34051  Low FPS with winemac driver in Unreal Tournament GOTY
+  34055  Textures missing in Age of Empires II: Steam
+  34387  TreeSize Free: help window won't open
+  34472  window titlebar names
+  34707  Miranda crashes on start up
+  34719  cabinet_open{,_stream} returns 0 on failure but doesn't compliant to _open interface
+  34738  PageFault when generating a MD5 Hash
+  34793  Battle City Remake crashes
+  34804  Installation of Windows Installer Cleanup utility fails due to wshom:WshShell3_ExpandEnvironmentStrings being a stub
+  34811  Crash when copy by ctrl+c or in-app copy, cmd+c works fine (using MacDriver) on OS X Mavericks
+  34813  winedbg crash reports are missing important information on Mac OS X 10.8+
+  34853  Multiple .NET 3.x/4.x apps need Win32_NetworkAdapterConfiguration WMI class
+  34912  GEOVIA Surpac 6.x (geology and mine planning software) needs scrrun IFileSystem3::BuildPath
+  34949  Chessmaster 10th Edition: no graphics in the menu, you can't run the game (Mac OS X only bug)
+  34983  Fellowship One Check-In Application v2.5 needs IBackgroundCopyJob::SetDescription method
+  34988  Fellowship One Check-In Application v2.5 needs IBackgroundCopyManager::GetJob method
+  35010  [Freetype]Impossible to compile Wine
+  35021  League of Legends installer page faults in custom action during stackwalk (SymFromAddr with NULL displacement ptr)
+  35024  FEAR Combat (SEC2) v1.1 community full installer doesn't display cd key/serial field (no PIDTemplate property provided)
+  35030  Steam Client update from Dec. 3, 2013 breaks Wine (Steam Client/Service crash after update, login fails)
+  35035  HF pAppLoc (AppLocale) installer crashes due to unimplemented function apphelp.dll.ShimFlushCache
+  35144  NVIDIA CUDA Toolkit v5.5 installer fails (SetupDiGetINFClassW whitelists only 'Chicago', ignoring WINEPREFIX WinVer setting)
+  35149  RSA SecurID token v411 installer hangs during processing of EULA (large RTF passed twice: window text and richedit streamin callback)
+  35166  NVIDIA CUDA Toolkit v5.5 installer fails (NtQueryKey with KeyNameInformation info class unsupported on server side)
+  35178  FL Studio 11.x 'DirectWave' plugin doesn't work (unsupported FSCTL_IS_VOLUME_MOUNTED ioctl)
 
 ----------------------------------------------------------------
 
-Changes since 1.6:
+Changes since 1.6.1:
 
-Adam Bolte (1):
-      wined3d: Add support for nVidia GTX 660M.
+Alexander Dorofeyev (1):
+      wined3d: Fix resultarg state handling in nvrc/nvts code.
 
-Alexandre Julliard (35):
-      widl: Fix typo in man page.
-      jscript: Use bison directives instead of defines to specify extra lexer parameters.
-      msi: Use bison directives instead of defines to specify extra lexer parameters.
-      vbscript: Use bison directives instead of defines to specify extra lexer parameters.
-      wbemprox: Use bison directives instead of defines to specify extra lexer parameters.
-      widl: Remove non-bison compatibility code.
-      wrc: Remove non-bison compatibility code.
-      gdi32: Use Microsoft and Unicode encodings in priority for font names.
-      kernel32: Don't call from A to W function in Get/SetCurrentDirectory.
-      ntdll: Add the keyed events entry points.
-      server: Add support for keyed event objects.
-      server: Create the critical section keyed event object on startup.
-      server: Don't include SYNCHRONIZE in the keyed event access rights.
-      server: Map new handle access even when not checking it.
-      server: Add a structure to pass the parameters of a select request.
-      ntdll: Pass a select operation structure to NTDLL_wait_for_multiple_objects.
-      server: Make select on all handles a separate operation.
-      server: Make signal and wait a separate select operation.
-      ntdll: Rename NTDLL_wait_for_multiple_objects to server_select since it's more generic now.
-      ntdll: Move the select and APC support to server.c.
-      server: Store the wait structure in the wait entry and add an accessor function for the thread.
-      server: Pass a wait queue entry to the signaled/satisfied object functions.
-      server: Store abandoned state as a flag in the wait structure.
-      server: Implement waiting on keyed events.
-      ntdll: Implement the RunOnce functions.
-      kernel32: Implement the InitOnce functions.
-      ntdll: Actually return the mount point in get_device_mount_point on Mac OS.
-      ntdll: Add a configure check for the tcdrain function.
-      gdi32: Add more helpers for converting font sizes to logical coordinates.
-      gdi32: Add a check for overflow in DIB dimensions.
-      server: Trigger a repaint on layered windows the first time the attributes are set.
-      msxml3: Don't use libxslt without libxml.
-      wmc: Add support for long command-line options.
-      wmc: Load translations from mo files instead of po.
-      gdi32: Remove freetype compatibility cruft that doesn't compile.
+Alexandre Julliard (6):
+      user32: Fix tick counter wrap-around handling.
+      user32: Fix the scope of a local variable.
+      include: Add inline wrappers for some underscore-prefixed math functions.
+      winemac: Only register the IME class when needed.
+      wmc: Don't put timestamps in generated files.
+      configure: Update FreeType configure checks for the changed headers location.
 
-Alistair Leslie-Hughes (1):
-      windowscodecsext: Add stub DllGetClassObject.
+Andrew Eikum (9):
+      advapi32: Attempt to open WOW64 key before the lowest level key, too.
+      advapi32: Don't cache HKCR if WOW64 redirection flags are set.
+      oleaut32: Also register typelibs in the opposite registry mode.
+      oleaut32: For 64-bit, fallback on the win32 key if win64 key is empty for typelibs.
+      msacm32: Don't clear DONE flag in Un,PrepareHeader.
+      mmdevapi: Fill buffer with silence in IAudioRenderClient::GetBuffer.
+      winmm: Also try MSACM conversions with WAVE_FORMAT_QUERY.
+      winecoreaudio.drv: Don't return 0 absolute position if AudioQueue call fails.
+      dsound: Don't change play position if IAudioClient methods fail.
 
-Andrew Cook (1):
-      ntdll: Implement NtQueryEvent.
+Andrey Zhezherun (4):
+      msvcp: Fixed char_traits<char>::to_int_type.
+      msvcp: Added missing casts to unsigned char in streambuf functions.
+      msvcp: Fixed complex division.
+      msvcrt: Implemented _chsize_s.
 
-Andrew Eikum (6):
-      winmm: Don't count unused frames.
-      dsound: Allow multiple buffers to capture from the same device.
-      winmm: Increase mmdevapi buffer sizes.
-      oleaut32: Typelib strings of size -1 are NULL.
-      oleaut32: Don't crash on NULL string arguments.
-      oleaut32: Implement VarDecRound.
+André Hentschel (3):
+      ntdll: Improved reporting of CPU Level and Revision on ARM.
+      wineboot: Add environment registry keys on ARM.
+      wineboot: Add hardware registry keys on ARM.
 
-André Hentschel (1):
-      msvcrt: Export fabsf on ARM and x86_64.
+Austin English (3):
+      apphelp: Add a stub for ShimFlushCache.
+      ntdll: Return success for FSCTL_IS_VOLUME_MOUNTED ioctl.
+      dinput: Consistently use GetCurrentTime().
 
-Aric Stewart (5):
-      wineqtdecoder: Calculate AvgTimePerFrame for video tracks.
-      gdi32: GetCharWidth32A/W return positive widths for all layouts and various DC transforms.
-      gdi32: ABC value signs remain the same despite any changes in layout direction or viewport.
-      imm32: Fix ImmGetDescription behavior with a null HKL.
-      imm32: ImmGetCandidateWindow should not return unset data.
+Daniel Lehman (5):
+      kernel32: Don't use depth in RtlInterlockedFlushSList.
+      kernel32: Use ANSI code page if current thread locale has no code page.
+      msvcp90: Return last index in string::find_last_not_of_cstr_substr if input is empty.
+      oleaut32: Return FALSE from SystemTimeToVariantTime if day > 31 or year is negative.
+      msvcrt: Return wall-clock time from clock().
 
-Austin English (1):
-      dxdiagn: Add a few more stub properties.
+Detlef Riekenberg (1):
+      tools: make_authors is no longer used.
 
-Bruno Jesus (2):
-      ws2_32: Do not allow socket creation if WSAStartup was not called.
-      ws2_32: Implement WSASendMsg().
+Dmitry Timoshkov (2):
+      crypt32: Add another root store path to the certificate location list.
+      include: Redefine security privilege names without using TEXT macro.
 
-Charles Davis (3):
-      winemac.drv: Also return the number of pixel formats if the caller didn't supply a PIXELFORMATDESCRIPTOR.
-      configure: Use a real header guard for config.h.
-      winemac.drv: Support the public UTF-16 type for Unicode text.
-
-Daniel Jelinski (1):
-      comctl32: Do not rearrange treeview when collapsing already collapsed item.
-
-Dmitry Timoshkov (7):
-      ntdll: NtAllocateVirtualMemory should fail to commit if an address range is already committed for a memory mapped file.
-      windowscodecs: Workaround libtiff bug when it defines toff_t as 32-bit for 32-bit builds.
-      cabarc: Fix compilation under Windows.
-      ntdll: Last parameter of NtSetIoCompletion is 64-bit on 64-bit platforms.
-      server: Store full-sized completion information on the server side.
-      windowscodecs: Implement CreateBitmapFromHBITMAP.
-      gdiplus: GdipTransformRegion should not fail for an empty path.
-
-Fabrice Bauzac (1):
-      winmm: Fix WOD_Open() WID_Open() WAVE_MAPPER no-device case.
+Erich Hoover (1):
+      hhctrl.ocx: Do not destroy the HTML Help window when HH_HELP_CONTEXT finds no context id of 0.
 
 François Gouget (1):
-      loader: Fix the clean target to delete the generated wine_info.plist file.
+      po: Remove an extraneous full stop in an error message.
 
-Frédéric Delanoy (14):
-      server: Fix manpage formatting.
-      loader: Fix wine manpage formatting.
-      loader: Fix invalid groff in Polish wine manpage.
-      loader: Update French translation of wine manpage.
-      server: Make wineserver manpage conform to common manpages conventions.
-      server: Update French translation of manpage.
-      winemaker: Make the manpage more concise.
-      winemaker: Make manpage conform to common manpages conventions.
-      winemaker: Update French translation of manpage.
-      winedbg: Fix manpage formatting.
-      winedbg: Use consistently wpid in documentation.
-      winedbg: Fix winedbg --help message formatting.
-      loader: Mention builtin executables in wine manpage.
-      loader: Update French translation of wine manpage.
+Hans Leidekker (12):
+      dnsapi: Perform a wide character string comparison if the character set is unknown.
+      wbemprox: Implement Win32_BaseBoard.Model and Win32_BaseBoard.Name.
+      wbemprox: Implement Win32_BIOS.IdentificationCode and Win32_BIOS.SMBIOSBIOSVersion.
+      wbemprox: Add a partial implementation of Win32_NetworkAdapterConfiguration.
+      advapi32: Return a fake handle from LogonUserW.
+      advapi32: Forward LogonUserA to LogonUserW.
+      mlang: Improve IMLangLineBreakConsole::BreakLineA for the ASCII codepage.
+      advapi32: Perform a case-insensitive match on the credential target name.
+      msi: Fix handling of empty mask edit templates.
+      advapi32: Avoid a crash when storing credentials on MacOS.
+      msi: Don't add text to the scrollable text control twice.
+      mscms: Port to liblcms2.
 
-Gediminas Jakutis (1):
-      wined3d: Recognize Nvidia GeForce GTX 770.
+Henri Verbeet (4):
+      wined3d: Introduce a function for safely releasing a DC.
+      wined3d: Mark the context valid if making it current on the "backup" window worked.
+      d3d8: Clear pBits and Pitch when d3d8_surface_LockRect() fails.
+      wined3d: Reimplement wined3d_ftoa().
 
-Hans Leidekker (14):
-      server: The token user SID must be present in the default DACL.
-      msi: Fix integer conversion in get_table_value_from_record.
-      wininet: Ignore INTERNET_FLAG_NO_CACHE_WRITE only for GET requests.
-      wininet: Handle NULL input string in str_to_buffer.
-      msi: Add support for the hyperlink control.
-      winhttp: Allow setting NULL username and password for NTLM, Passport and Negotiate.
-      winhttp: Fix invalid parameter handling in WinHttpQueryAuthSchemes.
-      wbemprox: Accept the root\default namespace.
-      wininet: Replacing a header with an empty value deletes it.
-      wininet: Fix calculation of content length from chunk size.
-      winhttp: Fix the base64 decoder.
-      wbemprox: Avoid a crash on file or directory queries with an empty WHERE clause.
-      wininet: Don't assume that end of chunk means end of stream.
-      winhttp: Don't assume that end of chunk means end of stream.
+Huw D. M. Davies (6):
+      riched20: Revert to the default paragraph style when all text is deleted.
+      ntdll: Don't reduce the size of the local buffer when we come to read another batch of entries.
+      kernel32: Give the non-wildcard case a chance of succeeding first time around.
+      wordpad: Pass the correct window to the font size list validator.
+      mshtml: Remove a double-Release.
+      riched20: Ensure the cursors are correctly ordered in the case of a zero (logical) length selection bridging two runs.
 
-Henri Verbeet (11):
-      wined3d: Use the "adapter" local variable in swapchain_init().
-      wined3d: Store the original display mode in the swapchain.
-      wined3d: Get rid of the render target / overlay check in wined3d_surface_flip().
-      wined3d: Return 1 instead of 0 for max_vertex_blend_matrices in glsl_vertex_pipe_vp_get_caps().
-      wined3d: Add fallback depth format info for when ARB_depth_texture is not available.
-      wined3d: Don't bother downloading buffer contents on destruction.
-      wined3d: Only set fragment pipe uniforms if they're needed by the shader.
-      wined3d: Just update a range of constants in walk_constant_heap().
-      wined3d: Avoid some redundant state_pscale() calls.
-      wined3d: Don't clamp texture lookups in the GLSL fixed function fragment pipe.
-      wined3d: Use clamp() instead of max() for calculating the clamped cosine in the ffp lighting calculations.
+Jacek Caban (3):
+      jscript: Added support for octal literals.
+      jscript: Improved error handling in numeric literal parser.
+      widl: Include resource id in typelib path if not default.
 
-Huw D. M. Davies (9):
-      gdi32: Ignore max_extent if nfit is NULL.
-      ieframe: DdeNameService returns NULL on error.
-      ntdll: Call the correct server request.
-      Revert "gdi32: Do not use VDMX for mapping of negative font heights, based on a test case.".
-      gdi32: Reset ppem to zero if we fail to find a matching height.
-      gdi32: Skip vdmx records with charset == 0.
-      fonts: Fix glyph names and advance widths.
-      fonts: Add a few more glyphs in wingding.
-      fonts: Add some box-type glyphs to wingdings.
+Ken Thomases (24):
+      winemac: Don't coalesce events which might be in multiple queues.
+      winemac: Clean up fully-delivered events in queues which aren't being drained.
+      winemac: Treat mouse moves in a window title bar as outside the window.
+      winemac: Restore app cursor settings when cursor moves back into an app window.
+      winemac: Fix some bytes-vs-WCHARs length computation bugs in the UTF-16 clipboard support.
+      winemac: Rename some confusingly-named variables.
+      winemac: Fix a leak in macdrv_CountClipboardFormats(). (Clang).
+      winecoreaudio: Fix a potential leak. (Clang).
+      libwine: Fix a potential write through a null pointer. (Clang).
+      winemac: Disable software GL rendering unless it's enabled via a new registry setting, AllowSoftwareRendering.
+      winemac: Send WM_CANCELMODE when keyboard layout changes from Cocoa side.
+      winemac: Don't use the main dispatch queue to implement OnMainThread() for a thread with no event queue.
+      winemac: Hide cursor when first requested even if we don't know it's over a window.
+      winemac: Tell Cocoa that we don't draw a focus ring for our views.
+      winemac: Send WM_{ENTER, EXIT}SIZEMOVE around window frame changes initiated by Cocoa.
+      winemac: Convert the QUERY_RESIZE_END query to an event, WINDOW_RESIZE_ENDED.
+      winemac: Trace flags of WINDOW_FRAME_CHANGED events.
+      winemac: Fix search for clipboard format matching a pasteboard type so it can fail when it should.
+      winemac: Reduce duplicated code by consolidating exit paths from format_for_type().
+      winemac: Defer attaching OpenGL context to a view which is zero-sized or outside its window's bounds.
+      winemac: Take WS_EX_TOOLWINDOW into account when computing how much of a window is replaced by the Mac decorations.
+      winemac: Include the OpenGL headers to fix building on OS X 10.9.
+      ntdll: On Mac, store the dyld image info address in the PEB.
+      dbghelp: For Mach-O, get the address of the process's image info from its PEB.
 
-Hwang YunSong (황윤성) (1):
-      po: Update Korean translation.
+Kevin Eaves (1):
+      winemac: Restore the window title when the window style is changed.
 
-Jacek Caban (4):
-      wininet: Ignore missing status text in response headers.
-      mshtml: Better res protocol URL parsing.
-      mshtml: Added IDispatchEx support to HTMLStyleSheet object.
-      appwiz.cpl: Allow cancelling download of addons.
+Kohei Takahashi (1):
+      msi: Return -1 on open failure in FDI callbacks.
 
-Joško Nikolić (2):
-      po: Update Croatian translation.
-      po: Update Croatian translation.
+Lasse Rasinen (1):
+      d3d9: Update locked_rect only if wined3d_surface_map succeeds.
 
-Ken Sharp (2):
-      po: Update English neutral resource.
-      kernel32: Correct log on / logon (noun / verb).
+Lauri Kenttä (1):
+      readme: Update Finnish translation.
 
-Ken Thomases (47):
-      winemac: Make a file-scope variable static.
-      gdi32: Link against AppKit on the Mac to avoid later crash in the Mac driver.
-      winemac: Avoid using display palette API, which was deprecated with the 10.7 SDK.
-      winemac: Make cgrect_from_rect() preserve origin of empty rectangles.
-      winemac: Create 1x1 Cocoa window with empty shape for zero-sized Win32 window.
-      winemac: Remove a redundant memset of a struct.
-      winemac: Improve tracing in sync_window_position() to include adjusted frame.
-      winemac: Always trace arguments in macdrv_ShowWindow().
-      winemac: Don't unminimize a window for SetFocus().
-      winemac: Don't generate scroll wheel events for axes with 0 delta.
-      winemac: Don't reorder clicked window relative to sibling owned windows if it's in the right place.
-      winemac: On click, don't reorder Cocoa child window after siblings of higher level.
-      winemac: Skip minimized windows when looking for z-ordering neighbor.
-      winemac: Remove some duplicated code from -makeKeyAndOrderFront:.
-      winemac: Make -setMacDrvParentWindow: do nothing if new parent is same as latent parent.
-      winemac: Consolidate the code for managing the Cocoa parent/child window relationship.
-      winemac: Clear latent parent on window close to break potential retain cycle.
-      winemac: When a window becomes ineligible to be a parent, make the relationship latent in its children, too.
-      winemac: Track latent child windows (the inverse of the latent parent window relationship).
-      winemac: A window is ineligible to be a Cocoa parent or child while minimized.
-      winemac: Don't use Cocoa parent-child relationship when topmost state is enough to keep owned in front of owner.
-      winemac: When ordering sibling child windows, don't remove and re-add ones already in the right order.
-      winemac: Add support for mouse-move and right- and middle-click events on systray icons in the Mac status bar.
-      winemac: Don't allow dead-key state to repeat after characters are generated.
-      user32: Fix mouseRect computation for starting position when sizing window.
-      winemac: Restrict DescribePixelFormat() to displayable pixel formats.
-      winemac: Return failure from DescribePixelFormat() for invalid pixel format.
-      winemac: Trace the pixel format in DescribePixelFormat().
-      winemac: At the start of a resize operation, get window min/max size info and pass it to Cocoa.
-      winemac: Move memory management of liveResizeDisplayTimer into property setter.
-      winemac: Send WM_ENTER/EXITSIZEMOVE messages at start/end of a resizing operation.
-      winemac: Use NSMouseInRect() instead of NSPointInRect() to compensate for Cocoa's off-by-one coordinate system.
-      winemac: When programmatically focusing a window, don't generate WINDOW_LOST_FOCUS event for previously focused window.
-      winemac: Let Wine always drive window minimization; Cocoa just requests it.
-      winemac: Remove a too-early attempt to set the process's Dock icon.
-      winemac: Reapply display modes when switching back to app after "escaping" with Command-Tab.
-      winemac: Allow zero-sized windows to be selected from the Mac Window menu.
-      winemac: Make clicking on the app's dock icon unminimize a window if there are only minimized windows.
-      winemac: Use unsigned type for bitfields.
-      winemac: Only update window minimized state when it has changed from what processed events told us it was.
-      winemac: Don't accidentally clear Cocoa window style mask bits.
-      winemac: Update the window min/max size info and enforce it when zooming.
-      winemac: If the app doesn't specify a custom max. tracking size, don't restrict Cocoa.
-      winemac: Tell Wine when Cocoa has brought a window to the front.
-      winemac: Make sure the same housekeeping is done when closing a window as is done when hiding it.
-      winemac: Add registry settings to make Option keys send Alt rather than accessing additional characters from the keyboard layout.
-      winemac: Implement support for Cocoa-style full-screen mode.
+Nikolay Sivov (12):
+      ntdll: Support pinning module refcount with LdrAddRefDll().
+      kernel32: Added support for GET_MODULE_HANDLE_EX_FLAG_PIN.
+      wshom.ocx: Silence failure to query IDispatchEx from IWshShell3.
+      wshom.ocx: Implement IWshShell3::ExpandEnvironmentStrings().
+      rsaenh: Fail on unsupported flag values only in CryptHashData().
+      oleaut32: Always set LIBFLAG_FHASDISKIMAGE when loading from file.
+      scrrun: Implement BuildPath method.
+      ntdll: Allow NULL return length argument in NtAdjustPrivilegesToken().
+      qmgr: Implement IBackgroundCopyJob::SetDescription().
+      qmgr: Implement IBackgroundCopyJob::GetDescription().
+      qmgr: Implement IBackgroundCopyManager::GetJob().
+      server: Return key name info for KeyNameInformation class.
 
-Lu Jiashu (1):
-      winmm: Clone the whole adwInfo array in MMIO_Open.
+Piotr Caban (9):
+      comctl32: Ignore tooltip position passed in TTM_TRACKPOSITION if TTF_TRACK flag is not set.
+      comctl32: Set updown control value to min or max in out of range case.
+      comctl32: Fix UDM_SETPOS behavior on out of range values.
+      comctl32: Fix UDM_GETPOS behaviour on out of range values.
+      comctl32: Fix a typo in UPDOWN_OffsetVal that breaks UDS_WRAP flag support.
+      msvcrt: Don't call invalid parameter handler on invalid mode flag.
+      msvcr110: Forward _libm_sse2_*_precise functions to __libm_sse2_*.
+      msvcrt: Don't validate parameters in _itoa function.
+      url: Add support for http protocol handling in FileProtocolHandlerA.
 
-Marcus Meissner (1):
-      wined3d: Fixed sizeof() to HeapAlloc (Coverity).
+Qian Hong (2):
+      wscript: Get extension name by strrchrW instead of strchrW.
+      msi: Get extension name by strrchrW instead of strchrW.
 
-Matteo Bruni (2):
-      wined3d: Implement special fog behavior for orthogonal projection matrices.
-      wined3d: Add a missing destroy_dummy_textures() call.
+Rico Schüller (7):
+      opengl32: Use variables for file names.
+      opengl32: Fix some style issues.
+      opengl32: Allow multiple extensions to support the same function.
+      opengl32: Use opengl xml registry files.
+      wined3d: Use GL_ARB_texture_mirror_clamp_to_edge when available.
+      wined3d: Use GL_EXT_texture_mirror_clamp when available.
+      shell32: Use lParam for BFFM_SETOKTEXT.
 
-Michael Müller (2):
-      d3d9: Add headers for IDirect3DSwapChain9Ex interface.
-      d3d9: Partial implementation of IDirect3DSwapChain9Ex.
+Sebastian Lackner (1):
+      shlwapi: Fix UrlCombineW for URLs containing a quotation mark.
 
-Michael Stefaniuc (1):
-      windowscodecs: Silence a warning due to an API change in libpng 1.5.
+Stefan Dösinger (2):
+      wined3d: Check for support before calling glDrawElementsInstancedBaseVertex.
+      wined3d: GL_ARB_instanced_arrays provides glDrawElementsInstanced.
 
-Nikolay Sivov (6):
-      msxml3: Unescape '&#38;' back to '&' in attribute value.
-      comctl32: Properly handle repainting for HDF_OWNERDRAW items.
-      msxml3: Fix a warning in DTD dumping code on recent libxml2 versions.
-      msxml3: Fix a warning accessing internal buffer of xmlOutputBuffer.
-      server: Fix string length used with strncmpW().
-      po: Tweak Russian strings for winecfg.
+Stefan Leichter (2):
+      dbghelp: Add a null check for optional output parameter for function SymFromAddr.
+      setupapi: Support signature $Windows NT$ in SetupDiGetINFClassA/W too.
 
-Piotr Caban (22):
-      msvcrt: Fix _mktemp implementation.
-      msvcrt: Add _mktemp_s implementation.
-      msvcrt: Add _wmktemp_s implementation.
-      msvcrt: Add _wctomb_s_l implementation.
-      msvcrt: Add _wcstol_l implementation.
-      msvcrt: Added _swprintf_s_l implementation.
-      jscript: Fix compilation issues when dtoa is defined in headers.
-      msvcrt: Fix parameter validation in _stat64 function.
-      msvcp60: Fix locale::dtor implementation.
-      msvcp90: Fix string leak in locale__Locimp__Makeloc function.
-      msvcp60: Fix basic_filebuf::_Init implementation.
-      msvcrt: Add _wsetlocale implementation.
-      msvcrt: Improve setting standard handles flags.
-      msvcrt: Fix lookahead buffer usage on pipes.
-      msvcr110: Add forwards to type_info::before function.
-      msvcrt: Don't forward _wcsnicmp to ntdll.
-      msvcrt: Add support for vtordisp functions demangling.
-      msvcrt: Add _snwprintf_s_l implementation.
-      msvcp60: Don't call _Eos on allocation error or 0-length string in basic_string::reserve.
-      msvcp60: Fix char_traits<wchar_t>::assign implementation.
-      msvcrt: Improve error handling in wcsrtombs function.
-      msvcr90: Don't forward exception constructors to msvcrt.
+Vijay Kiran Kamuju (1):
+      wininet: Implement setting INTERNET_PER_CONN_PROXY_BYPASS.
 
-Qian Hong (5):
-      imm32: Fixed ImmUnlockIMC.
-      imm32: Fixed ImmUnlockIMCC.
-      ntdll: Fixed parameter list in spec file for RtlpNtQueryValueKey.
-      imm32: Fixed IMCC implementation.
-      imm32: Validate input context in multiple IMC functions.
+Vincent Povirk (2):
+      xinput1_3: Make XInputGetState patchable.
+      explorer: Use StrRetToStrW to convert STRRET result.
 
-Rafał Mużyło (1):
-      configure: Don't use X_PRE_LIBS.
-
-Ralf Habacker (1):
-      gdi32: Fixed Rectangle() rotation with GM_ADVANCED graphics mode in dib driver.
-
-Sebastian Lackner (3):
-      winex11: Added missing release_win_data() to create_foreign_window().
-      winex11: Call destroy_gl_drawable before destroying the window.
-      winex11: Call sync_context for DC_GL_CHILD_WIN drawables before swapping buffers.
-
-Stefan Dösinger (4):
-      wined3d: Don't invert blits from offscreen surfaces.
-      ddraw: Gracefully handle recursive SetCooperativeLevel calls.
-      wined3d: Don't clamp texture lookups in the ARB fixed function fragment pipe.
-      wined3d: Use the ftoa helper function in the ARB shader backend.
-
-Thomas Faber (2):
-      comctl32: Fix build with MSVC.
-      mmdevapi: Fix build with MSVC.
-
-Vincent Povirk (4):
-      atl: Do not access m_pTermFuncs if the structure is too small.
-      riched20: Use \ulnone instead of \ul0 for no underline.
-      msvcrt: _[w]access_s returns an error code.
-      gdiplus: Only clip strings if rectangle width and height are positive.
-
-Volkan Gezer (1):
-      po: Updated Turkish translations.
-
-Wolfgang Walter (1):
-      ntdll: Call tcdrain for serial handles from NtFlushBuffersFile.
-
-Álvaro Nieto (1):
-      msvrct: Fix strncpy to fill the buffer.
+Vitaly Lipatov (1):
+      ipconfig: Distinguish between IPv4 and IPv6 addresses in normal mode.
 
 --
 Alexandre Julliard
diff --git a/AUTHORS b/AUTHORS
index 80a8e03..6f720f1 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -112,6 +112,7 @@
 Andrey Esin
 Andrey Panov
 Andrey Turkin
+Andrey Zhezherun
 Andriy Palamarchuk
 Andrzej Popowski
 Andy Clayton
@@ -737,6 +738,7 @@
 Ken Sharp
 Ken Thomases
 Kester Maddock
+Kevin Eaves
 Kevin Groeneveld
 Kevin Holbrook
 Kevin Koltzau
@@ -752,6 +754,7 @@
 Klaus Layer
 Klemens Friedl
 Knut St. Osmundsen
+Kohei Takahashi
 Kolbjørn Fredheim
 Konrad Rieck
 Konrad Rzepecki
@@ -775,6 +778,7 @@
 Lance Jackson
 Lars-Ake Fredlund
 Lars Heete
+Lasse Rasinen
 Laura Leinonen
 Laurent Blume
 Laurent Pinchart
diff --git a/VERSION b/VERSION
index b38c373..6c000fa 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-Wine version 1.6.1
+Wine version 1.6.2
diff --git a/configure b/configure
index 05fdece..7d83885 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for Wine 1.6.1.
+# Generated by GNU Autoconf 2.69 for Wine 1.6.2.
 #
 # Report bugs to <wine-devel@winehq.org>.
 #
@@ -580,8 +580,8 @@
 # Identity of this package.
 PACKAGE_NAME='Wine'
 PACKAGE_TARNAME='wine'
-PACKAGE_VERSION='1.6.1'
-PACKAGE_STRING='Wine 1.6.1'
+PACKAGE_VERSION='1.6.2'
+PACKAGE_STRING='Wine 1.6.2'
 PACKAGE_BUGREPORT='wine-devel@winehq.org'
 PACKAGE_URL='http://www.winehq.org'
 
@@ -1429,7 +1429,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.6.1 to adapt to many kinds of systems.
+\`configure' configures Wine 1.6.2 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1498,7 +1498,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Wine 1.6.1:";;
+     short | recursive ) echo "Configuration of Wine 1.6.2:";;
    esac
   cat <<\_ACEOF
 
@@ -1678,7 +1678,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Wine configure 1.6.1
+Wine configure 1.6.2
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2196,7 +2196,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.6.1, which was
+It was created by Wine $as_me 1.6.2, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -17028,7 +17028,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.6.1, which was
+This file was extended by Wine $as_me 1.6.2, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -17099,7 +17099,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-Wine config.status 1.6.1
+Wine config.status 1.6.2
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
