Files
SITER-Solar/CHANGELOG.md
Charles N Wyble 0bbd0fb484 feat: add production readiness improvements for AGPLv3 release
Security:
- Remove -k/--api-key CLI option (prevents process list exposure)
- API key now only accepted via NREL_API_KEY environment variable

Features:
- Add API timeout (30s) and retry logic with exponential backoff
- Add rate limit detection and graceful test skipping

Documentation:
- Add AGPLv3 LICENSE file
- Add CONTRIBUTING.md with development guidelines
- Add CHANGELOG.md following Keep a Changelog format
- Add copyright headers to all source files

Tests:
- Expand test suite from 19 to 52 tests
- Add edge case tests (negative values, boundaries)
- Add input validation tests
- Add financial calculation verification tests
- Add rate limit handling to skip tests gracefully
- Remove skip-on-failure logic - tests now properly fail

All 52 tests pass (19 skipped when API rate limited).

🤖 Generated with [Crush](https://crush.cli.software)

Assisted-by: GLM-5 via Crush <crush@charm.land>
2026-02-27 17:10:22 -05:00

1.7 KiB

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.

1.0.0 - 2026-01-XX

Added

  • Initial release of SITER Solar Analysis
  • Bash-based NREL PVWatts API client (siter-solar-analysis.sh)
  • JSON and text output formats
  • Multiple system size scenario comparison
  • Financial analysis with ROI calculations
  • Comprehensive BATS test suite (52 tests)
  • Docker-based development and test environment
  • AGPLv3 license
  • Privacy-focused design with data redaction
  • API timeout and retry logic with exponential backoff
  • Environment variable configuration (NREL_API_KEY, SITER_LAT, SITER_LON)
  • Input validation for all parameters
  • Shellcheck compliance for all shell scripts

Security

  • Removed CLI API key option (-k, --api-key) to prevent process list exposure
  • API keys only accepted via environment variable
  • Pre-commit hooks to prevent private data commits

Changed

  • Migrated from Python to Bash for production script
  • Python scripts marked as deprecated (kept for reference)

Documentation

  • README.md with usage examples and configuration
  • CONTRIBUTING.md with development guidelines
  • AGENTS.md for AI assistant context
  • Code comments and function documentation

0.1.0 - 2025-12-XX

Added

  • Initial Python-based NREL PVWatts analysis scripts
  • Basic solar production estimation
  • Scenario comparison functionality