diff --git a/ANNOUNCE b/ANNOUNCE
index 2d0fbd5..4f30656 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,16 +1,16 @@
-The Wine development release 1.1.27 is now available.
+The Wine development release 1.1.28 is now available.
 
 What's new in this release (see below for details):
-  - New version of the Gecko engine.
-  - New GSM 06.10 codec support.
-  - Improved support for the disk volume APIs.
-  - Support for XShm pixmaps for better performance.
+  - Support for IRDA protocol.
+  - Faster initial wineprefix creation.
+  - Axis remapping with evdev joysticks.
+  - More image formats in WindowsCodecs.
   - Various bug fixes.
 
 The source is available from the following locations:
 
-  http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.1.27.tar.bz2
-  http://prdownloads.sourceforge.net/wine/wine-1.1.27.tar.bz2
+  http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.1.28.tar.bz2
+  http://prdownloads.sourceforge.net/wine/wine-1.1.28.tar.bz2
 
 Binary packages for various distributions will be available from:
 
@@ -26,676 +26,618 @@
 
 ----------------------------------------------------------------
 
-Bugs fixed in 1.1.27:
+Bugs fixed in 1.1.28:
 
-   3231  ListView: column reordering not implemented
-   3912  incorrect RGBQUAD struct declaration causes link error
-   4214  Unsupported 2007 WGL Attribute in Second Life 1.8.0.9
-   4304  Metatrader: Double clicking to change table values doesn't work
-   5068  Secondlife will not log in with the Alsa driver turned on and OSS driver turned off
-   6217  Alien Shooter runs slow
-   6936  eMule uses 40% CPU when idle permanently, independent of CPU speed
-   7701  rakuscan.exe (IP Scanner for Konica-Minolta copiers) fails to run
-   7796  Knight Rider doesn't run
-   8345  Syberia - Game runs but everything is black
-   8382  wine is looking in wrong folder for Theme Hospital Setup
-   8422  2xExplorer fails to start
-   8770  Warcraft III freezes in BN ladder games after a few seconds/minutes (ATI)
-   9152  Unimplemented function ntdll.dll.RtlGetCompressionWorkSpaceSize
-   9711  Quake Wars mouse wheel scrolls twice instead of once
-  10465  Radmin viewer 3.1: "Arrange Icons" action does not work in main viewer window
-  10512  Project Visitor: Installs OK but crashes when run
-  10518  Alpha Centauri crashes on launch with ALSA sound
-  10532  Paint Shop Pro 9: Open dialog box buttons are a mess
-  10692  Dragon NaturallySpeaking 9 - Dictation Box cannot copy/paste
-  10695  Music in Age of Wonders 2 demo causes buzzing sound in left stereo channel
-  10912  start command does not support /B option
-  10916  TreeView: Eclipse crashes on startup
-  10957  CreateFile doesn't work for devices
-  11031  Age of Empires III exits silently
-  11054  Missing GdipNewPrivateFontCollection and GdipGetDpiX functions
-  11193  Instan-t Messenger 5.0 BETA crashes after a few minutes
-  11952  Display problem with Notepad++ 4.8.2
-  12048  coreftp hangs after connecting to a ftp site
-  12197  Final Liberation fails with "numDisplayModes Failed" message
-  12483  Rosetta Stone V3 will not install
-  12519  Yahoo! Widget Engine version 4.5 wont start
-  12609  Silent Hill 2: random slow down
-  12751  Sibelius 4, line-breaks, text overlap
-  12980  Bioshock 1.0 crash on startup with "unhandled exception"
-  13039  SkyMap Pro: Help font size is unreadable. Too small.
-  13279  TrendyFlash Site Builder 1.0 requires urlmon stubs
-  13288  Ventrilo requires the GSM 6.10 codec
-  13316  Strong DC++ does not auto scroll chat window
-  13350  Vim menu text overlaps itself [dogfood]
-  13449  Art is Dead crashes when loading the first level
-  13562  rpg maker vx crashing when the menu is clicked
-  13857  winword 97 100% cpu splash
-  13867  WinSCP: Background transfer queue doesn't refresh/update automatically (dogfood)
-  13993  MathCAD 2001: crashes while installing
-  14004  Flickering/Flashing Menu Screen in Steam games
-  14223  Homeworld 2 fails to start
-  14244  Wine ignores StringFormat alignment
-  14610  Stata crashes when trying to start help (window)
-  14783  Cannot closed WMP 9 after minimizing.
-  15048  BabasChess requires GdipCreateHatchBrush
-  15122  Clipboard functions don't work in console applications
-  15194  cmd.exe doesn't support for 2>&1 style redirection
-  15282  Microsoft Office Excel 2007: Recording Macros doesn't work
-  15398  The Journeyman project 3 crashes on exit
-  15533  iTunes 8.0 fails to install
-  15801  DietPower 4.4, wine crashes when food log window is closed
-  15903  Sibelius 3: list box items with graphics are drawn incorrectly
-  16166  Google Sketchup 7 display often corrupt until you click on it
-  16488  "Tools / Google Earth / Get Current View" crashes Google Sketchup 7
-  16627  Sword of the Stars: command-and-control units do not display last digit in fleet management
-  16631  Liquid War 6: Fails to start.(dogfood)
-  16650  Melodyne Studio demo crashes on startup
-  16707  regedit: "Type" column resize and redraw is not working properly
-  16796  Implement mssign32.dll
-  16810  MT4(MetaTrader) two bugs
-  16853  Sword of the Stars: crashes on entering main game screen.
-  16961  Videos in The Neverhood are broken
-  16997  lotro: symbols above NPC's are totally black as is fog
-  17111  Construct 0.98.6
-  17145  'wrong version of assembly manifest', ok, but which is the right one?
-  17202  Segmentation fault in Call of Cthulhu
-  17220  Lightbox Plus image editor freeze after few minutes
-  17256  Two mshmtl regressions in Vdownloader
-  17267  World of Warcraft 3.0.8a: No input in main game area
-  17456  Implement windows firewall
-  17673  PDF-XChange Viewer ver 2.0: pages navigation toolbar corrupted
-  17696  Skype 4 setup fails to recognise downloaded .msi
-  17748  PhotoPhiltre - Open picture dialog too small
-  17886  Toolbar flicker (TB_HIDEBUTTON always redraws)
-  17912  Various visual glitches on Last Remnant
-  18034  RA3 Uprising crash at the beginning of campaign: The TALE of YURIKO
-  18051  winamp doesn't run
-  18214  winboard 4.2.7b -- ICS client doesn't have horizontal scrollbars
-  18239  regedit should remember the last key open
-  18282  Tom Clancy's EndWar: selected unit "circle" is not rendered right
-  18409  Missing text in the license area text while intaling Windows Live messenger 8.1
-  18413  Teamviewer can`t connect with File Transfer
-  18504  ToolTip doesn't hide
-  18510  Microsoft .Net 20 SP1 Installer's text is unreadable
-  18612  AutoGK 2.55 crashes on close
-  18674  Exception EAccessViolation in module tralih.exe
-  18675  GuildWars tries to repair the data archive on every start.
-  18681  Can not accept license for Adobe CS4 installers
-  18704  PureEdge Viewer (ICS Viewer) 6.0 interface is inappropriately rendered with scroll bars
-  18871  Various Ogre demos crash on exit in D3D9 mode
-  18897  Metatrader 4: Quotes Table cells not aligned
-  18997  Warcraft 3 1.23 crashes after remaining one minute in a Battle.net chat room.
-  19121  F1 Challenge 99-02: 3D graphics seems completely broken
-  19132  winebrowser: when URL is passed as file://url with anchor or query included it fails to open
-  19219  EVE crashes with a page fault
-  19240  Full Tilt Poker exits silently
-  19260  Starfleet Command  - entire display flickers strobe-like in-game
-  19315  Call Of Duty 4 - graphical glitches (post-processing works intermittently)
-  19349  Crash in Xenu 1.3c when prompting for a username and password
-  19351  RootsMagic 4 installer hangs while downloading place database
-  19387  Command and Conquer 3 Uprising doesn't work anymore
-  19393  Word & Excel 2007 scrollbar background/arrow buttons are wrong color, changes based on size
-  19396  Blitzin2: Auto-vscroll not working
-  19398  runes of magic fails to load game world
-  19406  Battlefield heroes - can't connect to game server
-  19412  Red Alert 3: fails to render a character
-  19429  WideCharToMultiByte: Incorrect conversion of "default character"
-  19456  Mount Manager crashes with optical discs since commit 15acd35
-  19470  Wine shouldn't assume the default visual supports GLX
-  19509  CounterStrike Source:  Texture smear w/ level set to DirectX 9.0
-  19537  Sonos 3.0 dies after first step in setup wizard
-  19556  GdipAddPathPieI forwards to itself
-  19564  Guitar Hero World Tour crashes in secur32
-  19610  Eclipse exits on load with X Error
+   2568  visual bug with ms word 2000
+   6162  CACLS.exe is unimplemented
+   6168  Statistica 6 Demo fails because of unimplemented ole32.OleCreateEmbeddingHelper
+   7067  Simcity 3000 has partial, grainy, B&W video, and crashes with "exceptional error" upon mouse focus
+   8082  Notepad2 fails to create desktop link
+   8421  Disk Explorer Pro 3.60 crashes when browsing or searching
+   9669  In "Tag&Rename", splash screen invisible
+  10778  Gothic3 crashs after warp (VIRTmem > 4096MB?)
+  11601  wine crash on DriveHQ app exit
+  12072  Cyberboard: popup menus are blank
+  12254  Teamspeak client hangs on server connection
+  12456  xu4 hangs on startup
+  13015  images broken in many chm files
+  13134  File dialog rendering problem
+  13583  SecureCRT: Unhandled page fault when making SSH2 connection
+  14003  Civilization 4 City progress bar doesn't display
+  14130  1by1 crashes into mpr
+  14672  Cannot register Quicken
+  14680  Avencast: Rise of the Mage blocks after loading first level
+  14728  winecfg: improvements for drive letter configuration
+  14748  Money Manager fails to install
+  15177  Unimplemented functions needed for Assassin's Creed
+  15259  err:seh:setup_exception_record stack overflow in LineageII
+  15393  winhttp doesn't support proxy connections
+  15503  Counter-Strike: Source crashes, if someone kills someone else with the G-3 autosniper
+  15964  NTE Quick Cross 14.0 window does not close when clicking upper-right close button
+  16012  Dogfood:Liquid War freezes when moving window in windowed mode.
+  16190  Google Earth geographical labels unreadable
+  16460  powerterm 8.8.3 pro enterprise can't start.
+  16515  EMTEC ZOC terminal - SSH connections
+  16679  Visma Enskild Firma crashes after opening a company bookkeeping
+  16744  ole32/stg_prop.c: passing argument discards qualifiers from pointer target type
+  16794  CoHUpdater.exe hangs
+  16884  .NET 3.0: WCF installer fails due to LsaLookupNames2 stub
+  16905  CommitMonitor: Application could not connect to repository
+  16986  Universal World of Warcraft Client (InstallWoW.exe) nolonger works.
+  17213  Sibelius 4: Images are cut off in dialogues containing images
+  17218  Easy Dental 2007 application text is not rendered
+  17224  Soldier of Fortune 1.06 Gold Crashes on Game Start
+  17363  DirectInput maps Windows, Num Lock, Pause incorrectly [X11]
+  17491  Black screen after starting google earth
+  17606  La-Mulana: certain (graphical) events in game cause severe slowdown and glitches
+  17645  crypt32/sip: test fails with +heap on OpenSolaris
+  18266  SigmaPhotoPro 3.5 needs SHELL32.dll.SHParseDisplayName
+  18324  Lotus 123 crashes on copy to clipboard
+  18384  Battlenet system check: does not submit data to battle.net
+  18452  WoW: Unhandled page fault on write access
+  18483  bricscad cant open large files
+  18531  .NET based apps using WebBrowser Control need OleInPlaceObject_InPlaceDeactivate properly implemented
+  18559  BinTube Pro fails to install (requires Windows Imaging Component)
+  18751  Dragon NaturallySpeaking text size cannot be changed in DictationBox
+  18800  Winedbg has a race condition
+  18815  Single-Sign-On with authenticated RPCs won't work
+  18825  winemaker: Extract more information from vcproj
+  18838  DirectInput axis mapping does not work
+  18965  Build Wine 1.1.23 from source fails on Red Hat WS 4.6
+  19145  etax help program crashes in gecko file js3250.dll
+  19367  EverQuest 2 crashes in third-person
+  19407  Segfault running cmd.exe
+  19458  Anarchy Online is drawn several pixels too high
+  19495  DialogBox() returns -1 when dialog destroys itself on WM_CLOSE, should be 0
+  19520  Unimplemented function shdocvw.dll.SHRestricted2W
+  19548  Image deblurring tool requires implemented SetThreadIdealProcessor when run on multi-core machines
+  19582  Guild Wars -- Crash on "patch" screens
+  19613  Installation of Total Annihilation original does not run to completion
+  19633  Repeatable gecko crash
+  19649  Configure does not check the presence of libXext
+  19682  Acrobat Reader 2 installer causes a page fault
+  19688  STATISTICA 6 demo crashes on startup
+  19703  Vypress Chat: crashes
+  19707  Atrex POS Software crashes
+  19714  browsing "Help | Contents" entries causes the app to crash
+  19717  jscript: implicit declaration of function `isinf'
+  19728  d3d9+d3d8 tests crash in DestroyContext
+  19736  keyboard input appears in console rather than app when using 'wine explorer /desktop=dt,1024x768 appname.exe'
+  19747  Protel99SE-SP6 advsch.dll causes access violation (read @ 0000)
+  19753  Win16 applications crash on start
+  19759  SLTG_ReadString does not null terminate
+  19760  SiSoftware Sandra 2009.SP3c installer causes a page fault
+  19763  Everest Poker exits when attempting to connect to server
+  19767  Authenticated RPC client functionality is broken with the rpcrt4 changes from 1.1.25
 
 ----------------------------------------------------------------
 
