-
v0.6.0 Stable
released this
2026-06-22 11:19:26 +00:00 | 512 commits to master since this release📦 Release 0.6.0
📝 Executive Summary
This release introduces a comprehensive end-to-end authentication (E2EA) security framework for the Torvian Chatbot ecosystem. The core feature is detached request signing using Ed25519 asymmetric cryptography, enabling secure communication between the app, server, and worker modules. The release also includes significant architectural refactoring of chat services and a new E2EA Security settings tab for user visibility into their cryptographic identity.
🚀 What's New
Security (Common)
- Asymmetric Crypto Contracts: Added a common asymmetric crypto provider interface for key generation, signing, and verification with typed error variants for operational failures and signature mismatches.
- Ed25519 Implementation: Added JVM and WASM/JS asymmetric crypto providers for Ed25519 signing and verification, wired into Koin modules for all client platforms.
- Detached Signed Request Model: Introduced a shared
SignedRequestvalue object for payload and signature metadata with canonical signing string helpers. - Request Signing Service: Added a generic request-signing service for canonical payload signatures with structured error handling.
- Signed Payload Verification Pipeline: Created a unified verification-and-decoding pipeline for detached signed requests with typed result handling.
App
- Device Identity Signing Keys: Extended device identity storage to load and save asymmetric signing key pairs with browser localStorage and desktop filesystem persistence.
- App Startup Initializer: Added a common startup initializer that ensures device identity and signing keys exist on app launch.
- Signed MCP API Client: Updated local MCP server client to use detached signatures for create, update, and draft connection requests.
- E2EA Security Settings Tab: Added a new settings section for viewing signer ID, public key, and worker registration command with copy-to-clipboard actions.
- Signed Tool Approvals: Tool approval events now emit signed Local MCP authorization events for worker verification.
Server
- Local MCP Signature Storage: Added entity, DAO, and Exposed table for persisting Local MCP server signature metadata with database migration.
- Signed Server Snapshot Flows: Added detached signed-request DTOs and signer-scoped compensation snapshot models for Local MCP create/update operations.
- Worker Sync Orchestration: Introduced signed server/request payloads for worker cache sync with compensation flows for failed syncs.
- Detached Request Route Handling: Added route helpers to capture raw JSON bodies and detached signature headers before decoding.
- Tool Call Orchestrator: Extracted tool approval and execution flow into a dedicated orchestrator service.
- Chat Context Builders: Extracted file-reference and tool-result formatting into dedicated builder classes.
- Conversation Turn Orchestration: Added dedicated conversation turn orchestrator and preparation/persistence services.
Worker
- Trusted Signer Configuration: Added
trustedSignersto worker runtime config with Base64 public key decoding and validation. - Signed Request Verification: Added trust-store-backed verification service for detached signed worker requests with signer, signature, and expiration checks.
- Signed MCP Config Validation: Added worker-side signed MCP config validation with detached signature checks.
- MCP Config Sync Security: Added signed-payload validation for MCP create/update sync commands.
- Local MCP Auth Validation: Added worker-side validation for detached Local MCP signed requests before tool execution.
- Trusted Signer Admin Mode: Added CLI flags for
--add-trusted-signermanagement with dedicated config mutation support.
🐛 Bug Fixes & Improvements
- Gradle Wrapper Updates: Updated wrapper scripts and distribution to Gradle 9.5.1 for improved startup, error handling, and license metadata.
- Java Target Alignment: Updated project to Java 25 for desktop/server and Java 17 for Android with native access enabled for SQLite/Skiko.
- CORS Configuration: Updated Local MCP routes to allow signed request headers in CORS configuration.
🏗️ Technical Updates
- Dependency Updates:
- Gradle 9.5.1
- BouncyCastle and kotlinx-browser dependencies added for crypto and JS interop
- Architecture Refactoring:
- Extracted
ConversationTurnPreparationService,ConversationTurnPersistence, andConversationTurnOrchestratorfromChatServiceImpl - Extracted
SessionMessagesWebSocketHandlerfor improved route readability - Centralized signed payload decoding in common security module
- Extracted
- Database Migration: Added V13 migration for Local MCP server signatures table.
- Documentation: Expanded AGENTS.md with clarified module responsibilities and directory layout.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads