Skip to content

Releases: RISCfuture/SwiftMETAR

3.0.0

01 May 22:20
800c87c

Choose a tag to compare

[3.0.0] - 2026-03-20

Added

  • XML parsing for METARs and TAFs from aviationweather.gov cache files.
    • METAR.from(xml:) and TAF.from(xml:) return AsyncStream<Result<..., Error>>
      for resilient batch parsing with per-entry error handling.
  • Winds aloft parsing.

Changed

  • CLI tools (decode-metar, decode-taf) now support --format xml and
    --output json options.
  • Log messages in CLI tools now go to stderr to keep JSON output clean.
  • Updated to Swift 6.2.
  • Added swift-format for code formatting.

Fixed

  • Fixed CSV parsing for updated aviationweather.gov format (quoted raw text,
    separate station_id column).
  • Fixed handling of TAF periods where the end date comes before the start date
    (e.g., crossing month boundaries).

2.0.1

20 Aug 08:03
13d066f

Choose a tag to compare

Fixed

  • Better handling of pressure tendency remarks ("5 group").
    • Pressure change value is negated for downwards trends.
    • Localized string fixed to indicate pressure value is a change.

2.0.0

20 Aug 08:01
b4c209d

Choose a tag to compare

This version introduces Swift 6 language support and concurrency mode.

Added

  • Swift 6 language support and concurrency mode.
    • METAR, TAF, and associated objects all now Sendable.
    • parse functions are now async.
  • Adds METARFormatting library for locale-aware METAR and TAF formatting.
    • Adds DecodeMETAR and DecodeTAF CLI tools to demonstrate formatting library.
    • Adds documentation for METARFormatting.
  • Group now includes the raw text as text.

Changed

  • NSLocalizedString usages removed in favor of xcstrings catalogs and
    String(localized:)
  • Added Visibility.notRecorded case to differentiate "VSNO" from "M".
  • Minimum OS versions advanced.
  • Added some utility functions to Weather and Remark.
  • Made Remark.Urgency sortable.

Fixed

  • More lenient parsing of direction ranges.
  • Removed unused Error case.
  • Fixed handling of TAF periods that cross month boundaries.
  • Documentation fixes.

Internal Changes

  • Uses new RegexBuilder API instead of NSRegularExpression.
    • METAR, TAF, and Remark parsers are now actors.

Removed

  • Removes METARGauntlet as the functionality is now included in the new CLI
    tools.

1.0.0

20 Aug 08:01
7310667

Choose a tag to compare

Initial release.