The Wine development release 1.1.21 is now available.

What's new in this release (see below for details):
  - Beginnings of shader model 4 support.
  - Support for copying/pasting images from X11 applications.
  - A number of GDIPlus improvements.
  - Various listview fixes.
  - 64-bit support in winemaker.
  - Support for building on Mac OS X Snow Leopard.
  - Various bug fixes.

The source is available from the following locations:

  http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.1.21.tar.bz2
  http://prdownloads.sourceforge.net/wine/wine-1.1.21.tar.bz2

Binary packages for various distributions will be available from:

  http://www.winehq.org/site/download

You will find documentation on http://www.winehq.org/site/documentation

You can also get the current source directly from the git
repository. Check http://www.winehq.org/site/git for details.

Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.

----------------------------------------------------------------

Bugs fixed in 1.1.21:

   4256  Worms 2 intro films play for a few seconds without video then stop (mciavi)
   6232  CListCtrl: Control in the first column does not resize
   6505  WoW crashes using D3D during flight sequences
   6828  Sanitarium - D3D fails to create surface
   7681  Bug or Wrong Comment? X11DRV_XRender_UpdateDrawable is called from X11DRV_ExtEscape.
   8224  Adobe Lightroom 1.0 won't let you create a database
  10839  The virtual desktop should be resizable
  11836  Adobe Acrobat Pro 6 / Acrobat Pro 7 -- "Save As" fails
  12936  Visma Skatt: Craches when regaining focus
  13257  bricscad: separators in vertical toolbar rotated by 90 degrees, causing layout problems
  13814  Cannot Launch Quicktime
  14018  War of the Ring terrain textures appear and disappear constantly
  14420  Condemned Criminal Origins Mouse Cursor Unable to initialise
  14574  iphlpapi: GetAdaptersAddresses required for some utility classes in system.net namespace (.NET)
  14596  Some text does not display in Soundslides
  14705  Patch for Wordpad that fixes some glaring issues on Windows and Reactos
  14827  Autocad 2005 : Multiline text edit crashes application
  14862  Crash during execution of cbsetup.exe
  15080  Lego Star Wars crashes
  15310  DVDShrink: Preview no longer works
  15814  Oblivion crashes on launch
  15877  unimplemented function sxs.dll.CreateAssemblyNameObject, aborting
  15915  cinepak codec reportedly not installed, FourCC case mismatch
  16317  Unhandled exception unimplemented function setupapi.dll.SetupPromptForDiskA
  16412  3dmark2000 Environment Bump Mapping test broken in 1.1.10
  16728  Condor: needs native d3dxof.dll for x-file loading
  16846  Children of the nile demo crashes when loading a game
  17338  Quicken 2007 Home & Business crashes with X Error "BadLength"
  17832  FEAR 1.08: Pixelshader compilation fails with ARB backend
  17851  WSAAddressToStringA AF_INET6 implementation missing
  17902  ole32.CoGetClassObject: threads without apartment should use existing MTA
  17904  PortalGT Mud Client exception
  17938  DVD Shrink does not recognize NTFS partitions - creates MDS instead of ISO files
  17980  BDE application cannot open any db file
  18045  Dangerous usage of strncat
  18077  DigiSpel: Cannot move puzzle pieces
  18102  Chattha Sangayana - can't use scrollbars
  18180  License server problem
  18193  Notepad outputs different date format than native
  18215  LB_DELETESTRING handler does not send LB_RESETCONTENT if only item is removed
  18218  spec file for xinput1_3 is incorrect
  18299  Orca crashes in comctl32
  18307  .desktop file associates with too many mime types (zip, executable)
  18331  John Tiller's campaign series, fatal crash on game startup
  18338  Parkan IC: No video shown
  18354  Suunto Training Manager crashes shortly after startup
  18388  Roblox crashes on install with unimplemented function pdh.dll.PdhMakeCounterPathA

----------------------------------------------------------------

Changes since 1.1.20:

