The Wine development release 1.9.21 is now available.

What's new in this release (see below for details):
  - Initial version of the HID minidriver.
  - Support for lists in the RichEdit control.
  - System tray improvements.
  - Various bug fixes.

The source is available from the following locations:

  http://dl.winehq.org/wine/source/1.9/wine-1.9.21.tar.bz2
  http://mirrors.ibiblio.org/wine/source/1.9/wine-1.9.21.tar.bz2

Binary packages for various distributions will be available from:

  http://www.winehq.org/download

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

You can also get the current source directly from the git
repository. Check http://www.winehq.org/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.9.21 (total 18):

  11819  The Longest Journey Demo: characters mostly invisible (broken TransformVertices with D3DVIEWPORT2)
  22317  Motocross madness demo has wrongly projected dirt (d3d_viewport_TransformVertices needs projection matrix + wrong scale)
  36499  Multiple applications need ID2D1Factory::CreateHwndRenderTarget implementation (SciTE 3.5.x, Direct2D .NET example apps)
  37183  Autogenerated programs/cscript/ihost.h is not being removed by make clean
  38530  eSignal 12.1 needs msvcp100.dll.?_Mtx_new@threads@stdext@@YAXAAPAX@Z
  39263  RichEdit should hide selection when it is unfocused
  39471  Elminage Gothic freezes after clicking on "New Game"
  40422  Illustrator CS6: hangs on ESC key press while Text tool is being used
  41142  gcc6: server build warnings
  41231  regedit no longer processes registry input from stdin using "-" as filename
  41405  Hornbill Supportworks Client 7.6.0: crashes with ExtFloodFill when open 'Incident Details' pane
  41409  Battle.net crashes at launch
  41420  Regression bug: bricscad crashes when copy or cut objects to the clipboard
  41430  Nothing visibly happens when clicking System Info button in Microsoft PowerPoint Viewer 14.0 (msinfo32.exe lacks a GUI)
  41432  Keyboard input code display program (Japanese VB6 application) doesn't run.
  41437  Implement a 64-bit version of __std_type_info_hash
  41455  Failed assertion in ME_SplitByBacktracking causes crash at end of Jupiter 2011 installer
  41511  gray square on tab

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

Changes since 1.9.20:

Akihiro Sagawa (5):
      kernel32: Implement LCMAP_FULLWIDTH.
      kernel32: Implement LCMAP_HALFWIDTH.
      webservices: Avoid decoding a nul character reference.
      webservices: Add support for decoding decimal numeric character references.
      webservices: Add support for decoding supplementary characters' references.

Alex Henrie (1):
      msinfo32: Display an About dialog when the program is run.

Alexandre Goujon (1):
      msvcrt: Implement 64-bit version of __std_type_info_hash.

Alexandre Julliard (3):
      winex11: Add a helper function to send systray notifications.
      explorer: Add a helper function to send systray notifications.
      ntdll: Prevent importing the Zw functions.

Alistair Leslie-Hughes (1):
      dpnet: Correct GetComponentByName to return the correct buffer size.

Andrey Gusev (3):
      wined3d: Add missing '\n' to FIXME() messages.
      api-ms-win-appmodel-runtime-l1-1-1: Add dll.
      ext-ms-win-kernel32-package-current-l1-1-0: Add dll.

André Hentschel (2):
      shell32/tests: Mark win10 failure as broken.
      advapi32/tests: Don't crash the service test on wow64 Wine.

Aric Stewart (12):
      winebus.sys: Watch for hid raw device addition and removal.
      winebus.sys: Add implementation for device removal.
      hidclass.sys: Minidriver handling for IRP_MN_REMOVE_DEVICE finished the IRP.
      winebus.sys: Implement IOCTL_HID_GET_DEVICE_ATTRIBUTES for hid devices.
      winebus.sys: Implement IOCTL_HID_GET_DEVICE_DESCRIPTOR for hidraw.
      winebus.sys: Implement IOCTL_HID_GET_REPORT_DESCRIPTOR for hidraw.
      winehid.sys: Add HID minidriver.
      winehid.sys: Register as a HID minidriver.
      include: Define IoSkipCurrentIrpStackLocation.
      winehid.sys: Implement handing internal ioctls.
      wine.inf: Add WineHID to the CriticalDeviceDatabase.
      winebus.sys: Implement IOCTL_HID_GET_STRING for hidraw.

