Repository navigation
Release v0.2.0
Changelog
All notable changes to the Lariska endpoint inventory agent will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[0.2.0] - 2026-08-23
Added
- PATH-Hijacking Hardening & Safe Path Resolution:
- Implemented
find_trusted_binaryrestricting executable lookups to trusted system locations (/usr/bin,/bin,/usr/sbin,/sbin,/opt/homebrew/bin,/usr/local/bin) with path traversal (../) prevention.
- Implemented
- Deep Inventory & Shadow IT Runtime Package Collectors:
- Python: Direct filesystem metadata parser for
site-packages/dist-packages*.dist-info/METADATAextracting package names, versions, and authors without spawning python interpreters. - Node.js: Global
npmpackage scanner parsing root and scoped (@org/pkg)package.jsonfiles. - Java: Automatic JVM / JDK detector parsing
releasemetadata (JAVA_VERSION,IMPLEMENTOR,OS_ARCH).
- Python: Direct filesystem metadata parser for
- Environment & Virtualization Classifier:
- Auto-detection for containers (Docker
/.dockerenv, Podman/run/.containerenv, KubernetesKUBERNETES_SERVICE_HOST, containerd cgroups) and hypervisors/clouds (KVM/QEMU, VMware, VirtualBox, Hyper-V, AWS Nitro/EC2, GCP). - Automatically enriches agent
labelswithenv.type,env.container_engine,env.hypervisor,env.cloud_provider.
- Auto-detection for containers (Docker
- E-Core Pinning & Heterogeneous CPU Scheduling (QoS):
- macOS:
PRIO_DARWIN_BG (0x1000)andQOS_CLASS_BACKGROUNDrouting execution strictly to Apple Silicon Efficiency cores (E-cores). - Linux: CPU affinity locking via
sched_setaffinityon Intel Atom E-cores (/sys/.../types/cpu_atom/cpus), AMD Zen 4c / Zen 5c compact cores (via ACPI CPPChighest_perf), and ARM big.LITTLE (cpu_capacity). - Windows: Windows 11 / 10 EcoQoS via
ProcessPowerThrottling(PROCESS_POWER_THROTTLING_EXECUTION_SPEED) andIDLE_PRIORITY_CLASS.
- macOS:
- Battery & Power Awareness:
- Cross-platform battery power detection (
is_on_battery()) tagginghost.power_source(battery/ac).
- Cross-platform battery power detection (
- Crash Recovery & Panic Hook:
- Structured panic capture via
init_panic_hook, saving sanitized diagnostic reports (crash_report.json) instate_dir, with automatic recovery, logging, and archiving upon agent restart.
- Structured panic capture via
- Data Compression & Delta Synchronization:
- Local spool storage in
.json.zstformat with backward compatibility for uncompressed entries. - Transparent HTTP compression sending
Content-Encoding: zstd. - In-memory
InventorySnapshot::diff()engine computing added, removed, and modified software deltas.
- Local spool storage in
- CI/CD Pipeline in Jenkins:
- Declarative Jenkins pipeline (
Jenkinsfile) running inrust:1-bookwormwith Cargo caching, code formatting check, strict Clippy linter, 53 unit/contract tests, release binary compilation, and artifact archiving.
- Declarative Jenkins pipeline (
[0.1.3] - 2026-07-28
- Refresh dependencies and publish release binaries.
[0.1.2] - 2026-07-27
- Fix the Windows archive output path so the
.zipand checksum are attached to the GitHub release. - Fail the release build when a platform produces no uploadable artifacts.
[0.1.1] - 2026-07-27
- Publish the initial cross-platform Lariska agent release.
- Build archives for Linux x86_64/aarch64, Windows x86_64, and macOS x86_64/Apple Silicon.
- Generate SHA-256 checksum files and a CycloneDX SBOM.
- Fix release checksums on Windows runners by using Python's portable standard-library implementation.
Full Changelog: v0.1.3...v0.2.0