github txlog/server v1.18.0

15 hours ago

๐Ÿš€ 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_restarting field 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 getDuplicatedAssets and getMostUpdatedPackages to properly filter by is_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 functionality
    • statistics/main_test.go: 334 lines, 4 test functions
    • scheduler/main_test.go: 449 lines, 7 test functions
    • packages_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 TestVersion regex to accept -dev suffix

๐Ÿ”ง Code Quality

  • Proper NULL Handling: Implemented sql.NullTime pattern for database operations
  • Enhanced Documentation: Added explanatory comments for filtering logic
  • Template Improvements: Better formatting and readability
  • Configuration Documentation: Updated .air.toml with 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_EXECUTION environment variable and related logic

๐Ÿ“– Documentation

  • Updated CHANGELOG.md with 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

๐Ÿ“Š Statistics

  • 38 commits
  • 51 files changed
  • 5,586 additions / 965 deletions

โœ… Verified

All tests pass successfully:

make fmt && make vet && make build
go test ./... -v

Note: 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.

Don't miss a new server release

NewReleases is sending notifications on new releases.