-Changes since 1.1.26:
+Changes since 1.1.27:
 
-Aled Hughes (1):
-      comctl32/toolbar: Avoid unnecessary invalidation on TB_HIDEBUTTON.
+Akihiro Sagawa (3):
+      shell32: Use IDS_DESKTOPDIRECTORY for CSIDL_COMMON_DESKTOPDIRECTORY.
+      winecfg: Update Japanese translation.
+      notepad: Update Japanese translation.
 
-Alexander Nicolaysen Sørnes (3):
-      mshtml: Update Norwegian Bokmål translation.
-      setupapi: Update Norwegian Bokmål translation.
-      wininet: Update Norwegian Bokmål translation.
+Alexandre Julliard (61):
+      configure: Regenerate with autoconf 2.64.
+      libwine: Ignore libraries that are of the wrong 32/64 class.
+      server: Add support for image mappings for both 32- and 64-bit PE formats.
+      ntdll: Add a ret to DEFINE_REGS_ENTRYPOINT to make copy protections happy.
+      kernel32: Change MODULE_GetBinaryType return value to make dll a flag instead of a type.
+      kernel32: Return the dll flag in MODULE_GetBinaryType for 16-bit modules too.
+      kernel32: Check for a 32-bit NT header before getting module address range in MODULE_GetBinaryType.
+      kernel32: Add a 64-bit flag to the MODULE_GetBinaryType return value.
+      kernel32: Check the 64-bit flag when starting a process.
+      winex11: Use the Globally Active focus model with take focus.
+      configure: Add a --with-wine64 option to build a 32-bit Wow64 tree.
+      configure: Disable installation of a number of extra files for the Wow64 build.
+      configure: Rename the main binary to "wine32" for the Wow64 build.
+      winebuild: Add helper functions for reading binary data from a file.
+      winebuild: Add helper functions for writing binary data to a file.
+      winebuild: Compute the resource offsets while building the resource tree.
+      winebuild: Add support for creating a fake dll at compile time.
+      wintrust: Add stubs for the driver policy init functions.
+      include: Fix the NE exe type defines.
+      winebuild: Compute the resource offsets while building the resource tree for 16-bit resources.
+      winebuild: Add support for creating 16-bit fake dlls.
+      configure: Don't assume libXext is available.
+      configure: Downgrade libgsm warning to a notice.
+      winex11: Add handling of take focus event on the desktop window.
+      server: Properly initialize mode and uid for file and directory objects.
+      server: Don't use the cached file mode when setting the security descriptor.
+      winegcc: Add support for building fake modules.
+      makefiles: Add rules for building fake modules.
+      makefiles: Add rules for installing fake modules.
+      setupapi: Copy the pre-compiled fake dll files instead of generating them if possible.
+      wine.inf: Specify the source module for 16-bit fake dlls.
+      kernel32: Don't wait for wineboot once the process is no longer running.
+      kernel32: Use a longer wineboot timeout for the initial prefix creation.
+      ole32/tests: Avoid infinite waits in tests.
+      ole32/tests: Don't release the token object since it doesn't have a proper ref count.
+      advapi32: Fix sid pointer calculation in LsaLookupNames2.
+      comctl32/tests: Fix a number of listview message test failures.
+      comctl32/tests: Fix the property sheet tests on older Windows versions.
+      ddeml: Fix packing of the thunk structure.
+      msvideo: Fix packing of the thunk structure.
+      rpcrt4: Assign a unique id to the connection instead of changing it for each message.
+      ole32/tests: Skip a string that may not round-trip in all codepages.
+      userenv/tests: Don't use string debugging functions for non-debug usage.
+      tests: Make wine_dbgstr_w available in test.h for all tests.
+      advapi32/tests: Use the global wine_dbgstr_w instead of a local variant.
+      gdiplus/tests: Use the global wine_dbgstr_w instead of a local variant.
+      hlink/tests: Use the global wine_dbgstr_w instead of a local variant.
+      jscript/tests: Use the global wine_dbgstr_w instead of a local variant.
+      kernel32/tests: Use the global wine_dbgstr_w instead of a local variant.
+      mlang/tests: Use the global wine_dbgstr_w instead of a local variant.
+      mshtml/tests: Use the global wine_dbgstr_w instead of a local variant.
+      mstask/tests: Use the global wine_dbgstr_w instead of a local variant.
+      msxml3/tests: Use the global wine_dbgstr_w instead of a local variant.
+      shdocvw/tests: Use the global wine_dbgstr_w instead of a local variant.
+      urlmon/tests: Use the global wine_dbgstr_w instead of a local variant.
+      winhttp/tests: Use the global wine_dbgstr_w instead of a local variant.
+      configure: Rename the --with-libgsm option to follow the normal option naming scheme.
+      userenv/tests: Don't depend on the Ascii length to find the next env variable.
+      wrc: Print a warning when encountering utf8 strings in non-utf8 codepage.
+      msvfw32: Add missing utf8 pragma.
+      user32: Run the explorer process from the system directory.
 
