chore: release v1.0.2 with critical fixes and test improvements
- fix: add missing ClickHouse driver dependency - fix: resolve race condition in orchestrator (single goroutine per source) - feat: add explicit source_type config for Unix socket sources - test: improve coverage from 50.6% to 62.0% - docs: add CHANGELOG.md with release notes - build: update version to 1.0.2 in build scripts and Dockerfiles Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
78
CHANGELOG.md
Normal file
78
CHANGELOG.md
Normal file
@ -0,0 +1,78 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to logcorrelator are documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [1.0.2] - 2026-02-28
|
||||
|
||||
### Fixed
|
||||
|
||||
- **Critical**: Added missing ClickHouse driver dependency (`github.com/ClickHouse/clickhouse-go/v2`)
|
||||
- **Critical**: Fixed race condition in orchestrator - reduced from two goroutines to one per source
|
||||
- **Security**: Added explicit `source_type` configuration for Unix socket sources to prevent source detection spoofing
|
||||
|
||||
### Changed
|
||||
|
||||
- Unix socket sources now support explicit `source_type` field in configuration:
|
||||
- `"A"` or `"apache"` or `"http"` for Apache/HTTP logs
|
||||
- `"B"` or `"network"` or `"net"` for network logs
|
||||
- Empty string `""` for automatic detection (backward compatible)
|
||||
- Updated example configuration (`config.example.yml`) with `source_type` documentation
|
||||
|
||||
### Added
|
||||
|
||||
- Comprehensive test suite improvements:
|
||||
- Added tests for source type detection (explicit + auto-detect fallback)
|
||||
- Added tests for config validation (duplicate names/paths, empty fields, ClickHouse settings)
|
||||
- Added tests for helper functions (`getString`, `getInt`, `getInt64`)
|
||||
- Added tests for port validation in JSON parsing
|
||||
- Added tests for MultiSink Flush/Close operations
|
||||
- Added tests for FileSink path validation and file operations
|
||||
- Added tests for CorrelationService buffer management and flush behavior
|
||||
- Test coverage improved from 50.6% to 62.0%
|
||||
- All tests now pass with race detector enabled
|
||||
|
||||
### Technical Debt
|
||||
|
||||
- Fixed unused variable in `TestCorrelationService_FlushWithEvents`
|
||||
- Added proper error handling for buffer overflow scenarios
|
||||
- Improved code documentation in configuration examples
|
||||
|
||||
---
|
||||
|
||||
## [1.0.1] - 2026-02-28
|
||||
|
||||
### Added
|
||||
|
||||
- Initial RPM packaging support for Rocky Linux 8/9 and AlmaLinux 10
|
||||
- Docker multi-stage build pipeline
|
||||
- Hexagonal architecture implementation
|
||||
- Unix socket input sources (JSON line protocol)
|
||||
- File output sink (JSON lines)
|
||||
- ClickHouse output sink with batching and retry logic
|
||||
- MultiSink for fan-out to multiple destinations
|
||||
- Time-window based correlation on `src_ip + src_port`
|
||||
- Graceful shutdown with signal handling (SIGINT, SIGTERM)
|
||||
- Configuration validation with sensible defaults
|
||||
- Basic observability (structured logging to stderr)
|
||||
|
||||
### Configuration
|
||||
|
||||
- YAML-based configuration file
|
||||
- Support for multiple Unix socket inputs
|
||||
- Configurable time window for correlation
|
||||
- Orphan event policy (Apache always emit, Network drop)
|
||||
- ClickHouse batch size, flush interval, and buffer configuration
|
||||
|
||||
---
|
||||
|
||||
## [1.0.0] - 2026-02-27
|
||||
|
||||
### Added
|
||||
|
||||
- Initial release
|
||||
- Core correlation engine
|
||||
- Basic HTTP and network log parsing
|
||||
- File-based output
|
||||
Reference in New Issue
Block a user