diff --git a/ANNOUNCE b/ANNOUNCE
index 9f1168c..ac3d1a5 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,13 +1,14 @@
-The Wine maintenance release 1.8.2 is now available.
+The Wine maintenance release 1.8.3 is now available.
 
 What's new in this release (see below for details):
   - Various bug fixes.
-  - Small translation updates.
+  - A lot of NVidia cards added to the GPU description table.
+  - Updates to the National Language Support files.
 
 The source is available from the following locations:
 
-  http://dl.winehq.org/wine/source/1.8/wine-1.8.2.tar.bz2
-  http://mirrors.ibiblio.org/wine/source/1.8/wine-1.8.2.tar.bz2
+  http://dl.winehq.org/wine/source/1.8/wine-1.8.3.tar.bz2
+  http://mirrors.ibiblio.org/wine/source/1.8/wine-1.8.3.tar.bz2
 
 Binary packages for various distributions will be available from:
 
@@ -23,200 +24,206 @@
 
 ----------------------------------------------------------------
 
-Bugs fixed in 1.8.2 (total 32):
+Bugs fixed in 1.8.3 (total 54):
 
-  12652  Tom Clancy's Rainbow Six: Vegas 2 fails to launch (number of quality levels for D3DMULTISAMPLE_NONMASKABLE multiple-sample type must not exceed 8)
-  13683  Ultima IX: Mouse pointer missing when reading books, under inventory
-  14617  Multiple Visual Basic 5/6 applications using ActiveX components depend on Standard OLE Types Typelib which is missing from 'olepro32.dll'
-  15473  Adobe After Effects 4 crashes on startup
-  25086  Multiple games and applications need kernel32.GetLogicalProcessorInformationEx implementation (CPU-Z 1.72, Splinter Cell: Blacklist, Adobe CC 2015, Kontakt 5)
-  30687  Powerpoint 2003/2007: embedded video play/pause on click no longer works
-  32827  Legrand XlPro 3 (MFC app) crashes on startup (failure to load registry-free COM servers via app hook, 'OleCreate' must ignore HRESULT of 'IOleObject::GetMiscStatus')
-  33787  IE8 crashes on new tab
-  33988  Star Wars: The Force Unleashed II - Crashes with a page fault
-  34174  MinGW installer 0.5-beta-20120426-1 fails to process log files (sharing violation on temp file used for piped output)
-  34318  Multiple games and applications need ntdll.dll.EtwRegisterTraceGuidsW (Process Hacker 2.x, Far Cry 4)
-  35187  Jade Empire Special Edition configuration tool always resetting video settings
-  36013  bleem! 1.4 (PlayStation emulator) fails on startup, complaining with 'Not enough memory to load program!'
-  37115  Calling ReadFile from WINBASEAPI (WinBase.h) with zero read length causes hang
-  37288  Not implemented feature System.Drawing.Pen.ResetTransform()
-  37536  Native MSVCP120.dll override requires implementation of msvcr120.dll._W_Gettnames (Desura client)
-  37556  CompareStringW should abort on the first nonmatching character to avoid invalid memory access.
-  38314  Mouse Wheel doesn't work for Jagged Alliance 2 version 1.13 (it uses MOUSEHOOKSTRUCTEX)
-  39591  Crimzon Clover: Page fault on launch
-  39838  Wreckfest Server: Crashes at startup, unimplemented function KERNEL32.dll.GetConsoleScreenBufferInfoEx & SetConsoleScreenBufferInfoEx
-  39866  XIIZeal (steam) immediately exits on start
-  39875  Starcraft can't see Direct Cable Connection games hosted on another computer
-  39878  Diablo II does not start on 64bit system with more than 2GB VRAM cards
-  39908  SuperTux 0.3.5a crashes on startup, needs msvcr120.dll.strtof
-  40021  IDEA v1.7 fails to start
-  40053  Romance of the Three Kingdoms 13 (三國志13) fails to start
-  40083  Heroes of the Storm Freezes/Crashes after its recent updates
-  40129  MSI Reading and Writing Behaves differently than Windows
-  40147  Assertion 'm->state == STATE_PASSIVE' failed at pulse/mainloop.c:827 on starting Skype 7.18.0.112
-  40201  EccoPro only works on Wine 1.6.2
-  40204  Steam client fails to start with UmePlus font installed, when running in dwrite mode
-  40222  IMalloc(Spy)::Free nullptr
+  10063  wineconsole run fail on korean locale.
+  17257  TeX2Word will not install
+  20695  Cannot scroll documents being compared in winmerge
+  23768  winhelp: Some images not shown in certain 16-bit Help files
+  24421  MJ's Help Diagnostics crashes on startup (app provided MonitorEnumProc callback relies on ECX = lprcMonitor)
+  25790  WM_SETTEXT handler for the user32 buttons generates WM_CTLCOLOR* inconsistent with Windows user32
+  26978  tokenadmin.exe crash : Unimplemented function winscard.dll.SCardListReadersA
+  27680  Multiple 64-bit applications crash on startup (violation of the Windows 64-bit ABI, stack pointer (RSP) must be 16-byte aligned when making a call to Win64 API)
+  28082  OCCT Perestroïka needs hal.dll.READ_PORT_ULONG
+  28177  Adventure games from Kheops Studio hang after the logo screen (Safecracker, Destination: Treasure Island, Nostradamus: Lost Prophecy, Dracula 3, Return to Mysterious Island 2)
+  28825  Mystic Diary - Haunted Island: Multiple sprite-related bugs in hidden object scenes
+  29979  ElsterFormular crashes when trying to print already sent income tax return
+  31662  Office 2010 font embedding when exporting to PDF
+  32451  Multiple GOG.com installer bundles show a broken/unresponsive dialog window during installation (installer process running out of wndproc slots)
+  32979  Metal Gear Solid Crash
+  34070  Simutronics 'StormFront.exe' runs out of wndproc slots (ActiveSkin control)
+  34851  Multiple applications need kernel32 GetFinalPathNameByHandleA/W (64-bit Autodesk Fusion 360, Microsoft OneDrive)
+  35054  Dragon Age 2 system diagnostics tool fails to recognize GeForce GT 425M
+  35092  Multiple 64-bit applications need __CxxFrameHandler implementation (Ableton Live 9.1, Adobe Cloud apps)
+  35711  Winelib: compile error in wincon.h if NOGDI is defined before #include <windows.h>
+  36031  GeForce 9700M incorrectly detected as 9400
+  37087  Gothic 2 english demo fails with 'Conflict: a hook process was found. Please deactivate all Antivirus and Anti-Trojan programs and debuggers.'
+  38102  Process Hacker 2.x needs winsta.dll.WinStationEnumerateW
+  39092  Regression introduced with xaudio2_8
+  39215  Nvidia GeForce GTX960M detected as GTX470
+  39543  Multiple games and applications crash on unimplemented function KERNEL32.dll.FreeUserPhysicalPages (Microsoft Office 2007 diagnosis service, Eden Eternal)
+  39657  Tencent QQ 7.6  crashes on unimplemented function ntoskrnl.exe.PsRemoveLoadImageNotifyRoutine
+  39667  dinput: MotoGP 3 demo launcher crashes on leaving key configuration dialog.
+  39681  Unimplemented function crypt32.dll.CryptMsgVerifyCountersignatureEncoded
+  39730  FillRect() confuses 16bit brush handles with color constants
+  39759  Add support for detect  Nvidia TITAN Black in wine3d/device list
+  39786  GoodSync crashes, needs oleaut32.OleLoadPictureFile
+  39796  SCP Containment Breach page fault
+  39918  Mail.Ru GameCenter installer does not work
+  39940  Stars! tooltips have wrong background color
+  40048  Camtasia Studio 8 : crashes on unimplemented function dwmapi.dll.DwmSetPresentParameters
+  40081  CLM Explorer needs fontsub.dll.CreateFontPackage
+  40108  kernel32:process regression
+  40135  msvcirt.c:1386:5: warning: comparison of unsigned expression < 0 is always false
+  40244  PostThreadMessage with WM_NOTIFY message should succeed
+  40246  Please document WINEBUILD in the winegcc manpage
+  40286  Geforce 980 maxwell card is not properly detected
+  40297  Multiple app crashes in macdrv_EnumDisplayMonitors
+  40304  EveHQ2 crashes with builtin gdiplus
+  40348  Nvidia 800 series cards not detected correctly
+  40389  cmd.exe (native): Unimplemented function KERNEL32.dll.GetConsoleAliasExesLengthW
+  40396  Windows SDK DirectWrite sample crashes on uninitialized parameter
+  40456  NFS MW + NFS Carbon: Car is flying above/under the track (D3DXVec3Transform needs arguments aliasing)
+  40466  Midnight Commander needs KERNEL32.dll.GetConsoleFontInfo
+  40473  wine fails to compile with >=glibc-2.23
+  40487  3dmark Vantage Benchmark: unimplemented functions hal.dll.READ and WRITE PORT
+  40493  Prison Tycoon 4 crashes on start up needing msvcp71.dll.??$?5DU?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAC@Z
+  40517  Office 2007 shows error message "Unexpected error during export" when trying to export document as PDF file
+  40525  schannel:main does not recognize package version 0x400000
 
 ----------------------------------------------------------------
 
