1 The Wine development release 2.4 is now available.
3 What's new in this release (see below for details):
4 - Built-in implementation of cryptographic hashes.
5 - Mono engine updated with upstream fixes.
6 - More Direct3D command stream work.
7 - Simulated bold and italic in DirectWrite.
8 - Improvements to the XML reader.
11 The source is available from the following locations:
13 http://dl.winehq.org/wine/source/2.x/wine-2.4.tar.xz
14 http://mirrors.ibiblio.org/wine/source/2.x/wine-2.4.tar.xz
16 Binary packages for various distributions will be available from:
18 http://www.winehq.org/download
20 You will find documentation on http://www.winehq.org/documentation
22 You can also get the current source directly from the git
23 repository. Check http://www.winehq.org/git for details.
25 Wine is available thanks to the work of many people. See the file
26 AUTHORS in the distribution for the complete list.
28 ----------------------------------------------------------------
30 Bugs fixed in 2.4 (total 32):
32 10858 BlueByte Game Channel fails to install
33 14371 cleanup undefined members in vartest
34 29133 Gómez PEER fails to update
35 30378 Xuzhou network client crashes at start
36 33987 Secret Files 3 demo shows only some parts of background in ConfigTool
37 36599 winhttp/tests/winhttp.c: test_secure_connection() fails under valgrind
38 36600 valgrind shows a possible leak in winhttp/tests/winhttp.c
39 36608 valgrind shows a definite leak in xmllite/tests/writer.c
40 37436 Aliens vs. Predator (2010, Steam) crashes when loading save game
41 38793 Lotus Smartsuite 3.1 installer reports insufficient disk space
42 39685 Multiple applications crash on startup, need unimplemented function msvcr120.dll.??0event@Concurrency@@QAE@XZ (Rollcage Redux v1.3.8, ARC client, Playstation Now)
43 40798 ACDSee Pro 9 (64-bit) needs msvcr120.dll.??0event@Concurrency@@QEAA@XZ
44 40910 The Next BIG Thing can't save the game (needs native xmllite)
45 41340 Unhandled page fault for Polaris Office Installer
46 41472 kolotibablo needs ntoskrnl.exe.KeAcquireInStackQueuedSpinLock
47 41684 unimplemented function uiautomationcore.dll.UiaClientsAreListening called in 32-bit code
48 41832 Galactic Civ 3 - ships are not visible
49 41951 Unimplemented function bcrypt.dll.BCryptDuplicateHash prevents DOOM from running
50 42209 Native Instruments Native Access 1.0.25 (R37) crashes on unimplemented function concrt140.dll.??1_ReentrantBlockingLock@details@Concurrency@@QAE@XZ
51 42239 Kontact 5.6 needs api-ms-win-crt-time-l1-1-0.dll._Wcsftime
52 42450 Unimplemented copy from WINED3D_LOCATION_TEXTURE_RGB to WINED3D_LOCATION_TEXTURE_SRGB for depth/stencil buffers.
53 42510 InternetOpenUrl does not send query parameters for HTTPS urls
54 42557 NVIDIA GeForce GT 525M detected as GeForce GTX 470
55 42559 Adobe Reader DC: No longer installs (Unimplemented function msi.dll.MsiGetComponentPathExW)
56 42575 Multiple applications need msvcp140.dll.?_LogScheduleTask@_TaskEventLogger@details@Concurrency@@QAEX_N@Z
57 42576 Poedit crashes on start on unimplemented function msvcp140.dll.?_Reset@_ContextCallback@details@Concurrency@@AAEXXZ
58 42578 WSAStringToAddress fails to parse IP v6 addresses with port number
59 42586 Adobe Reader DC crashes on startup (needs GetCurrentPackageFullName stub)
60 42603 Steep (Ubisoft) needs iphlpapi.dll.NotifyUnicastIpAddressChange
61 42625 Flushing file (int 0x21, ah=0x68) fails with access denied error in 16-bit code (affects QuickBooks 5.0)
62 42639 Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x7eff5a34)
63 42641 winetricks ie8_kb2936068 installer fails with error
65 ----------------------------------------------------------------
70 iexplore: Follow translation version info to detect native IE.
71 Use CP 1200 (Unicode) for Win32/Win64 version info.
74 crypt32/tests: Print an error if CertOpenStore fails.
76 Alexandre Julliard (6):
77 gdi32: Add more helper functions for RGB to pixel conversions.
78 gdi32: Fix color conversion when blitting to 1-bpp by matching pixels instead of color values.
79 gdi32: Add support for DIBINDEX colors in 1-bpp blits.
80 gdi32: Map the black and white entries to the DIB color table after dithering.
81 gdi32/tests: Remove workarounds for old Windows versions in the DIB tests.
82 user32/tests: Re-enable a test about window positions.
84 Alistair Leslie-Hughes (10):
85 dplayx: Skip over unknown DataTypes guids in EnumAddressTypes.
86 dplayx/tests: Free IDirectPlayLobby objects.
87 include: Add msstkppg.h.
88 ole32/tests: Stop crash on XP.
89 oledb32: Ignore IRunnableObject in IDataSourceLocator_QueryInterface.
90 dpnet/tests: Stop thread test from failing.
91 odbccp32: Implement SQLInstallDriverEx.
92 oledb32: Support DBTYPE_NUMERIC in IDataConvert GetConversionSize.
93 dpnet/tests: Show that async handlers are per object.
94 dpnet/tests: Add EnumHosts synchronous tests.
97 ntdll: Save rdi and rsi in raise_func_trampoline.
100 iphlpapi: Add stub for NotifyUnicastIpAddressChange.
101 iphlpapi: Flesh out NotifyIpInterfaceChange arguments.
102 opencl: Fix some spec file entries.
105 ntoskrnl.exe: Add KeAcquireInStackQueuedSpinLock stub.
106 ntoskrnl.exe: Add KeWaitForMultipleObjects stub.
107 dhcpcsvc: Add DhcpCApiInitialize and DhcpCApiCleanup stubs.
108 setupapi: Add SetupDiEnumDriverInfoA/W stubs.
111 mciavi32: Trace MCIAVI_CreateWindow.
112 mciavi32: Implement MCI_BREAK.
113 winmm: Dispatch MCI_BREAK to the driver.
114 wininet: Forward InternetGetConnectedState to Ex function.
115 include: Add missing connection check flags to wininet.h.
116 iphlpapi/tests: Test route type and protocol in GetIpForwardTable.
117 wininet/test: Improve tests for InternetGetConnectedStateEx.
118 kernel32/tests: Add 64bit number tests for FormatMessage[A|W].
119 wined3d: Recognize GeForce 940M.
122 msvcrt: Add Concurrency::event stubs.
123 msxml3: Don't QI for IPersistStream in internal_parse.
126 comctl32/taskdialog: Move TaskDialogIndirect and its tests into own source files.
129 ddraw/tests: Spelling fixes in comments and an ok() message.
130 ntdll/tests: A spelling fix in an ok() message.
131 scrobj: Make scriptlet_typelib_CreateInstance() static.
132 schedsvc/tests: Add the current process id to the test summary line.
133 advapi32/tests: Trace the display name if CreateService() unexpectedly succeeds.
134 ddraw: Make ddraw_destroy_swapchain() static.
137 webservices: Implement WS_HEAP_PROPERTY_REQUESTED_SIZE and WS_HEAP_PROPERTY_ACTUAL_SIZE.
138 webservices: Protect messages with a critical section.
139 webservices: Protect channels with a critical section.
140 webservices: Protect proxies with a critical section.
141 webservices: Protect writers with a critical section.
142 webservices: Protect errors with a critical section.
143 webservices: Protect heaps with a critical section.
144 webservices: Protect readers with a critical section.
147 wined3d: Map buffers in wined3d_device_process_vertices().
148 wined3d: Explicitly pass d3d_info and gl_info to context_stream_info_from_declaration().
149 wined3d: Send sub-resource update calls through the command stream.
150 wined3d: Check rectangle alignment in wined3d_surface_blt().
151 wined3d: Merge wined3d_texture_check_block_align() into wined3d_texture_check_box_dimensions().
152 usp10/tests: Add a latn shaping test with ligatures.
153 usp10/tests: Add a ligature and diacritic to the syrc shaping test.
154 usp10: Take the script direction into account when applying OpenType features.
155 usp10: Properly determine the glyph run direction when shaping Script_Arabic.
156 usp10/tests: Add shaping tests for fLogicalOrder and fRTL.
157 wined3d: Use wined3d_texture_blt() in surface_upload_from_surface().
158 wined3d: Validate blit parameters in wined3d_texture_blt().
159 wined3d: Send blits through the command stream.
160 wined3d: Send sub-resource copy calls through the command stream.
161 wined3d: Send resource copy calls through the command stream.
162 wined3d: Abort on invalid instructions in shader_generate_main().
163 wined3d: Abort on invalid instructions in shader_get_registers_used().
164 usp10: Do not fall back to presentation form B if the contextual feature exists in ContextualShape_Arabic().
165 usp10: Introduce an enumeration for script types.
166 usp10: Use bsearch() to lookup the script range in get_char_script().
167 wined3d: Validate instruction lengths in shader_sm4_read_instruction() (AFL).
168 wined3d: Don't read modifiers for opcodes with "read_opcode_func" set (AFL).
169 usp10: Use heap_alloc_zero() instead of HeapAlloc() with HEAP_ZERO_MEMORY.
170 usp10: Use heap_alloc() instead of HeapAlloc().
171 usp10: Use heap_free() instead of HeapFree().
172 wined3d: Avoid device_invalidate_state() in wined3d_texture_set_lod().
173 wined3d: Create and destroy surface DCs through the CS.
174 wined3d: Pass a context to blit_shader.blit_surface().
175 wined3d: Only copy source/destination rectangles when needed in arbfp_blit_surface().
176 wined3d: Modify resource locations in wined3d_surface_blt() instead of the blitters.
179 regedit/tests: Add some line concatenation tests.
181 Huw D. M. Davies (5):
182 wined3d: Zero-initialize count.
183 gdi32/tests: Combine the matching macros into a single function.
184 shell32/tests: Return early if the shell folder creation fails in order to avoid a compiler warning.
185 shell32/tests: Ignore the compressed attribute.
186 krnl386.exe16: Fix mask values.
189 ntdll: Don't modify LockCount in RtlLeaveCriticalSection if section is not acquired.
190 wininet: Propagate WSAEWOULDBLOCK result from content decoding reads.
191 wininet: Pass blocking mode to HTTPREQ_Read.
192 wininet: Propagate WSAEWOULDBLOCK from read_http_stream.
193 wininet: Rewrite asynchronous read to try to fill whole buffer and not buffer additional data unless requested.
194 wininet: Rewrite InternetReadFileEx for http protocol to make use of non-blocking reads.
195 wininet: Reimplemented InternetQueryDataAvailable on top of async_read.
196 wininet: Merge InternetReadFile and InternetReadFileEx implementations.
197 wininet: Get rid of no longer needed BLOCKING_WAITALL.
198 wininet: Get rid of no longer needed blocking_mode_t.
199 wininet/tests: Added more HTTP read tests.
200 wininet: Always use non-blocking reads in HTTP_ReceiveRequestData.
201 wininet: Get rid of no longer needed get_avail_data from data stream implementations.
202 rpcrt4: Get rid of manual_listen_count and use binary state instead.
203 rpcrt4/tests: Added more server listening tests.
206 devenum: Implement IMoniker::GetClassID().
209 po: Update German translation.
210 readme: Update German translation.
211 readme: Fix typo in German translation.
214 wined3d: Bind unordered access views even if they are not used by current shaders.
215 d3d11/tests: Add test for UAV counters.
216 d3d11/tests: Use 256-byte aligned offsets for bufinfo test.
217 wined3d: Implement SM5 bufinfo instruction.
218 d3d11: Print FIXME() about ignoring initial UAV count values only when necessary.
219 d3d11/tests: Accept additional value as expected result in test_tgsm().
220 oledb32/tests: Do not use pointer to freed memory (Coverity).
221 wined3d: Introduce wined3d_device_get_compute_shader().
222 d3d11: Implement d3d11_immediate_context_CSGetShader().
223 wined3d: Introduce wined3d_device_get_cs_cb().
224 d3d11: Implement d3d11_immediate_context_CSGetConstantBuffers().
225 wined3d: Introduce wined3d_device_get_cs_resource_view().
226 d3d11: Implement d3d11_immediate_context_CSGetShaderResources().
227 wined3d: Introduce wined3d_device_get_cs_sampler().
228 d3d11: Implement d3d11_immediate_context_CSGetSamplers().
229 wined3d: Introduce wined3d_device_get_constant_buffer() helper function.
230 wined3d: Introduce wined3d_device_get_shader_resource_view() helper function.
231 wined3d: Introduce wined3d_device_get_sampler() helper function.
232 wined3d: Make sure that "tgsm_count" is not decreased while adding TGSM declarations.
233 wined3d: Fix parsing of SM5 "_opc" flag.
234 wined3d: Add FIXME() messages for unhandled shader bytecode UAV flags.
235 wined3d: Create dummy cube array textures.
236 wined3d: Avoid FIXME() message for unhandled cube map arrays.
237 d3d11/tests: Add test for cube maps.
238 wined3d: Add support for seamless cube map filtering.
239 d3d11: Fix typo in TRACE() message.
240 d3d11/tests: Add test for unbinding shader resource view.
241 wined3d: Recognize SM4 umul opcode.
242 wined3d: Implement SM4 umul instruction.
243 wined3d: Recognize SM4 dcl_index_range opcode.
244 d3d10core/tests: Add test for cube maps.
245 d3d10core/tests: Add test for unbinding shader resource view.
246 d3d11/tests: Fix render target format in test_resinfo_instruction().
247 d3d10core/tests: Fix render target format in test_resinfo_instruction().
248 wined3d: Simplify computation of "num_textures_used" in ATI fragment pipeline.
249 wined3d: Get rid of incorrect usage of "tex_unit_map".
250 wined3d: Move legacy texture image unit range allocation to wined3d_gl_limits_get_texture_unit_range().
251 wined3d: Introduce shader_glsl_load_program_resources() helper function.
252 wined3d: Use layout qualifiers to bind GLSL images.
253 wined3d: Use layout qualifiers to bind GLSL uniform blocks.
254 wined3d: Do not use texture unit mapping for SM4+ shaders.
255 wined3d: Allow using more than MAX_COMBINED_SAMPLERS texture image units.
256 wined3d: Introduce context_get_tex_unit_mapping() helper function.
257 wined3d: Use layout qualifiers to bind GLSL samplers.
258 wined3d: Add support for samplers in geometry shaders.
259 d3d9/tests: Add test for vertex textures.
260 wined3d: Use context_get_tex_unit_mapping() in context_bind_shader_resources().
261 wined3d: Get rid of redundant WARN() from context_load_shader_resources().
262 d3d11/tests: Add basic test for texturing on feature level 9.
263 wined3d: Store GL sampler limits as array.
264 wined3d: Recompute sampler count before allocating sampler range for compute shaders.
265 wined3d: Fix off-by-one error in wined3d_gl_limits_get_texture_unit_range().
268 winemac: Discard key repeat events after a modifier key has been pressed.
269 wineps.drv: Set the AP_D_InputSlot CUPS option if no input slot is specified.
272 kernel32: Add stub for GetCurrentPackageFullName.
275 msi: Use the correct type when calculating feature cost.
278 ddraw: Keep a ddraw object reference in d3d7 vertex buffers.
279 d3d9/tests: Skip test_vshader_input() if PS 3.0 isn't supported.
280 d3d9/tests: Fix pixel shader version check in test_pointsize().
281 ddraw/tests: Add a ddraw4 vertex buffer refcount test.
282 ddraw/tests: Add a ddraw7 vertex buffer refcount test.
283 wined3d: Don't advertise unsupported shader versions.
284 d3d9/tests: Skip UpdateTexture tests if texture filtering isn't supported.
285 wined3d: Use the MAX_TEXTURES define in a few more places.
286 d3d9/tests: Ignore test_vshader_input() "no color attribute" test result on WARP.
287 wined3d: Fix the TRACE in wined3d_texture_remove_buffer_object().
288 d3d9/tests: Fix test_updatetexture() on GPUs not supporting WINED3DFMT_R32_FLOAT.
289 ddraw: Take user clip planes into account in d3d7 ComputeSphereVisibility().
290 ddraw/tests: Cleanup and extend d3d7 ComputeSphereVisibility() tests.
291 ddraw: Fix d3d6 version of ComputeSphereVisibility().
292 ddraw/tests: Port test_compute_sphere_visibility() to ddraw4.
295 kernel32: Add stub for GetCurrentPackageFamilyName.
296 cabinet: Set index of folder in FDICopy callback.
297 bcrypt: Add builtin HMAC implementation.
298 bcrypt: Use builtin MD5/SHA1 implementation.
299 bcrypt: Add a builtin sha256 implementation.
300 bcrypt: Add a builtin sha384/sha512 implementation.
301 bcrypt: Always use builtin hash implementation.
302 bcrypt: Implement BCryptDuplicateHash.
305 xmllite/reader: Improve input stream encoding detection.
306 xmllite/reader: Always return node type from Read().
307 xmllite/reader: Reset node type to XmlNodeType_None on EOF.
308 xmllite/reader: Implement IsEOF().
309 xmllite/reader: Improve the way nesting level returned by GetDepth() is updated.
310 d3d9: Remove reference to IWineD3DDevice.
311 ddraw: Remove referenced to IWineD3D* interfaces.
312 xmllite/reader: Return proper name for xml declaration PI.
313 xmllite/reader: Return empty value for elements.
314 xmllite/reader: Fix prefix returned after moving back to element.
315 xmllite/reader: Return qualified names for attributes.
316 xmllite/reader: Enforce maximum element depth limit.
317 gdi32/tests: Test that otmfsType field is cleaned up from reserved bits.
318 gdi32: Cleanup otmfsType bit mask from reserved bits.
319 xmllite/tests: A couple of newline normalization tests for text nodes.
320 xmllite/reader: Fix GetValue() for comments.
321 xmllite/reader: Return empty string for namespace uri for some nodes.
322 xmllite/reader: Return local element names from the stack, instead of input buffer.
323 xmllite/reader: Return qualified element names from the stack, instead of input buffer.
324 xmllite/tests: Fix a memory leak (Valgrind).
325 xmllite/reader: Return prefixes from namespace stack.
326 xmllite/tests: Some tests for reader position.
327 xmllite/reader: Remove redundant parameter.
328 xmllite/reader: Improve returned reader position for elements and attributes.
329 xmllite/reader: Fix reader position returned for xml declaration node.
330 xmllite/reader: Return static empty string as xml declaration node value.
331 xmllite/reader: Explicitly return empty static string as local name for nodes without names.
332 xmllite/reader: Explicitly return empty string as qualified name for some node types.
333 xmllite/reader: Return correct error for multiple colons in qualified name.
334 xmllite/reader: Fix position methods return values in closed reader state.
335 xmllite/reader: Improve line number updating when switching to the next line.
336 xmllite/reader: Improve returned position for whitespace text nodes.
337 wlanapi/tests: Always free interface list (Valgrind).
338 comdlg32: Take nMaxFile into account when converting A->W.
339 xmllite/reader: Enter error state on parsing error.
340 xmllite/reader: Reset reader nesting depth on error.
341 dwrite: Added support for oblique simulation in bitmap rendering mode.
342 inetcomm/tests: Fix test stream leak (Valgrind).
343 msctf/tests: Fix test object leak (Valgrind).
344 schedsvc: Fix xml buffer leak (Valgrind).
345 usp10/tests: Fix a buffer leak (Valgrind).
346 dwrite: Added support for bold simulation.
347 dwrite: Use version neutral variable name.
348 dwrite: Fix a typo to actually return kerning pair adjustments.
349 msxml3/tests: A bit more tests for IPersist* interfaces.
350 msxml3/saxreader: Handle NULL interface input in parse().
351 xmllite/reader: Always return local name from element structure.
352 xmllite/reader: For elements without a prefix return same string for both local and qualified names.
353 xmllite/reader: Return same string for local and qualified names for attributes when appropriate.
356 gdiplus: Check for null in GdipGetFontHeight.
357 gdiplus/tests: Add tests for invalid parameter handling for GdipGetFontHeight.
360 d3dx9/tests: Add test for out of bounds array selector in effect.
361 d3dx9: Set dirty flag on parameter change.
362 d3dx9/tests: Extend test effect and add checks to test_effect_preshader().
363 d3dx9/tests: Factor out op results test helper function from test_effect_preshader().
365 Pierre Schweitzer (1):
366 iphlpapi: Flags in IP_ADAPTER_ADDRESSES_LH can be used as a bit field.
369 msvcp140: Add _ContextCallback implementation.
370 msvcp140: Add _ContextCallback tests.
371 msvcp140: Add __crtCreateThreadpoolTimer implementation.
372 msvcp140: Add __crtSetThreadpoolTimer implementation.
373 msvcp140: Add __crtCreateThreadpoolWait implementation.
374 msvcp140: Add __crtSetThreadpoolWait implementation.
375 msvcr: Add _Wcsftime implementation.
376 msvcr: Fix strftime spec file entry.
377 msvcp140: Add _TaskEventLogger class implementation.
378 msvcp140/tests: Add _TaskEventLogger tests.
379 msvcr: Add __crtUnhandledException implementation.
381 Sebastian Lackner (18):
382 ntdll: Use FD_CLOEXEC instead of hardcoded values.
383 ntoskrnl.exe: Add KeReleaseInStackQueuedSpinLock stub.
384 ntdll: Implement FileAccessInformation class in NtQueryInformationFile.
385 rasapi32: Set *lpcDevices in RasEnumDevicesA.
386 include: Avoid typedef for tls_data.
387 webservices: Unlock critical section before returning.
388 webservices: Don't set is_addressed when an error occurred.
389 webservices: Return the correct HRESULT on error.
390 webservices: Fix uninitialized variable in WsWriteArray.
391 server: Explicitly mark memory as undefined in mem_alloc wrapper.
392 schedsvc: Simplify and standardize the heap_xxx() declarations.
393 bcrypt: Unify the object length handling.
394 bcrypt: Return error when requesting BCRYPT_HASH_LENGTH for unsupported object.
395 bcrypt/tests: Move common tests to a helper function.
396 bcrypt/tests: Add basic tests for BCryptDuplicateHash.
397 bcrypt: Remove a FIXME which no longer applies.
398 vcomp/tests: Use ULL macro to define 64-bit constants.
399 krnl386.exe16: Ignore access denied error when flushing file.
402 ddraw/tests: Rewrite SrcColorKey32BlitTest.
405 mscoree: Update Wine Mono to 4.7.0.