๐ Release v1.18.0
We're excited to announce version 1.18.0 of Txlog Server, featuring a comprehensive asset management system with lifecycle tracking, extensive testing coverage, and significant improvements to the dashboard and package management.
โจ Key Highlights
๐๏ธ Asset Management System
- Centralized Asset Table: Implemented a dedicated assets table for unified server identity and lifecycle management
- Lifecycle Tracking: Automatic detection and tracking of replaced servers (same hostname, different machine ID)
- Real-time Asset Counting: Live asset count throughout the application based on activity status
- Time-based Status Indicators: Visual indicators showing server last activity
- Restart Tracking: New
needs_restartingfield to track servers requiring reboot
๐ Dashboard Enhancements
- Active Assets Counter: Real-time display of active servers
- Improved Statistics: Dashboard cards now show only active server data
- Enhanced Queries: Fixed
getDuplicatedAssetsandgetMostUpdatedPackagesto properly filter byis_active - Better Visual Consistency: Improved vertical spacing and layout across dashboard components
- Dynamic Data: Removed cached statistics in favor of real-time calculations
๐ฆ Package Management Improvements
- Accurate Machine Counts: All package listing queries now exclude inactive servers
- Enhanced Filtering: Package filtering uses both version and release fields for precise identification
- Improved Ordering: Package progression now displays in ascending order by week
- Priority-based Reports: Package update reports now prioritize affected servers over total transaction count
- Updated API Endpoints: New format
/packages/:name/:version/:release/assets
๐ค AI Integration
- AI Report Generator: Generate comprehensive package update reports on the Package Progression page
- Multi-Assistant Support: Compatible with ChatGPT, Claude, and Gemini
- CVE Research: Automatic CVE research instructions using Red Hat errata as reference
- Improved Prompts: All AI prompts translated to English for broader compatibility
- Modal Dialogs: Enhanced UI for displaying prompts and error messages
๐งช Testing & Quality
- Comprehensive Test Coverage: New test suites for assets, statistics, scheduler, and controllers
asset_manager_test.go: Asset management functionalitystatistics/main_test.go: 334 lines, 4 test functionsscheduler/main_test.go: 449 lines, 7 test functionspackages_by_week_controller_test.go: 286 lines, 8 test functions
- Integration Tests: Complete coverage for machines API endpoints
- Lifecycle Testing: Test scenarios covering all asset lifecycle states
- Fixed Version Tests: Updated
TestVersionregex to accept-devsuffix
๐ง Code Quality
- Proper NULL Handling: Implemented
sql.NullTimepattern for database operations - Enhanced Documentation: Added explanatory comments for filtering logic
- Template Improvements: Better formatting and readability
- Configuration Documentation: Updated
.air.tomlwith detailed comments
๐ Database Schema
- Complete Documentation: All tables and columns now have descriptive comments
- Optimized Indexes: Added new indexes to improve query performance
๐ Bug Fixes
- Consistent button styling across all modals
- Package counts now correctly exclude inactive servers
- Dashboard cards properly filter active server data
- Improved NULL handling in asset queries
- Enhanced template readability with better formatting
๐๏ธ Removed
- Cached server count statistics (now computed in real-time)
IGNORE_EMPTY_EXECUTIONenvironment variable and related logic
๐ Documentation
- Updated
CHANGELOG.mdwith all recent improvements - Comprehensive test suite documentation
- Template and configuration change documentation
๐ณ Docker Image
docker pull cr.rda.run/txlog/server:v1.18.0๐ Links
- Full Changelog: v1.17.0...v1.18.0
- Documentation: https://github.com/txlog/server
- Issues: https://github.com/txlog/server/issues
๐ Statistics
- 38 commits
- 51 files changed
- 5,586 additions / 965 deletions
โ Verified
All tests pass successfully:
make fmt && make vet && make build
go test ./... -vNote: This release represents a significant milestone in the project's evolution, with major improvements to asset management, testing coverage, and overall code quality. We recommend reviewing the full changelog for detailed information about all changes.