Alexandre Julliard (24):
      Revert "kernel32: Report unixfs instead of ntfs for unknown filesystem type."
      wininet: Add stubs for PrivacyGet/SetZonePreferenceW.
      wininet: Fix a memory leak in the URL cache.
      include: Added definitions for IHTMLWindow4 and IHTMLWindow5.
      include: Added definition of the DispHTMLWindowProxy interface.
      include: Added definitions for HTMLWindowEvents and HTMLWindowEvents2.
      ws2_32: Use SIZE_T instead of size_t for inet_ntop argument.
      ntdll: Move NtRaiseException and RtlUnwind implementations to the CPU-specific files.
      ntdll: Use standard siginfo signal handlers on all platforms.
      ntdll: Save all segment registers on x86_64. Implement set_cpu_context.
      winebuild: Use iretq on x86_64 to restore more system registers and flags.
      winedbg: Fix formatting of the flag register bits.
      winedbg: Implement single step for x86_64.
      wininet: Pass the complete redirected URL in INTERNET_STATUS_REDIRECT callbacks.
      winex11: Limit window dimensions to 65535 to avoid 16-bit truncation issues.
      user32: Make sure the system params DC cannot be deleted.
      winedump: Add dumping of x86_64 exception tables.
      winapi: Handle types should be treated as pointers.
      gdiplus/tests: Don't free GDI objects with GlobalFree.
      ntdll: Fix the LPC_MESSAGE structure definition for 64-bit.
      user32/tests: Fix the window creation on Win64.
      ole32/tests: Fix the clipboard format test on Win64.
      oleaut32/tests: Use the correct allocator in the ClearCustData test.
      oleaut32/tests: Don't crash if ITypeInfo_GetTypeAttr fails.

André Hentschel (9):
      winemaker: Fix path handling for Current Working Directory.
      winemaker: Fix project file path parsing.
      winemaker: Fix optimizations.
      winemaker: Add often used negative optimization.
      cmdlgtst: Spelling fix.
      winemaker: Ignore quotes in source filenames.
      winemaker: Make winemaker 64-bit ready.
      winemaker: Update manpage.
      winemaker: Remove unnecessary quote filtering.

Aric Stewart (11):
      msctf: Implement ITfCategoryMgr::UnregisterCategory.
      msctf: Implement ITfCategoryMgr::RegisterGUID, ITfCategoryMgr::GetGUID and ITfCategoryMgr::IsEqualTfGuidAtom.
      msctf: Implement ITfMessagePump.
      msctf: Implement ITfClientId.
      msctf: Implement ITfKeystrokeMgr::PreserveKey.
      msctf: Implement ITfKeystrokeMgr::UnpreserveKey.
      msctf: Implement ITfKeystrokeMgr::IsPreservedKey.
      msctf: Add internal functions for managing active text services.
      msctf: Implement ITfInputProcessorProfiles::ActivateLanguageProfile.
      msctf: Implement ITfInputProcessorProfiles::GetActiveLanguageProfile.
      msctf: Implement ITfThreadMgr::Activate and ITfThreadMgr::Deactivate.

Austin English (10):
      notepad: Fix date format to match windows.
      winetest: When extracting tests, run in console mode.
      notepad: Don't append seconds to time format.
      crypt32/tests: Print a better error if no Verisign root certificates available.
      ws2_32/tests: Add initial tests for WSAStartup.
      t2embed: Add stub dll.
      winex11.drv: Remove an outdated comment.
      wbemprox: Add stub dll.
      winedump: Sign compare fixes.
      d3d9/tests: Sign compare fix.

Christian Costa (3):
      mciqtz32: Add support for MCI_GETDEVCAPS.
      mciqtz32: Add support for MCI_WHERE.
      mciqtz32: Add support for MCI_SET.

Damjan Jovanovic (1):
      wine.inf: Add more file type descriptions.

Dan Kegel (1):
      ntdll: Add missing RtlReAllocateHeap Valgrind hook, add tests.

David Adam (1):
      d3d9: Fix a copy/paste error in test.

Detlef Riekenberg (6):
      urlmon/tests: Handle BSCF_SKIPDRAINDATAFORFILEURLS to fix failures on IE8.
      wininet/tests: Prefer winehq.org over winehq.com.
      msi/tests: Run tests again with older msi versions (MsiApplyMultiplePatchesA).
      localspl: Start implementation of OpenPrinter/ClosePrinter.
      localspl: Support XcvMonitor/XcvPort in OpenPrinter.
      winspool: Move remaining Xcv support to the backend.

