(release-3007.10)=
Fixed an issue with how existing entries are tracked in grains.list_present. Previous entries were only considered if the grain previously existed. If not then the state would not "see" the duplicates. Removed the dubious tracking via "context" and focused on using checking for existance in the live grains. #31427
Fixed issue with complex objects in grains.list_present. Original fix #52710 did not fully address the problem. #39875
Fixed ssh_auth.present to respect provided options when read keys from source file #60769
Fixed ssh_auth regexp to handle key types with @ or . #61299
Fixed a TypeError exception thrown by ssh_known_hosts.present when the specified user account does not exist #62049
Fixed false identification of text as binary in salt.utils.file.is_binary if utf-8 multibyte character is truncated at end of 2048 bytes sample. #62214
Fix runtime error on OpenBSD by adding support for the osfullname grain #64189
Fix closing of TCP transport channels and avoid additional errors #66568
Fixed false negative "is not text" in salt.utils.files.is_text if an utf-8 multibyte character is truncated at end of 512 bytes sample. #66706
fixes salt runner mine.get not returning value if allow_tgt is defined in mine function #68188
Forward minion list events in Syndic cluster mode to enable proper job completion detection #68319
Fixes issue with asyncio logger not using SaltLoggingClass and causing exceptions when "%(jid)s" is used in a log format. #68400
Fixed ssh_auth.present and ssh.absent to report changes if some key was added or removed when reading keys from a source file #68403
Test loader now prevents .pyc files from being written during test run using sys.dont_write_bytecode = True. This results in 3x faster test execution and reduced IO operations #68412
Fixes a issue where variable names were reversed when detecting domain and username from a username. #68450
Changed the glob pattern for APT sources from **/*.list to *.list, in line
with APT's default pattern in sources.list.d #68475
Remove unwanted error log from aptpkg #68485
Use the packaging library instead of the deprecated pkg_resources library for working with version to avoid a deprecation warning when running salt commands #68487
Fixes issue with disk.tune passing incorrect args for read-only and read-write to blockdev. Improves argument and error handling in blockdev. #68490
Enhance mod_data to Use Global Loader Extensions in salt-ssh #68496
Fix race condition in Salt Syndic when multiple Syndic Masters return at the same time and the Master of Masters tries to write to the same file in the job cache. #68508
Patch tornado for CVE-2023-28370 #68529
Fixed some of the commands in the Contributing guide. #68538
Fix check for non-blockdev devices in blockdev.tuned. Check always returned True previously, now actually checks with file.is_blkdev. #68541
Added documentation and CLI help text for the --disable-keepalive option for salt-minion and salt-proxy, which disables the automatic restart mechanism when external process managers like systemd handle daemon restarts. #68544
Upgrade relenv to 0.22.1 and fix Python 3.13 support
Updated relenv from 0.21.2 to 0.22.1
Fixed backports module import for Python 3.13 compatibility
Fixed RUSTFLAGS conflicts when compiling cryptography package
Fixed toolchain cache location for relenv 0.22.1
Added Obsoletes directives to prevent EPEL salt3006 package conflicts on Rocky 9 #68552
Fixed minion process name pollution when multiprocessing is disabled #68553