Aurimas Fišeras (2):
      po: Update Lithuanian translation.
      po: Update Lithuanian translation.

Austin English (1):
      subst: Add stub program.

Carlo Bramini (1):
      winefile: Use StrFormatByteSizeW.

Dmitry Timoshkov (1):
      include/d2d1.idl: Remove duplicate typedefs.

Gerald Pfeifer (2):
      winedbg: Extend buffer in packet_query_monitor_process to avoid avoid overrun/truncation.
      wininet: Increase buffer in _test_status_code to avoid potential potential overflow.

Hadrien Boizard (1):
      winemac.drv: Use EqualRect() instead of memcmp() to compare RECTs.

Hans Leidekker (16):
      ntdll: SzCSDVersion is an empty string on Windows 8 and up.
      advapi32: Add a stub implementation of EnableTraceEx2.
      webservices: Add support for writing WS_DATETIME values.
      webservices: Add support for reading WS_BYTES values.
      webservices: Add support for writing WS_BYTES values.
      wbemprox: Fix the variant type for Win32_SystemEnclosure.ChassisTypes.
      wbemprox: Return NULL for Win32_BIOS.IdentificationCode.
      wbemprox: Get rid of hard-coded OS version numbers.
      include: Avoid redefinition of EVENT_FILTER_DESCRIPTOR.
      webservices: Strip trailing zeros from time fraction.
      webservices/tests: Add more text type tests.
      webservices: Handle nil elements in the reader.
      webservices: WS_FIELD_OPTIONAL takes precedence over WS_FIELD_NILLABLE.
      webservices: Determine field size from write options and type size.
      webservices: Fix node insertion in the reader when the current node is an end element.
      webservices: Implement WS_STRUCT_IGNORE_TRAILING_ELEMENT_CONTENT.

Huw D. M. Davies (47):
      riched20: Set the end-of-paragraph run width to that of a space.
      riched20: Add an option to move the cursor to after the final end-of-paragraph.
      riched20: Allow selecting the final end-of-paragraph when using the right arrow key.
      riched20: Allow selecting to the start / end when using the up / down arrow keys.
      riched20: Allow selecting the final end-of-paragraph when using the mouse.
      riched20: Clearing the insert style should not depend on the event mask.
      riched20: Move the wrap context struct into wrap.c .
      riched20: Use the provided style for the end-of-paragraph run.
      riched20: Alter ME_SaveTempStyle() to accept the new style.
      riched20: Set a temporary insert style for the new paragraph.
      riched20: Set the format of the final eop to be that of the last char.
      riched20: Remove an unnecessary call to ME_SaveTempStyle().
      riched20: Don't try to wrap the end-of-paragraph run.
      riched20: Reset the numbering style info after a \pard .
      riched20: Implement parsing of the paragraph numbering destination.
      riched20: Add the ability to create ME_Strings from constants.
      riched20: Maintain a ptr to the end-of-paragraph run.
      riched20: Add support for displaying bulleted lists.
      riched20: Update the paragraph numbering style if the end-of-paragraph style changes.
      wordpad: Improve the indentation of bulleted lists.
      riched20: Add support for arabic number labelled lists.
      riched20: Add support for letter labelled lists.
      riched20: Add support for roman numeral labelled lists.
      wordpad: Add list labelling menu.
      wordpad: Switch the main menu to MENUEX so that the list menu can be given an id.
      wordpad: Remove BTNS_BUTTON from the toolbar style - it's a button style.
      wordpad: Add a dropdown menu to the bullet button.
      wordpad: Keep the list indentation aligned when the margins are changed.
      riched20: The new eop style when typing a list is a copy of the existing eop style.
      riched20: Don't emit paragraph props if they're the same as the previous paragraph's.
      riched20: Don't emit default values.
      riched20: Add a helper to add a font to the font table.
      riched20: Add a helper to add a colour to the colour table.
      riched20: Move the check for cell border colours into the same loop as the other colours.
      riched20: Add any paragraph numbering fonts to the font table.
      riched20: Add a helper to find a font in the font table.
      riched20: Add a helper to find a colour in the colour table.
      riched20: Emit RTF for paragraph numbering.
      riched20: Draw the paragraph numbering text in the correct colour.
      riched20/tests: Add a test to show the insert style is cleared if the selection changes.
      include: Add a padding WORD to ensure that wWeight is at the correct offset.
      riched20: Initialize the remaining CHARFORMAT2 members.
      riched20: Fix the interaction between CFE_UNDERLINE and bUnderlineType.
      riched20: Incrementally update the character format.
      riched20: Simplify call to ME_StreamOutRTFParaProps().
      riched20: Remove the question marks from the generator string.
      riched20: Remove unnecessary spaces before carriage returns.

