github philipparndt/mqtt-analyzer v3.1.2

latest releases: v3.4.0, v3.3.2, v3.3.1...
one month ago

Bug Fixes

CoreData crash on upgrade

  • Fixed a crash when saving brokers after upgrading from an older app version. The CoreData
    store could fail to open due to a schema mismatch, but the app continued running with a broken
    database. The app now detects the failure, recovers by recreating the store, and shows an
    error view instead of crashing. iCloud-synced brokers reappear automatically.

Background terminations

  • Fixed the most common crash across all versions. iOS killed the app when it was suspended
    while holding SQLite file locks from active MQTT connections. The app now uses a background
    task to keep sessions alive briefly, and cleanly disconnects before iOS suspends the process.

iCloud initialization blocking main thread

  • Moved iCloud directory initialization off the main thread. The iCloud ubiquity container
    lookup can block, and if iOS suspended the app during that call, it was killed for holding a
    file lock.

CocoaMQTT Fixes (updated to 2.2.5-apple-network)

  • FramePublish: invalid range crash — Fixed bytes[2...(pos-1)] crashing when the broker sends
    a PUBLISH with an empty topic.
  • MqttDecodeConnAck: nil dictionary crash — Fixed force-unwrap of userProperty which was never
    initialized. Brokers sending CONNACK with user properties triggered the crash.
  • MqttDecodePublish: UInt8 overflow — Added bounds check before converting property name byte.
    Malformed packets with values > 255 caused a Swift runtime trap.
  • CocoaMQTTReader: allocation crash — Capped maximum frame length at the MQTT spec limit (256
    MB). Malformed packets could cause the reader to allocate an impossibly large array.

Don't miss a new mqtt-analyzer release

NewReleases is sending notifications on new releases.