Changelog
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.
[0.8.0] - 2025-11-22
Added
- Enhanced Analytics Report Formatting: Improved visual presentation and data clarity
- Dynamic contributor table that only shows columns with non-zero data
- Summary stats section with key metrics for executive overview
- Better handling of missing data with explanatory messages
- Improved Offline Mode Reliability: Fixed core analytics processor to properly use parsed markdown data
- Active contributors now correctly calculated from PR authors (122 contributors vs 0)
- Review coverage accurately reflects PR review status
- All metrics now show meaningful values instead of zeros
Fixed
- Analytics Report Display Issues: Resolved confusing "0 commits" displays in contributor tables
- Version Display: Shows "n/a" instead of "unknown" when version cannot be determined
- PR Size Messaging: Enhanced "No data available" message with explanation "(PRs contain no diff metadata)"
- Formatting Issues: Fixed code style issues that were preventing clean commits
Changed
- Report Structure: Added summary statistics section at end of analytics reports
- Total PRs processed and reviewed counts
- Release count and active contributor metrics
- Percentage of release-notes labels for quick insights
[0.7.4] - 2025-11-22
Added
- Initial Analytics Features: First implementation of analytics reporting capabilities
- Basic contributor tables with commit counts
- Simple PR review coverage metrics
- Preliminary release tracking statistics
- Offline Analytics Mode: Analytics can now work with exported data instead of requiring GitHub API access
- Parses exported markdown files (PRs, Issues, Releases)
- Works with private repositories and offline environments
- Basic implementation with limited metrics
Fixed
- Analytics Report Generation: Fixed issue where analytics reports were empty in some cases
- Resolved problems with data parsing from exported files
- Improved error handling for missing data scenarios
[0.7.2] - 2025-01-21
Added
- Automatic Update Notifications: CLI now checks for new versions and notifies users when updates are available
- Non-blocking background check (once per day)
- Clear visual notification with update command
- Direct link to release changelog
- Skipped during tests and for help/version flags
- Offline Analytics Mode: Analytics now work with exported data instead of requiring GitHub API access
- Automatically enabled when generating analytics after exports
- Parses exported markdown files (PRs, Issues, Releases)
- Works with private repositories and offline environments
- No more empty analytics reports!
Fixed
- Analytics Report Generation: Fixed issue where analytics reports were empty
- Previous version tried to fetch from GitHub API even after export
- Now uses offline mode by default to parse local exported files
- Analytics now accurately reflect exported data
Technical
- Added
update-notifierdependency for version checking - Created
version-checkerutility module - Integrated version check into CLI startup flow
- Created
MarkdownParserclass for parsing exported markdown files - Updated
AnalyticsProcessorto support offline mode withofflineandexportedDataPathoptions - Modified all analytics generation calls to use offline mode by default
[0.7.0] - 2025-11-21
Added
- Automatic Analytics Generation: Analytics reports are now automatically generated with every export operation
- Enhanced Data Extraction Limits: Increased data limits for better analysis of large repositories
- PR/Issue lists: 300 → 1000 items
- Release lists: 50 → 200 items
- Exporters: 100 → 500 items
- Comprehensive test coverage: Added extensive unit tests for analytics module with 92%+ coverage
Changed
- Analytics Integration: Removed
--analyticsflag as analytics are now automatically generated - CLI Interface: Removed analytics option from interactive prompts
- Data Processing: Increased GitHub API limits for more comprehensive repository analysis
Technical
- Updated export logic to automatically generate analytics after each export
- Enhanced error handling for analytics generation
- Improved test coverage for all analytics modules
[0.6.3] - 2025-11-21
Fixed
- Version Conflict: Incremented version to resolve npm publishing conflict
[0.6.2] - 2025-11-21
Fixed
- CI/CD Pipeline: Enhanced npm publishing workflow with fallback mechanism and improved authentication
[0.6.1] - 2025-11-21
Fixed
- CI/CD Pipeline: Resolved npm authentication issues in GitHub Actions workflow
[0.6.0] - 2025-11-21
Added
- Enterprise-Grade Batch Processing: Export multiple repositories simultaneously with controlled concurrency
- Process dozens or hundreds of repositories in a single command
- Configurable parallelism (default: 3 repositories at a time)
- JSON configuration file support for complex batch operations
- Command-line options for quick batch exports
- Comprehensive batch summary report with per-repository details
- Automatic Code Quality Enforcement: Pre-commit and pre-push hooks to ensure code is properly formatted and linted
- Automatic Prettier formatting on commit
- ESLint validation on commit
- Pre-push validation to prevent unformatted code from being pushed
- Enhanced CI/CD Workflow: Streamlined GitHub Actions with reduced redundancy and improved efficiency
Changed
- Improved Developer Experience: More flexible linting configuration with reduced strictness
- Optimized CI Processes: Consolidated multiple CI jobs into more efficient workflows
- Code Quality Standards: Relaxed certain ESLint rules to reduce noise while maintaining code quality
Fixed
- Code Formatting Issues: Resolved all Prettier formatting warnings across the codebase
- Linting Configuration: Fixed ESLint configuration to properly include all project files
[0.5.0] - 2025-11-21
Added
- Documentation Updates: Added milestone status documentation
- Workflow Improvements: Enhanced CI/CD pipelines for better reliability
Changed
- Version Bump: Incremented version to v0.5.0 for continued development
[0.4.0] - 2025-11-21
Added
- Diff Mode (Incremental Exports): Revolutionary feature that exports only new/updated items since last run
- New
--diffand--incrementalflags for incremental exports - State management system tracks last export timestamps
--force-fullflag to override diff mode and force full export- Persistent state stored in
~/.ghextractor/state/exports.json - Automatic detection of first-time exports
- State updates after successful exports for future incremental runs
- New
Changed
ExportOptionsinterface now includes optionaldiffModeparameterBaseExporterclass enhanced with diff mode support methods- CLI help updated with new diff mode flags and examples
- Export flow now integrates state management for incremental exports
Performance
- 80-95% reduction in API calls for subsequent exports with
--diff - 10x faster exports for large repositories using incremental mode
- Minimal rate limit impact on repeated exports
Technical
- New
StateManagersingleton for managing export states - New types in
src/types/state.tsfor state management - Full integration with existing exporter architecture
- Backward compatible - diff mode is opt-in
[0.3.0] - 2025-11-21
Fixed
- Complete Release Export: Fixed incomplete release exports that were missing release notes (body content)
- Changed from GitHub API endpoint to
gh release viewcommand for more reliable data fetching - Releases now export with full content including complete release notes, assets, and author information
- Increased timeout from 10s to 30s and enabled automatic retries for better reliability with large repositories
Changed
- Updated release fetching mechanism in
ReleaseExporterto use native GitHub CLI commands - Improved error handling for release details fetching
[0.2.0] - 2025-11-20
Added
- Public Repository Support: Users can now document any public repository by entering the repository manually in
owner/repoformat (e.g.,facebook/react) - Collaboration Support: Automatically includes repositories where the authenticated user is a collaborator (not just owned repositories)
- New interactive option "📝 Enter a repository manually" in repository selection menu
- Repository validation and error handling for manually entered repositories
getRepositoryFromString()function for validating and fetching public repository informationpromptRepositoryInput()function with format validation
Changed
listUserRepositories()now uses GitHub API endpointuser/reposto include collaborator repositories (37 total repos instead of 34)selectRepository()return type changed toPromise<Repository | null>to support manual entry option- Updated README with new features and usage examples for public repositories
Improved
- Better user experience for documenting open-source projects
- Enhanced repository discovery including collaboration repos
- Comprehensive documentation with use cases for public repository documentation
[0.1.0] - 2025-11-20
Added
- Initial release
GitHub CLI integration
Repository scanner
Interactive CLI interface
Data exporters (PRs, Issues, Commits, Branches, Releases)
Rate limiting with Bottleneck
Caching system with ETag support
Full backup mode
Markdown and JSON export formats
Custom template support
Configuration file support
Progress tracking and spinners
Error handling and retry logic
Comprehensive test suite
Initial release with basic functionality