Dmitry Kislyuk (1):
      kernel32/tests: Show that NULLs need to be preserved in data before first section.

Dmitry Timoshkov (4):
      user32: Add the tests for LB_DELETESTRING, make them pass under Wine.
      explorer: Initialize the Progman DDE interface when starting explorer.
      msvfw32: Remove useless and harmful traces from ICDecompress.
      kernel32: Make SystemTimeToTzSpecificLocalTime and TzSpecificLocalTimeToSystemTime prototypes match PSDK.

Eric Pouech (4):
      kernel32: In editline's keys table, use constants instead of numeric constants.
      kernel32: Completely get rid of ENHANCED_KEY entry in the keymap.
      user32: Clearly separate the 16bit code out of user32.
      user32: Make ddeml.dll into a stand-alone 16bit module.

Francois Gouget (10):
      kernel32/tests: Add a trailing '\n' to ok() calls.
      msctf/tests: Remove spaces before '\n'.
      Assorted spelling fixes.
      winedbg: Remove an unused debug channel.
      sane.ds: Remove an unused debug channel.
      taskmgr: Make FillSolidRect2() and Draw3dRect2?() static.
      wineps.drv: PSDRV_CmpColor() and PSDRV_Write{ArrayGet, InitClip, RRectangle}() are unused so remove them.
      credui: Remove spaces before '\n'.
      rpcrt4: Remove WINAPI on static functions where not needed.
      notepad: Make NOTEPAD_DoReplace(All)?() static.

Giuseppe Bilotta (2):
      comctl32/toolbar: Skip iString field for separators.
      comctl32/toolbar: When a null lParam is passed to TB_GETBUTTONTEXTA, we should not return -1 but the string size.

Guy Albertelli (4):
      kernel32/tests: Add tests for GetVolumeInformationA and QueryDosDevice.
      kernel32: Fix GetVolumeInformation[AW] to require trailing \.
      kernel32/tests: Add tests to verify GetVolumeNameForVolumeMountPointA returns correct string.
      kernel32/tests: Fix new problems with volume tests.

Hans Leidekker (12):
      ws2_32: Implement GetAddrInfoW and FreeAddrInfoW.
      include: Add some types and constants used in the IP helper API.
      iphlpapi: Implement GetAdaptersAddresses.
      iphlpapi: Add tests for GetAdaptersAddresses.
      wininet: Implement InternetReadFileEx for ftp requests.
      wininet: Replace any existing content length header in HttpSendRequest.
      msi: Implement MsiApplyMultiplePatchesA/W.
      ole32: Add tests to show that COM needs to be initialized only once for multi-threaded apartments.
      ole32: Use existing MTA in CoGetClassObject and CoCreateInstance.
      msi: Reject NULL or empty patch package parameter in MsiApplyPatch.
      wininet: Don't send any data after being redirected.
      pdh: Implement PdhMakeCounterPathA/W.

