# changelog

author: Rinat Sabitov <rsabitov@cloudlinux.com> 2.72-1
changelog:
  -- KPT-2264 Libcare coroutines scanning optimisation
  -- KPT-2266 Fix libcare memory interation bug
  -- KPT-2267 Implemented a timeout for libcare attaching methods


author: Anton Bobrov <abobrov@cloudlinux.com> 2.73-2
changelog:
  -- KPT-1594: selinux fixes to prevent socket freezing
  -- KPT-2262: fix dependencies for kernelcare basic
  -- KPT-2269: downgrade minimum selinux-policy version required for el8 packages
  -- KPT-2270: additional selinux contexts for libcare
  -- KPT-2314: CLI command to enable libcare
  -- KPT-2315: agent sends invalid last_stop
  -- KPT-2345: send proxy usage in server_info
  -- KPT-2292: scanner interface: use bounded string views to enforce memory safety


author: Anton Bobrov <abobrov@cloudlinux.com> 2.74-1
changelog:
  -- KPT-2316: include external processes detailed results in debug logs
  -- KPT-2375: handle exception on access to /proc/modules
  -- KPT-2387 scanner-interface: add glibc-all-langpacks to the white list
  -- KPT-2392: scanner interface debug mode
  -- Decrease amount of libcare info calling
  -- LIBCARE-802: fixed compatibility with Microsoft Defender
  -- LIBCARE-770: added workaround for kernel bug https://bugzilla.kernel.org/show_bug.cgi?id=215524. Before this fix OpenSSL patching might cause segfaults of target process on affected kernels.


author: Anton Bobrov <abobrov@cloudlinux.com> 2.76-1
changelog:
  -- KPT-2426: fallback to AlmaCare license if it exists
  -- KPT-2370: refine the message for the unknown kernel
  -- KPT-2409: add `--force` flag to unload kernel patches without network and fixups
  -- KPT-2319: libcare: show how many processes were actually patched


author: Rinat Sabitov <rsabitov@cloudlinux.com> 2.77-1
changelog:
  -- KPT-2408: Changed default path to a doctor script
  -- KPT-2438: New packages for el7/el8 arm64 platforms
  -- KPT-2450: Fixed warnings during package install
  -- KPT-2456: Introduced --userspace-status command for kcarectl
  -- KPT-2457: Extended IGNORE_UNKNOWN_KERNEL flag to smart-update process
  -- KPT-2460: Added kernel modules signing public key
  -- KPT-2464: New dependencies: coreutils and util-linux
  -- KPT-2466: Cyclic reboot prevention support for a crashreporter feature.
  -- KPT-2471: Updated virt-what tool
  -- KPT-2480: Introduced alternative way of authentication with ePortal
  -- KPT-2483: New dependency: /sbin/modinfo
  -- KPT-2484: Fix for `--status` exit code
  -- KPT-2489: Updated libunwind version


author: Rinat Sabitov <rsabitov@cloudlinux.com> 2.78-1
changelog:
  -- KPT-2555: Auto cache clearing for a libcare server
  -- KPT-2563: Fixed path to a libcare socket for a el6
  -- KPT-1411: Optimize call chain for a libcare server
  -- KPT-2481: Support for an ePortal cachaing mechanisms
  -- KPT-2512: Support a debuginfo substitution for libcare
  -- KPT-2522: Lowered kcarectl-selinux-policy package requrement for el7
  -- KPT-2545: Fix for empty logs, created for ignored processes
  -- KPT-2451: Extend IGNORE_UNKNOWN_KERNEL flag for `--status` command


author: Anton Bobrov <abobrov@cloudlinux.com> 2.79-2
changelog:
  -- KPT-2565: auto apply userspace patches on boot time
  -- KPT-2599: summary report (running kcarectl without arguments)
  -- KPT-2628: libcare: timeout for the whole patch/unpatch operation
  -- KPT-2645: fix logrotate for a libcare logs


author: Mikhail Alekseev <malekseev@cloudlinux.com> 2.80-1
changelog:
  -- KPT-2588: provide details for the most frequent exceptions
  -- KPT-2740: LIBCARE - Redesign ptrace API.
  -- KPT-2829: fallback to .sig if .sig2 expires
  -- KPT-2863: LIBCARE - Workaround coroutine detection failures by reverting commit 4b68214f in libunwind
  -- KPT-2866: LIBCARE - object_patch_verify_safety_single() can use libunwind cursor after unw_step() return error.


