diff --git a/ANNOUNCE b/ANNOUNCE
index 831a5f8..5bb5891 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,12 +1,12 @@
-The Wine development release 1.6-rc3 is now available.
+The Wine development release 1.6-rc4 is now available.
 
 What's new in this release (see below for details):
   - Bug fixes only, we are in code freeze.
 
 The source is available from the following locations:
 
-  http://prdownloads.sourceforge.net/wine/wine-1.6-rc3.tar.bz2
-  http://mirrors.ibiblio.org/wine/source/1.6/wine-1.6-rc3.tar.bz2
+  http://prdownloads.sourceforge.net/wine/wine-1.6-rc4.tar.bz2
+  http://mirrors.ibiblio.org/wine/source/1.6/wine-1.6-rc4.tar.bz2
 
 Binary packages for various distributions will be available from:
 
@@ -22,182 +22,183 @@
 
 ----------------------------------------------------------------
 
-Bugs fixed in 1.6-rc3 (total 30):
+Bugs fixed in 1.6-rc4 (total 38):
 
-  18355  Evochron Legends doesn't start
-  19149  GTA2 hangs up after some time
-  19938  GuitarPro: Prints empty tabs
-  21238  Stranded II: Bitmap loading errors
-  21749  Sierra watcher 3g crashes
-  23119  Crystal Disk Mark 3.0 crashes
-  23499  Opti Drive Control crashes at startup if a user has no access to the drive
-  25346  JASC PSP 8 fails to install
-  27628  Pride of Nations Demo / builtin d3dx9_36:  'Failed loading thumbnail game region textures' (purist)
-  28078  1914 Shells of Fury: text rendering issue
-  28128  Sacred Underworld 2.28 requires MouseWarpOverride=false
-  28219  Multiple installers misbehave due to unresolved _BrowseProperty (TargetPath/SelectionPath property handling) (Guitar Hero World Tour, BioEdit)
-  29052  Incorrect handling of lit vertices causes models to render black in The Longest Journey
-  30019  The Chosen (Well of Souls) demo - terrible performance in mid-game
-  30935  Regression: TextPad toolbar icons black
-  31009  MS Paint does not open png and jpeg files any more
-  31616  Touhou Kaikeidou ~ Marine Benefit runs at 3FPS instead of 60 and stops responding after Character Selection
-  32911  Adobe FrameMaker 8 installer aborts with compressed file extraction error
-  33210  Disabled buttons text is mirrored when using RTL layout
-  33212  Menu font no longer changes with DPI setting
-  33338  Oxford English Dictionary crashes on start
-  33467  Cannot bring Mac application in front of a Wine application in full screen mode
-  33496  pylotro - LOTRO doesn't shows after successful login
-  33555  Peachtree Quantum 2010 Accountant Edition post-install COM inproc server registration hangs on PEB lock (process exit)
-  33682  ACT! 6 cannot start under Wine 1.5.31
-  33786  System.InvalidCastException when launching map in Dungeons
-  33800  Naver LINE crashes after login
-  33821  Command and Conquer Generals fails to install
-  33824  Guitar Pro 5: Some fonts become very small
-  33843  Dungeon Siege: In full screen mouse moves screen
+   7597  No sound with OSS driver in C&C3
+  11224  Throw In (Blitz Basic game) has a memory access violation
+  11675  Flatout 2 demo, Battlefield 2 demo, many others need native d3dx9_36.D3DXCreateEffect*
+  12771  Multiple graphic problems in "The Witcher"
+  13314  Winevdm displays a window when running Civilization I
+  13662  dogfood: xchat-2.6.2 is very slow, while updating the window
+  14318  Michisoft Reader Studio v1.5a fails to produce LIT file from HTML
+  16325  incorrect font rendering for CJK programs
+  16784  Babylon 7: Trial mode expires after installation
+  18930  IDA Pro: Failing to allocate an enormous image
+  20769  crash when exiting Microsoft Flight Simulator 98
+  20771  the menu bar doesn't work in M. Flight Simulator 98
+  21103  Presentation 14.2 (Neurobehavioral Systems): crashes when displaying video output
+  21827  Photoshop 7, Slider disapear
+  22291  DC++ hangs on exit
+  23504  Subpixel Font rendering wrong for font MS Sans Serif
+  23687  err:seh:setup_exception_record stack overflow when start Proteus7 Ares
+  23945  Textures are not properly rendered in Deus-Ex:Invisible War
+  24230  "Psalmen - Lieder des Lebens" crashes when clicking Next in settings pane
+  24796  DIY Kyoto's Holmes fails to start
+  25125  Can only print to the default CUPS printer from Visio 5 Professional
+  25605  The Settlers 3: Save as bitmap crashes world editor
+  26646  Worms Reloaded: sound choppy without hardware sound = emulation
+  27658  3dvia plugin installer crashes
+  28495  Runes of Magic: sometimes mouse cursor freezes
+  29897  Lord Of the Rings Online Slow/Freezes
+  29959  Zed: 3D Preview window is blank or doesn't open.
+  30578  Disassembly not in fixed-width font in IDA Pro 6.2 demo
+  30897  Europa Universalis III demo crashes while 'Loading Map-Sprites...' without native d3dxof
+  31729  cl.exe: stack overflow with certain long command lines
+  31772  NtQuerySystemInformation doesn't fill ReturnLength properly with SystemProcessInformation
+  31812  Silverlight 4.x/5.x windows have repainting problems
+  31908  Garena Blackshot does login
+  32820  Offline rekening overzicht, orov doesn't work
+  33283  Configuration of WM_NAME is delayed for virtual desktop
+  33753  Titan Quest : Multiplayer not working
+  33865  Regression in a specialized program
+  33883  Scirra httpapi.dll error trying to Run a game
 
 ----------------------------------------------------------------
 
