Changelog
All notable changes to Vultisignal will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[Unreleased]
👀
[0.1.3-dev] - 2025-07-28
Added
- Unified YAML Configuration: Single
config.yaml file for all GitHub settings
- Environment Variable Security: All tokens resolved from env vars (
${GITHUB_TOKEN}) - never stored in config
- Repository Selection: Configure specific repos or use all repos from organization
- Config Validation: Clear error messages for missing config or environment variables
config_loader.py: New module with robust YAML config loading and validation
- PyYAML dependency: Added
PyYAML>=6.0.0 for configuration file support
Changed
- GitHub Collector: Refactored to use config-driven initialization instead of parameters
- CLI Interface: Enhanced with configuration status display during collection
- VERSION: Bumped to
0.1.3-dev with consistent version sourcing
- README: Updated with comprehensive config documentation and quick start guide
Deprecated
- CLI Parameters:
token and use_all_repos parameters now show deprecation warnings
- Direct Environment Reading: GitHub collector no longer reads
GITHUB_TOKEN directly
Fixed
- Config Management: Centralized all data source settings in single YAML file
- Error Handling: Improved error messages for configuration issues
- Security: Tokens never stored in config files, only resolved from environment
[0.1.2-dev] - 2025-07-28
Added
DATA_FLOW_DIAGRAM.md: Full-system ASCII architecture diagram for clarity
- Enhanced
--local flag: Unified CSS and documentation generation for seamless preview
- Standard markdown library support (markdown>=3.8.0) for robust HTML generation
Fixed
- Documentation generator: Replace 120+ lines fragile regex with 10-line standard implementation
- Dashboard timestamps: Distinguish "dataset" vs "generated on" in header/footer
- Actions workflow triggers for renamed scripts/html_generator.py
- Heading/code block formatting conflicts in generated HTML
Improved
README.md: Updated file structure, added CLI usage, removed version references
DASHBOARD_FEATURES.md: Reflect Jinja2 template system and unified generator
- Developer workflow: Single command for local docs & dashboard regeneration
- Documentation accuracy: All docs now match current system architecture
[0.1.1-dev] - 2025-07-26
Fixed
- CRITICAL: Fixed caching bug that broke historical accuracy - repository
updated_at doesn't reflect issue/PR changes
- Force fresh data collection for all daily snapshots to ensure reliable trends
- Remove redundant
metrics_history.json - calculate metrics on-demand from GitHub JSON files
- Fix status/history commands to exclude cache files from counts
- Enable accurate day-to-day trend analysis with single source of truth
Improved
- Enhanced HTML dashboard with clickable issue numbers linking to GitHub
- Streamlined metrics system for better performance and reliability
- Better error handling and data validation
[0.1.0-dev] - 2025-07-25
Added
Core System
- Daily GitHub data collection across 43+ Vultisig repositories
- Native GitHub JSON storage format (no unified schema required)
- Main CLI interface (
vultisignal.py) with collect/process/status/history commands
- Smart caching system to minimize API calls
Enhanced Dashboard
- Comprehensive HTML dashboard with 9 analytical sections
- Cross-platform bug detection across iOS/Android/Windows platforms
- High-priority issue tracking with smart detection algorithms
- Stale item monitoring for issues/PRs inactive >14 days
- Development activity analysis with visual repository hotspots
- Top contributor tracking across all repositories
- Recent releases section with proper GitHub links
- Active pull requests with author and timing information
Analytics Features
- Smart issue grouping for cross-platform bug identification
- Priority scoring using labels and keywords (urgent, critical, crash)
- Timezone-aware staleness calculation
- Repository activity scoring combining commits, issues, and PRs
- Error-resilient processing of malformed data
Technical Implementation
- Professional theming with Water.css and responsive design
- Efficient algorithms for large dataset processing
- Comprehensive error handling and logging
- Performance-optimized rendering (top 10-15 items per section)
Technical Notes
- Historical Data Exploration: Investigated generating historical backfill data but determined GitHub API limitations make comprehensive historical analysis impractical for this use case
- Native JSON Approach: Simplified from earlier unified schema attempts to work directly with GitHub API native format
- Day Zero Philosophy: Focus on daily-forward monitoring rather than complex historical reconstruction
File Structure
vultisignal/
├── vultisignal.py # Main CLI interface
├── collectors/github.py # GitHub data collector
├── processors/summarizer.py # Summary processor
├── scripts/enhanced_html_generator.py # Enhanced dashboard generator
├── exports/github/YYYY-MM-DD.json # Daily GitHub snapshots
└── docs/index.html # Enhanced HTML dashboard
This changelog reflects the current streamlined approach. Earlier experimental versions explored different architectures but are not included in this production-ready release.