author: Mikhail Alekseev <malekseev@cloudlinux.com> 2.82-2
changelog:
  -- KPT-2218 kcarectl: restore_selinux_context restores context only for end directory in atomic_write
  -- KPT-2787 kcarectl: support sticky param for the latest eportal request
  -- KPT-2828 kcarectl: integrate new signature validation
  -- KPT-2925 kcarectl: uses legacy latest if patch level is fixed in kcare.conf
  -- KPT-2926 Enable debuginfo builds for a kernelcare package
  -- LIBCARE-361 swap_var: do mprotect() for the whole mapped region of target variable
  -- LIBCARE-932 Java's stack unwinding


author: Mikhail Alekseev <malekseev@cloudlinux.com> 2.83-1
changelog:
  -- KPT-2774 Kernelcare crash reporter filling up disk space
  -- LIBCARE-693 Return JSON-formatted result for each `update` or `unload` command
  -- LIBCARE-853 More transparent handling of segfaulted processes
  -- LIBCARE-947 Make libunwind use FDEs even though binary search table is absent in eh_frame_hdr
  -- LIBCARE-966 Wrong Stack Unwinding for openj9


author: Anton Bobrov <abobrov@cloudlinux.com> 2.84-1
changelog:
  -- KPT-2557: add ubuntu 22.04 arm for kernelcare
  -- KPT-2591: fix error state after stop of libcare svc
  -- KPT-2714: fallback to the embeded doctor script in case any error
  -- KPT-2768: ensure all writes are synced to disk before patch load
  -- KPT-2887: CLI to modify kcare.conf (--set-config option)
  -- KPT-2923: use HEAD method to probe patches


author: Anton Bobrov <abobrov@cloudlinux.com> 2.85-2
changelog:
  -- sig2 support was removed
  -- increased timeout to libcare server
  -- KPT-2969: rotate libcare log files before each update
  -- KPT-2992: rework selinux policy packaging, kernelcare-selinux is obsolete, provide selinux modules
     with kernelcare package
  -- KPT-3329: fix --set-config
  -- KPT-3331: FileNotFound exception on --clear-cache
  -- KPT-3341: kernelcare package upgrade creates rpmnew file for ePortal customers
  -- KPT-3365: libcare: libcare patching resulted in a hanged process (auditd)
  -- KPT-3377: libcare: Fix various memory errors
  -- KPT-3376,KPT-3380: libcare: Some procs are stucked in 't' state after patching


author: Mikhail Alekseev <malekseev@cloudlinux.com> 2.83-1
changelog:
  -- KPT-3271 send timestamp of latest crash report
  -- KPT-3345 kcarectl: add root-keys.json into package and add flag to turn on new signatures
  -- KPT-3370 use (if available) python3 interpreter for el7 package
  -- KPT-3414 libcare logs rotation
  -- KPT-3419 libcare: kpatch_ptrace: implement thread-safe way of waitpid() with timeout
  -- KPT-3432 libcare: server crashed while patching some apps (gc_linux_service and TaniumClient)
  -- KPT-3443 remove "Cloud Linux GmbH"
  -- KPT-3467 libcare: improve display of information about patching in libcare-server logs
  -- KPT-3469 Kdump fails to work after kernel upgrade
  -- KPT-3483 libcare: Failures during attempts to detach from process under high filesystem access load
  -- KPT-3512 libcare: System processes libc libraries patching failed while remote mmap call.
  -- KPT-3517 libcare: libcare-server received SEGV signal while executing command kcarectl --lib-unload
  -- KPT-3530 libcare: Remove unnecessary logging for kpatch_MemoryDenyWriteExecute_protected()
  -- KPT-3533 libcare: Fix Valgrind error in kpatch_MemoryDenyWriteExecute_protected()


author: Anton Bobrov <abobrov@cloudlinux.com> 2.87-2
changelog:
  -- KPT-3342: check for empty patch files
  -- KPT-3538: scanner-interface: new pacakges in a white-list
  -- KPT-3570: cleanup kernelcare-selinux package
  -- KPT-3579: fix selinux mapping permissions for el9


author: Mikhail Alekseev <malekseev@cloudlinux.com> 2.88-1
changelog:
  -- KPT-3510 log process chain during update to kcarectl.log
  -- KPT-3580 amazon linux 2023 support
  -- KPT-3597 migrate agent to systemd for debian systems
  -- KPT-3640 el9 arm64 package
  -- KPT-3697 compatability with gnupg2-minimal
  -- KPT-3652 bring nessus agent scanner to the default scanner-interface
  -- KPT-3753 fix logrotate not found error


