Release v1.21.0
This release focuses on performance improvements, bug fixes, and enhanced database migration management.
Key Highlights
- Performance Optimizations: Significant effort has been put into improving API and database performance, including batch inserts, parallel dashboard queries, query simplifications, and new composite indexes.
- Dirty Migration States: Added the ability to detect and force-clean dirty database migration states via the admin panel.
- Concurrency Fix: Resolved a critical concurrent map write panic in the middleware.
Changelog
Added
- Implement detection and force-cleaning of dirty database migration states via the admin panel.
- Add
agent_versionto assets and create dashboard materialized views. - Add pagination to
GetTransactionsendpoint. - Add pagination to
GetExecutionsendpoint. - Add
golang.org/x/syncas a direct dependency.
Changed
- Update Go version to 1.25.6.
- Bump
golang.org/x/oauth2from 0.34.0 to 0.35.0. - Bump
github.com/lib/pqto 1.11.2. - Bump
github.com/tavsec/gin-healthcheck. - Performance: Batch insert transaction items in
PostTransactions. - Performance: Add
LIMIT 50to transactions query inGetMachineID. - Performance: Simplify
getAssetsByOSto query assets table directly. - Performance: Execute dashboard queries in parallel.
- Performance: Add composite indexes for critical query patterns.
- Performance: Configure connection pool limits.
Fixed
- Fix concurrent map write panic in EnvironmentVariablesMiddleware by creating a per-request copy of the environment map.
- Fix backward compatibility for
agent_versioncolumn in models.
Docker Image
docker pull ghcr.io/txlog/server:v1.21.0Full Changelog: v1.20.0...v1.21.0