# 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.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