author: Mikhail Alekseev <malekseev@cloudlinux.com> 2.89-1
changelog:
  -- KPT-3731 frequent patch access issues right after registration
  -- KPT-3877 LIBCARE - [Menards] has failing httpd service


author: Mikhail Alekseev <malekseev@cloudlinux.com> 2.90-1
changelog:
  -- KPT-3946 fix symlink protection patches applying
  -- KPT-3969 LIBCARE - fix errors like 'Unable to map elf segments for'
  -- KPT-3979 fix libcare log rotation in case if there are no new patches available
  -- KPT-3990 LIBCARE - Bring back patch for CVE-2023-4813 and CVE-2023-4806 for RHEL-9 glibc


author: Mikhail Alekseev <malekseev@cloudlinux.com> 2.91-3
changelog:
  -- KPT-3638 fix No such file or directory: '/etc/pki/kcare-gpg/root-keys.json'
  -- KPT-3894 fsync folder state during atomic write
  -- KPT-3993 fix incorrect arm64 architecture handling in scanner interface
  -- KPT-4036 handle UnicodeDecodeError in get_state
  -- KPT-4037 increased default http timeout
  -- KPT-4038 extend install requirements (added tar, logrotate, procps)
  -- KPT-4507 LIBCARE - Fix stub build_id returning from libcare's kpatch: without space at the end


author: Ivan Golev <igolev@cloudlinux.com> 2.92-1
changelog:
  -- KPT-4054 sanitize build_id returned by libcare's kpatch before url generating
  -- KPT-4058 add systemd daemon-reload to pick up updated unit-files
  -- KPT-4089 LIBCARE - libcare-server: add timestamps for libcare patching logs
  -- KPT-4117 scanner-interface: new kernel related package in whitelist
  -- KPT-4124 fix RemoteDisconnected and TimeoutError periodic errors
  -- KPT-4177 fix LIBCARE - libcare-server entered infinite loop in case of some issue with libcare socket


author: Ivan Golev <igolev@cloudlinux.com> 2.93-1
changelog:
  -- KPT-3735 drop kernelcare-basic package support
  -- KPT-4160 make libcare's socket timeout configurable
  -- KPT-4302 LIBCARE - PROCESS_MAP_OBJECT_FILES:NOT_FOUND warnings during patching
  -- KPT-4304 LIBCARE - Add timeout when analyzing QEMU threads


author: Mikhail Alekseev <malekseev@cloudlinux.com> 2.94-1
changelog:
  -- KPT-4269 fix free/extra patches conflict with kmodlve
  -- KPT-4352 LIBCARE - qemu: fix unreachable vm after patch applying
  -- KPT-4459 enable libcare build for ubuntu 24.04


author: Mikhail Alekseev <malekseev@cloudlinux.com> 2.95-1
changelog:
  -- KPT-4479 add release name to --patch-info --json command
  -- LIBCARE-1936,LIBCARE-1947 Update selinux policy for libcare-client


author: Mikhail Alekseev <malekseev@cloudlinux.com> 2.96-1
changelog:
  -- KPT-4827 LIBCARE - Update selinux policy for OEL9
  -- KPT-4849 LIBCARE - Improve MemoryDenyWriteExecute protection detection for processes
  -- KPT-4850 LIBCARE - Fix double close of file descriptor
  -- KPT-4851 LIBCARE - Fix function to get process name to patch processes with updated executable
  -- KPT-4852 LIBCARE - Improve readlink error messages


author: Mikhail Alekseev <malekseev@cloudlinux.com> 2.98-1
changelog:
  -- KPT-4824 fix exit code of --license-info command in case of connection errors
  -- KPT-4956 LIBCARE - Add fstrim to blacklist


author: Mikhail Alekseev <malekseev@cloudlinux.com> 2.99-1
changelog:
  -- KPT-4587 ipv6 initial support (disabled by default)
  -- KPT-4980 server_id and auth_token validation


author: Mikhail Alekseev <malekseev@cloudlinux.com> 3.0-1
changelog:
  -- KPT-4897,KPT-5102,KPT-5132 el10 x86_64 initial support
  -- KPT-4932,KPT-4994 migrate RPM clients to the new keyring
  -- KPT-4999 add script for secure boot cert setup
  -- KPT-5033 enable ipv6 support
  -- KPT-5139 patches v3 support
  -- KPT-5157 LIBCARE - fix Oracle process becomes unresponsive during libcare patching
  -- KPT-5158 LIBCARE - Redesign and refactor the thread-pool
  -- KPT-5177 LIBCARE - fix the flood of errors about descriptors
  -- KPT-5178 LIBCARE - fix segfault on LAMP patches