-Alexandre Julliard (35):
-      winecfg: Fix quote characters in English resource.
-      Convert English resources to UTF-8 where necessary.
-      mountmgr: Create a separate structure for disk device information, independent from the DOS drive.
-      mountmgr: Create a separate structure for volume information.
-      mountmgr: Add support for setting the drive UUID instead of having it always hardcoded.
-      mountmgr: Retrieve the volume uuid through HAL/DiskArbitration when creating a device.
-      mountmgr: Always set the mount point id as a separate step from the mount point creation.
-      kernel32: Try to load a 32-bit builtin in WinExec16 if the file doesn't exist.
-      mountmgr: Add support for creating volumes without an associated drive.
-      mountmgr: Create volumes for non-removable volumes reported by HAL/Disk Arbitration.
-      ole32/tests: Avoid depending on the heap allocation order for the CoGetObjectContext test.
-      winhttp: Avoid casting away const.
-      mountmgr: Rename the DOS drive mount field for symmetry with the volume structure.
-      mountmgr: Optionally update the drive mount point in set_volume_info.
-      mountmgr: Add a helper function to update symlinks.
-      mountmgr: Use set_volume_info to update the volume when creating a new drive.
-      mountmgr: Set the drive letter at creation time.
-      mountmgr: Better reuse of existing devices.
-      mountmgr: Add ref counting for volume objects.
-      mountmgr: Try to match and reuse volumes when creating/updating a drive.
-      mountmgr: Return a copy of the strings in query_dos_device.
-      mountmgr: Protect the device structures with a critical section.
-      shell32/tests: Create our own temp directory to make sure it's not the Windows directory.
-      libwine: Fix the wctomb validity check for codepages where the default chars don't convert to each other.
-      winemenubuilder: Reduce memory usage for string copies.
-      kernel32: Fetch more information from the DosDevices directory for QueryDosDevice.
-      shell32/tests: Fix a couple of failures on Win9x and NT4.
-      mountmgr: Increment the volume refcount in functions that return a volume.
-      mshtml: Never try to unload the Gecko libraries.
-      ntdll: Don't free low address space for large address aware applications.
-      ntdll: Ignore activation context entries that don't specify a path.
-      kernel32/tests: Add one more possible error code.
-      comctl32/tests: Fix some test failures on older versions.
-      ntdll: Don't switch from small to large block when HEAP_REALLOC_IN_PLACE_ONLY is specified.
-      make_makefiles: Fix handling of .mc files.
+Alistair Leslie-Hughes (9):
+      shdocvw: Add basic support for InPlaceDeactivate.
+      msxml3: IXMLDOMElement doesn't support IObjectIdentity.
+      msxml3: Register missing MXXMLWriter interfaces.
+      mshtml: Implement IHTMLLocation get_href.
+      msxml3: Support loading windows file paths.
+      mshtml: Implement IHTMLCurrentStyle_get_visibility.
+      mshtml: Implement IHTMLStyle get/put borderLeftWidth.
+      mshtml: Implement HTMLCurrentStyle_get_borderLeftWidth.
+      mshtml: Implement IHTMLStyle get/put wordSpacing.
 
-Alistair Leslie-Hughes (4):
-      shlwapi: Correct AssocCreate and tests.
-      mshtml: Add missing interfaces.
-      gdiplus: Add GdipRecordMetafileI stub.
-      shlwapi: Correct AssocCreate tests.
+Andrew Eikum (14):
+      gdiplus: Create utility function get_graphics_bounds.
+      gdiplus: Implement GdipGetVisibleClipBounds.
+      gdiplus/tests: Add tests for GdipGetVisibleClipBounds.
+      comctl32: Don't pass unrelated control to UnChanged.
+      comctl32: Correctly assign focus and default button in property sheet wizards.
+      user32/tests: Add tests for saving and restoring control focus.
+      comctl32/tests: Add tests for wizard dialog navigation.
+      winex11: Support KEYEVENTF_UNICODE in SendInput.
+      user32: Handle VK_PACKET messages in TranslateMessage.
+      user32/tests: Add tests for SendInput with unicode.
+      ole32: Repair leak on error path.
+      ole32: Allow small block chains with no property.
+      ole32: Add big block chain to small block chain conversion routine.
+      user32/tests: Fix input test failure in win9x platforms.
 
-Andrew Nguyen (4):
-      gdi32: Fix the type of a few return values.
-      wine.inf: Add a fake DLL for dinput8.
-      user32/tests: Test the behavior of DialogBoxParamA with dialog procedure window destruction.
-      kernel32: Revise SetThreadIdealProcessor to return success.
+Andrew Nguyen (2):
+      msvcrt: Remove dead code in wcscpy_s.
+      user32/tests: Fix some test failures on Windows.
 
-Andrew Talbot (1):
-      ddraw: Constify some variables.
+André Hentschel (17):
+      winecfg: Update German translation.
+      winemaker: Parse libraries of vcproj-files.
+      avifil32: Update German translation.
+      crypt32: Update German translation.
+      gphoto2.ds: Update German translation.
+      hhctrl.ocx: Update German translation.
+      oledlg: Update German translation.
+      shlwapi: Update German translation.
+      winhlp32: Update German translation.
+      comdlg32: Update German translation.
+      msvfw32: Update German translation.
+      oleview: Update German translation.
+      taskmgr: Update German translation.
+      cmdlgtst: Update German translation.
+      winemaker: Put the defines in DEFINES instead of CEXTRA.
+      winemaker: Update manual.
+      winecfg: Update German translation.
 
-André Hentschel (7):
-      jscript: Add German translation.
-      shell32: Fix German folder names.
-      jscript: Update German translation.
-      wininet: Update German translation.
-      jscript: Update German translation.
-      comctl32: Stop flicker when drawing themed and draw the correct image smoothly.
-      jscript: Update German translation.
+Aric Stewart (1):
+      winemp3: A fix for security alert CVE-2006-1655.
 
-Aric Stewart (4):
-      mpr: Update Japanese resource.
-      appwiz: Update Japanese resource.
-      imm32: Stub implementation of ImmDisableTextFrameService.
-      gdi32: Ensure child fonts have names.
+Aurimas Fišeras (1):
+      winecfg: Update Lithuanian translation.
 
-Aurimas Fišeras (6):
-      Various small Lithuanian translation fixes.
-      jscript: Add Lithuanian translation.
-      jscript: Update Lithuanian translation.
-      wininet: Update Lithuanian translation.
-      jscript: Update Lithuanian translation.
-      jscript: Update Lithuanian translation.
+Austin English (1):
+      ntdll: Quiet a noisy fixme.
 
-Austin English (7):
-      notepad: English resource fixes.
-      shell32: Adjust shell folders to more closely match Windows.
-      shell32: Fix English folder names.
-      wineinstall: Ask about installation before running configure.
-      start: Handle /B & /I options.
-      userenv: Add a stub for LoadUserProfileW.
-      wine.inf: Add HKCU\AppEvents\Schemes registry key.
+Austin Lund (2):
+      user32/tests: Added tests for infinite WM_PAINT loop.
+      user32/tests: Remove superfluous code from WM_PAINT loop test.
 
-David Adam (9):
-      d3dx9: Fix D3DXVec2TransformCoord to make tests pass in Windows.
-      d3dx9: Fix D3DXVec3TransformCoord to make tests pass in Windows.
-      d3dx9: Fix D3DXVec4Normalize to make tests pass in Windows.
-      d3dx9: Fix D3DXMatrixStack_LoadMatrix to make tests pass in Windows.
-      d3dx9: Fix D3DXMatrixStack_MultMatrix to make tests pass in Windows.
-      d3dx9: Fix D3DXMatrixStack_MultMatrixLocal to make tests pass in Windows.
-      d3dx9: Fix D3DXMatrixStack_RotateAxis to make tests pass in Windows.
-      d3dx9: Fix D3DXMatrixStack_RotateAxisLocal to make tests pass in Windows.
-      d3dx9: Add forgotten copyrights.
+Cheer Xiao (1):
+      winecfg: Update Chinese translation.
 
-Davide Pizzetti (1):
-      clock: Updated Italian translation.
+Damjan Jovanovic (1):
+      include: Add a basic sti.h.
 
-Dmitry Timoshkov (5):
-      user32: Pass the same PRF_ flags from WM_PRINT to WM_PRINTCLIENT.
-      user32: Draw the whole button only if requested.
-      gdi32: Some fonts have a broken last segment of cmap4 table, avoid a crash in that case.
-      gdi32: Use a better heuristics for tmWeight.
-      user32/tests: Use symbol charset when creating Marlett font.
+Dmitry Timoshkov (2):
+      user32: Return 0 from DefDlgProc and dialog loop for invalid dialog handles.
+      winex11.drv: Handle failure of XcursorImageCreate.
 