Jacek Caban (9):
      winhttp: Added WINHTTP_OPTION_CLIENT_CERT_CONTEXT option stub.
      kernel32/tests: Added GetNamedPipeInfo tests.
      mshtml: Fixed leak in get_nsstyle_attr_nsval.
      mshtml: Update binding moniker in handle_redirect.
      rpcrt4: Use NtReadFile in rpcrt4_conn_np_read.
      mshtml: Added support for non-pixel style values in IHTMLStyle::get_pixel* functions.
      ntdll/tests: Added a test of using NtCancelIoEx on iosb associated with pipe listening.
      ws2_32: Pass completion routing to NtDeviceIoControlFile in server_ioctl_sock only if caller provided completion routine.
      server: Create ifchange async queue on socket fd.

Józef Kucia (16):
      wined3d: Use MAX_TEXTURES instead of magic number.
      wined3d: Do not create separate dummy texture for each texture image unit.
      wined3d: Bind dummy textures to all texture image units.
      wined3d: Pass context to create_default_samplers().
      wined3d: Store pointer to device in wined3d_context.
      wined3d: Avoid using "context->swapchain" in context_update_window().
      wined3d: Avoid trying to get backup DC when context is no longer associated with swapchain.
      wined3d: Call context_destroy() directly if context is not associated with swapchain.
      wined3d: Avoid destroying active contexts.
      wined3d: Pass context to destroy_default_samplers().
      wined3d: Pass context to destroy_dummy_textures().
      wined3d: Get wined3d creation flags from d3d_info.
      wined3d: Call GL functions through gl_info.gl_ops in ffp_blit_blit_surface().
      wined3d: Call glGetIntegerv() through gl_info.gl_ops.
      wined3d: Call glFlush() through gl_info.gl_ops.
      wined3d: Call GL functions through gl_info.gl_ops in context_dump_fbo_attachment().

Ken Thomases (1):
      winemac: Post WINDOW_FRAME_CHANGED with the non-fullscreen frame when exiting of fullscreen mode begins.

Kim Malmo (2):
      po: Update Norwegian translation.
      po: Some more updates to Norwegian translation.

Kimmo Myllyvirta (1):
      wined3d: Clear texture flag from correct format when color fixup is not supported.

Marcus Meissner (2):
      webservices: Add error checking (Coverity).
      gdiplus: Assign error return (Coverity).

Matteo Bruni (20):
      wined3d: Add ARB_fragment_coord_conventions extension.
      wined3d: Avoid vpos fixups when ARB_fragment_coord_conventions is supported.
      wined3d: Add core version of the functions introduced by EXT_draw_buffers2.
      wined3d: Add ARB_viewport_array extension.
      wined3d: Add ARB_clip_control extension.
      wined3d: Use ARB_clip_control to avoid vertex position fixups.
      wined3d: Slightly offset the viewport in the ARB_clip_control case.
      wined3d: Account for offscreen rendering in the pixel shader key only if vpos is used.
      wined3d: Flag WINED3D_SHADER_CONST_PS_Y_CORR on framebuffer changes.
      d3d9/tests: Make the window client rect match the d3d swapchain size.
      d3d9/tests: Add a test for the dsy SM3 instruction.
      d3d11/tests: Make the window client rect match the d3d swapchain size.
      d3d11/tests: Add a test for derivative shader instructions.
      d3d10core/tests: Make the window client rect match the d3d swapchain size.
      d3d10core/tests: Add a test for ddy.
      wined3d: Cleanup user clip distances defines and fields a bit.
      wined3d: Recognize a couple of Haswell / Broadwell GPUs on macOS.
      wined3d: Add a bunch of Broadwell and Skylake PCI ids and descriptions.
      wined3d: Ignore driver model if the requested driver model entry is missing.
      wined3d: Store blit quad texture coordinates in a struct wined3d_vec3 array.