-Changes since 1.8.1:
+Changes since 1.8.2:
 
-Alex Henrie (1):
-      ntdll: Finish serial reads of size 0 immediately.
+Alexander Lakhin (2):
+      user32: Send the correct WM_CTLCOLOR* message in button WM_SETTEXT handler.
+      user32: Send WM_CTLCOLOR* message only for visible buttons.
 
-Alexandre Julliard (5):
-      make_unicode: Fix typo in Indic syllable table generation.
-      server: Implement serial port read interval timeouts.
-      advapi32: Fix null termination in RegQueryInfoKeyA.
-      tools: Add a script to update the ANNOUNCE file at release time.
-      secur32/tests: Don't check the exact number of cipher bits.
+Alexandre Julliard (2):
+      wineconsole: If necessary, fallback to a font without the right properties instead of failing.
+      kernel32/nls: Convert remaining files to UTF-8.
 
-Alistair Leslie-Hughes (7):
-      user32: Don't crash in DrawTextEx when tab length is zero.
-      olepro32: Add typelib resource.
-      include: Add GdipGetPenTransform, GdipSetPenTransform declarations.
-      gdiplus/tests: Add Pen Transform tests.
-      gdiplus: Implement GdipGetPenTransform.
-      gdiplus: Implement GdipSetPenTransform.
-      gdiplus: Implement GdipResetPenTransform.
+Alistair Leslie-Hughes (2):
+      wined3d: Add detection for NVIDIA GTX TITAN.
+      wined3d: Add detection for NVIDIA GTX TITAN Series.
 
 Andrew Eikum (6):
