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

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