-Changes since 1.6-rc2:
+Changes since 1.6-rc3:
 
-Alexandre Julliard (17):
-      widl: Avoid short printf formats with int variables.
-      user.exe: Always pass a resource size to CreateIconFromResourceEx16.
-      inetcomm: Only set the command type when the command expects a reply.
-      windowscodecs/tests: Pass the correct constant to IWICImagingFactory_CreateBitmapFromHBITMAP.
-      user32: Check the correct id for the close button when setting the font.
-      user32: Make the default non-client metrics scalable with the resolution.
-      user32: Center the icon in the caption bar.
-      user32: Use the current DC layout in DrawState when drawing to an intermediate bitmap.
-      winefile: Avoid abbreviations in column names.
-      Use the official Microsoft definitions for Gaelic languages.
-      make_unicode: Cache files under their full path name to avoid conflicts.
-      gdi32: Improve font name localization by not requiring a strict language match.
-      gdi32: Add support for loading name strings in Macintosh format.
-      gdi32: Add support for loading name strings in Apple Unicode format.
-      gdi32: Put vertical font families after their horizontal counterpart in the font list.
-      winemac.drv: Don't register IME classes before the dll is initialized.
-      po: Remove obsolete msgids from Dutch translation.
+Alexandre Julliard (22):
+      gdi32: Cache the font smoothing parameters.
+      kernel32: FormatMessage precision arguments are integers.
+      comdlg32: Add support for the CF_NOVERTFONTS flag.
+      clock: Don't offer vertical fonts in the font dialog.
+      notepad: Don't offer vertical fonts in the font dialog.
+      winecfg: Don't offer vertical fonts in the font dialog.
+      wineconsole: Don't offer vertical fonts in the font dialog.
+      winefile: Don't offer vertical fonts in the font dialog.
+      wordpad: Don't offer vertical fonts in the font dialog.
+      make_unicode: Move codepage file output code to a common routine and make default characters configurable.
+      libwine: Add support for codepage 10001 (Mac Japanese).
+      libwine: Add support for codepage 10002 (Mac Traditional Chinese).
+      libwine: Add support for codepage 10003 (Mac Korean).
+      libwine: Add support for codepage 10008 (Mac Simplified Chinese).
+      libwine: Add support for codepage 10010 (Mac Romanian).
+      libwine: Add support for codepage 10017 (Mac Ukrainian).
+      libwine: Add support for codepage 10021 (Mac Thai).
+      libwine: Add support for codepage 10082 (Mac Croatian).
+      krnl386: Create a new console for DOS binaries.
+      winevdm: Make it a GUI application to avoid a spurious console.
+      user32: Fetch the window menu again after sending initialization messages.
+      advapi32: Fix ReportEvent parameter types in the spec file.
 