-      oleaut32: Don't clear BSTR size.
-      mciqtz: Implement MCI_RESUME.
-      xaudio2: Handle openal source allocation failure.
-      winepulse.drv: Check that the server connection actually succeeded.
-      ntdll: Implement SystemLogicalProcessorInformationEx.
-      ntdll: Initialize variable (Coverity).
+      xaudio2: Explicitly version the 2.7 coclasses.
+      xaudio2_8: Use shared source.
+      xaudio2: Remove run-time version checks for XAudio2 object.
+      xaudio2: Report incoming underruns to the application.
+      xaudio2: Protect access to source voice during creation (Coverity).
+      xaudio2: Protect access to submix voice during creation (Coverity).
+
+Andrey Gusev (1):
+      kernel32/nls: Update currency name and fix a typo.
 
 André Hentschel (2):
-      winemaker: Markup fixes in German translation.
-      ntdll: Set TPIDRURW also on ARMv8-A.
+      xaudio2_7: Check return of IAudioClient_Start (Coverity).
+      shell32: Provide helper function a buffer of correct size.
 
-Anton Baskanov (1):
-      quartz: Set the result to 1.0 in FilterGraph::GetRate.
+Aurimas Fišeras (1):
+      kernel32/nls: Update currency for Baltic states.
 
-Aric Stewart (1):
-      winejoystick.drv: Initialize unhandled dwPOV to JOY_POVCENTERED.
+Austin English (8):
+      include: Fix GetCurrentConsoleFontEx/SetCurrentConsoleFontEx definition.
+      oleaut32: Add OleLoadPictureFile stub.
+      wine.inf: Create Microsoft Shared/TextConv directory.
+      kernel32: Add GetConsoleFontInfo stub.
+      winscard: Add stubs for SCardListReadersA/W.
+      crypt32: Add CryptMsgVerifyCountersignatureEncoded stub.
+      ntoskrnl.exe: Add PsRemoveLoadImageNotifyRoutine stub.
+      ntoskrnl.exe: Add KeDelayExecutionThread stub.
 
-Austin English (1):
-      kernel32: Add GetConsoleScreenBufferInfoEx/SetConsoleScreenBufferInfoEx stubs.
+Bernhard Übelacker (1):
+      dinput: Implement device property DIPROP_USERNAME.
 
-Bernhard Übelacker (2):
-      include: Implement todo_wine_if for usage in wine tests.
-      msvcr120: Implement strtof and _strtof_l.
+Caron Wills (9):
+      wined3d: Add Nvidia GeForce GTX 860.
+      wined3d: Add Nvidia GeForce 820M.
+      wined3d: Add Nvidia GeForce 830M.
+      wined3d: Add Nvidia GeForce 840M.
+      wined3d: Add Nvidia GeForce 845M.
+      wined3d: Add Nvidia GeForce GTX 850M.
+      wined3d: Add Nvidia GeForce GTX 870M.
+      wined3d: Add Nvidia GeForce GTX 880M.
+      wined3d: Add Nvidia GeForce GT 730M.
 
-Charles Davis (3):
-      winex11.drv: Actually query the swap method attribute.
-      dwrite: Fix typos, and fix definition of Mac LangCodes for Welsh and up.
-      configure: Check for __builtin_ms_va_list on all x86_64 platforms.
+François Gouget (1):
+      schannel: Add declarations for SECPKG version 7.
 
-Christopher Thielen (4):
-      user32: Ensure that button responds only to changes in WM_CAPTURECHANGED handler.
-      comctl32: Ensure that trackbar respond only to changes in WM_CAPTURECHANGED handler.
-      comctl32: Ensure that toolbar respond only to changes in WM_CAPTURECHANGED handler.
-      user32: A window may be notified with WM_CAPTURECHANGED about itself if SetCapture() is called twice.
+Henri Verbeet (11):
+      wined3d: Sanitise map flags in wined3d_surface_map().
+      wined3d: Recognise Intel Ivybridge on MacOS.
+      kernel32/nls: Persian uses a right-to-left writing system.
+      kernel32/nls: Use Persian characters to write Persian.
+      kernel32/nls: Use ZWNJ where appropriate in far.nls.
+      kernel32/nls: Persian is called Persian in English.
+      kernel32/nls: Store LOCALE_SNATIVEDIGITS as UTF-8 in far.nls.
+      kernel32/nls: Use Persian punctuation for LANG_PERSIAN.
+      kernel32/nls: Fix LOCALE_IFIRSTDAYOFWEEK for LANG_PERSIAN.
+      kernel32/nls: Return CAL_GREGORIAN_XLIT_FRENCH for LOCALE_ICALENDARTYPE for LANG_PERSIAN.
+      kernel32/nls: Fix LOCALE_SMONTHNAME5/LOCALE_SABBREVMONTHNAME5 for LANG_PERSIAN.
 
-Dmitry Timoshkov (1):
-      kernel32: CompareStringW should abort on the first nonmatching character to avoid an invalid memory access.
+Iván Matellanes (1):
+      msvcirt: Avoid superfluous comparison in some compilers.
 
-Frédéric Delanoy (1):
-      winemaker: Markup fixes in French translation.
+Jarkko Korpi (1):
+      wined3d: Add detection for NVIDIA GeForce 425M.
 
-Hans Leidekker (3):
-      msiexec: Fix manpage markup for repair and logging modifiers.
-      msi: Fix the CHAR column type.
-      winhttp/tests: Fix test failures.
-
-Henri Verbeet (1):
-      ntdll: Add special handling for int $0x2d exceptions.
-
-Hugh McMaster (1):
-      reg: Remove stub output from the 'add' and 'delete' functions.
-
-Huw D. M. Davies (1):
-      ole32: The type of the size of IMalloc'ed blocks is SIZE_T.
-
-Jacek Caban (4):
-      ntdll: Pass SYNCHRONIZE flag in NtOpenFile and NtCreateFile calls.
-      ntdll: Don't call NtOpenKeyEx directly from NtOpenKey.
-      kernel32: Don't set unconditionally SECTION_QUERY flag in OpenFileMapping.
-      ntdll: Moved RegisterTraceGuids[AW] implementation to ntdll.
+Jean-Christophe Cardot (1):
+      winhlp32: Fix some images not shown in certain 16-bit help files.
 
 Jens Reyer (2):
-      loader: Fix macro-not-defined error from man.
-      winemaker: Fix macro-not-defined errors from man.
+      winegcc: Document WINEBUILD in the manpage.
+      msiexec: Fix a typo in the manpage.
 
-Józef Kucia (4):
-      wined3d: Validate render state in wined3d_device_set_render_state().
-      wined3d: Limit amount of video memory for older Windows versions.
-      wined3d: Fix driver version check.
-      wined3d: Allow to query if surface format supports gamma correction.
+Ken Thomases (1):
+      user32: Call the EnumDisplayMonitors callback using a wrapper.
 
-Kira Backes (1):
-      user32: Add MOUSEHOOKSTRUCTEX for mouse wheel support.
+Kerstin Noa (1):
+      wined3d: Add NVIDIA GeForce GTX 980 GPU information.
 
-Marcus Meissner (2):
-      manpages: Markup fixes.
-      ntdll: Cast left shifted 1 to be ulong wide (Coverity).
+Kim Malmo (1):
+      wined3d: Add Nvidia 9700M GT.
 
-Matteo Bruni (2):
-      wined3d: Limit the number of WINED3D_MULTISAMPLE_NON_MASKABLE quality levels reported.
-      wined3d: Add WINED3DFMT_FLAG_RENDERTARGET to WINED3DFMT_B5G5R5X1_UNORM.
+Louis Lenders (4):
+      gdiplus: GdipTransformPath should return Ok if matrix = NULL.
+      ntdll: Add stub for RtlAddAuditAccessObjectAce and forward to AddAuditAccessObjectAce in advapi32.
+      ntdll: Add stub for RtlAddAccessAllowedObjectAce and forward to AddAccessAllowedObjectAce in advapi32.
+      ntdll: Add stub for RtlAddAccessDeniedObjectAce and forward to AddAccessDeniedObjectAce in advapi32.
 
-Michael Müller (6):
-      msvideo.dll16: Translate 16 bit address in lparam for MCIWNDM_SETTIMEFORMATA message.
-      include: Add definitions for Win8 pseudo handles.
-      server: Add support for Win8 pseudo handles.
-      advapi32/tests: Add tests for Win8 pseudo handles.
-      kernel32: Allow to pass NULL as old protection in VirtualProtect for Win9x compatibility.
-      user32: Preserve beginning of extra data for MDI windows.
+Michael Müller (2):
+      winex11: Add 320x240 as supported resolution in desktop mode.
+      kernel32: Implement GetFinalPathNameByHandle.
 
