Skip to content

Releases: thanglequoc/timer-ninja

1.3.0 - TimerNinjaBlock feature

11 Feb 04:42
441459a

Choose a tag to compare

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 recorded

Performance 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:

  1. 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
}
  1. 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