[1] Introducing a RO-page which keeps the most-critical internal structures
[2] Moving internal control structure (configurable via sysctl interface) to the RO-page
[3] Introducing a new structure which keeps all dynamically resolved pointers
[4] Moving a new structure with dynamic pointers to the RO-page
[5] Refactoring the entire code to be compatible with the new design
[6] Adding appropriate messages when a new sysctl option is put in place
[7] A few more minor changes
[1] Mask exporting global CFLAGS since it might be incompatible when LKRG is part of the bigger build project
[2] Add default path for UMH when CONFIG_STATIC_USERMODEHELPER is used
[3] Mask the most noisy STRONG_DEBUG output - doesn't have as much value. It can be always unmasked if needed.
[4] Add support for the kernels without enabled CONFIG_DYNAMIC_DEBUG
[5] Add support for the kernels without enabled CONFIG_ACPI
[2] Fix 'colors' issue when systemd service installation fails
[3] [CI] Fix race condition with *_JUMP_LABEL engine resulting potential deadlock when LKRG is initialized parallel with other heavy kernel module (un)loading events
[4] [ED] Rewrite internal logic how LKRG synchronizes with the task's resources - big change
[5] [ED] Filter our kernel threads and system-init process when validation is performed bypassing threads iteration
[6] [ED] Disable IRQ in most cases when ED's pids DB lock is taken. Otherwise, we might have potential race and deadlock with kprobe engine itself, and SoftIRQs might deadlock with pCFI
[2] Add beta version support for ARM64
[3] [ED] Fix FP (race condition) in pCFI in glitching scenario during process update and add memory barrier
[4] [ED] Fix potential FP during LKRG unloading procedure and add memory barrier
[5] [ED] Create own version of user_access_begin() function compatible across various kernel versions and leverage it for argument extraction for *init_module/delete_module
[6] [ED] Fix logic for *init_module/delete_module for kernel with CONFIG_ARCH_HAS_SYSCALL_WRAPPER