-Miklós Máté (2):
-      winex11: Add 1280x960 resolution.
-      wined3d: Warn only once about unsupported wrap state.
-
-Nikolay Sivov (12):
-      ole2disp: Implement SafeArrayGetDim().
-      ole2disp: Implement SafeArrayGetElemsize().
-      ole2disp: Implement SafeArrayLock()/SafeArrayUnlock().
-      ole2disp: Implement SafeArrayAccessData()/SafeArrayUnaccessData().
-      include: Fix IsBad* prototypes.
-      ctl3d32: Claim success in Ctl3dRegister().
-      ole32: Ignore GetMiscStatus() returned value in OleCreate().
-      dwrite: Handle font data initialization failure when building collections.
-      ntdll/tests: Some tests for NtQuerySystemInformationEx().
-      ntdll: Add NtQuerySystemInformationEx() stub.
-      kernel32: Forward GetLogicalProcessorInformationEx() to ntdll.
-      ole32: Don't call spy on IMalloc::Free(NULL).
+Nikolay Sivov (11):
+      user32: For EnableScrollBar() always go through EnableWindow() in SB_CTL case.
+      t2embed: Implement TTGetEmbeddingType().
+      fontsub: Added CreateFontPackage() stub.
+      fontsub: Improve CreateFontPackage() stub for TTFCFP_SUBSET case.
+      t2embed: Implement TTIsEmbeddingEnabledForFacename().
+      t2embed: Implement TTIsEmbeddingEnabled().
+      gdi32: Increase first gdi handle value.
+      dwrite: Always initialize context and font table pointers.
+      kernel32/nls: Convert most of the locale data files to UTF-8.
+      kernel32/nls: Added SSHORTESTDAYNAME* entries.
+      kernel32/nls: Fix shortest day names for Thai and Vietnamese.
 
 Paul Gofman (1):
-      d3dx9: Fix D3DXIntersectTri function.
+      d3dx9: D3DXVec3Transform should support input and output parameter overlap.
 
-Piotr Caban (6):
-      msxml3: Update xmlNode reference count when nodes are merged in node_insert_before.
-      msxml3: Store information about ignorrable whitespace nodes in xmlNode._private variable.
-      msxml3: Reimplement node_get_text helper so it uses information about ignorred white space nodes.
-      msxml3: Add support for CDATA nodes in node_get_text.
-      msvcr110: Fix __lc_time_data definition.
-      msvcr110: Add _W_Gettnames implementation.
+Piotr Caban (4):
+      msvcrt: Dump exception information in x86_64 __CxxFrameHandler.
+      msvcrt: Handle frames with CXX_FRAME_MAGIC_VC6 and CXX_FRAME_MAGIC_VC7 magic value.
+      user32: Call window procedure even if we're out of winproc handles.
+      msvcp71: Add basic_istream<char>::operator>> export.
 
