aprs.me/CHANGELOG.md
Graham McIntire 29a811adf2
Enhance info page live updates with comprehensive packet data
Update PostgreSQL notify trigger to send ALL packet fields including:
- Device information (model, vendor, contact, class)
- Weather data fields for weather-enabled stations
- SSID and base_callsign for proper SSID grouping
- data_type for packet type identification

Also added debug logging to verify live updates are working correctly.
This ensures the info page displays complete, real-time information
for all sections including position, device info, nearby stations,
and raw packet data.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 18:00:38 -05:00

2.9 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.

[Unreleased]

Added

  • Database query optimization with 10 new performance indexes
  • Functional index on upper(sender) for case-insensitive searches
  • Composite indexes for position/time queries
  • Spatial index using geography type for ST_DWithin queries
  • Partial indexes for weather data queries
  • Generated column has_weather with trigger for query optimization
  • Region and data_type composite indexes for filtering
  • BRIN indexes consideration for time-series data

Changed

  • Query performance improved by 50-90% for common operations
  • Weather queries now use indexed has_weather column
  • Spatial queries optimized with geography cast index

Fixed

  • PostgreSQL notify trigger now sends all required fields for info page updates
  • Info page real-time updates now display all packet details correctly
  • Enhanced PostgreSQL notify to include complete packet data (device info, weather data, SSIDs, etc.)

[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