author: Mikhail Alekseev <malekseev@cloudlinux.com> 3.0-2
changelog:
  -- KPT-5220 fix package upgrade breaks custom repo config
  -- KPT-5221 fix package upgrade breaks amazon2023 repo config


author: Mikhail Alekseev <malekseev@cloudlinux.com> 3.1-1
changelog:
  -- KPT-5066 change libcare socket's description
  -- KPT-5263 fix selinux policy for el10
  -- KPT-5236 LIBCARE - fix memory leak
  -- KPT-5242 LIBCARE - update selinux policy to allow sending SIGCONT signal
  -- KPT-5280 LIBCARE - fix ThreadSanitizer warnings
  -- KPT-5283 LIBCARE - add timestamps & severity level to logs
  -- KPT-5286 LIBCARE - lower memory usage in struct object_info
  -- KPT-5287 LIBCARE - fix a class of threadbomb failures
  -- KPT-5288 LIBCARE - suppress non-critical errors in server.log
  -- KPT-5296 LIBCARE - extend coverage to C math library


author: Mikhail Alekseev <malekseev@cloudlinux.com> 3.2-2
changelog:
  -- KPT-5272 fix upgrade from kernelcare-basic removes kcare-cron
  -- KPT-5311 fix kernelcare package upgrade led to the reappearance of the deleted kcare-cron
  -- KPT-5322 LIBCARE - Separate libcare-server/ctl into two parts


author: Anton Bobrov <abobrov@cloudlinux.com> 2.52-1
changelog:
  -- KPT-1655: scanner interface: cover unexpected /proc/kcare/effective_version content cases
  -- KPT-1459: check if libcare.socket is enabled


author: Rinat Sabitov <rsabitov@cloudlinux.com> 2.54-1
changelog:
  -- KPT-1687: qmu: patches does not apply to ubuntu distros
  -- KPT-1693: libcare: performance issues for large number of processes
  -- KPT-1716: fetch patches from host it received latest info (sticky connection)


author: Rinat Sabitov <rsabitov@cloudlinux.com> 2.57-1
changelog:
  -- KPT-1483 fix selinux package installation
  -- KPT-1750 fix selinux package for libcare on Centos 8
  -- KPT-1765 scanner interface: init script induces warning for a new bash session
  -- KPT-1782 scanner interface: fix logname invoking
  -- KPT-1779 agent can send empty patch level for "done" reason
  -- KPT-1790 debian arm64/armhf packages


author: Rinat Sabitov <rsabitov@cloudlinux.com> 2.58-1
changelog:
  -- KPT-1578	more compatibility checks
  -- KPT-1733	change userspace applying CLI command
  -- KPT-1801	dump/log files rotation fix
  -- KPT-1792	scanner interface: support pve-kernel version
  -- KPT-1803	libcare: fapolicyd blacklisted
  -- KPT-1813	libcare: optimize function process_add_object_vma
  -- KPT-1816	libcare: don't map patches inside PROT_NONE areas
  -- KPT-1817	libcare: prevent from patching paused containers


author: Rinat Sabitov <rsabitov@cloudlinux.com> 2.59-1
changelog:
  -- KPT-1764 fix an error when kcare module can'be unloaded
  -- KPT-1594 fix freeze on removing kernelcare when selinux is enabled
  -- KPT-1788 fix nessus agent libraries conflict
  -- KPT-1791 scanner interface: fix an error when sudo package not installed
  -- KPT-1799 scanner interface: update version for kernel-core and kernel-modules packages on el8


author: Rinat Sabitov <rsabitov@cloudlinux.com> 2.60-1
changelog:
  -- KPT-1764 fix an error when kcare module can't be unloaded
  -- KPT-1871 fix bad English in kernelcare messages
  -- KPT-1752 fix libcare patches applying on CentOS 6 with SELinux
  -- KPT-1566 fix gpg directory permissions
  -- KPT-1874 add random sleep when agent is run from cron
  -- KPT-1869 check CLN license status for manual invocation only
  -- KPT-1882 UEFI check fix
  -- KPT-1840 scanner interface: do not let use any or root