-Alistair Leslie-Hughes (3):
-      oledb32: Properties aren't case sensitive.
-      wine.inf: Install msdaps.dll into the correct directory.
-      oledb32: Add more database tests.
+Andrew Eikum (4):
+      winbase.h: Add GetFileInformationByHandleEx.
+      oleaut32: Register the typelib's path without WOW64 redirection.
+      oleaut32: Load referenced typelibs in the same architecture.
+      oleaut32: Use typelib's pointer size, not system's.
 
-André Hentschel (5):
-      include: Check for getopt_long_only instead of getopt_long.
-      wineoss.drv: Don't use autoheader styled define.
-      winemaker: Use utf-8 for stdout.
-      dinput: Don't use autoheader styled define.
-      ws2_32: Don't use autoheader styled define.
+André Hentschel (15):
+      oleaut32/tests: Get rid of IS_ANCIENT in vartest.
+      oleaut32/tests: Get rid of HAVE_OLEAUT32_RECORD in vartest.
+      oleaut32/tests: Don't use autoheader styled define in vartest.
+      oleaut32/tests: Get rid of IS_ANCIENT in vartype.
+      oleaut32/tests: Get rid of HAVE_OLEAUT32_RECORD in vartype.
+      oleaut32/tests: Get rid of HAVE_OLEAUT32_DECIMAL in vartype.
+      oleaut32/tests: Get rid of HAVE_OLEAUT32_CY in vartype.
+      oleaut32/tests: Don't use autoheader styled defines in vartype.
+      oleaut32/tests: Don't use autoheader styled defines in varformat.
+      oleaut32/tests: Get rid of IS_ANCIENT in safearray.
+      oleaut32/tests: Get rid of HAVE_OLEAUT32_RECORD in safearray.
+      oleaut32/tests: Get rid of HAVE_OLEAUT32_DECIMAL in safearray.
+      oleaut32/tests: Get rid of HAVE_OLEAUT32_R8 in safearray.
+      oleaut32/tests: Don't use autoheader styled defines in safearray.
+      oleaut32/tests: Use BOOL instead of int when appropriate.
 
-Aric Stewart (2):
-      ole32: Do not fail if partial blocks are read.
-      gdi32/tests: Add a test case for vertical fonts enumeration order.
+Austin English (1):
+      winex11.drv: Print the architecture when showing driver problems.
 
-Aurimas Fišeras (1):
-      po: Update Lithuanian translation.
-
-Bernhard Übelacker (1):
-      winedbg: Call DebugActiveProcessStop when detaching.
-
-Bruno Jesus (3):
-      po: Update Brazilian Portuguese translation.
+Bruno Jesus (2):
       po: Update Brazilian Portuguese translation.
       po: Update Brazilian Portuguese translation.
 
 Caibin Chen (1):
-      po: Update Simplified Chinese translation.
+      po: Update Simplified Chinese Translation.
 
-Dmitry Timoshkov (7):
-      comctl32: Use default GUI font as a fallback instead of a (non-existent) Arial.
-      gdi32/tests: Skip the bitmap font max width test on not 96 dpi resolutions.
-      gdi32/tests: Add a test for default font height scaling with screen resolution changes.
-      gdi32: Scale default GUI fonts to match screen resolution changes.
-      gdi32: ExtSelectClipRgn(hdc, 0, RGN_DIFF) is supposed to fail.
-      comctl32: Fix broken logic for retrieving default font properties.
-      gdiplus: get_font_hfont() should ask gdi32 to match font height against the character height instead of cell height.
+Christian Costa (1):
+      d3dxof: Add support for case sensitive legacy type indexColor.
 