Henri Verbeet (51):
      wined3d: Store D3D shader opcode names in a separate table.
      wined3d: Use shader_sm1_read_opcode() in shader_trace_init().
      wined3d: Add a function to read a source parameter from SM1-3 bytecode.
      wined3d: Add a function to read a destination parameter from SM1-3 bytecode.
      wined3d: Add a wined3d pixel shader to struct d3d10_pixel_shader.
      wined3d: Create a separate function to record register usage.
      wined3d: Use shader_sm1_read_dst_param() and shader_sm1_read_src_param() in shader_get_registers_used().
      wined3d: Clear reg_maps in shader_get_registers_used() instead of the callers.
      wined3d: Mask set bool/int constants with bool/int constants read.
      wined3d: Remove some redundant defines.
      wined3d: Store the sampler type in struct shader_reg_maps.
      wined3d: Introduce shader_sm1_read_semantic().
      wined3d: Handle the sampler type shift in the frontend.
      wined3d: The "input" parameter to shader_dump_param() should be a BOOL.
      wined3d: Relative addressing tokens are always source parameters.
      wined3d: Explicitly pass the register type and index to shader_get_float_offset().
      wined3d: Explicitly pass register type, index, etc. to shader_dump_param().
      wined3d: Pass a struct wined3d_shader_semantic to shader_dump_decl_usage().
      wined3d: Split shader_dump_param() in shader_dump_src_param() and shader_dump_dst_param().
      wined3d: Define GL_FENCE_APPLE to the correct value.
      wined3d: Merge shader_dump_arr_entry() into shader_dump_register().
      wined3d: Use the shader_sm1_read_*() functions in shader_trace_init().
      wined3d: Merge wined3d_private_types.h into wined3d_private.h.
      wined3d: Introduce shader_sm1_read_comment() to read shader comments.
      wined3d: Avoid using WINED3DSP_REGNUM_MASK in the def/defi/defb handlers.
      wined3d: Get rid of the remaining WINED3DSP_REGNUM_MASK usage.
      wined3d: Move SM 1-3 parsing functions to their own file.
      wined3d: Create a frontend for parsing shaders.
      wined3d: Add a frontend function to determine if there are any tokens left.
      wined3d: Select the frontend based on the version token.
      wined3d: Introduce a stubbed SM4 shader frontend.
      wined3d: Handle reading the shader header in the frontend.
      wined3d: Add a minimal implementation of shader_sm4_read_opcode().
      wined3d: Store the SM 1-3 opcode information tables in the SM 1-3 frontend.
      wined3d: Implement shader_sm4_is_end().
      wined3d: Remove some redundant code.
      wined3d: Fix some more indentation.
      wined3d: Shift the writemask in the frontend.
      wined3d: Add an initial shader_sm4_read_dst_param() implementation.
      wined3d: Add an initial shader_sm4_read_src_param() implementation.
      wined3d: Improve shader_sm4_read_opcode() to handle some simple opcodes.
      wined3d: Store the shader version in the frontend's private data.
      wined3d: Create a struct wined3d_shader_version to store version information.
      wined3d: Add support for immediate constants to shader_dump_register().
      wined3d: Increase the size of glsl_src_param_t.param_str.
      wined3d: Group register information into struct wined3d_shader_register.
      wined3d: Fix shader_glsl_get_register_name() indentation.
      wined3d: Pass a struct wined3d_shader_register to shader_glsl_get_register_name().
      wined3d: Pass a struct wined3d_shader_register to shader_is_scalar().
      wined3d: Add support for immediate constants to the GLSL backend.
      wined3d: Record register usage only once.

Hib Eris (6):
      msi/tests: Test type for INT column.
      msi: Fix INT column data type.
      msi/tests: Test type for INTEGER, SHORT, LONG columns.
      msi: Fix SHORT column data type.
      msi/tests: Test type for LONGCHAR columns.
      msi: Fix LONGCHAR column data type.

Huw Davies (3):
      oleaut32: Don't ask for a name if it's not required.
      ole32: Don't ask for a name if it's not required.
      ole32: Implement GetDataHere.

Hwang YunSong (2):
      winedbg: New Korean resource.
      notepad: Updated Korean resource.

Jeff Latimer (5):
      include: Define IN6ADDR_ANY_INIT and IN6ADDR_LOOPBACK_INIT and code for IN6_IS_ADDR_LOOPBACK.
      ws2_32/tests: Add tests for Inet_Ntop and inet_ntoa.
      ws2_32: Make inet_ntop conform to msdn definition.
      ws2_32/tests: IPv6 tests for WSAAddressToStringA.
      ws2_32: IPv6 functionality for WSAAddressToStringA.

Juan Lang (4):
      cryptui: If an input file name is given to CryptUIWizImport, show it in the wizard.
      inetmib1: Check return values from SnmpUtilOid functions in utility functions.
      inetmib1: Return error codes from internal query functions.
      inetmib1: Return errors from SnmpExtensionQuery.

Jörg Höhle (1):
      msvfw32/tests: Add mixed-case FOURCC comparisons.

Ken Thomases (5):
      winegcc: Recognize '-arch <arch>' as a compiler and linker option.
      winebuild: On Mac OS X, use -arch option to control output of "ld" and "as".
      configure: On Mac OS X, always specify target architecture to the dev tools.
      winecoreaudio: Fix building on Snow Leopard.
      dbghelp: Don't check version of Mach-O dyld_all_image_infos structure.

