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>
49 lines
1.7 KiB
Markdown
49 lines
1.7 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
## [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
|
|
|
|
[1.0.0]: https://github.com/example/siter-solar/compare/v0.1.0...v1.0.0
|
|
[0.1.0]: https://github.com/example/siter-solar/releases/tag/v0.1.0
|