-Dylan Smith (7):
-      richedit: Properly restore style after end of rtf group.
-      richedit: Added missing return to ME_EnsureVisible.
-      richedit: Scrollinfo stored as 16-bit values externally.
-      richedit: Handle NULL buffer or 0 buffer length in ME_GetTextEx.
-      richedit: Prevent buffer overflows in WM_GETTEXT.
-      richedit: Prevent using uninitialized nAvailWidth in initialization.
-      richedit: Avoid comparing padding in cursor structures on memcmp.
+Dylan Smith (34):
+      richedit: Implement ME_DITypesEqual using a switch statment.
+      richedit: Remove header function declarations with no definition.
+      richedit: Use richedit class string macros from public headers.
+      richedit: Add closing actions for IRichEditOle_fnInsertObject.
+      richedit: Added missing style releases.
+      wordpad: Use richedit class string macro from public headers.
+      richedit: Update paragraph on saved cursor when inserting table start.
+      richedit: Make the ME_GetCursorOfs function more flexible.
+      richedit: Added function to get selection cursors in order.
+      richedit: ME_GetTextW must use source and destination lengths.
+      richedit: Improve efficiency of ME_IsCandidateAnURL.
+      richedit: Created functions to move between runs and track paragraphs.
+      richedit: Add helpers for setting cursor to start/end of text.
+      richedit: Use ME_Cursor instead of offsets for ME_GetCharFormat.
+      richedit: Use ME_Cursor instead of offsets for ME_SetCharFormat.
+      richedit: Use ME_Cursor instead of offsets for ME_GetTextRange.
+      richedit: Fixed regression in ME_SetCharFormat.
+      richedit: Modified ME_MoveCursorsChars to move multiple chars.
+      richedit: Use ME_Cursor instead of offsets for ME_UpdateLinkAttribute.
+      richedit: Use ME_Cursor instead of offsets for copying text.
+      richedit: Use ME_Cursor instead of offsets for ME_CharFromPos.
+      richedit: Removed ME_InsertRun since it uses character offsets.
+      richedit: Replace offsets arg with ME_Cursor for ME_InternalDeleteText.
+      richedit: Use ME_Cursor instead of offsets for stream out functions.
+      richedit: Use ME_MoveCursorChars in ME_FindText to find relative offset.
+      richedit: Fixed check for nOffset at the end of the cursor's run.
+      wordpad: Use smaller cbSize for REBARBANDINFOW for compatibility.
+      winedbg: Prevent syntax error for setting all debug channels.
+      winedbg: Remove unused tokens in grammer file.
+      winedbg: Correct header for virtual memory mapping for end address.
+      winedbg: Fixed syntax of set command in man pages.
+      winedbg: Properly end non-formatted text in man page.
+      winedbg: Make limitations of set command clearer in man page.
+      include: Add missing declarations and definitions to wincon.h.
 
-Erich Hoover (1):
-      winealsa.drv: Re-allow fallback to waveout (regression in dsound).
+Francois Gouget (6):
+      taskmgr: Remove spaces before '\n'.
+      setupapi: Remove a space before an ellipsis.
+      Assorted spelling fixes.
+      windowscodecs: Add a trailing '\n' to a FIXME().
+      comctl32/tests: Add a trailing '\n' to ok() calls.
+      gdiplus/tests: Add a trailing '\n' to an ok() call.
 
-Francois Gouget (4):
-      shell32: Add a trailing '\n' to a WARN().
-      taskmgr: Remove space before ellipsis.
-      appwiz.cpl: Make sure we have a space before the ellipses in Slovenian resources.
-      notepad: Remove spaces before '\n'.
+Frédéric Delanoy (2):
+      winecfg: Update French translation.
+      wineconsole: Fix French translation.
 
-Frédéric Delanoy (7):
-      kernel32: Update French translation of error messages.
-      notepad: French resources fixes.
-      jscript: Add French translation.
-      jscript: Update French translation.
-      wininet: Update French translation.
-      jscript: Update French translation.
-      jscript: Update French translation.
+Henri Verbeet (40):
+      wined3d: Properly handle negative loop step in shader_glsl_loop().
+      wined3d: Detect EXT_provoking_vertex.
+      wined3d: Use EXT_provoking_vertex to match Direct3D's provoking vertex convention.
+      wined3d: Return ~0U for wined3d_log2i(0).
+      wined3d: Get rid of the unused vbo_mode setting.
+      wined3d: Handle GetData() on event queries that aren't started yet.
+      wined3d: Correctly check for luminance bumpmap parameters in shader_generate_glsl_declarations().
+      wined3d: Fix the type of the shader_reg_maps bitfields.
+      wined3d: Make the "texcoord" shader_reg_maps member a bitmap.
+      wined3d: Make the "temporary" shader_reg_maps member a bitmap.
+      wined3d: Fix swapchain draw buffer cleanup.
+      wined3d: Make the "address" shader_reg_maps member a bitmap.
+      wined3d: Make the "labels" shader_reg_maps member a bitmap.
+      wined3d: Make the "bumpmat" shader_reg_maps member a bitmap.
+      wined3d: Make the "luminanceparams" shader_reg_maps member a bitmap.
+      wined3d: Don't make wgl calls from under the GL lock.
+      wined3d: Remove some unused fields from struct wined3d_gl_info.
+      wined3d: Remove the redundant vs_nv_version and ps_nv_version fields from struct wined3d_gl_info.
+      wined3d: Recognize GL_VENDOR "Tungsten Graphics, Inc." as VENDOR_MESA.
+      wined3d: Escape GL strings with debugstr_a() in IWineD3DImpl_FillGLCaps().
+      wined3d: Add a separate function for guessing the vendor.
+      wined3d: Add a separate function for parsing the GL version.
+      wined3d: Add a separate function for guessing the driver version.
+      wined3d: Add a separate function for guessing the card.
+      wined3d: Make RTL_READTEX the default rendertarget locking method.
+      wined3d: Don't use a start index higher than MAX_COMBINED_SAMPLERS - 1 in device_map_vsamplers().
+      wined3d: Check the correct vertex sampler in device_unit_free_for_vs().
+      wined3d: Use WINED3D_UNMAPPED_STAGE in some more places.
+      wined3d: Remove a redundant IWineD3DDeviceImpl_MarkStateDirty() call.
+      wined3d: Replace find_clip_texcoord() with a generic function for finding a free input register.
+      wined3d: Make use_vs() safe to call from IWineD3DDeviceImpl_FindTexUnitMap().
+      wined3d: Try to force a top-left filling convention.
+      wined3d: Rename some GLSL instruction handlers.
+      wined3d: Pass the context's gl_info to state handlers.
+      wined3d: Hide WINED3DFMT_R16G16B16A16_UNORM again.
+      wined3d: Mark the correct state dirty.
+      wined3d: Add a state handler for WINED3DRS_DEBUGMONITORTOKEN.
+      wined3d: Don't check for a "representative" in the MarkStateDirty() functions.
+      wined3d: Properly check if an attribute is used in IWineD3DDeviceImpl_ProcessVertices().
+      wined3d: Properly check if an attribute is used in TRACE_STRIDED.
 
-Gerald Pfeifer (1):
-      winhttp: Include <sys/socket.h> from winhttp_private.h.  Remove now redundant inclusion from request.c.
+Huw Davies (6):
+      include: Add ALIGNM2 format character.
+      rpcrt4: Add support for FC_ALIGNM2.
+      widl: Add a structure packing command line option.
+      include: Remove const from [out] parameter.
+      widl: A structure that contains an embedded interface ptr in an array is a BOGUS_STRUCT.
+      widl: The alignment written for USER_MARSHAL types is the wire-type alignment.
 
-Hans Leidekker (21):
-      wininet: Correct handling of redirected HEAD requests.
-      wininet: Release the request in WININET_GetProxyServer and WININET_SetProxyAuthorization.
-      wininet: Don't leak the proxy username and password in WININET_SetProxyAuthorization.
-      wininet: Prepare for showing a regular authentication dialog.
-      wininet: Add a regular authentication dialog.
-      wininet: Use a different pointer for the password in WININET_SetAuthorization.
-      wininet: Update Dutch translation.
-      hnetcfg: Add a stub implementation of INetFwMgr.
-      hnetcfg: Add a stub implementation of INetFwPolicy.
-      hnetcfg: Add a stub implementation of INetFwProfile.
-      hnetcfg: Add a stub implementation of INetFwAuthorizedApplication and INetFwAuthorizedApplications.
-      hnetcfg: Add class factory.
-      hnetcfg: Register interfaces.
-      setupapi: Add stub implementations of CM_Get_Device_ID_ListW and CM_Enumerate_Classes.
-      msi: Fix parsing of integer column width specifiers.
-      msi: Fix column width calculation.
-      advapi32: LsaFreeMemory returns NTSTATUS.
-      advapi32: Factor out lookup of local usernames and well-known SIDs.
-      advapi32: Add a basic implementation of LsaLookupNames2.
-      advapi32: Add tests for LsaLookupNames2.
-      include: Add prototypes for EncodePointer and DecodePointer.
+Jacek Caban (29):
+      shdocvw: Check GetContainer result before setting new container.
+      mshtml: Added IHTMLLocation::get_pathname implementation.
+      mshtml: Call stop_binding before releasing binding object.
+      mshtml: Moved TASK_PARSECOMPLETE to nsIMutationObserver::EndLoad.
+      mshtml: Added support for partial reads in read_stream_data.
+      mshtml: Added IBindStatusCallback::OnResponse implementation.
+      mshtml: Use correct macro in HTMLInputTextElement::get_value.
+      mshtml: Don't write null byte in IPersist*::Save functions.
+      mshtml: Call IDocHostUIHandler::TranslateUrl from OnURIOpen.
+      mshtml: Ignore DOCUMENT_TYPE_NODE nodes in nsnode_to_nsstring.
+      mshtml: Added IHTMLElement::get_outerHTML implementation.
+      mshtml: Parse post data in channelbsc_set_channel.
+      jscript: Added missing port.h includes.
+      msxml3: Optimize bstr_from_xmlChar implementation.
+      dbghelp: Improved arena allocation in pool_alloc.
+      dbghelp: Fixed buffer overflow in stabs_parse.
+      dbghelp: Use symt_get_name directly in stabs_pts_read_aggregate.
+      dbghelp: Check for NULL adt before using it in stabs_pts_read_aggregate.
+      mshtml: Disable spell checker.
+      mshtml: Moved parse_post_data to GetBindInfo.
+      urlmon: Added IWinInetHttpInfo stub implementation to BindProtocol object.
+      urlmon: Fixed report_data for recursive calls.
+      urlmon: Fixed bscf for ReportData after mime verification call.
+      urlmon: Check FLAG_ALL_DATA_READ first in protocol_read.
+      urlmon: Added more protocol tests.
+      msxml3: Return xmlnode object from create_basic_node.
+      msxml3: Store xmlnode object in domelem.
+      msxml3: Store xmlnode object in domdoc.
+      mshtml: Code clean up.
 
-Henri Verbeet (56):
-      wined3d: Recognize the SM4 log opcode.
-      wined3d: Skip some unnecessary FBO binds.
-      wined3d: Remove an unused struct member.
-      wined3d: Pass NULL to ActivateContext() when we don't need a specific target.
-      wined3d: Keep track of a context's current render target.
-      wined3d: Call ModifyLocation on "target" in IWineD3DDeviceImpl_ClearSurface().
-      wined3d: Get rid of lastActiveRenderTarget in FindContext().
-      wined3d: Get rid of lastActiveRenderTarget.
-      wined3d: Remove the useless lastThread field from IWineD3DDeviceImpl.
-      wined3d: Keep track of a thread's wined3d context.
-      wined3d: Avoid destroying contexts that are current in another thread.
-      wined3d: Get rid of getActiveContext().
-      wined3d: Simplify FindContext() a bit.
-      wined3d: Move some context selection code from ActivateContext() to FindContext().
-      wined3d: Try to reuse the thread's current context in FindContext().
-      wined3d: Don't reuse contexts marked for destruction.
-      wined3d: Remove some unnecessary code.
-      wined3d: Get rid of last_device.
-      wined3d: Explicitly pass the wined3d context to context_apply_draw_buffer().
-      wined3d: Return the activated context from ActivateContext().
-      wined3d: get_drawable_size() needs a context.
-      wined3d: Manage occlusion queries in the context.
-      wined3d: Manage event queries in the context.
-      wined3d: Explicitly pass the context to get_drawable_size().
-      wined3d: Explicitly pass the context to surface_load_ds_location().
-      wined3d: Get rid of activeContext.
-      wined3d: Return proper NULLs from CreateContext().
-      wined3d: Handle destruction of a context's current render target.
-      wined3d: Use the context's current render target the get the swapchain drawable size.
-      wined3d: Don't use the GL texture flags to determine if a format is a depth stencil in CheckDepthStencilCapability().
-      wined3d: Rename WineD3DContext to struct wined3d_context.
-      wined3d: Don't respecify compressed textures in surface_upload_data().
-      user32: Send 0 as LPARAM for SIZE_MINIMIZED WM_SIZE messages.
-      wined3d: Properly calculate GL_TEXTURE_MAX_ANISOTROPY_EXT.
-      wined3d: Set the initial value of WINED3DTEXSTA_MAXANISOTROPY to 1.
-      wined3d: Update the WINED3DSAMP_MAGFILTER state even if we didn't recognize the value.
-      wined3d: Don't disable mipmapping if we lack EXT_texture_filter_anisotropic.
-      wined3d: Set a more appropriate value for the ANISOTROPIC/NONE min/mip filter.
-      wined3d: Statically initialize the filter lookup tables.
-      wined3d: Remove some unused code.
-      wined3d: Add functions to lookup texture filters.
-      wined3d: Move texture filter lookup table initialization to basetexture_init().
-      wined3d: Remove a redundant check from basetexture_get_autogen_filter_type().
-      wined3d: Get rid of the ANISOTROPIC entry from the filter lookup tables.
-      wined3d: WINED3DTEXF_NONE only makes sense as a mip filter.
-      wined3d: Set the WINED3DTEXF_NONE entry in the minification lookup table to GL_NEAREST.
-      wined3d: Track render_offscreen in the context.
-      wined3d: Explicitly pass the context to the shader_load_constants() handlers.
-      wined3d: Call the shader_load_np2fixup_constants() handler directly from inside the shader backend.
-      winex11.drv: Add support for XShm pixmaps.
-      wined3d: Explicitly pass the context to the shader_select() handler.
-      wined3d: Explicitly pass the context to drawStridedSlow().
-      wined3d: Merge the context->current_rt check for rendertarget readback with the code above.
-      wined3d: Check the return value of wglDeleteContext() in context_destroy_gl_resources().
-      wined3d: Fix a condition in record_lights().
-      winex11.drv: Fallback to X11DRV_SHM_NONE in X11DRV_DIB_DoCopyDIBSection() if dest doesn't match the pixmap.
+Jeff Latimer (1):
+      ws2_32/tests: Tests for invalid conditions in InetNtop.
 
-Huw Davies (12):
-      include: Add dbccmd.idl.
-      include: Add dbcses.idl.
-      include: Add opnrst.idl.
-      include: Add dbdsad.idl.
-      include: Add sesprp.idl.
-      include: Add a missing parameter and fix a few attributes.
-      include: Add binres.idl.
-      include: Add crtrow.idl.
-      include: Remote parameter should be a pointer not an array.
-      widl: Store the pointer description in the type rather than base type so that it gets re-written when the type is re-written.
-      msdaps: Initial stub.
-      include: Add correct structure packing.
+Jesse Litton (1):
+      dbghelp: Don't double memory allocation on every add.
 
-Hwang YunSong (5):
-      cryptui: Updated Korean resource.
-      shell32: Updated Korean resource.
-      wordpad: Updated Korean resource.
-      shdoclc: Updated Korean resource.
-      appwiz.cpl: Updated Korean resource.
+Juan Lang (24):
+      secur32: Implement QueryContextAttributes for SECPKG_ATTR_CONNECTION_INFO.
+      wintrust: Correct alignment for 64-bit.
+      rsaenh: Implement importing PLAINTEXTKEYBLOBs.
+      rsaenh: Implement exporting PLAINTEXTKEYBLOBs.
+      crypt32: Don't free a certificate that hasn't been removed from its store.
+      wininet: Fix memory leak querying proxy settings.
+      wininet: Implement proxy-related per-connection option queries.
+      include: Add INTERNET_DIAGNOSTIC_SOCKET_INFO definitions.
+      wininet: Partially implement InternetQueryOption for INTERNET_OPTION_DIAGNOSTIC_SOCKET_INFO.
+      iphlpapi: Set adapter name in GetAdaptersAddresses.
+      wcmd: Only execute non-empty commands.
+      ws2_32: Add AF_IRDA to the address family map.
+      ws2_32: Add af_irda.h.
+      ws2_32: Test for linux/irda.h.
+      ws2_32: Allow binding to IrDA sockets if IrDA support is compiled in.
+      ws2_32: Implement ws_sockaddr_ws2u for AF_IRDA.
+      ws2_32: Implement ws_sockaddr_u2ws for AF_IRDA.
+      ws2_32: Add debug support for IrDA addresses.
+      ws2_32: Implement getsockopt(SOL_IRLMP, IRLMP_ENUMDEVICES).
+      shdocvw: Support URLs passed by reference in WebBrowser_Navigate2.
+      wine.inf: Add a fake DLL entry for windowscodecs.dll.
+      rpcrt4: Allow Annotation to be NULL.
+      ole32: On big endian machines, copy strings to little endian order without mucking with the map they're stored in.
+      ole32: Correct byte count.
 
-Ismael Barros (1):
-      dplayx/tests: Host migration when session host leaves.
+Jörg Höhle (5):
+      d3d9/tests: Detect empty graphics driver name.
+      cmd: Fix German typo.
+      winecfg: Fix German typo.
+      wined3d: Check GL_SUPPORT prior to an ARB occlusion call.
+      d3d9/tests: SetAutoGenFilterType tests.
 
-Jacek Caban (12):
-      wininet: Code clean up by using heap_strdup* functions.
-      wininet: Code clean up by using heap_strdup* functions.
-      textstor.idl: Added more error code declarations.
-      msctf.idl: Added more interfaces.
-      mshtml: Added VT_UINT handling to debugstr_variant.
-      wininet: Explicity delete Content-Length header for gzip encoded connection.
-      mshtml: Always return hex string in IHTMLBodyElement::get_bgColor.
-      mshtml: Added IHTMLStyle3::wordWrap property implementation.
-      mshtml: Call set_ns_editmode in better place.
-      urlmon: Use one wininet internet handle for all connections.
-      mshtml: Install Gecko in system directory.
-      mshtml: Wine Gecko 1.0.0 release.
+Kai Blin (2):
+      secur32: Load Negotiate provider again.
+      secur32: Revert "secur32: Work around ntlm_auth in Samba 3.0.28a being broken for cached credentials".
 
-Jeff Latimer (2):
-      ws2_32: Add the port to the IPv6 address string if present.
-      ws2_32: Add the scope_id to the IPv6 address string if present.
+Louis Lenders (1):
+      windowscodecs: Add version resource.
 
-John Klehm (1):
-      wintab32: Add a test for context validation by WTOpen.
+Luca Bennati (4):
+      appwiz.cpl: Add Italian translation.
+      winecfg: Update Italian translation.
+      notepad: Update Italian translation.
+      wininet: Update Italian translation.
 
