Skip to content

Releases: valksor/go-assern

nightly

nightly Pre-release
Pre-release

Choose a tag to compare

@k0d3r1s k0d3r1s released this 08 Jun 11:09
ddf2601

latest master branch build

v0.2.0

Choose a tag to compare

@k0d3r1s k0d3r1s released this 25 Jan 20:27
ed4f8b1

Full Changelog: v0.1.0...v0.2.0

Changelog

  • 98e7445 Add CLI reload command and SIGHUP signal handling Adds user-facing commands for triggering configuration reloads: - cmd: Add reload command for runtime config refresh - cmd: Add runReload() to detect running instance and send reload - cmd: Pass WorkDir and ProjectName to aggregator options - transport/stdio: Handle SIGHUP signal for reload triggering - transport/stdio: Log reload results on signal completion
  • eab17ba Add MCP client for querying running instances Adds a client package for connecting to running Assern instances via Unix socket: - Client: TCP/Unix socket connection with JSON-RPC protocol - Initialize: MCP handshake implementation with timeout handling - ListTools: Query available tools from running instance - QueryTools: Convenience function for full connection lifecycle - Comprehensive test coverage including parallel tests, timeout handling, and error cases
  • 1cae1da Add MCP protocol tests for socket server Adds comprehensive tests for MCP protocol over Unix socket: - TestServer_MCPInitialize: Test initialize handshake flow - TestServer_MCPListTools: Test tools/list request - TestServer_MCPCallTool: Test tool invocation with arguments - TestServer_MCPPing: Test ping/pong notification round-trip
  • a50cc20 Add configuration comparison infrastructure for hot-reload Adds config diffing to detect changes for reload: - config/compare: Add ConfigDiff struct for tracking changes - config/compare: Add DiffConfigs() to compare server configurations - config/compare: Add Equal() methods for ServerConfig, OAuthConfig, RetryConfig - config/compare: Add comprehensive test coverage for comparison logic
  • 4382173 Add generic registry implementation to aggregator package
  • 761d523 Add health monitoring and retry system with exponential backoff Adds health tracking for servers and configurable retry mechanism for resilience: - health: Add HealthTracker with configurable failure threshold (default 3) - health: Track consecutive failures, last success/failure times, total calls - health: Add Status(), IsHealthy(), Stats(), AllStats() methods with mutex protection - retry: Add WithRetry() with exponential backoff and configurable parameters - retry: Add RetryableError wrapper and IsRetryable() for explicit retry control - retry: Add MaxRetriesExceededError for exhausted retries - aggregator: Integrate health tracker into Aggregator lifecycle - aggregator: Apply retry logic to tool handler creation - errors: Add ErrInvalidPrefixedName and ErrInvalidPrefixedURI constants
  • 878c6af Add import alias checking to build system Adds automated detection of unnecessary import aliases: - .github/alias.sh: Script to detect aliased imports where no conflict exists - Makefile: Add check-alias target integrated into quality target
  • 4fe1a7f Add instance sharing package for cascade prevention
  • 0cc06e8 Add internal/cli package for interactive MCP server management Adds CLI package for managing MCP servers with interactive prompts: - internal/cli/formatters: Add display formatting with scope grouping - internal/cli/mcp_manager: Add CRUD operations for MCP servers - internal/cli/mcp_prompts: Add interactive survey-based prompts - internal/cli/validators: Add input validation utilities - internal/cli: Add comprehensive test coverage
  • 5a7f2d7 Add reload functionality to aggregator Adds hot-reload capability for updating configuration without restart: - aggregator: Store WorkDir and ProjectName for config reloading - aggregator: Add Reload() method to refresh configuration from disk - aggregator: Add ReloadResult struct for operation reporting - aggregator: Add stopServer() to cleanly remove servers - aggregator: Add addServerToolsToMCPServer() for reload tool registration - aggregator: Add reloadMu to prevent concurrent reload operations - aggregator: Add comprehensive reload tests
  • bc65bde Add reload support to instance socket protocol Adds reload command to instance communication protocol: - instance/socket: Add aggregator parameter to NewServer() - instance/socket: Handle assern/reload internal command - instance/socket: Add sendInternalError() for error responses - instance/client: Add Reload() function for triggering reloads - instance/client: Add ReloadResult struct for response handling - instance: Add reload_test.go with comprehensive tests - instance: Update all test files for NewServer signature change
  • a62ec90 Add retry configuration and HTTP connection pooling Adds retry configuration support and HTTP connection pooling for improved performance: - config: Add RetryConfig struct with MaxAttempts, InitialDelay, MaxDelay, BackoffFactor - config: Add DefaultRetryConfig() function and Clone() method - config: Add Aliases field to Settings for tool name aliases - aggregator: Add shared HTTP transport with connection pooling (100 max idle, 90s idle timeout) - aggregator: Add shared HTTP client with 30s timeout - dependencies: Update go-toolkit to v0.0.0-20260122005202-beb49eaa0c9e - dependencies: Add survey/v2 for interactive CLI selection - dependencies: Add terminal-related packages (go-colorable, go-isatty, ansi)
  • 5d731e2 Add socket session management for MCP protocol Adds session management for socket-based MCP connections: - internal/instance/session.go: Add socketSession implementing server.ClientSession - internal/instance/session_test.go: Add tests for session lifecycle and state - internal/instance/socket.go: Replace stdioServer with custom message handling - internal/instance/socket.go: Add session registration and notification handling - internal/instance/socket.go: Add writeJSONResponse and writeErrorResponse helpers
  • b4370f1 Add tool aliases, CLI disambiguation, and performance optimizations Adds tool aliasing system, CLI colon notation, and caching for better performance: - cmd: Add Execute() with colon notation support (e.g., list:servers) - cmd: Integrate go-toolkit disambiguate for interactive command selection - tools: Add alias management (SetAliases, AddAlias, RemoveAlias, ResolveAlias) - tools: Improve ParsePrefixedName() to return errors instead of empty strings - registry: Add double-checked locking cache to generic registry - registry: Invalidate cache on mutations for consistency - resources: Add proper error handling for ParsePrefixedURI() - prompts: Add proper error handling for ParsePrefixedPromptName() - instance: Add buffer pool (256KB) for proxy I/O operations - instance: Replace time-based session IDs with atomic counter - transport: Make ParseLogLevel() case-insensitive - aggregator: Add benchmark_test.go with 8 benchmark functions - aggregator: Add registry_test.go with 16 registry cache tests
  • 25e3228 Document hot-reload configuration feature Adds documentation for the new reload capability: - README: Add hot-reload to features list - README: Add assern reload command reference - docs/configuration: Add comprehensive hot-reload section - docs/configuration: Document reload methods (CLI and SIGHUP) - docs/configuration: Explain reload behavior for server changes - docs/configuration: Document client reconnection requirements
  • cee02f5 Document instance sharing feature
  • d77d190 Document instance-aware list command [skip ci] Updates documentation for the instance-aware list feature: - README: Add assern list --fresh command reference - README: Update list command description to mention running instance behavior - concepts: Add "CLI Commands Using Instance Sharing" section - concepts: Document --fresh flag behavior and fallback logic
  • 4ef3e26 Document interactive MCP server management Updates documentation to promote interactive CLI over manual config: - README: Add MCP management command reference and examples - docs/configuration: Document interactive vs manual configuration - docs/quickstart: Add quickstart guide for interactive CLI
  • ba4b4c1 Enhance CLI with improved logging and force initialization
  • e9a1a23 Enhance error handling and validation in aggregator package
  • b2b083b Integrate MCP management commands into CLI Adds interactive subcommands for managing MCP server configurations: - cmd: Add mcp add command for interactive server creation - cmd: Add mcp edit command for updating existing servers - cmd: Add mcp delete command with multi-select support - cmd: Add mcp list command for displaying configured servers - cmd: Replace custom version command with cli.NewVersionCommand
  • 55dc9c8 Integrate instance sharing into list command Adds instance-aware tool discovery to the list command: - Add --fresh flag to force fresh discovery (ignore running instance) - Detect and query running instances via socket when available - Fall back to full aggregator startup when no instance running - Add tryListFromInstance() for socket-based queries with debug logging - Refactor existing logic into runListFresh() helper - Display project name and "(from running instance)" indicator for cached results
  • 9344946 Integrate instance sharing into serve command
  • def1639 Modernize aggregator package with toolkit integration
  • df892df Remove deprecated internal/project and internal/version p...
