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>
1.7 KiB
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