-Juan Lang (17):
-      winhttp: Fix crash when proxy bypass is unset.
-      winhttp: Strip scheme from http_proxy environment variable.
-      winhttp: Check environment if the registry settings are present but bogus.
-      winhttp: If the default proxy settings are not found, delete the bogus ones after test.
-      winhttp: Store send and receive timeouts in request_t, and only set them in a netconn_t if it's connected.
-      winhttp: Set a socket's timeouts when it's created.
-      winhttp: Use connection's timeout rather than default timeout when reading a line.
-      winhttp: Remove calls to SSL_CTX_set_timeout, as they affect the session's lifetime, not the read timeout.
-      winhttp: Remove no-longer-used #defines.
-      winhttp: Implement connect timeout.
-      winhttp: Only output fixme for unhandled resolve timeout.
-      ws2_32: Add debug support for IPv6 addresses.
-      crypt32: Fix leak on error path.
-      secur32: Sanity check handle index before indexing table.
-      secur32: Implement QueryContextAttributes for SECPKG_ATTR_REMOTE_CERT_CONTEXT.
-      wintrust: Implement WVTAsn1SpcSpOpusInfoDecode.
-      secur32: Trace values of SCHANNEL_CRED structure.
-
-Ken Sharp (1):
-      gdiplus: Add GdipIsVisibleRectI stub.
-
-Ken Thomases (1):
-      ntdll: For Darwin/Mac OS X, use legacy getdirentries if 64-bit inodes enabled.
-
-Leonid Lobachev (1):
-      wined3d: Add missing calling convention specifiers.
-
-Luke Benstead (2):
-      ntdll: Add semi-stub implementation for SystemExecutionState query.
-      gdiplus: Implement stub for GdipGetImagePalette.
-
-Maarten Lankhorst (7):
-      Revert "winealsa.drv: Re-allow fallback to waveout (regression in dsound).".
-      msgsm32.acm: Implement a stub dll.
-      msgsm32.acm: Add support for format enumeration.
-      msgsm32.acm: Add support for encoding and decoding.
-      msgsm32.acm: Also check for gsm/gsm.h.
-      winecfg: Remove 'emulation' driver option.
-      winecfg: Hide basic and normal acceleration options by default.
+Maarten Lankhorst (1):
+      includes: Make vmrender.idl C++ friendly.
 
 Marcus Meissner (4):
-      wmc: Duplicate wine_cp_wcstombs check here too (Coverity).
-      jscript: Initialize val_str to NULL (Coverity).
-      ws2_32: Fixed buffer size to MultiByteToWideChar.
-      winhttp: Check for NULL return from heap_alloc (Coverity).
+      winebuild: Added missing close.
+      wrc: Handle "no files == stdin".
+      fnt2bdf: Fixed 2 resource leaks.
+      winemenubuilder: Check for NULL allocation (Coverity).
 
-Michael Karcher (2):
-      ntdll: Fix get_server_context_flags.
-      ntdll: Fix ProcessExecuteFlag logic.
+Michael Karcher (5):
+      ntdll/tests: Implement tests for data execution prevention.
+      server: Don't report LOAD_DLL debug event for exe module.
+      ntdll: Add ProcessExecuteFlags handling to NtQueryInformationProcess.
+      ntdll: Don't send EXCEPTION_EXECUTE_FAULT to Windows programs that didn't enable DEP.
+      ntdll: Add handing of MEM_EXECUTE_OPTION_PERMANENT.
 
