Releases: thanglequoc/timer-ninja
Releases · thanglequoc/timer-ninja
1.3.0 - TimerNinjaBlock feature
Release Notes - Version 1.3.0
Overview
Timer Ninja 1.3.0 introduces powerful new features and important bug fixes to enhance your code timing and performance monitoring experience.
🚀 New Features
TimerNinjaBlock
A new way to track code execution time using inline code blocks with automatic resource management.
Key Benefits:
- Cleaner, more readable code with try-with-resources style syntax
- Automatic start/stop tracking without manual calls
- Enhanced performance tracking for critical code sections
- Seamless integration with existing Timer Ninja features
Example Usage:
try (var ignored = new TimerNinjaBlock("Process data")) {
// Your code here
processUserData();
saveToDatabase();
}
// Timing is automatically recordedPerformance Summary Logging
Added automatic summary logging when all tracked items complete within their configured threshold:
- Reduces log verbosity for well-performing code
- Provides at-a-glance performance insights
- Configurable threshold settings
🐛 Bug Fixes
Concurrency Issue Fix
Fixed critical concurrency bug that could cause:
- Race conditions in multi-threaded environments
- Incorrect timing measurements in concurrent scenarios
- Thread safety issues with singleton pattern implementation
Technical Details:
- Updated thread ID usage throughout the codebase
- Enhanced singleton pattern for thread safety
- Improved
getId()implementation for concurrent access - Added comprehensive thread context management
🔧 Improvements
Development Documentation
- Added comprehensive development guide for contributors
- Included CLAUDE.md for AI-assisted development
- Enhanced project documentation and wiki pages
Build & CI/CD
- Integrated GitHub Actions for automated build and testing
- Added dependency review action for security
- Enhanced JReleaser configuration for releases
- Improved build pipeline reliability
Code Quality
- Fixed typos in documentation and code comments
- Added stack trace logging for failure insights
- Enhanced test coverage with TimerNinjaBlock tests
- Improved code organization and structure
📝 Documentation Updates
- Updated README with TimerNinjaBlock usage guidelines
- Added advanced usage examples and documentation
- Improved troubleshooting section
- Added future improvements and features roadmap
🔄 Migration Guide
From 1.2.0 to 1.3.0
No breaking changes! All existing code remains compatible. To use new features:
- TimerNinjaBlock - Simply wrap your code sections:
public void processOrder(Order order) {
// Regular code not tracked
TimerNinjaBlock.measure("database query", () -> {
database.query("SELECT * FROM orders WHERE id = " + order.getId());
});
// More code not tracked
}- Concurrency improvements are automatic - no code changes needed!
📅 Release Date
February 11, 2026
🔗 Links
Full Changelog: View all commits between 1.2.0 and 1.3.0