Read more

v0.1.0

Choose a tag to compare

@k0d3r1s k0d3r1s released this 11 Jan 22:08
b993f7c

Full Changelog: https://github.com/valksor/go-assern/commits/v0.1.0

Changelog

  • 825f194 Adds Docker support for containerized deployment [skip ci]
  • 7c1a817 Adds GitHub Actions workflows [skip ci]
  • cbc7828 Adds MCP resources and prompts support with registry
  • e6368de Adds OAuth 2.0 configuration structures
  • a4e2499 Adds OAuth transport implementation
  • f0520e6 Adds TOON format implementation
  • fdc870c Adds build and development tooling
  • 9926913 Adds config merge and CLI integration
  • 516f4f2 Adds config merge support for OAuth and headers
  • eb65de6 Adds config structures for transport and output format
  • 2156f3f Adds installation script and documentation deployment
  • caa1062 Adds integration tests and test utilities
  • 584a6dc Adds multi-transport and TOON documentation [skip ci]
  • 3eb6668 Adds multi-transport configuration structures
  • 94a70bf Adds multi-transport implementation
  • e3c617b Adds project auto-detection from directory name
  • 6453ead Adds project documentation [skip ci]
  • 2af7a09 Adds project metadata and legal documents
  • 26e3e99 Adds test coverage for config and aggregator
  • 8bff449 Adds toon-go dependency
  • b993f7c Enhances release process and adds funding info
  • 2ccec78 Fixes: assern list with empty config
  • f2f7422 Implements MCP aggregator core
  • 04c0d24 Makes test non-parallel
  • d98c187 Marks some tests as not parallel
  • 2b035fe Updates CLI with enhanced output and context handling
  • 17e8edc Updates aggregator with full MCP protocol support
  • 005c45c Updates documentation with OAuth and authentication [skip ci]
  • 401b46c Updates documentation with full MCP protocol and Docker
  • 3cf7731 init
  • 99dd725 trigger build