Skip to content

202604 Release

Latest

Choose a tag to compare

@opcm opcm released this 10 Apr 08:38
· 3 commits to master since this release
abb6bce

Release Notes

New Features

  • Add PTL (Panther Lake) CPU support
  • Add native PCIe metrics collection and export support (@ckang)
  • pcm-sensor-server: add Windows support

Improvements

  • pcm: add --die option to output aggregated core metrics per die
  • pcm-pcicfg: add -n option to print NUMA node of PCI device
  • pcm-pcicfg: add -l option for listing PCI devices with verbosity levels
  • pcm-sensor-server: add --listen option to specify listening IP address
  • pcm-sensor-server: add IPv4 command line option for non-Windows systems
  • pcm-tpmi: add socket ID and NUMA node output
  • Add API to map NUMA node ID to CPU socket ID
  • Add getNUMANode() API to PciHandle and PciHandleMM classes
  • Add quiet mode infrastructure with PCM_QUIET environment variable support
  • Add AGENTS.md documenting AI-assisted code improvements
  • pcm-iio: major code refactoring (@antonovalexnn)
  • Add NUMA node information to bhs-die-stat.sh and bhs-power-mode.sh scripts
  • Rename default mode into optimized power mode
  • Improve thread-per-core detection
  • Make IPv4 default on Windows instead of IPv6 for pcm-sensor-server
  • Update Intel-PMT to latest (8e57e18) (@mmarkova)
  • Add compiler security hardening flags (@mmarkova)
  • Harden DLL loading, enable SSL for pcm-sensor-server on Windows CI (@mmarkova)
  • Drop old compiler support (MSVC 2017)
  • Rework verbosity levels across utilities
  • Add PCM_DEBUG_PMU_DISCOVERY capability
  • Documentation improvements: build instructions, README updates, cross-platform clarifications (@aart)
  • Include third-party notice file in release packages (@mmarkova)
  • Add distribution requirement to third-party notice file header (@mmarkova)
  • Follow Bandit guidance for Python security (@mmarkova)
  • Remove details from error messages for compliance (@mmarkova)
  • Update Dockerfile to meet security compliance (@mmarkova)
  • [kubernetes] setup networkPolicy for pcm (@jcpunk)
  • [kubernetes] Set hostUsers explicitly (@jcpunk)
  • Typos fixed (@twillhalm)

Fixes

  • Fix bhs-power-mode scripts to handle multiple TPMI instances per socket
  • Fix C4996 warnings by using safe CRT functions on Windows
  • Fix C4550 warning by caching callback lookup
  • Fix C4005 warnings by introducing PCM-specific errno macros
  • Fix C4101 warnings by removing unused exception variables
  • Fail on errors in time functions
  • Fix port and debug_level parsing to use stoul with range validation
  • Reject trailing garbage in port and debug_level parsing using stoul pos parameter
  • Split invalid-arg and out-of-range checks for port and debug_level parsing
  • Fix core_id computation when coreMaskWidth = 0
  • Fix IPv4 socket binding on non-Windows systems
  • Fix(cmake): Correct macOS KEXT build using absolute SDK paths (@darren)
  • Fix untrusted search path vulnerability (CWE-426): load winpmem and msr.sys drivers from System32 instead of current directory (@mmarkova)
  • Add O_NOFOLLOW symlink protection to pcm-msr.cpp, client.cpp, mmio.cpp (@mmarkova)
  • Protect critical file operations against symlink attacks (@mmarkova)
  • Fix TOCTOU vulnerabilities for symlink protection (@mmarkova)
  • Eliminate TOCTOU race with O_EXCL-first retry loop in daemon (@mmarkova)
  • Add ELOOP check for /dev/cpu/*/msr and define retry constant (@mmarkova)
  • Protect software against DLL injections (for WinRing0 dlls) (@mmarkova)
  • Add security validation for MCFG header length to prevent integer underflow
  • Implement input validation for read_number function
  • Add IP address validation in command-line parsing