-Frédéric Delanoy (2):
-      loader: Remove copy-paste error in BUGS section of wine manpage.
-      loader: Update French translation of wine manpage.
+Dmitry Timoshkov (4):
+      kernel32/tests: Add a test for VirtualAlloc called on a mapped PE section.
+      kernel32/tests: Add more VirtualAlloc and VirtualProtect tests.
+      kernel32: Correct HeapFree .spec parameter type.
+      ntdll: Correct RtlFreeHeap .spec parameter type.
 
-Hans Leidekker (4):
-      wbemprox/tests: Mark a test result as broken.
-      msi/tests: Avoid test failures caused by broken MsiGetFileVersionA.
-      msi: Restrict the match on files from cabinets to the disk ID.
-      wintrust/tests: Replace the self-signed certificate with one that expires in ten years.
+Erich Hoover (1):
+      ws2_32: Fix interface-bound filter to accept locally generated targeted packets.
 
-Henri Verbeet (1):
-      wined3d: Avoid the position_float4() fixup if the vertex pipe can handle pre-transformed vertices itself.
+Frédéric Delanoy (1):
+      tools: Update winemaker manpage French translation.
 
-Jacek Caban (2):
-      dwmapi.h: Added some missing declarations.
-      dwmapi: Added DwmGetCompositionTimingInfo stub.
+Hans Leidekker (3):
+      ws2_32/tests: Avoid races.
+      dssenh/tests: Fix test failures on 64-bit Vista.
+      winhttp/tests: Add some tests for WinHttpDetectAutoProxyConfigUrl.
+
+Huw Davies (1):
+      comdlg32: Don't call the callback if it's not set.
+
+Jacek Caban (5):
+      ole32: Don't call AddConnection for weak references.
+      ole32/tests: Added tests for external connections stored in ROT.
+      oleaut32/tests: Added external connections tests for MSHLFLAGS_TABLEWEAK marshaling.
+      mshtml: Don't declare empty interface for nsCycleCollectionISupports.
+      secur32: Don't use deprecated gnutls_certificate_credentials.
 
 Julian Rüger (1):
-      po: Update German translation.
+      server: Update German translation of manpage.
 
-Kamil Pošvic (1):
-      po: Update Czech translation.
+Ken Thomases (2):
+      winemac: Dispatch key events directly to window to be sure to get key-up events.
+      winemac: Fix ordering of windows owned by same owner when on inactive desktop space.
 
-Ken Thomases (8):
-      winemac: Don't bring disabled or no-activate windows forward when clicked.
-      winemac: Don't give windows focus on click if the click was sent to Wine.
-      winemac: Cope with apps which return multiple DROPEFFECTs from IDropTarget::DragEnter() and DragOver().
-      winemac: Don't complain that WM_MACDRV_ACTIVATE_ON_FOLLOWING_FOCUS is unrecognized.
-      winemac: Also activate if a window is ordered front shortly after tray icon clicked.
-      winemac: Forcibly release mouse capture for clicks in Mac menu bar or app deactivation.
-      winemac: Fix off-by-one errors when indexing into pixel_formats array with 1-based pixel format number.
-      winemac: Avoid overdriving single-buffered GL if possible; the system throttles us.
+Marcus Meissner (8):
+      dbghelp: Free root in error case (Coverity).
+      dbghelp: Free srcpath in stabs handling (Coverity).
+      gdi32: Close handle in error path (Coverity).
+      gdi32: Close handle in mfdrv (Coverity).
+      msvf32: Fixed incorrect sizeof (Coverity).
+      ole32: LeaveCriticalSection in one exit case (Coverity).
+      ole32: Fixed bad sizeof()s in composite moniker (Coverity).
+      winmm: Fix incorrect parameter for test debug (Coverity).
 
-Lauri Kenttä (1):
-      po: Update Swedish translation.
+Matteo Bruni (2):
+      wined3d: Fix handling of cnd instruction with coissue flag.
+      d3d9/tests: Improve cnd instruction test.
 
