Files
weatherreporter/docs/releases/v0.12.0.md

3.1 KiB

Weatherreporter v0.12.0

This release completes a repository-wide correctness, security, efficiency, test-durability, and documentation audit.

Summary

Weatherreporter now applies stricter validation and bounded diagnostics across its configuration, weather collection, Promptkit, rendering, publication, comparison, and Distributor boundaries. Report preparation and execution carry one reconciled identity, independent weather sources are collected concurrently, and cancellation preserves completed report and comparison outcomes.

The release also removes obsolete compatibility surfaces and consolidates duplicated implementation and test policy without changing ordinary report commands or output identities.

Compatibility

This release is compatible with v0.11.0 for ordinary generate, run, and compare commands, configuration files, report filenames, comparison bundles, and Distributor integration.

Sensitive prompt-debug capture through --llm-debug-dir is now supported only on Unix hosts. Non-Unix hosts reject an explicit capture request before prompt inspection, weather collection, or provider execution because the required handle-relative, no-follow filesystem guarantees are unavailable there.

Several unused internal compatibility exports were removed. They were not part of the documented CLI, configuration, artifact, or integration contracts.

Upgrade

No special action is required for ordinary installations. Operators who use --llm-debug-dir on Windows must run that diagnostic workflow on a Unix host. Review any automation that depended on undocumented internal Go APIs removed by this release.

Changes

  • Hardened configuration loading, source validation, secrets rollback, endpoint validation, HTTP diagnostics, generated-text limits, prompt-debug redaction, output publication, comparison replacement, and Distributor failure reporting.
  • Reconciled inspected, prepared, callback, and completed Promptkit identity and provenance before accepting generated content.
  • Preserved metric values, civil-day and daypart identity, overnight alerts, precipitation semantics, and Markdown structure across deterministic report preparation and rendering.
  • Collected independent Weather API sources concurrently and reused readiness data while retaining deterministic normalized results.
  • Preserved completed report and comparison failures independently from shared cancellation, stopped unfinished work, and skipped batch notification after cancellation or partial report failure.
  • Made secure prompt-debug traversal descriptor-relative on Unix and fail closed elsewhere. See the operations guide.
  • Strengthened default test portability and determinism, including capability-aware symbolic-link fixtures and platform-appropriate process signal coverage.
  • Removed obsolete compatibility helpers, duplicated test ownership, dormant persistence code, and completed audit and implementation roadmaps.
  • Updated the architecture policy, testing policy, and focused internal guides to describe the implemented final state.