Konstantin Kondratyuk (1):
      fonts: Add Kazakhstan's symbols into tahomabd.

Marcus Meissner (2):
      msi: Initialize info and patch variables (Coverity 923).
      crypt32: Change salt allocation to handle errors (Coverity 133).

Massimo Del Fedele (3):
      riched20: Fix placement of crlf on font table streamout.
      richedit20: Test for fonttbl streamout.
      gdiplus: Add stub for GdipBitmapSetPixel.

Michael Stefaniuc (5):
      msctf/tests: Move 'inline' right after the storage specifier.
      notepad: Use the explicit SendMessageW form.
      notepad: Use the explicit W-form of the types.
      notepad: Use the explicit W-form for some string functions.
      notepad: Use the explicit W-form of the registry functions.

Nicolas Le Cam (4):
      msi/tests: Fix MsiApplyMultiplePatches tests on Windows.
      ddraw/tests: Fix a test failure on VirtualBox.
      user32/tests: Fix VK_RMENU input tests on localized Windows.
      user32/tests: Fix scroll tests when theming is disabled.

Nikolay Sivov (23):
      msi: Fix wrong calling convention.
      comctl32/listview: Reuse existing variable instead of duplicated expression.
      comctl32/listview: Remove duplicated iterator initializer.
      comctl32/listview: Draw rightmost vertical grid line when needed.
      comctl32/listview: Fix horizontal grid line drawing.
      comctl32/listview: Fix resizing grid drawing at right from rightmost column.
      comctl32/listview: Handle CCM_[G,S]ETVERSION in listview.
      comctl32/listview: Some tests for LVIF_NORECOMPUTE flag.
      comctl32/listview: Handle LVIF_NORECOMPUTE in LVM_GETITEM[A,W].
      comctl32/listview: A couple of LVM_GETITEM tests with incomplete masks.
      comctl32/header: Reset internal drag state on mouse up.
      comctl32/listview: Don't draw wrapped focus rectangle.
      comctl32/listview: Check columns array size before trying to obtain rectangle.
      comctl32/listview: Remove wrong TODO entry.
      comctl32/listview: Fix wrong function description.
      comctl32/listview: Fix LVM_INSERTITEM handling on LVS_SORTxxx styles.
      comctl32/listview: Additional test for LVS_EX_HEADERDRAGDROP.
      comctl32/listview: Test WM_ERASEBKGND forwarding to parent on CL_NONE background.
      comctl32/listview: Forward WM_ERASEBKGND to parent on CLR_NONE.
      gdi32: Check header pointer in CreateDIBitmap.
      comctl32/listview: Use handlers instead of sending messages to oneself.
      comctl32/listview: Remove irrelevant fixme comment.
      comctl32/listview: Add tests for LVS_NOSORTHEADER switchover.

Paul Chitescu (1):
      mscoree: Stubs for StrongNameSignatureVerification(Ex).

Paul TBBle Hampson (6):
      wininet/tests: Test for handling of blank headers in HttpAddRequestHeaders.
      wininet: HTTP_HttpAddRequestHeadersW should ignore 0-length headers.
      gdi32: Ensure font name comparisons are case-insensitive.
      gdi32: Remove tabs from init_system_links TRACEs.
      gdi32: Fetch child fonts by real parent font name.
      gdi32: Don't add system_links entries for substituted fonts.

Paul Vriens (8):
      gdi32/tests: Fix some test failures on Win9x/WinME.
      ws2_32/tests: Run tests again on several platforms due to missing functions.
      gdi32/tests: Fix a test failure on NT4.
      urlmon/tests: Fix a test failure on Win9x, WinME and NT4.
      inetmib1/tests: Add a FreeLibrary and turn some skip()s into win_skip()s.
      services: Fix a typo.
      rasapi32/tests: Add a FreeLibrary.
      clusapi: Don't print an out parameter.

Rein Klazes (7):
      winex11: GetPixel() on a monochrome bitmap should return black or white, not dark red.
      user32/tests: Show that vertical and horizontal window scroll bar info is not created independently.
      user32/tests: Fix a test in edit.c that was not testing what it was supposed to test.
      comdlg32: Implement OFN_ENABLESIZING flag for GetOpenFileName and friends.
      user32: Combine horizontal and vertical window scroll bar info in a single structure.
      winecfg: Make the open file dialogs resizable.
      programs: Make some of the open file dialogs of a few programs resizable.

