Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
* Bump `bluez` to `^0.9.0`.
* Bump the `pigeon` dev dependency to `^29.0.0`.
* Regenerate the Pigeon bindings with Pigeon 29. The async platform channels now use `@asyncCallback`, so the existing callback-based native implementations (Swift completion handlers, Kotlin callbacks) are kept as-is rather than migrated to native `async`/`suspend`. No public API change.
* Windows: compile the plugin with `/utf-8`. The Pigeon-generated sources contain UTF-8 doc comments, and MSVC decoded them using the system ANSI code page, so a clean build failed with C4819/C2220 on machines configured with a code page such as 936, 932, 949 or 950 (#354).

## 3.1.0
* `BleDevice.services` is now normalised to full 128-bit lower-case UUIDs on every platform, matching the keys of `BleDevice.serviceData`. Apple was the outlier: it reported 16-bit advertised service UUIDs in their short form (`180D`), so the same field had a different shape per platform and stored keys or comparisons did not transfer between them. Compare against, or store, the 128-bit form; short (`180D`) and `0x`-prefixed forms are still accepted as *input*. Entries that are not valid UUIDs are kept verbatim rather than dropped.
Expand Down
8 changes: 8 additions & 0 deletions windows/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,14 @@ add_library(${PLUGIN_NAME} SHARED

apply_standard_settings(${PLUGIN_NAME})

# Pigeon-generated sources contain UTF-8 characters in doc comments. Without
# this, MSVC decodes them using the system ANSI code page (e.g. CP936) and
# C4819 is promoted to an error by the /WX from apply_standard_settings,
# failing the plugin build on non-UTF-8 locales (#354).
if(MSVC)
target_compile_options(${PLUGIN_NAME} PRIVATE /utf-8)
endif()

# ############### NuGet import begin ################
set_target_properties(${PLUGIN_NAME} PROPERTIES VS_PROJECT_IMPORT
${CMAKE_BINARY_DIR}/packages/Microsoft.Windows.CppWinRT.${CPPWINRT_VERSION}/build/native/Microsoft.Windows.CppWinRT.props
Expand Down
Loading