chore(release): bump version to v3.0.0 and prepare unified release
CI Test Suite / Run Component Tests & Pipeline Verification (push) Failing after 1m50s
Release Binaries & Installers / Build & Release Linux Binaries (push) Failing after 1m5s
Release Binaries & Installers / Build & Release Windows Binaries & Installers (push) Canceled after 0s

This commit is contained in:
2026-09-25 23:05:54 +02:00
parent 6ac2c89aac
commit 668f6e66cd
7 changed files with 41 additions and 11 deletions
+2 -2
View File
@@ -7,9 +7,9 @@ on:
workflow_dispatch:
inputs:
tag:
description: 'Release tag to publish assets to (default: v2.0.1)'
description: 'Release tag to publish assets to (default: v3.0.0)'
required: false
default: 'v2.0.1'
default: 'v3.0.0'
jobs:
release-linux:
+4 -4
View File
@@ -531,8 +531,8 @@ Releases can be built and published through three complementary channels:
### 1. Tag Push Automation (Gitea Actions)
Pushing a release tag automatically triggers the build workflows:
```bash
git tag v2.0.1
git push origin v2.0.1
git tag v3.0.0
git push origin v3.0.0
```
The consolidated workflow **`release.yml`** defines two parallel jobs:
- **`release-linux`** (`ubuntu-latest`): Compiles standalone native ELF binaries (`Linux_Client.bin`, `Server.bin`) and checksums.
@@ -541,7 +541,7 @@ The consolidated workflow **`release.yml`** defines two parallel jobs:
### 2. Manual Workflow Dispatch (Gitea UI)
Workflows can be manually triggered on demand from the Gitea web interface:
1. Navigate to **Actions** $\rightarrow$ **Release Binaries & Installers** (`release.yml`).
2. Click **Run workflow**, set the release tag (defaults to `v2.0.1`), and run.
2. Click **Run workflow**, set the release tag (defaults to `v3.0.0`), and run.
### 3. Native Local Windows Build & Direct Release Upload
For environments without a registered Windows CI runner, Windows executables can be built and published directly to Gitea releases:
@@ -550,5 +550,5 @@ For environments without a registered Windows CI runner, Windows executables can
python compilation/package_dist.py --target windows
# 2. Upload assets and release notes directly to the Gitea release
python compilation/upload_release.py --tag v2.0.1 --token <GITEA_TOKEN> --skip-build
python compilation/upload_release.py --tag v3.0.0 --token <GITEA_TOKEN> --skip-build
```
+30
View File
@@ -1,3 +1,33 @@
# LOGAR Release v3.0.0
Major architectural release introducing the centralized **Master Licensing Authority** (logar.eibl.tech), Subordinate CA hierarchy, live seat synchronization over mTLS, authenticated Hermes AI Bearer token integrations, and streamlined WebUI dashboard controls.
### Key Highlights & Changes in v3.0.0:
- **Enterprise Master Licensing Authority (`LOGAR-LICENSING`)**:
- Implemented standalone hierarchical PKI Authority issuing and signing subordinate CA certificates with custom X.509 OID seat quotas (`1.3.6.1.4.1.59999.1.1`).
- Automated mTLS renewal and synchronization (`renew_ca_cert_mtls`) connecting Hub servers to upstream authority.
- Dedicated multi-tenant licensing dashboard with 2FA TOTP authentication, user RBAC, and WebSocket real-time seat synchronization.
- Dedicated Docker container publishing workflow on release tags and portainer GitOps redeployment webhooks.
- **Real-Time Active Seat Quota Synchronization**:
- Hub automatically tracks and reports active node seat quotas (`seats_taken`, `active_seats`, `hostname`, `server_fingerprint`) to the upstream authority upon client enrollment, approval, revocation, and removal.
- Non-blocking asynchronous thread dispatch ensures instantaneous client responses while keeping central licensing metrics synchronized.
- **Hermes AI Integration & Token Authentication**:
- Dedicated `/api/hermes/report` ingestion endpoint delivering verified anomalies within a 12-hour evaluation window.
- Bearer token administration (`/api/hermes/tokens`) with dedicated generation, copying, revocation, and deletion in the Hub WebUI.
- **Streamlined WebUI Dashboard**:
- Cleaned up top summary KPI cards to focus strictly on operational status and fleet health.
- Centralized full cryptographic inspection (Master Authority URL, Server Hub Fingerprint, CA Fingerprint) into the dedicated *Sub-CA & Licensing* tab.
- **Standalone CI & Modular Testing**:
- Decoupled LOGAR and LOGAR-LICENSING CI pipelines so each repository tests independently without submodule dependencies.
- 100% test coverage across 35 LOGAR unit tests and 14 Licensing Authority unit tests.
---
# LOGAR 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.
+1 -1
View File
@@ -1,6 +1,6 @@
[Setup]
AppName=LOGAR Client
AppVersion=2.0.1
AppVersion=3.0.0
DefaultDirName={autopf}\LOGAR
OutputDir=..\dist
OutputBaseFilename=LOGAR-Client-Setup
+1 -1
View File
@@ -1,6 +1,6 @@
[Setup]
AppName=LOGAR Server
AppVersion=2.0.1
AppVersion=3.0.0
DefaultDirName={autopf}\LOGAR-Server
OutputDir=..\dist
OutputBaseFilename=LOGAR-Server-Setup
+2 -2
View File
@@ -47,7 +47,7 @@ SESSION_SECRET = os.environ.get("LOGAR_SESSION_SECRET", "logar_server_hub_sessio
DEFAULT_ADMIN_USER = os.environ.get("LOGAR_ADMIN_USER", "admin")
DEFAULT_ADMIN_PASS = os.environ.get("LOGAR_ADMIN_PASS", "admin_logar_2026!")
app = FastAPI(title="LOGAR Cloud Ingestion & Hermes Hub", version="2.0.1")
app = FastAPI(title="LOGAR Cloud Ingestion & Hermes Hub", version="3.0.0")
# Global context holding server state
SERVER_STATE: Dict[str, Any] = {}
@@ -388,7 +388,7 @@ def generate_client_profile_dict(
return {
"format": "LOGAR_CLIENT_PROFILE",
"version": "2.0.1",
"version": "3.0.0",
"generated_at": datetime.now(timezone.utc).strftime("%Y-%m-%d %H:%M:%S UTC"),
"server_host": server_host,
"server_port": int(server_port),