Ricardo Filipe (1):
      commdlg: Implemented notifications are only sent with OFN_EXPLORER flag set.

Rico Schüller (2):
      notepad: Implement replace.
      notepad: Allow only one search/replace dialog to open.

Roderick Colenbrander (1):
      wingdi.h: Add missing png/jpeg compression flags.

Scott Ritchie (1):
      wine.desktop: Reduce MIME types to application/x-ms-dos-executable and application/x-msi.

Stefan Dösinger (19):
      d3d: Limit d3d8 and d3d9 vshader constants to 256.
      wined3d: Support the full amount of constants in GLSL.
      wined3d: Fix a few more direct buffer accesses.
      wined3d: Activate a thread before mapping a buffer.
      wined3d: Fix an issue in buffer_get_sysmem.
      wined3d: Emulate R16G16F and R32G32F if GL_ARB_texture_rg is not supported.
      wined3d: Set the max mipmap level in the pbo test.
      wined3d: Hardcode local loop control ints into the code in reps.
      wined3d: Implement texldd.
      wined3d: Make use of GL_ARB_half_float_vertex.
      wined3d: Pack ARB srgb constants better.
      wined3d: Pack hardcoded local constants in ARB.
      wined3d: Keep track of used float constants.
      wined3d: Always declare single constants in ARB if rel addr is not used.
      wined3d: Work around a bad crash in fglrx.
      wined3d: Add a point size test.
      winedd: Move shader_*_add_instruction_modifiers into the shader backend.
      wined3d: Pass the instr to pshader_gen_output_modifier_line.
      wined3d: Get rid of pshader_gen_output_modifier_line.

Stefan Leichter (4):
      shell32: Stub for SHParseDisplayName.
      shell32: Stub for ExtractVersionResource16W.
      gdiplus: Add stub for GdipGetImageThumbnail.
      gdiplus: Add stub for GdipImageRotateFlip.

Timo Kreuzer (1):
      comctl32: Change UINT to UINT_PTR in CreateToolbarEx.

Uwe Bonnes (1):
      wineboot: Print failing command line.

Vincent Povirk (24):
      gdiplus: Only release device contexts created internally.
      gdiplus: Don't leak a device context when GdipCreateFromHWND fails.
      gdiplus: Add test for GdipNewInstalledFontCollection.
      gdiplus: Create a static InstalledFontCollection object, currently empty.
      gdiplus: Stub GdipGetLineBlendCount.
      gdiplus: Stub GdipGetLineBlend.
      gdiplus: Add blend information to linear gradient brushes.
      gdiplus: Implement GdipSetLineBlend.
      gdiplus: Implement GdipGetLineBlendCount.
      gdiplus: Implement GdipGetLineBlend.
      gdiplus: Add tests for GdipGet/SetLineBlend.
      winex11.drv: Convert image/bmp X selections to Windows DIB.
      winex11.drv: Export copied images as image/bmp.
      gdiplus: Correct the lfHeight calculation in GdipCreateFontFromLogfontW.
      gdiplus: Account for blend factors and positions in line gradients.
      gdiplus: Properly draw points outside of line gradients.
      gdiplus: Don't draw outside of gradient lines.
      gdiplus: Implement GdipSetLineSigmaBlend.
      gdiplus: Stub GdipSetRenderingOrigin.
      gdiplus: Use brush_fill_path in GdipFillRectangle.
      gdiplus: Expand the GdipGetLineRect tests.
      gdiplus: Store the rectangle in line gradient brushes.
      gdiplus: Store the rect passed to GdipCreateLineBrushFromRect.
      gdiplus: Use the mode passed to GdipCreateLineBrushFromRect.

Vitaliy Margolen (1):
      xinput1_3: Better match native export order.

Łukasz Wojniłowicz (3):
      winmm: Added Polish translation.
      oleacc: Added Polish translation.
      wineps: Added Polish translations.

--
Alexandre Julliard
julliard@winehq.org
