Skip to content

v4.0.0-rc.0

Pre-release
Pre-release

Choose a tag to compare

@stoe stoe released this 21 Jun 10:33
· 38 commits to main since this release
v4.0.0-rc.0
e9b3be6

Release Notes v4.0.0-rc.0

This release represents a complete architectural rewrite of the action-reporting-cli with significant enhancements and breaking changes.

📦 Changes

Complete Architectural Rewrite

  • Complete codebase rewrite with a new modular architecture and organization
  • Changed entry point from index.js to cli.js
  • Modified module exports structure in package.json
  • Organized codebase into logical directories:
    • src/github/: GitHub API interactions
    • src/report/: Report generation logic
    • src/util/: Utility functions

Enhanced Logging System

  • Added Winston-based logging with multiple output levels
  • Implemented spinners with Ora for better UX during long operations
  • Added debug mode with file-based logging
  • Improved warning log usage for better visibility

Improved Caching System

  • Added dedicated cache management in src/util/cache.js
  • Enhanced performance with persistent API response caching

New Features

  • Added options to skip archived/forked repositories
  • Improved report logic and generation
  • Added messaging to display report and output options
  • Enhanced CLI help text

Documentation

  • Improved README clarity and usage instructions
  • Added comprehensive contributing guidelines
  • Enhanced inline code documentation

Testing Infrastructure

  • Complete rewrite of tests with Jest framework
  • Added mocks and fixtures for testing
  • Implemented unit tests across all components

🐛 Bug Fixes

  • No specific bug fixes were included in this release as it's a complete rewrite

🆙 Dependencies

  • Updated Node.js requirement to >=20 and npm to >=10
  • Added new dependencies:
    • ora (v8.2.0) for terminal spinners and progress indicators
    • winston (v3.17.0) for advanced logging
  • Updated Octokit packages to latest versions:
    • @octokit/core to v7.0.2
    • @octokit/plugin-paginate-rest to v13.1.0
    • @octokit/plugin-throttling to v11.0.1
  • Updated other dependencies:
    • got to v14.4.7
    • csv to v6.3.11
    • meow to v13.2.0
    • normalize-url to v8.0.2
  • Updated all development dependencies to latest versions

📊 File Statistics

  • Added: 25 new JavaScript files
  • Removed: 3 files (index.js, utils/reporting.js, utils/wait.js)
  • Total Changes: 15,557 insertions, 2,551 deletions across 54 files

🔄 Migration Guide

Users upgrading from v3.x will need to:

  1. Update Node.js to version 20 or later and npm to version 10 or later

  2. Update imports/requires to use the new module structure:

    // Old imports (v3)
    import Reporting from '@stoe/action-reporting-cli'
    
    // New imports (v4)
    import Report from '@stoe/action-reporting-cli'
    // or for specific components
    import {CSVReporter} from '@stoe/action-reporting-cli/report'
    import {Repository} from '@stoe/action-reporting-cli/github'
  3. Review the updated CLI options and parameters

  4. Update any code that directly uses the library's exports

See the documentation for detailed migration instructions.