mirror of
https://gitlab.winehq.org/wine/wine.git
synced 2024-11-21 17:09:06 -07:00
24 KiB
24 KiB
The Wine development release 9.13 is now available.
What's new in this release:
- Support for loading ODBC Windows drivers.
- More user32 data structures in shared memory.
- More rewriting of the CMD.EXE engine.
- Various bug fixes.
The source is available at https://dl.winehq.org/wine/source/9.x/wine-9.13.tar.xz
Binary packages for various distributions will be available from https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
Wine is available thanks to the work of many people. See the file AUTHORS for the complete list.
Bugs fixed in 9.13 (total 22):
- #21344 Buffer overflow in WCMD_run_program
- #35163 Victoria 2: A House Divided crashes on start with built-in quartz
- #39206 Lylian demo hangs after intro video
- #44315 Buffer maps cause CPU-GPU synchronization (Guild Wars 2, The Witcher 3)
- #44888 Wrong texture in Assassin's Creed : Revelations
- #45810 WINEPATH maximums
- #52345 Unclosed right-side double quote in if command breaks wine cmd
- #52346 Filename completion is not supported in cmd
- #54246 Full Metal Daemon Muramasa stuck at black screen at boot
- #54499 Native ODBC drivers should be able be used.
- #54575 False positive detection of mmc reader as hard drive since kernel 6.1
- #55130 IF EXIST fails when its argument ends on a slash
- #55401 CMD 'for loop' params are not recognized
- #56575 CUERipper 2.2.5 Crashes on loading WMA plugin
- #56600 MEGA TECH Faktura Small Business: Access violation in module kernelbase.dll
- #56617 Photoshop CC 2024: crashes after a short period (Unimplemented function NETAPI32.dll.NetGetAadJoinInformation)
- #56882 ConEmu errors: Injecting hooks failed
- #56895 So Blonde (demo): font display bug (regression)
- #56938 msiexec crashes with stack overflow when installing python 3.11+ dev.msi
- #56945 Multiple UI elements in builtin programs is missing (taskbar in Virtual Desktop, right-click menu in RegEdit)
- #56948 Intel Hardware Accelerated Execution Manager needs unimplemented function ntoskrnl.exe.KeQueryGroupAffinity
- #56952 PS installer crashes inside msi (regression)
Changes since 9.12:
Alex Henrie (11):
msi: Initialize size argument to RegGetValueW.
shell32: Pass size in bytes to RegGetValueW.
twinapi.appcore: Initialize size argument to RegGetValueW.
mscoree: Pass size in bytes to RegGetValueW.
wineboot: Correct size argument to SetupDiSetDeviceRegistryPropertyA.
advapi32/tests: Test RegGetValue[AW] null termination.
advapi32/tests: Drop security test workarounds for Windows <= 2000.
windowscodecs: Use RegQueryValueExW in ComponentInfo_GetStringValue.
kernelbase: Ensure null termination in RegGetValue[AW].
ntdll: Double-null-terminate registry multi-strings in RtlQueryRegistryValues.
ntdll/tests: Remove unused WINE_TODO_DATA flag.
Alexandre Julliard (26):
kernelbase: Mask extra protection flags in WriteProcessMemory.
wow64: Call pre- and post- memory notifications also in the current process case.
wow64: Add more cross-process notifications.
ntdll/tests: Add tests for in-process memory notifications on ARM64.
wow64: Add a helper to get the 32-bit TEB.
ntdll: Always set the dll name pointer in the 32-bit TEB.
wow64: Fix NtMapViewOfSection CPU backend notifications.
wow64: Add NtReadFile CPU backend notifications.
wow64cpu: Simplify the Unix call thunk.
xtajit64: Add stub dll.
ntdll: Load xtajit64.dll on ARM64EC.
ntdll/tests: Add some tests for xtajit64.
ntdll: Create the cross-process work list at startup on ARM64EC.
ntdll: Support the ARM64EC work list in RtlOpenCrossProcessEmulatorWorkConnection.
ntdll: Call the processor information callback on ARM64EC.
ntdll: Load the processor features from the emulator on ARM64EC.
ntdll: Call the flush instruction cache callback on ARM64EC.
ntdll: Call the memory allocation callbacks on ARM64EC.
ntdll: Call the section map callbacks on ARM64EC.
ntdll: Call the read file callback on ARM64EC.
ntdll: Implement ProcessPendingCrossProcessEmulatorWork on ARM64EC.
wininet/tests: Update issuer check for winehq.org certificate.
wow64: Fix prototype for the NtTerminateThread CPU backend notification.
wow64: Add NtTerminateProcess CPU backend notifications.
ntdll: Call the terminate thread callback on ARM64EC.
ntdll: Call the terminate process callback on ARM64EC.
Alexandros Frantzis (4):
opengl32: Add default implementation for wglChoosePixelFormatARB.
winex11: Remove driver wglChoosePixelFormatARB implementation.
winewayland: Support WGL_ARB_pixel_format.
winewayland: Support WGL_ARB_pixel_format_float.
Alfred Agrell (10):
include: Fix typo in DXGI_DEBUG_APP.
include: Fix typo in IID_IDWriteStringList.
include: Fix typo in IID_IAudioLoudness.
include: Fix typo in GUID_DEVCLASS_1394DEBUG.
include: Fix typo in IID_IRemoteDebugApplication.
include: Fix typos in MF_MT_VIDEO_3D and MF_MT_AUDIO_FOLDDOWN_MATRIX.
include: Fix typos in IID_IMimeWebDocument and IID_IMimeMessageCallback.
include: Fix typos in IID_IPropertyEnumType2 and CLSID_PropertySystem.
include: Fix typo in MEDIASUBTYPE_P408.
include: Fix typo in CLSID_WICXMPMetadataReader.
Austin English (2):
netapi32: Add NetGetAadJoinInformation stub.
ntoskrnl.exe: Add a stub for KeQueryGroupAffinity.
Biswapriyo Nath (5):
include: Add flags for ID3D11ShaderReflection::GetRequiresFlags method in d3d11shader.h.
include: Add macros for d3d12 shader version in d3d12shader.idl.
include: Add new names in D3D_NAME enum in d3dcommon.idl.
include: Fix typo with XINPUT_DEVSUBTYPE_FLIGHT_STICK name in xinput.h.
include: Fix typo with X3DAUDIO_EMITTER structure in x3daudio.h.
Brendan McGrath (3):
winegstreamer: Use process affinity to calculate thread_count.
winegstreamer: Use thread_count to determine 'max-threads' value.
winegstreamer: Set 'max_threads' to 4 for 32-bit processors.
Connor McAdams (14):
d3dx9/tests: Move the images used across multiple test files into a shared header.
d3dx9/tests: Add more D3DXLoadVolumeFromFileInMemory() tests.
d3dx9: Use shared code in D3DXLoadVolumeFromFileInMemory().
d3dx9/tests: Add more tests for D3DXCreateVolumeTextureFromFileInMemoryEx().
d3dx9: Refactor texture creation and cleanup in D3DXCreateVolumeTextureFromFileInMemoryEx().
d3dx9: Cleanup texture value argument handling in D3DXCreateVolumeTextureFromFileInMemoryEx().
d3dx9: Use d3dx_image structure inside of D3DXCreateVolumeTextureFromFileInMemoryEx().
d3dx9: Add support for mipmap generation to D3DXCreateVolumeTextureFromFileInMemoryEx().
d3dx9/tests: Add tests for DDS skip mip level bits.
d3dx9: Apply the DDS skip mip level bitmask.
d3dx9/tests: Add more DDS header tests for volume texture files.
d3dx9: Check the proper flag for DDS files representing a volume texture.
d3dx9/tests: Add more DDS header tests for cube texture files.
d3dx9: Return failure if a cubemap DDS file does not contain all faces.
Dmitry Timoshkov (3):
msv1_0: Add support for SECPKG_CRED_BOTH.
kerberos: Add support for SECPKG_CRED_BOTH.
crypt32: Make CertFindCertificateInStore(CERT_FIND_ISSUER_NAME) work.
Elizabeth Figura (19):
d3dcompiler/tests: Use the correct interfaces for some COM calls.
mfplat/tests: Use the correct interfaces for some COM calls.
d3dx9: Use the correct interfaces for some COM calls.
d3dx9/tests: Define COBJMACROS.
mfplat/tests: Add more tests for compressed formats.
winegstreamer: Check the version before calling wg_format_from_caps_video_mpeg1().
winegstreamer: Implement MPEG-4 audio to wg_format conversion.
winegstreamer: Implement H.264 to wg_format conversion.
winegstreamer: Implement H.264 to IMFMediaType conversion.
winegstreamer: Implement AAC to IMFMediaType conversion.
winegstreamer: Implement WMV to IMFMediaType conversion.
winegstreamer: Implement WMA to IMFMediaType conversion.
winegstreamer: Implement MPEG-1 audio to IMFMediaType conversion.
wined3d: Invalidate the FFP VS when diffuse presence changes.
wined3d: Destroy the push constant buffers on device reset.
wined3d: Feed the fragment part of WINED3D_RS_SPECULARENABLE through a push constant buffer.
wined3d: Feed the FFP color key through a push constant buffer.
wined3d: Reorder light application in wined3d_device_apply_stateblock().
wined3d: Feed WINED3D_RS_AMBIENT through a push constant buffer.
Eric Pouech (49):
cmd: Add success/failure tests for file related commands.
cmd: Set success/failure return code for TYPE command.
cmd: Set success/failure return code DELETE command.
cmd: Set success/failure return code for MOVE command.
cmd: Set success/failure return code for RENAME command.
cmd: Set success/failure return code for COPY command.
cmd: Add success/failure tests for dir related commands.
cmd: Add success/failure return code for MKDIR/MD commands.
cmd: Set success/failure return code for CD command.
cmd: Set success/failure return code for DIR command.
cmd: Set success/failure return code for PUSHD command.
cmd: Add some more tests for success/failure.
cmd: Return tri-state for WCMD_ReadParseLine().
cmd: Improve return code / errorlevel handling.
cmd: Set success/failure return_code for POPD command.
cmd: Set success/failure return code for RMDIR/RD command.
cmd: Don't set ERRORLEVEL in case of redirection error.
cmd/tests: Test success / failure for more commands.
cmd: Set success/failure return code for SETLOCAL/ENDLOCAL commands.
cmd: Set success/failure return code for DATE/TIME commands.
cmd: Set success/failure return code for VER command.
cmd: Set success/failure return code for VERIFY command.
cmd: Set success/failure return code for VOL command.
cmd: Set success/failure return code for LABEL command.
cmd/tests: Add more tests for success/failure.
cmd: Set success/failure return code of PATH command.
cmd: Set success/failure return code for SET command.
cmd: Set success/failure return code for ASSOC,FTYPE commands.
cmd: Set success/failure return code for SHIFT command.
cmd: Set success/failure return code for HELP commands.
cmd: Set success/failure return_code for PROMPT command.
cmd: Add tests for screen/interactive builtin commands.
cmd: Set success/failure return code for CLS command.
cmd: Set success/failure return code for COLOR command.
cmd: Set success/failure return code for TITLE command.
cmd: Use the correct output handle in pipe command.
cmd: Set success/failure return code for CHOICE command.
cmd: Set success/failure return code for MORE command.
cmd: Set success/failure return code for PAUSE command.
cmd: Get rid of CTTY command.
cmd: Add more tests for return codes in builtin commands.
cmd: Set success/failure return code for MKLINK command.
cmd: Set success/failure return code for START command.
cmd: Move empty batch command handling to WCMD_batch() callers.
cmd: Improve return code/errorlevel support for external commands.
cmd: Cleanup transition bits.
cmd: Get rid for CMD_COMMAND structure.
cmd: When parsing, dispose created objects on error path.
cmd: Fix a couple of issues with redirections.
Fabian Maurer (6):
cmd: Close file opened with popen with correct function (coverity).
mlang/tests: Add test for GetGlobalFontLinkObject allowing IID_IMultiLanguage2.
mlang/tests: Add tests showing which interface is returned by GetGlobalFontLinkObject.
mlang: Return the correct interface in GetGlobalFontLinkObject.
d3dx9: Remove superflous nullcheck (coverity).
msv1_0: Set mode in ntlm_check_version.
Hans Leidekker (25):
msi: Avoid infinite recursion while processing the DrLocator table.
odbc32: Turn SQLBindParam() into a stub.
odbc32: Replicate Unix data sources to the ODBC Data Sources key.
odbc32: Reimplement SQLDrivers() using registry functions.
odbc32: Reimplement SQLDataSources() using registry functions.
odbc32: Introduce a Windows driver loader and forward a couple of functions.
odbc32: Forward more functions to the Windows driver.
odbc32: Forward yet more functions to the Windows driver.
odbc32: Forward the remaining functions to the Windows driver.
odbc32/tests: Add tests.
msi: Handle failure from MSI_RecordGetInteger().
msi: Load DrLocator table in ITERATE_AppSearch().
winhttp: Implement WinHttpQueryOption(WINHTTP_OPTION_URL).
odbc32: Implement SQLSetEnvAttr(SQL_ATTR_ODBC_VERSION).
odbc32: Implement SQLGet/SetConnectAttr(SQL_ATTR_LOGIN_TIMEOUT).
odbc32: Implement SQLGet/SetConnectAttr(SQL_ATTR_CONNECTION_TIMEOUT).
odbc32: Stub SQLGetEnvAttr(SQL_ATTR_CONNECTION_POOLING).
odbc32: Handle options in SQLFreeStmt().
odbc32: Default to ODBC version 2.
odbc32: Implement SQLGetInfo(SQL_ODBC_VER).
odbc32: Factor out helpers to create driver environment and connection handles.
odbc32: Accept SQL_FETCH_NEXT in SQLDataSources/Drivers() if the key has not been opened.
odbc32: Set parent functions before creating the environment handle.
odbc32: Use SQLFreeHandle() instead of SQLFreeEnv/Connect().
odbc32: Use SQLSetConnectAttrW() instead of SQLSetConnectAttr() if possible.
Ilia Docin (1):
comctl32/rebar: Hide chevron if rebar's band is resized back to full size with gripper.
Jacek Caban (38):
jscript: Factor out find_external_prop.
jscript: Rename PROP_IDX to PROP_EXTERN.
jscript: Introduce lookup_prop callback.
jscript: Factor out lookup_dispex_prop.
jscript: Introduce next_property callback.
jscript: Factor out handle_dispatch_exception.
jscript: Use to_disp in a few more places.
mshtml: Factor out dispex_prop_put.
mshtml: Factor out dispex_prop_get.
mshtml: Factor out dispex_prop_call.
jscript: Allow objects to have their own addref and release implementation.
jscript: Introduce IWineJSDispatch insterface.
mshtml: Allow external properties to have arbitrary names.
jscript: Introduce HostObject implementation.
jscript: Support converting host objects to string.
jscript: Support host objects in disp_cmp.
jscript: Use jsdisp_t internally for host objects that support it.
mshtml: Implement jscript IWineJSDispatchHost.
mshtml: Pass an optional script global window to init_dispatch.
mshtml: Support using IWineJSDispatch for DispatchEx implementation.
mshtml: Use IWineJSDispatch for screen object script bindings.
jscript: Factor out native_function_string.
jscript: Add support for host functions.
mshtml/tests: Make todo_wine explicit in builtin_toString tests.
mshtml: Use host object script bindings for DOMImplementation class.
mshtml: Use host object script bindings for History class.
mshtml: Use host object script bindings for PerformanceNavigation class.
mshtml: Use host object script bindings for PerformanceTiming class.
mshtml: Use host object script bindings for Performance class.
mshtml: Store document node instead of GeckoBrowser in DOMImplementation.
mshtml/tests: Add script context test.
mshtml: Store script global object pointer in document object.
mshtml: Use host object script bindings for MediaQueryList class.
mshtml: Use host object script bindings for Navigator class.
mshtml: Use host object script bindings for Selection class.
mshtml: Use host object script bindings for TextRange class.
mshtml: Use host object script bindings for Range class.
mshtml: Use host object script bindings for Console class.
Marc-Aurel Zent (4):
ntdll: Prefer futex for thread-ID alerts over kqueue.
ntdll: Use USE_FUTEX to indicate futex support.
ntdll: Simplify futex interface from futex_wake() to futex_wake_one().
ntdll: Implement futex_wait() and futex_wake_one() on macOS.
Matthias Gorzellik (2):
winebus.sys: Fix rotation for angles < 90deg.
winebus.sys: Align logical max of angles to physical max defined in dinput.
Mohamad Al-Jaf (7):
include: Add windows.data.json.idl file.
windows.web: Add stub DLL.
windows.web: Implement IActivationFactory::ActivateInstance().
include: Add IJsonValueStatics interface definition.
windows.web: Add IJsonValueStatics stub interface.
windows.web/tests: Add IJsonValueStatics::CreateStringValue() tests.
windows.web: Implement IJsonValueStatics::CreateStringValue().
Nikolay Sivov (2):
winhttp/tests: Add some tests for querying string options with NULL buffer.
winhttp: Fix error handling when returning string options.
Paul Gofman (14):
ntdll: Report the space completely outside of reserved areas as allocated on i386.
psapi/tests: Add tests for QueryWorkingSetEx() with multiple addresses.
ntdll: Validate length in get_working_set_ex().
ntdll: Factor OS-specific parts out of get_working_set_ex().
ntdll: Iterate views instead of requested addresses in get_working_set_ex().
ntdll: Limit vprot scan range to the needed interval in get_working_set_ex().
ntdll: Fill range of output in fill_working_set_info().
ntdll: Buffer pagemap reads in fill_working_set_info().
winhttp/tests: Add test for trailing spaces in reply header.
winhttp: Construct raw header from the parse result in read_reply().
winhttp: Skip trailing spaces in reply header names.
win32u: Use FT_LOAD_PEDANTIC on first load try in freetype_get_glyph_outline().
ntdll: Better track thread pool wait's wait_pending state.
ntdll: Make sure wakeups from already unset events are ignored in waitqueue_thread_proc().
Piotr Caban (9):
ucrtbase: Store exception record in ExceptionInformation[6] during unwinding.
xcopy: Exit after displaying help message.
xcopy: Exit on invalid command line argument.
xcopy: Strip quotes only from source and destination arguments.
xcopy: Introduce get_arg helper that duplicates first argument to new string.
xcopy: Handle switch options concatenated with path.
xcopy: Add support for parsing concatenated switches.
kernel32/tests: Fix CompareStringW test crash when linguistic compressions are used.
ucrtbase: Fix FILE no buffering flag value.
Rémi Bernon (60):
server: Move thread message queue masks to the shared mapping.
win32u: Read the thread message queue masks from the shared memory.
server: Move thread message queue bits to the shared mapping.
win32u: Use the thread message queue shared memory in get_input_state.
win32u: Use the thread message queue shared memory in NtUserGetQueueStatus.
win32u: Use the thread message queue shared memory in wait_message_reply.
mf/session: Don't update transform output type if not needed.
mf/session: Implement D3D device manager propagation.
winegstreamer: Translate GstCaps directly to MFVIDEOFORMAT / WAVEFORMATEX in wg_transform.
winegstreamer: Translate MFVIDEOFORMAT / WAVEFORMATEX directly to GstCaps in wg_transform.
winegstreamer: Create transforms from MFVIDEOFORMAT / WAVEFORMATEX.
winegstreamer: Only use pool and set buffer meta for raw video frames.
winegstreamer: Use a new wg_video_buffer_pool class to add buffer meta.
winegstreamer: Keep the input caps on the transform.
winegstreamer: Use video info stride in buffer meta rather than videoflip.
winegstreamer: Normalize both input and output media types stride at once.
winegstreamer: Normalize video processor and color converter apertures.
winegstreamer: Respect video format padding for input buffers too.
server: Move the desktop flags to the shared memory.
win32u: Use the shared memory to read the desktop flags.
server: Create a thread input shared mapping.
server: Move active window to input shared memory.
server: Move focus window to input shared memory.
server: Move capture window to input shared memory.
server: Move caret window and rect to input shared memory.
win32u: Use input shared memory for NtUserGetGUIThreadInfo.
win32u: Move offscreen window surface creation fallback.
win32u: Split a new create_window_surface helper from apply_window_pos.
win32u: Pass the window surface rect for CreateLayeredWindow.
win32u: Pass whether window is shaped to drivers WindowPosChanging.
win32u: Introduce a new window surface helper to set window shape.
win32u: Use a 1bpp bitmap to store the window surface shape bits.
win32u: Update the window surface shape with color key and alpha.
win32u: Pass the shape bitmap info and bits to window_surface flush.
mfreadwrite/reader: Look for a matching output type if setting it failed.
winex11: Reset window shape whenever window surface is created.
mf/tests: Remove static specifier on variables referencing other variables.
win32u: Allocate heap in peek_message only when necessary.
win32u: Use the thread message queue shared memory in peek_message.
win32u: Simplify the logic for driver messages polling.
ddraw/tests: Make sure the window is restored after some minimize tests.
ddraw/tests: Flush messages and X11 events between some tests.
server: Add a foreground flag to the thread input shared memory.
server: Add cursor handle and count to desktop shared memory.
win32u: Use the thread input shared memory for NtUserGetForegroundWindow.
win32u: Use the thread input shared memory for NtUserGetCursorInfo.
win32u: Use the thread input shared memory for NtUserGetGUIThreadInfo.
server: Use a shared_object_t for the dummy object.
win32u: Check the surface layered nature when reusing window surface.
win32u: Update the window state when WS_EX_LAYERED window style changes.
win32u: Update the layered surface attributes in apply_window_pos.
winex11: Rely on win32u layered window surface attribute updates.
wineandroid: Rely on win32u layered window surface attribute updates.
winemac: Rely on win32u layered window surface attribute updates.
winegstreamer/video_decoder: Generate timestamps relative to the first input sample.
mfreadwrite/reader: Send MFT_MESSAGE_NOTIFY_START_OF_STREAM on start or seek.
mf/tests: Reduce the mute threshold for the transform tests.
win32u: Fix initial value when checking whether WS_EX_LAYERED changes.
win32u: Use the dummy surface for empty layered window surfaces.
maintainers: Remove MF GStreamer section.
Shaun Ren (1):
dinput: Call handle_foreground_lost() synchronously in cbt_hook_proc().
Stefan Dösinger (1):
ddraw: Set dwMaxVertexCount to 2048.
Zhiyi Zhang (1):
winemac.drv: Remove the clear OpenGL views to black hack.
Ziqing Hui (18):
winegstreamer/video_encoder: Implement GetInputAvailableType.
winegstreamer/video_encoder: Implement SetInputType.
winegstreamer/video_encoder: Implement GetInputCurrentType.
mf/tests: Add more tests for h264 encoder type attributes.
winegstreamer/video_encoder: Introduce create_input_type.
winegstreamer/video_encoder: Check more attributes in SetInputType.
winegstreamer/video_encoder: Implement GetInputStreamInfo.
winegstreamer/video_encoder: Implement GetOutputStreamInfo.
winegstreamer/video_encoder: Rename create_input_type to video_encoder_create_input_type.
winegstreamer/video_encoder: Clear input type when setting output type.
winegstreamer/video_encoder: Create wg_transform.
winegstreamer/video_encoder: Implement ProcessInput.
winegstreamer/video_encoder: Implement ProcessMessage.
winegstreamer/video_encoder: Use MF_ATTRIBUTES_MATCH_INTERSECTION to compare input type.
winegstreamer/video_encoder: Set output info cbSize in SetOutputType.
winegstreamer/wg_transform: Introduce transform_create_decoder_elements.
winegstreamer/wg_transform: Introduce transform_create_converter_elements.
winegstreamer/wg_transform: Support creating encoder transform.