-Mike Kaplinskiy (5):
-      ws2_32/tests: Test AcceptEx during pending AcceptEx call.
-      ws2_32/tests: Test closing listener during pending AcceptEx.
-      ws2_32/tests: Fix test failures on NT4/x86_64.
-      ws2_32/tests: Fix the last failures on NT4.
-      ws2_32/tests: Test closing (and CancelIo'ing) accepting socket with pending AcceptEx call.
+Michael Stefaniuc (8):
+      winecfg: Update the Romanian translation.
+      notepad: Update the Romanian translation.
+      wininet: Update the Romanian translation.
+      appwiz.cpl: Update the Romanian translation.
+      winspool.drv: Add the Romanian translation.
+      oleacc: Add the Romanian translation.
+      shdoclc: Add the Romanian translation.
+      winhlp32: Add the Romanian translation.
 
-Nicolas Le Cam (6):
-      kernel32/tests: Test GetVolumeInformation when current directory is a root directory.
-      kernel32/tests: Skip GetVolumeInformation test on current directory when running on a root directory.
-      shell32/tests: Add test for shell links to short path containing double backslashes.
-      shell32/tests: Fix test on temp paths that have a different long form.
-      comdlg32/tests: Hardcode expected values when possible.
-      comdlg32/tests: Fix a failing test on Win2k and below.
+Mike Kaplinskiy (8):
+      ntdll/tests: Test NtCancelIoFileEx, if present.
+      ws2_32/tests: Fix the last failures on NT4/2000.
+      ntdll/tests: Fix NtWriteFile checks.
+      server: Change cancel_async to take an optional iosb and only_thread.
+      ntdll: Implement NtCancelIoFileEx and fix NtCancelIoFile.
+      kernel32: Implement CancelIoEx.
+      ntdll/tests: Test NtCancelIoFile(Ex).
+      ws2_32/tests: Test connecting a pending accept socket.
 
-Nikolay Sivov (23):
-      wingdi.h: Fix RGBQUAD and RGBTRIPLE to match PSDK.
-      comctl32/listview: LVM_SETITEMSTATE - select all item case tests.
-      comctl32/listview: Additional tests for LVM_SETITEMSTATE for all items.
-      comctl32/listview: Handle NULL lParam in LVM_SETITEMSTATE.
-      comctl32/listview: Set LVIS_FOCUSED for all items with LVM_SETITEMSTATE not allowed.
-      comctl32/listview: Don't alter selection mark in LVM_SETITEMSTATE.
-      comctl32/listview: Fix some test failures on comctl32 4.7x.
-      comctl32/comboex: Use const pointer when possible.
-      comctl32/treeview: Correct define name.
-      comctl32/listview: Don't offset to column bound calculating LVIR_LABEL for items.
-      comctl32/listview: Offset every but LVIR_BOUNDS rectangles to column bound in details view.
-      gdiplus: Correctly forward to GdipAddPathPie.
-      comctl32/listview: Respect column order while scrolling columns.
-      comctl32/listview: Introduce a way to update cached column rectangles from Header.
-      comctl32/listview: Fix visibility computation in details view.
-      comctl32/listview: Enable column reordering.
-      comctl32/listview: Fix comment typo.
-      comctl32/treeview: Use a common structure for tests (as we use already for others).
-      comctl32/treeview: Make tests not depend from each other, replace some magics with macros.
-      comctl32/treeview: Some tests to show edit item label problems.
-      comctl32/treeview: Handle EN_KILLFOCUS in WM_COMMAND handler.
-      comctl32/treeview: Use separate pointer for currently edited item.
-      comctl32/treeview: Check passed handle value in WM_COMMAND handler.
+Nikolay Sivov (6):
+      comctl32/listview: Some tests to show we don't handle WM_SETREDRAW right.
+      comctl32/treeview: Fix some test failures on XP and higher.
+      comctl32/treeview: Fix test failure on Vista.
+      comctl32/listview: Block redrawing entirely after WM_SETREDRAW wParam=FALSE.
+      comctl32/tab: Check destination pointer for NULL in TCM_GETITEM handler.
+      comctl32/tab: Init TCITEM fields in TCM_GETITEM when invalid index passed.
 
-Owen Rudge (5):
-      shell32: Check if a numerical value has been passed inside quotes in Control_DoLaunch.
-      shell32: Execute control panel applets in separate process.
-      shell32: Ensure extraPmts is a valid pointer before checking it.
-      winhlp32: Ensure win->page is not NULL when selecting Help on Help.
-      winhlp32: Ensure Open dialog is modal.
+Owen Rudge (6):
+      comctl32/tests: Move v6 test initialisation routines into separate file.
+      include: Define interface for comctl32 v6 (IImageList).
+      include: Add SHGetImageList and its flags to shellapi.h.
+      uuid: Add IImageList (commoncontrols.h).
+      comctl32/tests: Add basic test for IImageList using SHGetImageList.
+      comctl32: Add stubs for image list functions introduced in Vista.
 
-Paul Vriens (15):
-      winecfg: Fix Portuguese (Portugal) translation.
-      shdoclc: Fix Portuguese (Portugal) translation.
-      wordpad: Align resources with the English ones.
-      winhttp/tests: Fix a test failure on some W2K/XP systems.
-      jscript: Add Dutch translations.
-      jscript: Add Dutch translations.
-      wininet: Avoid potential NULL dereferences (Coverity).
-      gphoto2.ds: Remove an used MENU entry from the resources.
-      appwiz.cpl: Fix Dutch translations.
-      xcopy: Add the UTF-8 pragma.
-      gphoto2.ds: Add the UTF-8 pragma for the Danish resources.
-      wineboot: Add the UTF-8 pragma for the Dutch resources.
-      winhlp32: Add the UTF-8 pragma for the Romansh resources.
-      cmdlgtst: Add the UTF-8 pragma for the Italian resources.
-      winhlp32: Add the UTF-8 pragma for the Italian resources.
+Paul Vriens (1):
+      jscript: Add some Dutch translations.
 
-Piotr Caban (26):
-      jscript: Add Error object stub.
-      jscript: Add Error_message implementation.
-      jscript: Add Error_toString implementation.
-      jscript: Add error throwing functions.
-      jscript: Throw range errors in Array functions.
-      jscript: Throw type errors in Boolean functions.
-      jscript: Throw type errors in Date functions.
-      jscript: Throw more errors in Date functions.
-      jscript: Throw TypeError in call_expression_eval.
-      jscript: Throw errors in Number functions.
-      jscript: Added Error_description and Error_number stubs.
-      jscript: Added Error_number and Error_description implementation.
-      jscript: Add Error_number handling to constructor and error throwing functions.
-      jscript: Throw 'undefined object' error.
-      jscript: Throw TypeError in Function_toString.
-      jscript: Throw error in to_primitive function.
-      jscript: Throw TypeErrors when _value functions are used as a function.
-      jscript: Throw SyntaxError in eval function.
-      jscript: Added "Expected '('" error.
-      jscript: Added "Expected ')'" error.
-      jscript: Add "illegal assignment" error.
-      jscript: Added "Expected ';'" error.
-      jscript: Throw more SyntaxErrors in parser.
-      jscript: Added 'unterminated string' error.
-      jscript: Make compare2_values working with NULL BSTR's.
-      jscript: Added JSGlobal_parseFloat implementation.
+Piotr Caban (22):
+      jscript: Lookup global members after script_disp.
+      jscript: Fixed var handling.
+      jscript: Added $ handling to String.replace.
+      jscript: Inherit some String functions from Object.
+      jscript: Inherit some RegExp functions from Object.
+      jscript: Inherit some Number functions from Object.
+      jscript: Fixed Object.toLocaleString implementation.
+      jscript: Inherit some Date functions from Object.
+      jscript: Inherit some Boolean function from Object.
+      jscript: Inherit some Array functions from Object.
+      jscript: Inherit some Error functions from Object.
+      jscript: Inherit some Function functions from Object.
+      jscript: Added RegExp.source implementation.
+      jscript: Inherit Math from Object.
+      jscript: Added Boolean's function lengths test.
+      jscript: Fixed Number's function lengths.
+      jscript: Fixed String's function lengths.
+      jscript: Fixed RegExp's function lengths.
+      jscript: Fixed Date's function lengths.
+      jscript: Fixed Array's function lengths.
+      jscript: Fixed Math's function lengths.
+      jscript: Fixed Object's function lengths.
 
-Rein Klazes (10):
-      user32: Ignore the MFT_BITMAP flag when testing menu items for 'magic' bitmap handles.
-      user32/tests: Fix for a test failure on win98/NT4.
-      user32: Put some repeated code for checking and extending of a MENUITEMINFO structure in a separate function.
-      user32: When setting a menu item, handle MIIM_TYPE flag by setting approriate MIIM_BITMAP, MIIM_FTYPE and MIIM_STRING flags.
-      user32: Get rid of internal function MENU_SetItemData, use SetMenuItemInfo_common instead.
-      ws2_32: Do not make the unix file descriptor blocking. Too many places in the socket code assume it is not.
-      user32: Fail if inserting a submenu would create a loop in the menu hierarchy.
-      comdlg32: Set MAXTEXTROWS of the toolbar in the file dialog to zero.
-      user32: When all items in a menu have either a bitmap or text but not both, then texts should be aligned with the bitmaps.
-      comdlg32: Fix problems in calculation of the size of a file dialog.
+Rein Klazes (6):
+      comdlg32: In the file dialog change the position of the file browser when the application changes that of the invisible listbox control.
+      comdlg32/tests: Fix some test failures on Win95 and NT4.
+      user32: Fix a bug in computing the maximum depth of a branch in a menu hierarchy.
+      advapi32: SetEntriesInAclW() should accept account name "CURRENT_USER".
+      winecfg: Let the user specify the drive letter of a to be added drive.
+      user32: Handle WM_PRINTCLIENT message in PopupMenuWndProc().
 
-Ricardo Filipe (8):
-      oleacc: Add Portuguese translation.
-      winedbg: Add Portuguese translation.
-      winhlp32: Update Portuguese translation and convert to UTF8.
-      cryptui: Add Portuguese translation.
-      kernel32: Add Portuguese translation.
-      jscript: Add Portuguese translation.
-      wininet: Fix Portuguese translation and convert to UTF8.
-      regedit: Update Portuguese translation.
+Rico Schüller (5):
+      wined3d: Fix some checkGLcalls.
+      d3d10: Add annotation skipping.
+      d3d10: Add ID3D10EffectConstantBufferVtbl.
+      d3d10: Implement GetConstantBufferByName.
+      d3d10: Implement GetConstantBufferByIndex.
 
-Roderick Colenbrander (7):
-      winex11: Add support for GCs at more depths.
-      winex11: Make BRUSH_DitherColor independent of the screen_depth.
-      winex11: Make X11DRV_SetupGCForPatBlt independent of screen_depth.
-      winex11: XRenderComposite can be inaccurate when scaled x / y source coordinates are passed to it.
-      wgl: Fix usage of non-GLX visual in glXCreateContext.
-      winex11: Fix XRender_GetSrcAreaStretch compile bug for when XRender isn't around.
-      opengl32: Add opengl 3.2 extensions.
+Roderick Colenbrander (1):
+      wined3d: Get rid of two dead render target lock mode options.
 
-Stefan Dösinger (12):
-      wined3d: Don't activate a context unless we need one.
-      wined3d: Set the highest dirty marker after marking shader constants dirty.
-      wined3d: ARB clipplane init needs the helper constant.
-      wined3d: Only use WINE_normalized_texrect if ARB_texture_np2 is supported.
-      wined3d: Preload the correct texture location.
-      wined3d: Enable WINED3DFMT_R16G16B16A16_UNORM.
-      wined3d: Not all cards support float16 filtering.
-      ddraw: d3d7 does not support two sided stencil.
-      wined3d: Watch out about higher constants when clamping ps 1.x consts.
-      d3d: Filter R8G8B8 in d3d8 and d3d9.
-      wined3d: Filter WINED3DSTENCILCAPS_TWOSIDED in d3d8.
-      wined3d: Dirtify the correct state.
+Stefan Dösinger (1):
+      wined3d: Use 50 chars for register names in texm3x3* functions.
 
 Stefan Leichter (4):
-      advapi32: Fix parameter types of CreateServiceA/W in spec file.
-      advapi32: Test a combination of CreateServiceA and GetSecurityInfo.
-      shell32: Make the tests of the value returned from function SHGetFileInfoA more strick, fix wine to pass the tests.
-      shdocvw: Add stub for SHRestricted2W.
+      advapi32: Add stub for SaferGetPolicyInformation.
+      ntoskrnl.exe: Add stub for IoQueryDeviceDescription.
+      kernel32: Test GetPrivateProfileString with empty string as key and section.
+      ntoskrnl.exe: Stub for IoReportResourceUsage.
 
-Vincent Beers (1):
-      winecfg: Fixed Dutch translation.
+Sunil Mohan (1):
+      oleaut32: Fix SLTG_ReadString to null terminate.
 
-Vincent Povirk (19):
-      mapi32: Add version numbers to version resource.
-      gdiplus: Don't use -escapement angle in GdipDrawString.
-      gdiplus: Do not draw line-breaking spaces.
-      gdiplus: Store color key information in ImageAttributes.
-      gdiplus: Fix rectangles of horizontal and vertical gradients.
-      gdiplus: Ignore the graphics transforms in GdipGetRegionBounds.
-      include: Add IWICBitmapDecoderInfo to headers.
-      windowscodecs: Add stub implementation of IWICBitmapDecoderInfo.
-      windowscodecs: Implement IWICBitmapDecoderInfo::GetComponentType.
-      windowscodecs: Implement IWICBitmapDecoderInfo::GetPatterns.
-      windowscodecs: Implement IWICBitmapDecoderInfo::CreateInstance.
-      windowscodecs: Implement IWICBitmapDecoderInfo::MatchesPattern.
-      windowscodecs: Add tests for IWICBitmapDecoderInfo.
-      windowscodecs: Implement GetDecoderInfo for BMP decoder.
-      windowscodecs: Implement IWICImagingFactory::CreateComponentEnumerator.
-      include: Add definitions for CreateDecoderFromStream.
-      windowscodecs: Implement IWICImagingFactory::CreateDecoderFromStream.
-      windowscodecs: Add test for IWICImagingFactory::CreateDecoderFromStream.
-      hhctrl.ocx: Ensure that the topic within MSITStore url's begins with /.
+Tony Wasserka (7):
+      ddraw: Add DDSD_DEPTH to ddraw.h.
+      windowscodecs: Add stubs for the IWICStream interface.
+      windowscodecs: Add IWICStream_InitializeFromMemory implementation.
+      windowscodecs: Support reading from memory streams in IWICStream.
+      windowscodecs: Support writing to memory streams in IWICStream.
+      windowscodecs: Support Seek for memory streams in IWICStream.
+      windowscodecs: Support Stat for memory streams in IWICStream.
 
-Vladimir Pankratov (55):
-      clock: Convert the Russian resources to UTF-8.
-      cmdlgtst: Convert the Russian resources to UTF-8.
-      notepad: Convert the Russian resources to UTF-8.
-      oleview: Convert the Russian resources to UTF-8.
-      progman: Convert the Russian resources to UTF-8.
-      reg: Convert the Russian resources to UTF-8.
-      net: Convert the Russian resources to UTF-8.
-      regedit: Convert the Russian resources to UTF-8.
-      start: Convert the Russian resources to UTF-8.
-      taskmgr: Convert the Russian resources to UTF-8.
-      wineboot: Convert the Russian resources to UTF-8.
-      view: Convert the Russian resources to UTF-8.
-      uninstaller: Convert the Russian resources to UTF-8.
-      winecfg: Convert the Russian resources to UTF-8.
-      wineconsole: Convert the Russian resources to UTF-8.
-      winefile: Convert the Russian resources to UTF-8.
-      winemine: Convert the Russian resources to UTF-8.
-      winhlp32: Convert the Russian resources to UTF-8.
-      winedbg: Convert the Russian resources to UTF-8.
-      wordpad: Convert the Russian resources to UTF-8.
-      xcopy: Convert the Russian resources to UTF-8.
-      write: Convert the Russian resources to UTF-8.
-      appwiz.cpl: Convert the Russian resources to UTF-8.
-      comctl32: Convert the Russian resources to UTF-8.
-      browseui: Convert the Russian resources to UTF-8.
-      avifile: Convert the Russian resources to UTF-8.
-      comdlg32: Convert the Russian resources to UTF-8.
-      iccvid: Convert the Russian resources to UTF-8.
-      localspl: Convert the Russian resources to UTF-8.
-      hhctrl.ocx: Convert the Russian resources to UTF-8.
-      localui: Convert the Russian resources to UTF-8.
-      gphoto2.ds: Convert the Russian resources to UTF-8.
-      mpr: Convert the Russian resources to UTF-8.
-      msacm32: Convert the Russian resources to UTF-8.
-      credui: Convert the Russian resources to UTF-8.
-      mshtml: Convert the Russian resources to UTF-8.
-      msi: Convert the Russian resources to UTF-8.
-      msvfw32: Convert the Russian resources to UTF-8.
-      msrle32: Convert the Russian resources to UTF-8.
-      msvidc32: Convert the Russian resources to UTF-8.
-      oleaut32: Convert the Russian resources to UTF-8.
-      oledlg: Convert the Russian resources to UTF-8.
-      setupapi: Convert the Russian resources to UTF-8.
-      serialui: Convert the Russian resources to UTF-8.
-      sane.ds: Convert the Russian resources to UTF-8.
-      shdoclc: Convert the Russian resources to UTF-8.
-      shell32: Convert the Russian resources to UTF-8.
-      wininet: Convert the Russian resources to UTF-8.
-      wineps.drv: Convert the Russian resources to UTF-8.
-      user32: Convert the Russian resources to UTF-8.
-      shlwapi: Convert the Russian resources to UTF-8.
-      winmm: Convert the Russian resources to UTF-8.
-      wldap32: Convert the Russian resources to UTF-8.
-      winspool.drv: Convert the Russian resources to UTF-8.
-      kernel32: Convert the Russian resources to UTF-8.
+Vincent Povirk (63):
+      include: Add more pixel formats to wincodec.idl.
+      windowscodecs: Add support for BI_BITFIELDS compressed BMP files.
+      include: Add IWICStream to headers.
+      windowscodecs: Fix copy_pixels when Y != 0.
+      gdiplus: Remove an unnecessary picture reference in GdipSaveImageToFile.
+      include: Add definitions needed for WIC bitmap encoding.
+      windowscodecs: Add stub BMP encoder.
+      windowscodecs: Implement Initialize for BMP encoder.
+      windowscodecs: Implement CreateNewFrame for BMP encoder.
+      windowscodecs: Implement Initialize for the BMP frame encoder.
+      windowscodecs: Implement SetSize for the BMP frame encoder.
+      windowscodecs: Implement SetPixelFormat for BMP frame encoder.
+      windowscodecs: Implement SetResolution for BMP frame encoder.
+      windowscodecs: Implement WritePixels for BMP frame encoder.
+      windowscodecs: Implement Commit for BMP frame encoder.
+      windowscodecs: Implement Commit for BMP encoder.
+      windowscodecs: Implement WriteSource for BMP frame encoder.
+      windowscodecs: Register all formats supported by the BMP decoder.
+      include: Add definitions needed for WIC pixel format conversion.
+      windowscodecs: Add stub implementation of WICStandardFormatConverter.
+      windowscodecs: Implement conversion from 32bppBGR to 32bppBGRA.
+      windowscodecs: Implement GetSize/Resolution for default format converter.
+      windowscodecs: Implement GetPixelFormat for default format converter.
+      windowscodecs: Implement conversion to 32bppBGR.
+      windowscodecs: Add stub implementation of IWICFormatConverterInfo.
+      windowscodecs: Register the default pixel format converter.
+      windowscodecs: Implement WICConvertBitmapSource.
+      windowscodecs: Implement conversion from 16bppBGR555 to 32bppBGRA.
+      windowscodecs: Implement conversion from 16bppBGR565 to 32bppBGRA.
+      windowscodecs: Implement conversion from 1bppIndexed to 32bppBGRA.
+      windowscodecs: Implement conversion from 24bppBGR to 32bppBGRA.
+      windowscodecs: Implement conversion from 4bppIndexed to 32bppBGRA.
+      windowscodecs: Implement conversion from 8bppIndexed to 32bppBGRA.
+      windowscodecs: Add a WARN message when CreateDecoderFromStream fails.
+      windowscodecs: Add test for pixel format conversion.
+      windowscodecs: Add stub GIF decoder.
+      windowscodecs: Register the GIF decoder.
+      windowscodecs: Implement Initialize for the GIF decoder.
+      windowscodecs: Implement GetFrameCount and GetFrame for the GIF decoder.
+      windowscodecs: Implement GetSize for the GIF decoder.
+      windowscodecs: Implement CopyPalette for the GIF decoder.
+      windowscodecs: Implement CopyPixels for GIF decoder.
+      oleaut32: Use WIC to decode gif files.
+      windowscodecs: Implement GetContainerFormat for the GIF decoder.
+      windowscodecs: Implement GetDecoderInfo for the GIF decoder.
+      gdiplus: Add a test for drawing to application-provided memory.
+      oleaut32: Add test for INT and UINT property return values.
+      oleaut32: Map INT and UINT typedesc's to VT_I4 and VT_UI4.
+      gdiplus: Store the codec information and functions in a single structure.
+      gdiplus: Implement GdipGetImageDecoders[Size].
+      gdiplus: Only attempt to encode if the Encoder flag is set.
+      gdiplus: Add codecs for the image formats we can currently decode.
+      gdiplus: Do not call IPicture_Render directly from GdipDrawImageI.
+      gdiplus: Remove an ipicture reference in GdipCreateBitmapFromStream.
+      windowscodecs: Add stub ICO decoder.
+      windowscodecs: Implement Initialize for the ICO decoder.
+      windowscodecs: Implement GetFrameCount and GetFrame for the ICO decoder.
+      windowscodecs: Implement GetSize for the ICO decoder.
+      windowscodecs: Implement CopyPixels for 8-bit ICO icons.
+      windowscodecs: Implement CopyPixels for 24-bit ICO icons.
+      windowscodecs: Implement CopyPixels for 4-bit ICO icons.
+      windowscodecs: Implement CopyPixels for 1-bit ICO icons.
+      windowscodecs: Implement CopyPixels for 32-bit ICO icons.
+
+Vitaliy Margolen (10):
+      dinput: Move axes mapping array and default dead-zone into generic joystick class.
+      dinput: Move axes count into base joystick class.
+      dinput: Move setup_dinput_options into common place.
+      dinput: Rename device axes to direct input axes mapping array to dev_axes_to_di.
+      dinput: Evdev joystick driver - add ability to remap axis.
+      dinput: Let driver specify default axis mapping.
+      dinput: Set default joystick axes mapping for evdev.
+      dinput: Expand joydev joystick discovery to query joystick name as well.
+      dinput: Get default axes configuration from the device for joydev.
+      dinput: Fix evdev POV mapping.
+
+Vladimir Pankratov (6):
+      shdocvw: Fix format parameter type.
+      hhctrl.ocx: Handle NULL param.
+      mshtml: Implement OmNavigator_get_appName.
+      mshtml: Add test for OmNavigator_get_appName.
+      winecfg: Update Russian translation.
+      wininet: Update Russian translation.
 
 --
 Alexandre Julliard
diff --git a/VERSION b/VERSION
index 419e06d..2f5e19f 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-Wine version 1.1.27
+Wine version 1.1.28
diff --git a/configure b/configure
index 68b48c5..ab0e97a 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64 for Wine 1.1.27.
+# Generated by GNU Autoconf 2.64 for Wine 1.1.28.
 #
 # Report bugs to <wine-devel@winehq.org>.
 #
@@ -549,8 +549,8 @@
 # Identity of this package.
 PACKAGE_NAME='Wine'
 PACKAGE_TARNAME='wine'
-PACKAGE_VERSION='1.1.27'
-PACKAGE_STRING='Wine 1.1.27'
+PACKAGE_VERSION='1.1.28'
+PACKAGE_STRING='Wine 1.1.28'
 PACKAGE_BUGREPORT='wine-devel@winehq.org'
 PACKAGE_URL='http://www.winehq.org'
 
@@ -1364,7 +1364,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Wine 1.1.27 to adapt to many kinds of systems.
+\`configure' configures Wine 1.1.28 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1433,7 +1433,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Wine 1.1.27:";;
+     short | recursive ) echo "Configuration of Wine 1.1.28:";;
    esac
   cat <<\_ACEOF
 
@@ -1571,7 +1571,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Wine configure 1.1.27
+Wine configure 1.1.28
 generated by GNU Autoconf 2.64
 
 Copyright (C) 2009 Free Software Foundation, Inc.
@@ -2091,7 +2091,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Wine $as_me 1.1.27, which was
+It was created by Wine $as_me 1.1.28, which was
 generated by GNU Autoconf 2.64.  Invocation command line was
 
   $ $0 $@
@@ -18096,7 +18096,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Wine $as_me 1.1.27, which was
+This file was extended by Wine $as_me 1.1.28, which was
 generated by GNU Autoconf 2.64.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -18161,7 +18161,7 @@
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_version="\\
-Wine config.status 1.1.27
+Wine config.status 1.1.28
 configured by $0, generated by GNU Autoconf 2.64,
   with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
