Add CHANGELOG.md and update documentation process

- Create comprehensive CHANGELOG.md with all recent changes
- Add mandatory instruction in CLAUDE.md to update changelog
- Follow Keep a Changelog format for consistency
- Document all changes from v0.1.0 to current v0.2.0

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Graham McIntire 2025-07-26 16:45:53 -05:00
parent 91b0288202
commit f38f2b4c59
No known key found for this signature in database
2 changed files with 63 additions and 3 deletions

55
CHANGELOG.md Normal file
View file

@ -0,0 +1,55 @@
# 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).
## [Unreleased]
## [0.2.0] - 2025-07-26
### Added
- Redis-based distributed PubSub for real-time updates across replicas
- PgBouncer connection pooling for efficient database connections
- Distributed caching with Redis (query, device, symbol caches)
- Distributed rate limiting with Redis using sliding window algorithm
- Graceful shutdown handling with connection draining
- PodDisruptionBudget for zero-downtime deployments
- Signal handler for proper SIGTERM handling
- Comprehensive health checks for Kubernetes probes
- Docker build optimizations with better layer caching
- Concurrency control in CI/CD pipeline
### Changed
- Moved from ETS to Redis for caching when REDIS_URL is available
- Updated Kubernetes deployment to use StatefulSet with stable networking
- Simplified Dockerfile by removing Node.js dependencies
- Improved CI/CD to not wait for rollout completion
- Enhanced shutdown process to be silent (no user notifications)
- Optimized Docker image size (removed ~150MB)
### Fixed
- PgBouncer database connection issues with SKIP_DB_CREATE
- Redis connection errors by removing invalid pool_size option
- Compilation warnings by grouping handle_info clauses
- ShutdownHandler interfering with application startup
- DeviceCache startup timing issues with Redis
- Docker permission errors with non-root user
### Removed
- Node.js and npm from Docker image (using standalone ESBuild/Tailwind)
- Complex BuildKit features that were slowing builds
- Multi-platform Docker builds (simplified to amd64 only)
## [0.1.0] - 2023-12-17
### Added
- Initial release
- APRS-IS network connection with reconnection logic
- Real-time packet processing with GenStage pipeline
- Phoenix LiveView map interface
- PostGIS geographic data storage
- Background job processing with Oban
- ETS-based local caching
- Basic rate limiting

View file

@ -116,9 +116,14 @@ Tests use comprehensive mocking to prevent external connections:
## Important Documentation Updates
- **MANDATORY**: Whenever you implement improvements or changes to the system, update `/docs/improvement-todos.md` with:
- Mark completed items as done with the implementation date
- Add any new improvements discovered during implementation
- **MANDATORY**: Whenever you implement improvements or changes to the system:
1. Update `/CHANGELOG.md` with:
- Add new entries under `[Unreleased]` section
- Use categories: Added, Changed, Fixed, Removed
- Be specific and user-focused in descriptions
2. Update `/docs/improvement-todos.md` with:
- Mark completed items as done with the implementation date
- Add any new improvements discovered during implementation
- Update priority levels based on new insights
- Document any technical decisions or trade-offs made
- This ensures continuity across sessions and helps track progress on system improvements