Merge pull request #11161 from akallabeth/release-3.12.0

Release 3.12.0
This commit is contained in:
akallabeth
2025-02-14 10:04:59 +01:00
committed by GitHub
7 changed files with 56 additions and 3 deletions

View File

@@ -92,7 +92,7 @@ if($ENV{BUILD_NUMBER})
endif()
set(VERSION_REGEX "^(.*)([0-9]+)\\.([0-9]+)\\.([0-9]+)-?(.*)")
set(RAW_VERSION_STRING "3.11.2-dev0")
set(RAW_VERSION_STRING "3.12.1-dev0")
if(EXISTS "${PROJECT_SOURCE_DIR}/.source_tag")
file(READ ${PROJECT_SOURCE_DIR}/.source_tag RAW_VERSION_STRING)
elseif(USE_VERSION_FROM_GIT_TAG)

View File

@@ -1,3 +1,46 @@
# 2025-02-14 Version 3.12.0
A bugfix and cleanup release.
Due to a new function and a new macro the minor version was incremented.
* Multimonitor backward compatibility fixes
* Smartcard compatibility
* Improve the [MS-RDPECAM] support
* Improve smartcard redirection support
* Refactor SSE optimizations: Split headers, unify load/store, require SSE3 for
all optimized functions
* Refactors the CMake build to better support configuration based builders
* Fix a few regressions from last release (USB redirection and graphical glitches)
Noteworthy Changes:
* Fix all unused warnings (#11167)
* [common,settings] fix backward compatibility for LocalMonitorOffset (#11175)
* Warning cleanups (#11172, #11173, #11167)
* CMake configurable C/C++ standard, WINPR_ATTR_UNUSED (#11171)
* [utils,smartcard] fix return checks for SCardListReaders (#11170)
* [primitives,sse] split headers (#11163)
* X11 keymap reload fix (#11162)
* [core,freerdp] New API freerdp_presist_credentials (#/11160)
* [client,common] Avoid use of reserved types by @fossdd (#11144)
* [core,orders] fix update_read_delta by @akallabeth (#11145)
* [build,android] only enable required codecs for ffmpeg by @akallabeth (#11147)
* [iOS] Update OpenSSL library location and build script by @beersheba (#11148)
* Warn fixes, code cleanups by @akallabeth (#11140)
* [server] fix compilation errors after adding NONAMELESSUNION. by @llyzs (#11149)
* [channel,rdpecam] support Logitech UVC H.264 stream mux payload by @oleg0421 (#11132)
* [winpr,sysinfo] limit GetComputerNameA to 31 chars by @akallabeth (#11150)
* Warn fixes42 by @akallabeth (#11151)
* [utils,smartcard] return proper list for smartcard listing by @akallabeth (#11152)
* [channel,rdpecam] uvc_h264 xu_descriptor pointer fix by @oleg0421 (#11154)
* [channel,urbdrc] fix libusb return code checks by @akallabeth (#11156)
* Function size refactor by @akallabeth (#11157)
* Cmake multiconfig2 by @akallabeth (#10853)
New Contributors:
* @fossdd made their first contribution in https://github.com/FreeRDP/FreeRDP/pull/11144
For a complete and detailed change log since the last release run:
git log 3.12.0...3.11.1
# 2025-02-07 Version 3.11.1
A bugfix release addressing two regressions reported against 3.11.0

View File

@@ -2002,9 +2002,11 @@ UINT32 freerdp_settings_get_uint32(WINPR_ATTR_UNUSED const rdpSettings* settings
case FreeRDP_VCFlags:
return settings->VCFlags;
// API Compatibility section, remove with FreeRDP 4.x
case (FreeRDP_Settings_Keys_UInt32)FreeRDP_MonitorLocalShiftX:
return (UINT32)settings->MonitorLocalShiftX;
// API Compatibility section, remove with FreeRDP 4.x
case (FreeRDP_Settings_Keys_UInt32)FreeRDP_MonitorLocalShiftY:
return (UINT32)settings->MonitorLocalShiftY;
@@ -2529,10 +2531,12 @@ BOOL freerdp_settings_set_uint32(WINPR_ATTR_UNUSED rdpSettings* settings,
settings->VCFlags = cnv.c;
break;
// API Compatibility section, remove with FreeRDP 4.x
case FreeRDP_MonitorLocalShiftX:
settings->MonitorLocalShiftX = (int32_t)cnv.c;
break;
// API Compatibility section, remove with FreeRDP 4.x
case FreeRDP_MonitorLocalShiftY:
settings->MonitorLocalShiftY = (int32_t)cnv.c;
break;

View File

@@ -104,6 +104,7 @@ def write_getter_body(f, values, ret, keys, isPointer, compat_values, typestr, e
for i in range(len(compat_values)):
val = compat_values[i]
cast = '(' + entry_type + ')'
f.write('\t\t// API Compatibility section, remove with FreeRDP 4.x\n')
write_getter_case(f, val, cast, typestr)
f.write('\t\tdefault:\n')
f.write('\t\t\tWLog_ERR(TAG, "Invalid key index %" PRIuz " [%s|%s]", id, freerdp_settings_get_name_for_key(id), freerdp_settings_get_type_name_for_key(id));\n')
@@ -218,6 +219,7 @@ def write_setter(f, entry_dict, entry_type, entry_name, postfix, compat_dict):
if compat_values:
for val in compat_values:
cast = '(int32_t)'
f.write('\t\t// API Compatibility section, remove with FreeRDP 4.x\n')
write_setter_case(f, val, postfix, isPointer, cast)
f.write('\t\tdefault:\n')
f.write('\t\t\tWLog_ERR(TAG, "Invalid key index %" PRIuz " [%s|%s]", id, freerdp_settings_get_name_for_key(id), freerdp_settings_get_type_name_for_key(id));\n')

View File

@@ -131,7 +131,7 @@ endif()
# Soname versioning
set(VERSION_REGEX "^(.*)([0-9]+)\\.([0-9]+)\\.([0-9]+)-?(.*)")
set(RAW_VERSION_STRING "3.11.2-dev0")
set(RAW_VERSION_STRING "3.12.1-dev0")
if(EXISTS "${PROJECT_SOURCE_DIR}/.source_tag")
file(READ ${PROJECT_SOURCE_DIR}/.source_tag RAW_VERSION_STRING)
elseif(USE_VERSION_FROM_GIT_TAG)

View File

@@ -962,6 +962,11 @@ BOOL IsProcessorFeaturePresent(DWORD ProcessorFeature)
case PF_AVX512F_INSTRUCTIONS_AVAILABLE:
ret = __builtin_cpu_supports("avx512f");
break;
case PF_ARM_NEON_INSTRUCTIONS_AVAILABLE:
#if defined(__ARM_NEON__)
ret = TRUE;
#endif
break;
default:
WLog_WARN(TAG, "feature 0x%08" PRIx32 " check not implemented", ProcessorFeature);
break;

View File

@@ -498,7 +498,6 @@ HANDLE _GetCurrentProcess(VOID)
DWORD GetCurrentProcessId(VOID)
{
WLog_ERR("TODO", "TODO: implement");
return ((DWORD)getpid());
}