Michael Müller (1):
      wmic: Improve cmd line parser and add support for path command.

Michael Stefaniuc (5):
      dmusic/tests: Add basic COM tests for IDirectMusicPort.
      dmusic: Simplify the IDirectMusicPort_QueryInterface implementation.
      dmusic: Move the SynthPortImpl struct to where it is used.
      dmusic: Support the IKsControl interface for the synth port.
      ws2_32: Use debugstr_guid() to trace GUIDs.

Nikolay Sivov (7):
      d2d1: Initial implementation of HWND render target.
      d2d1/tests: Initial tests for bitmap render target.
      include: Update to latest dwrite revision.
      d2d1: Support shared bitmaps created from dxgi surface.
      d2d1: Make some of drawing calls a wrappers over DrawGeometry().
      dwrite: Update to IDWriteFactory4.
      d2d1: Implement GetDesktopDpi().

Piotr Caban (4):
      msvcp110: Fix cin/cout/cerr/clog structure sizes.
      msvcp140/tests: Test virtual base table size exports.
      msvcp110: Fix num_get structure layout.
      msvcp100: Add stdext::threads::_Mtx_* implementation.

Roman Pisl (5):
      shell32: Implement NIM_SETVERSION.
      winex11: Implement NIM_SETVERSION.
      explorer: Implement NIM_SETVERSION.
      winex11: Send WM_CONTEXTMENU on WM_RBUTTONUP and NIN_SELECT on WM_LBUTTONUP.
      explorer: Send WM_CONTEXTMENU on WM_RBUTTONUP and NIN_SELECT on WM_LBUTTONUP.

Sebastian Lackner (13):
      winebus.sys: Spawn a device loop thread and add synchronization.
      kernel32/tests: Add a testcase for CreateFileA with an invalid path.
      ntoskrnl.exe: Return STATUS_INVALID_DEVICE_REQUEST when calling unhandled driver function.
      ntoskrnl.exe: Fix a copy & paste error in dispatch_close.
      ntoskrnl.exe: Remove checks if MajorFunction is NULL.
      ntoskrnl.exe: Fix parameters of IoBuildSynchronousFsdRequest in dispatch_flush.
      ntoskrnl.exe: Use completion routine to transfer result of IRP back to server.
      user32/tests: Fix test failures on 64-bit testbot VMs.
      ntoskrnl.exe: Don't transfer back input buffer for IRP_MJ_WRITE requests.
      ntoskrnl.exe: Add support for async close processing.
      ntoskrnl.exe: Fix management of input/output buffers in dispatch handlers.
      ntoskrnl.exe: Do not abuse UserEvent to store event handle.
      winebus.sys: Add a strdupAtoW implementation.

Stefan Dösinger (6):
      ddraw/tests: Add position tests for D3DPROCESSVERTICES_TRANSFORM.
      ddraw: Store d3d1 projection matrices in device->legacy_projection.
      ddraw/tests: Test d3d2 and 3 drawing with non-standard viewports.
      ddraw: Apply legacy clipspace to d3d2.
      ddraw: Use the clip space matrix in TransformVertices.
      ddraw/tests: Add D3DVIEWPORT2 transform tests.

Vincent Povirk (9):
      gdiplus: Add FIXME for EMF records we need to implement.
      gdiplus/tests: Add test for gdi32 SetWorldTransform record.
      gdiplus: Implement EMR_SETWORLDTRANSFORM playback.
      gdiplus: Implement EMR_EXTSELECTCLIPRGN playback.
      gdiplus: Allow widening a "closed" line segment.
      gdiplus: GdipDrawLine ignores 0-pixel pens.
      gdiplus/tests: Add tests for 0-pixel pens.
      gdiplus: Add non-gdi32 implementation of GdipDrawPath.
      gdiplus: Add a software path for thin line drawing.

--
Alexandre Julliard
julliard@winehq.org