-Marcus Meissner (2):
-      wbemprox: Add missing FindClose() (Coverity).
-      wbemprox: Fixed leaking dirstack (Coverity).
+Michael Stefaniuc (1):
+      po: Update the Romanian translation.
 
-Matteo Bruni (3):
-      wined3d: Fix NP2 surface repacking in surface_download_data.
-      d3d9/tests: Reset texture 0 to NULL at the end of texop_test().
-      d3d9/tests: Skip unbound_sampler_test if cube or volume textures aren't supported.
+Mykola Zadorozhnyy (1):
+      po: Update Ukrainian translation.
 
-Nikolay Sivov (1):
-      po: Update Russian translation.
+Petr Kočandrle (1):
+      po: Fix some Czech spelling errors.
 
-Pavel Borecki (1):
-      po: Update Czech translation.
+Piotr Caban (1):
+      msvcrt: Added _wcsicmp_l implementation.
 
-Piotr Caban (3):
-      msvcrt: Don't call invalid parameter handler when string to be tokenized and context are not set in mbstok.
-      msvcrt: Add some _mbstok tests.
-      msvcrt: Don't forward memchr to ntdll.
-
-Rico Schüller (1):
-      d3dx9: Apply rotationcenter only when a rotation is done.
+Qian Hong (2):
+      msctf: Added stub TF_CreateLangBarItemMgr.
+      include: Added missing declaration for some msctf APIs.
 
 Roger Koot (1):
-      po: Update Dutch translation.
-
-Stefan Dösinger (11):
-      wined3d: Pass fogstart==fogend to GL in fog table mode.
-      wined3d: Work around broken FFP fog with ARB shaders.
-      d3d9/tests: Add a test for fog_start == fog_end.
-      d3d8/tests: Add a test for fog_start == fog_end.
-      ddraw/tests: Add a test for fog_start == fog_end.
-      ddraw: SPECULARENABLE defaults to true in IDirect3DDevice2.
-      ddraw: Send device2_Draw* through device3_Draw*.
-      ddraw: Device2 and Device3 do not have a lighting render state.
-      ddraw/tests: Test lighting control in different interface versions.
-      ddraw/tests: Get rid of D3DRENDERSTATE_LIGHTING hacks in ddraw4.c.
-      wined3d: Fix the TMP_COLOR optimization with custom fog.
+      po: Updated Dutch translation.
 
 Stefan Leichter (1):
       msvcp100/tests: Fix dynamically loaded functions for platform arm.
 
-Wei-Lun Chao (2):
-      po: Update Chinese (Taiwan) translation.
-      po: Update Chinese (Taiwan) translation.
+Volkan Gezer (1):
+      po: Updated Turkish Translation.
 
 --
 Alexandre Julliard
diff --git a/VERSION b/VERSION
index d819db2..0d83e24 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-Wine version 1.6-rc3
+Wine version 1.6-rc4
diff --git a/configure b/configure
index 796613c..e977551 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-rc3.
+# Generated by GNU Autoconf 2.69 for Wine 1.6-rc4.
 #
 # 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-rc3'
-PACKAGE_STRING='Wine 1.6-rc3'
+PACKAGE_VERSION='1.6-rc4'
+PACKAGE_STRING='Wine 1.6-rc4'
 PACKAGE_BUGREPORT='wine-devel@winehq.org'
 PACKAGE_URL='http://www.winehq.org'
 
@@ -1428,7 +1428,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-rc3 to adapt to many kinds of systems.
+\`configure' configures Wine 1.6-rc4 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1497,7 +1497,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Wine 1.6-rc3:";;
+     short | recursive ) echo "Configuration of Wine 1.6-rc4:";;
    esac
   cat <<\_ACEOF
 
@@ -1676,7 +1676,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Wine configure 1.6-rc3
+Wine configure 1.6-rc4
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2194,7 +2194,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-rc3, which was
+It was created by Wine $as_me 1.6-rc4, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -17056,7 +17056,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-rc3, which was
+This file was extended by Wine $as_me 1.6-rc4, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -17127,7 +17127,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-rc3
+Wine config.status 1.6-rc4
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
