PackageTrack
Sign in Get early access

airoc_connect_flutter

A Flutter plugin for Infineon AIROC Bluetooth OTA (Over-The-Air) firmware upgrades. Supports Android, iOS, and macOS.

0.0.8 ArdWang/airoc-connect-flutter

What this package is like to depend on

Last release 3 days ago

21 Aug 2026

Release timing varies

gaps range from 2 weeks to 4 months

Nearly every release is documented

notes for 6 of 6 stable releases

Nothing withdrawn

no release was ever pulled

5 months old

6 releases · first in 2026

6 releases in the last 12 months

see the full history below

Release timeline

6 releases · Mar 2026 to Aug 2026
Release Pre-release

Releases

latest 6
  1. 0.0.8 21 Aug 2026
    Release notes

    Lowered Minimum SDK Requirements

    • Minimum Dart SDK lowered from 3.8.1 to 3.2.0
    • Minimum Flutter lowered from 3.32.7 to 3.16.0
    • Downgraded crypto to ^3.0.3 and flutter_lints to ^4.0.0, the last versions compatible with Dart SDK 3.2

    Open source →
  2. 0.0.7 04 Aug 2026
    Release notes

    OTA Workflow Redesign & Connection Stability

    Platform Support: Android, iOS, macOS

    New Features

    • Auto-Unpair After OTA - Once the upgrade completes, the device is automatically unpaired to clean up the pairing state: Android calls removeBond(), while iOS/macOS disconnect (CoreBluetooth exposes no programmatic unpair API).
    • Explicit Manual Pairing — Added "Pair Device" as Step 1 in the OTA workflow. Users must manually pair before proceeding to service discovery and upgrade. Paired state is visually indicated (Not Paired / Pairing… / Paired ✓).
    • 4-Step OTA Workflow — Expanded from 3 steps to 4 steps for clearer operation flow:
      • Step 1: Pair Device — Manually pair with the device
      • Step 2: Discover Services — Read device service UUIDs
      • Step 3: Select Firmware — Choose a firmware file
      • Step 4: Start OTA Upgrade — Begin the firmware update
    • Colorized Debug Logging — Terminal output now uses ANSI color coding: level-specific badges (blue=info, yellow=warning, red=error), green tags, gray timestamps, magenta TX / cyan RX hex dumps.
    • Characteristic Property Filtering — Service discovery dropdowns now only show characteristics that support both WRITE and NOTIFY capabilities.

    Bug Fixes

    • Fixed macOS Pairing "android-only" Error — Pairing and OTA no longer throw android-only on macOS/iOS. The example app previously called flutter_blue_plus Android-only APIs (createBond(), bondState) unconditionally on all platforms; these are now guarded behind Platform.isAndroid. On iOS/macOS (CoreBluetooth), which expose no programmatic pairing API, pairDevice() just connects and pairing is triggered implicitly by the OS when an encrypted characteristic is accessed; isDeviceBonded() / isBonded fall back to connection state. Android retains its explicit createBond() flow unchanged.
    • Fixed Repeated Pairing Prompts — Eliminated unnecessary disconnect/reconnect cycles throughout the OTA flow. A single continuous BLE connection is now maintained from pairing through OTA completion, matching iOS CoreBluetooth behavior.
    • Fixed "WRITE property not supported" Error — Transport layer now auto-detects whether the characteristic supports write or writeWithoutResponse and uses the correct write mode.
    • Fixed Multiple createBond() Calls — Removed auto-pairing logic from the transport layer. Pairing is now exclusively handled by the user-facing "Pair Device" step.

    Technical Improvements

    • Single Continuous ConnectionFlutterBluePlusOtaTransport.connect() no longer forces disconnect/reconnect when the device is already connected. It reuses the existing connection to avoid bond re-negotiation.
    • Transport Write Detectionwrite() auto-falls back to writeWithoutResponse when the characteristic lacks WRITE property.
    • Characteristic Discoverydiscover() logs all characteristic properties and selects the best match with both WRITE and NOTIFY capabilities.
    • Pairing State Management — Bond state is checked on OTA screen init to detect previously-paired devices.

    Notes

    • One Connection, One Pairing — Following the iOS CoreBluetooth model, the app now uses a single Bluetooth connection throughout the entire OTA session. Users should only see the pairing dialog once.

    Open source →
  3. 0.0.6 30 Mar 2026
    Release notes

    Version Bump

    • Update version from 0.0.5 to 0.0.6

    Open source →
  4. 0.0.5 30 Mar 2026
    Release notes

    Major UI Refactor and OTA Workflow Optimization

    Platform Support: Android, iOS, macOS

    New Features

    • Simplified OTA Upgrade Screen - Refactored multi-page flow into a single-page three-step process
      • Step 1: Discover Services - Discover device services (auto-pair on connect)
      • Step 2: Select Firmware - Select firmware file
      • Step 3: Start OTA Upgrade - Start upgrade
    • Smart Bottom Hint Bar - Displays dynamic operation hints based on current state
    • Auto-Return After OTA - Automatically returns to scan screen 2 seconds after upgrade completes
    • Simplified Device Scan Screen - Removed "OTA only" toggle, scans all devices by default

    Bug Fixes

    • Fixed Pair State Check Logic - Uses bondState.first to wait for stream update, avoiding repeated pairing dialogs
    • Fixed GATT 133 Error - Disconnects existing connection before reconnecting to prevent connection conflicts
    • Fixed Unresponsive Button After Pairing - Re-checks state after pairing to ensure UI updates correctly
    • Removed Redundant Step 1 Pair Card - Pairing now happens automatically during service discovery

    Technical Improvements

    • BLE Connection Optimization - Added pre-connect checks and delays in connect() method to avoid GATT cache conflicts
    • Optimized Pairing Timing - Only triggers createBond() when device is not bonded; directly connects for bonded devices
    • Enhanced Error Logging - Added detailed bond state logs for debugging

    Notes

    • discoverServices() is Required - BLE requires rediscovering services after each connection; this is standard BLE protocol behavior
    • Bootloader Mode May Trigger Pairing - If device changes MAC address after entering bootloader mode, system will treat it as a new device and request pairing

    Open source →
  5. 0.0.4+4 24 Mar 2026
    Release notes
    • Update document
    Open source →
  6. 0.0.3+3 24 Mar 2026
    Release notes
    • Modify uuid display error
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive