-
LOGAR Release v2.0.1
StableCI Test Suite / Run Component Tests & Pipeline Verification (push) Successful in 1m45sRelease Binaries & Installers / Build & Release Windows Binaries & Installers (push) Failing after 16sRelease Binaries & Installers / Build & Release Linux Binaries (push) Successful in 2m8sreleased this
2026-09-04 21:54:27 +00:00 | 0 commits to main since this releaseLOGAR Release v2.0.1
Maintenance and deployment release consolidating Gitea Actions release automation into a unified single workflow file, standardizing release dispatching across platforms, and bumping version definitions across server hub and Windows installers.
Key Highlights & Changes in v2.0.1:
-
Consolidated Single Release Automation Workflow (
.gitea/workflows/release.yml):- Unified separate platform release files into a single, cohesive workflow (
release.yml) running parallel jobs (release-linuxonubuntu-latestandrelease-windowsonwindows-latest). - Standardized tag matching for Gitea Actions on
push: tags: ['v*']. - Added streamlined manual
workflow_dispatchtriggers with automated release tag defaulting (v2.0.1). - Retired deprecated
release-linux.ymlandrelease-windows.ymlfiles.
- Unified separate platform release files into a single, cohesive workflow (
-
Installer & Engine Version Bump:
- Updated FastAPI Hub engine version to
2.0.1insrc/Server.py. - Bumped Inno Setup Windows Client Installer (
compilation/installer_client.iss)AppVersionto2.0.1. - Bumped Inno Setup Windows Server Installer (
compilation/installer_server.iss)AppVersionto2.0.1.
- Updated FastAPI Hub engine version to
-
Distribution & Release Documentation:
- Updated root and distribution documentation across all 5 deployment targets to reflect the 25 passing unit tests and tripartite release options.
LOGAR Release v2.0.0
Major architectural release introducing Mutual TLS 1.3 (mTLS) transport security, built-in dynamic PKI & license accounting, in-flight certificate validity monitoring and auto-renewal, and automated Windows and Linux service installers.
Key Highlights & Changes in v2.0.0:
-
mTLS 1.3 Transport Security & Runtime Licensing:
- Replaced legacy plain TCP sockets with mutual TLS 1.3 authentication (
ssl.CERT_REQUIRED, TLS 1.3 minimum version). - Hub dynamically validates incoming client Common Name (
client_id) against active license seats in SQLite during the TLS handshake. - Drops unauthorized, un-enrolled, or revoked clients at the transport layer before payload reading.
- Replaced legacy plain TCP sockets with mutual TLS 1.3 authentication (
-
Dynamic Hub PKI Engine (
src/server_enrollment.py):- Automatically initializes an internal RSA-4096 Root CA (
ca.crt/ca.key). - Generates RSA-2048 Server TLS certificates with SANs for localhost, loopback, and server hostnames.
- Full OpenSSL 3.x and Python 3.12–3.14 compatibility via
SubjectKeyIdentifierandAuthorityKeyIdentifiercertificate extensions. - Generates and signs client certificates on demand via
POST /api/client/enroll.
- Automatically initializes an internal RSA-4096 Root CA (
-
In-Flight Certificate Validity Watchdog & Dynamic SSLContext Reloading:
- Server hub runs a continuous background watchdog coroutine (
cert_validity_watchdog, evaluated every 12 hours) alongside startup checks. - Automatically checks Root CA and server TLS certificate expiration against a 30-day threshold.
- Generates renewed certificates on disk with timestamped backups (
.bak), and reloads activessl.SSLContextin memory dynamically without dropping socket listeners or restarting the background service.
- Server hub runs a continuous background watchdog coroutine (
-
Client Proactive Expiry Check & Reactive Self-Healing Auto-Renewal:
- Proactive: Forwarders (
Win_Client.pyandLinux_Client.py) evaluateclient.crtvalidity before each run, auto-renewing via/api/client/enrollif expiring within 30 days. - Reactive: If the hub rotates its Root CA or a TLS verification error (
ssl.SSLError/SSLCertVerificationError) occurs, clients automatically catch the error, re-enroll with the hub using their enrollment secret, and reconnect cleanly.
- Proactive: Forwarders (
-
Database Schema & License Quota Accounting:
- SQLite tables
license_config(max_seats,enrollment_secret) andclients(client_id,hostname,os_type,cert_fingerprint,status, timestamps). - Enforces seat limits on enrollment (
HTTP 403 License seat limit reached) while allowing active registered nodes to re-enroll/renew indefinitely. - Added
GET /api/clientsendpoint for license auditing and telemetry tracking.
- SQLite tables
-
Automated Service Installers:
- Windows: Self-contained Inno Setup installers (
LOGAR-Client-Setup.exeandLOGAR-Server-Setup.exe) bundlingnssm.exeto register, configure, and start Windows services automatically. - Linux: Automated installer scripts (
compilation/install_linux_client.shandinstall_linux_server.sh) deploying systemd service units with auto-restart policies.
- Windows: Self-contained Inno Setup installers (
-
CI/CD Release Workflows:
- Windows workflow (
.gitea/workflows/release-windows.yml) and Linux workflow (.gitea/workflows/release-linux.yml) automated to build native executables, installers, and upload release assets on tag push.
- Windows workflow (
Downloads
-