WEATHER WIRE CHANGELOG
======================

1.0.8 - 2026-09-19
------------------
- Isolated main-screen current observations and alert retrieval so one failed product does not blank the other.
- Added stale-if-error fallback using the existing doors/weatherwire/cache directory, with an explicit stale-data notice.
- Added strict NHC/CPHC RSS/XML validation so malformed/error responses are never reported as "no active storms".
- Reduced network wait times and added an approximately 10-second per-screen service network budget.
- Added ~45-second negative caching for failed endpoints to reduce repeated failures on multi-node boards.
- Hardened the filesystem cache with non-blocking per-endpoint locks, atomic writes, stale temp cleanup, and hourly GC locking.
- Added a 2 MiB maximum remote-response size.
- Added centralized remote-text sanitization for ANSI/VT/control sequences and safe ATDT rendering.
- Replaced byte-oriented product wrapping with UTF-8/multibyte-safe wrapping and truncation.
- Tightened fixed-width rendering for 80-column terminal screens.
- Made observation/discussion timestamps use the selected location timezone where appropriate and kept explicit timezone labels elsewhere.
- Expanded transport/error messages to distinguish timeout, DNS, HTTPS, HTTP, malformed-data, and stale-cache conditions.
- Ensured the configured WeatherWire User-Agent/contact is used consistently across NWS, forecast.weather.gov, NHC, and CPHC requests.
- Updated README/help/admin wording to document the reliability behavior while keeping cache files in doors/weatherwire/cache.

1.0.7 - 2026-09-19
------------------
- Added an NHC/CPHC Tropical Center for Atlantic, Eastern Pacific, and Central Pacific basins.
- Added official Tropical Weather Outlook text with paging and manual refresh.
- Added active tropical cyclone Public Advisory listings and paged storm details/forecast narrative.
- Added five-minute filesystem caching for NHC/CPHC tropical RSS/XML feeds.
- Extended the SysOp network test and documentation to include www.nhc.noaa.gov.
- Corrected the partly-cloudy ANSI artwork and rendered the cloud portion in grey.

1.0.6 - 2026-09-18
------------------
- Replaced the night icon with a compact filled yellow crescent and white stars.
- Reworked nighttime clear-weather ANSI art as a yellow crescent moon with white stars.
- Moved all transient NWS response caching out of ATDT SQLite and into weatherwire/cache/*.json.
- Persistent settings and caller userloc:* records remain in ATDT door_kv.
- Added atomic filesystem cache writes to protect concurrent callers from partial JSON files.
- Kept each endpoint's normal TTL plus the six-hour post-expiration purge grace period.
- Filesystem garbage collection runs at most once per hour and removes abandoned temp files.
- Filesystem cache is used directly with no legacy SQLite cache migration or marker file.
- Added .htaccess/index.html protection for the cache directory and cache status in the SysOp panel.
- Shifted the main-screen Current Conditions heading and detail rows down one line for improved spacing.
- Centered transient main-screen status notes within the right-hand conditions/alerts pane while keeping them on row 18.

1.0.5 - 2026-09-18
------------------
- Added automatic NWS cache garbage collection.
- Each cached response keeps its existing endpoint TTL; the row is deleted six hours after that TTL expires.
- Garbage collection runs opportunistically at most once per hour during normal Weather Wire use.
- Existing pre-1.0.5 cache rows are handled conservatively and are upgraded when reused.
- Saved caller locations and Weather Wire configuration are never purged.

1.0.4 - 2026-09-18
------------------
- Rebuilt the moon as fixed-width character-grid art so every row stays aligned.
- Rebuilt both active-alert and all-clear artwork with identical 21-column rectangular frames.
- Removed slash/backslash corners from alert status artwork to avoid skew in terminal fonts.

1.0.3 - 2026-09-18
------------------
- Q now exits Weather Wire only from the main screen.
- Added an explicit M = Main option on every secondary screen.
- Replaced the active-alert artwork with a symmetric fixed-width red banner.
- Clear-weather artwork now uses a sun by day and moon by night for the selected location.
- Day/night is calculated from the location's NWS time zone and local sunrise/sunset.
- Main screen now displays the selected location's local time.

1.0.2 - 2026-09-18
------------------
- Added ANSI weather artwork on the main screen for clear, clouds, rain, wind, storms, snow, and related conditions.
- Added a red ANSI alert graphic on the main screen whenever active alerts exist for the selected area.
- Added ENTER-key cycling through Current, Forecast, Hourly, Alerts, Discussion, and back to the main screen.
- Replaced generic location examples with New York City examples in the door prompts and admin UI.

1.0.1 - 2026-09-18
------------------
- Removed installation-specific ZIP, city, and coordinate examples from the source.
- Location prompts now use generic format labels only.

1.0.0 - 2026-09-18
------------------
- Initial ATDT Native PHP door release.
- Official NWS current conditions, forecasts, hourly forecasts, alerts, and
  Area Forecast Discussions.
- Per-caller locations plus optional board-wide default location.
- ZIP/city location resolution through forecast.weather.gov.
- NWS API response caching.
- ATDT SysOp admin panel and outbound HTTPS connectivity test.
