All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Nothing yet.
1.0.0 - 2026-01-17
- Calendar heatmap visualization with GitHub-style grid layout displaying activity patterns across a full year
- Real-time data updates based on Grafana time range picker with automatic refresh when time range changes
- Standard Grafana time-series data support (DataFrame) with automatic detection and processing of timestamp-value pairs
- GitHub contribution graph aesthetics with familiar visual patterns for developers and data analysts
- 6 built-in color palettes: Green (GitHub-style), Blue (professional), Red (alerts/errors), Yellow (warnings), Purple (creative), Orange (energetic)
- Theme-aware empty cell colors that automatically adapt to Grafana's dark mode, light mode, and high-contrast themes
- Dynamic color scaling with 4 intensity levels providing clear visual distinction between low and high activity periods
- Customizable color intensity mapping with smart distribution algorithms for optimal visual contrast
- 5 aggregation methods for handling multiple data points per day:
- Sum: Total of all values (ideal for counts, quantities)
- Count: Number of data points (useful for frequency analysis)
- Average: Mean value (smooths out outliers)
- Maximum: Highest value (highlights peak activity)
- Minimum: Lowest value (identifies baseline activity)
- Intelligent data handling with automatic filtering of null, undefined, and NaN values to prevent visualization errors
- Automatic precision control with rounding to 2 decimal places for clean tooltip display
- Robust timestamp parsing supporting multiple date formats and timezone handling
- Auto-sizing cells that automatically adjust to fit panel width for optimal space utilization
- Manual cell size control with slider range from 8-20 pixels for fine-tuned appearance
- Configurable cell spacing from 1-24 pixels allowing tight or loose grid layouts
- Adjustable corner radius from 0-6 pixels for square to rounded cell appearance
- Optional week day labels (Sun-Sat) with abbreviated or full names
- Optional month labels (Jan-Dec) with intelligent positioning and responsive sizing
- Optional legend display with color intensity scale and value range indicators
- Interactive hover tooltips showing formatted date and aggregated value with customizable precision
- Toggle tooltip visibility for clean screenshots or presentation mode
- Responsive layout that gracefully adapts to various panel dimensions and screen sizes
- Smooth hover animations providing immediate visual feedback
- Accessibility support with proper ARIA labels and keyboard navigation
- React 18.3.0 with modern functional components, hooks, and concurrent features
- TypeScript 5.9.2 with strict type checking, ensuring type safety and better developer experience
- Grafana SDK 12.3.1 full compatibility with latest Grafana APIs:
@grafana/datafor DataFrame processing and time series handling@grafana/uifor consistent theme integration and UI components@grafana/runtimefor plugin lifecycle and configuration management@grafana/schemafor type-safe configuration options@grafana/i18nfor internationalization support
- @uiw/react-heat-map 2.3.3 for performant core heatmap visualization engine
- Emotion CSS 11.10.6 for dynamic styling with theme integration and CSS-in-JS benefits
- Webpack 5 build system with modern module federation and tree-shaking optimizations
- SWC compilation for ultra-fast TypeScript/JavaScript transformation
- Jest 29 testing framework with React Testing Library for comprehensive unit test coverage
- Playwright 1.57 for end-to-end testing across multiple browsers and Grafana versions
- ESLint 9 with comprehensive rule sets:
- TypeScript-specific linting for type safety
- React hooks rules for proper hook usage
- JSDoc enforcement for better documentation
- Prettier 3 for consistent code formatting across the entire codebase
- Docker Compose development environment with Grafana Enterprise for realistic testing scenarios
- Plugin signing support for official Grafana plugin catalog distribution
- Automated build pipeline with version management and artifact generation
- Grafana dependency: Compatible with Grafana >=11.6.0
- Plugin ID:
tim012432-calendarheatmap-panelfor unique identification - Plugin type: Panel plugin integrating seamlessly with Grafana's dashboard ecosystem
- Keywords: heatmap, calendar, github, contributions, activity for discoverability
- Comprehensive screenshots demonstrating multiple themes and configurations:
- Light theme with orange color scheme
- Dark theme with green color scheme
- Tron theme with blue color scheme
- Configuration panel overview
- Plugin logo with SVG format for crisp display at any size
- GitHub repository integration with direct links to source code and issue tracking
- Efficient data rendering with virtualized components for large datasets
- Optimized re-rendering using React.memo and useMemo for expensive calculations
- Lazy loading of non-critical components to improve initial load times
- Memory-efficient data structures preventing memory leaks in long-running dashboards