-Sebastian Lackner (15):
-      vcomp/tests: Reenable architecture dependent tests.
-      vcomp: Implement 64-bit atomic instructions.
-      ntdll: Implement RtlInterlockedPushListSListEx and fix calling convention of RtlInterlockedPushListSList.
-      kernel32/tests: Clean up interlocked SList tests.
-      kernel32/tests: Add tests for RtlInterlockedPushListSList[Ex].
-      kernel32: Forward InterlockedPushListSList[Ex] to ntdll.
-      cmd: Fix sharing permissions of piped output files.
-      vmm.vxd: Fix protection flags passed to VirtualAlloc.
-      kernel32/tests: Add test to show that CompareStringW aborts on first non-matching character.
-      ntdll: Mimic Windows behaviour when calling debug service.
-      ntdll: Implement handling of int $0x2d for x86_64.
-      ntdll/tests: Add more tests for calling int $0x2d on x86 and x86_64.
-      ntdll/tests: Add additional tests for instruction pointer in debug service tests.
-      ntdll/tests: Add separate tests for exception handling of int $0x3.
-      ntdll: Fix up instruction pointer in context for EXCEPTION_BREAKPOINT on x86_64.
+Rob Walker (1):
+      wined3d: Add Nvidia GPU SKUs 950,950M,960,960M.
+
+Sebastian Lackner (8):
+      xaudio2_7: Unset DebugInfo->Spare[0] before destroying critical sections.
+      user32: Set %ecx to address of rect in EnumDisplayMonitors callback.
+      user32/tests: Add tests for button WM_CTLCOLOR* messages.
+      user32: Do not block sending/posting WM_NOTIFY messages.
+      kernel32/tests: Add test for process object destruction.
+      kernel32/tests: Disable Windows version dependent test for pcPriClassBase.
+      server: Do not hold reference on parent process.
+      ntoskrnl.exe: Add missing linebreak to FIXME in KeDelayExecutionThread.
+
+Seong-ho Cho (1):
+      configure: Add AC_HEADER_MAJOR to find where major() is defined.
 
 --
 Michael Stefaniuc
diff --git a/AUTHORS b/AUTHORS
index 8534bc0..b4f25b5 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -621,6 +621,7 @@
 Javier Cantero
 Jay Yang
 Jean-Bruno Luginbühl
+Jean-Christophe Cardot
 Jean-Claude Batista
 Jean-Claude Cote
 Jean Labrousse
@@ -786,6 +787,7 @@
 Kenneth MacDonald
 Ken Sharp
 Ken Thomases
+Kerstin Noa
 Kester Maddock
 Kevin Eaves
 Kevin Groeneveld
@@ -795,6 +797,7 @@
 Kieran Clancy
 Kim Jung Eon
 Kim Lilliestierna
+Kim Malmo
 Kimmo Myllyvirta
 Kira Backes
 Kirill K. Smirnov
@@ -1236,6 +1239,7 @@
 Robert Wilhelm
 Rob Farnum
 Rob McClinton
+Rob Walker
 Roderick Colenbrander
 Roger Hoang
 Roger Koot
@@ -1289,6 +1293,7 @@
 Sebastian Gasiorek
 Sebastian Lackner
 Sébastien Ramage
+Seong-ho Cho
 Sergei Butakov
 Sergei Ivanov
 Serge S. Spiridonoff
diff --git a/VERSION b/VERSION
index 8cc3b5b..4556b85 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-Wine version 1.8.2
+Wine version 1.8.3
diff --git a/configure b/configure
index 73befb6..2e1b44d 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.8.2.
+# Generated by GNU Autoconf 2.69 for Wine 1.8.3.
 #
 # Report bugs to <wine-devel@winehq.org>.
 #
@@ -580,8 +580,8 @@
 # Identity of this package.
 PACKAGE_NAME='Wine'
 PACKAGE_TARNAME='wine'
-PACKAGE_VERSION='1.8.2'
-PACKAGE_STRING='Wine 1.8.2'
+PACKAGE_VERSION='1.8.3'
+PACKAGE_STRING='Wine 1.8.3'
 PACKAGE_BUGREPORT='wine-devel@winehq.org'
 PACKAGE_URL='http://www.winehq.org'
 
@@ -2102,7 +2102,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.8.2 to adapt to many kinds of systems.
+\`configure' configures Wine 1.8.3 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -2172,7 +2172,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Wine 1.8.2:";;
+     short | recursive ) echo "Configuration of Wine 1.8.3:";;
    esac
   cat <<\_ACEOF
 
@@ -2372,7 +2372,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Wine configure 1.8.2
+Wine configure 1.8.3
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2890,7 +2890,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.8.2, which was
+It was created by Wine $as_me 1.8.3, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -18859,7 +18859,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.8.2, which was
+This file was extended by Wine $as_me 1.8.3, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -18930,7 +18930,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.8.2
+Wine config.status 1.8.3
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
