Skip to content

Update Rust crate btleplug to 0.13.0 - #102

Open
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/btleplug-0.x
Open

Update Rust crate btleplug to 0.13.0#102
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/btleplug-0.x

Conversation

@renovate

@renovate renovate Bot commented Mar 9, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
btleplug dependencies minor 0.11.50.13.0

Release Notes

deviceplug/btleplug (btleplug)

v0.13.0

Compare Source

Features

  • Add Central::retrieve_peripherals() and RetrievePeripheralsOptions for
    retrieving peripherals by identifier or advertised service without scanning.
    This is supported on Linux, macOS/iOS, and Windows; Android returns
    Error::NotSupported.
  • Add Central::adapter_address() for retrieving the local adapter address on
    Linux and Windows. Apple platforms and ordinary Android applications return
    Ok(None) because their public APIs do not expose this address.
  • Implement Central::add_peripheral() on Windows, allowing bonded or already
    connected devices to be reached by address without waiting for an
    advertisement.
  • Add appearance to PeripheralProperties, populated from GAP Appearance
    advertising data on Windows, Linux, and Android. CoreBluetooth does not expose
    this advertising field, so it remains None on Apple platforms.
  • Add support for receiving advertisements on the Bluetooth LE Coded PHY on
    Windows where supported.

Bugfixes

  • Fix CoreBluetooth service discovery hanging when descriptor discovery fails.
  • Fix CoreBluetooth clear_peripherals() so cleared devices can be rediscovered
    and emit fresh discovery events.
  • Report the negotiated CoreBluetooth MTU after service discovery instead of
    always returning the default MTU.
  • Preserve complete local names over shortened names across split or repeated
    advertisements on Android, macOS/iOS, and Windows.
  • Fix filtered Windows scans dropping scan-response packets that omit service
    UUIDs, and prevent stale scan-response matches from leaking between scans.
  • Propagate Android JNI callback and initialization failures consistently while
    preserving Java exception details.
  • Harden Windows characteristic subscription state so repeated subscriptions do
    not install duplicate handlers and failed CCCD operations remain retryable.
    (#​326)
  • Clarify that Peripheral::properties() is a backend-dependent snapshot and
    may be unavailable, incomplete, or stale. (#​339)
  • Prevent CoreBluetooth descriptor discovery and GATT operation failures from
    hanging pending futures or panicking on missing relationships. (#​397, #​422)
  • Run compatible CoreBluetooth operations through FIFO queues, preserve
    write-without-response ordering under backpressure, and complete pending
    operations safely on disconnect or late callbacks. (#​464)
  • Remove stale CoreBluetooth peripheral event senders after dispatch failures so
    peripherals can be rediscovered cleanly. (#​469)
  • Expand Android JNI host-test coverage for futures, streams, and environment
    setup across worker threads. (#​427)
  • Update the event-driven discovery example to describe its async-task usage.
    (#​460)

Breaking Changes

  • Android minimum SDK: Android API 24 (Android 7.0) or newer is now required.
  • PeripheralProperties struct literals: The new appearance field must be
    initialized by callers that construct this public struct directly.

Dependencies

  • Update jni from 0.19 to 0.22 and migrate the Android backend to its current
    API.

v0.12.0

Compare Source

Features

  • Add mtu() method to Peripheral trait (returns negotiated MTU)
  • Add connect_with_timeout() and discover_services_with_timeout() convenience methods
  • Add read_rssi() to Peripheral trait (supported on all platforms)
  • Add connection_parameters() and request_connection_parameters() to Peripheral trait (Windows/Android)
  • Add ConnectionParameters and ConnectionParameterPreset types
  • Add clear_peripherals() to Central trait
    • Thanks danielstuart14!
  • Add adapter_state() to Central trait for querying Bluetooth on/off state
  • Add add_peripheral() to Central trait for adding a device by address without scanning (Android)
  • Add advertisement_name field to PeripheralProperties
    • Thanks szymonlesisz!
  • Add service_uuid field to ValueNotification
    • Thanks MnlPhlp!
  • Add CentralEvent::RssiUpdate for RSSI change events
  • Add CentralEvent::DeviceServicesModified (CoreBluetooth only)
    • Thanks kragacles!
  • Add Error::NoAdapterAvailable variant
  • Add DEFAULT_MTU_SIZE constant
  • Add From<BDAddr> for [u8; 6] conversion
    • Thanks gabevenberg!
  • Add ./scripts/build-java.sh for building the Android Java components
  • Add integration test suite with Zephyr and Bumble test peripherals
  • Vendor jni-utils-rs Java classes directly into the btleplug source tree (no longer a separate Maven dependency)

Bugfixes

  • Fix CoreBluetooth peripheral name handling
    • Thanks szymonlesisz!
  • Fix BlueZ device disconnection (#​446)
    • Thanks szymonlesisz!
  • Improve CoreBluetooth didModifyServices handling and comments
    • Thanks kragacles!
  • Add NSError to CoreBluetooth trace logging
    • Thanks tternes!

Breaking Changes

  • CentralEvent enum: New variants DeviceServicesModified and RssiUpdate. Exhaustive matches will need updating.

  • Error enum: New variant NoAdapterAvailable. Exhaustive matches will need updating.

  • Update dependencies

v0.11.8

Compare Source

Features

  • Update dependencies
    • Including to windows-rs 0.61, which required some small code changes

v0.11.7

Compare Source

Features

  • Deserialize BDAddr from non-borrowed strings
    • Thanks icewind1991, ekuinox!
  • Add support for Extended Advertising on Android
    • Thanks Jakouf!

Bugfixes

  • Call GetDefaultAdapter() instead of GetAdapter() on Android
  • Use BluetoothCacheMode::Uncached for services fetching on windows
    • This may cause issues with connection times, we'll see how it works out
  • Characteristics with duplicate UUIDs (but differing handles) no longer overwrite each other
    • Thanks blackspherefollower!
  • CoreBluetooth now fulfills all open characteristic futures on disconnect
    • Thanks szymonlesisz!

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot force-pushed the renovate/btleplug-0.x branch from 6c75e19 to fc82f8f Compare March 13, 2026 17:35
@renovate
renovate Bot force-pushed the renovate/btleplug-0.x branch from fc82f8f to 056b12a Compare May 18, 2026 15:11
@renovate
renovate Bot force-pushed the renovate/btleplug-0.x branch from 056b12a to edd5b06 Compare July 21, 2026 03:00
@renovate
renovate Bot force-pushed the renovate/btleplug-0.x branch from edd5b06 to 8547e6f Compare August 11, 2026 22:06
@renovate
renovate Bot force-pushed the renovate/btleplug-0.x branch from 8547e6f to 68c3640 Compare August 26, 2026 20:59
@renovate
renovate Bot force-pushed the renovate/btleplug-0.x branch from 68c3640 to c130c50 Compare August 31, 2026 15:30
@renovate renovate Bot changed the title Update Rust crate btleplug to 0.12.0 Update Rust crate btleplug to 0.13.0 Aug 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants