Skip to main content

flutter_pear_bare 0.4.12 copy "flutter_pear_bare: ^0.4.12" to clipboard
flutter_pear_bare: ^0.4.12 copied to clipboard

Low-level Bare Kit worklet bindings for flutter_pear — worklet lifecycle and raw binary IPC.

0.4.12 #

Rebuilt the bundled pear-end (including the desktop bundle copies) for connection.send and connection.message, which flutter_pear adds. No native addon, Bare Kit or platform change.

0.4.11 #

Rebuilt the bundled pear-end (including the desktop bundle copies) for connection.destroy and peer.refuse, which flutter_pear adds. No native addon, Bare Kit or platform change.

0.4.10 #

Rebuilt the bundled pear-end (including the desktop bundle copies) for relay.setKeys, which flutter_pear adds. No native addon, Bare Kit or platform change.

0.4.9 #

Migrated to Flutter's built-in Kotlin; requires Flutter 3.44 / Dart 3.12 (was 3.24 / 3.5). The Android build no longer applies the Kotlin Gradle Plugin itself, which silences Flutter's "plugins that apply KGP" warning (future Flutter fails the build instead). Flutter 3.44+ applies Kotlin to plugins itself, so an app's Gradle files need no change. pub keeps apps on older Flutter on 0.4.8. No native or runtime change.

Also in lockstep with flutter_pear 0.4.9, which adds the owner relay (Pear.setRelayKey); the desktop pear-end.bundle copies shipped here are rebuilt with it.

0.4.8 #

Added: 32-bit ARM (armeabi-v7a) on Android, for Android TVs and set-top boxes. No breaking change and nothing to configure. Bare Kit's armeabi-v7a runtime and armeabi-v7a builds of all 13 of pear-end's native addons now ship next to arm64-v8a and x86_64, so this plugin covers exactly the three ABIs Flutter itself builds.

Many TVs and boxes run Android 10 or later on a 32-bit-only userspace. Found on a Sony BRAVIA 4K VH21 (Android TV 12, API 31), whose ro.product.cpu.abilist is armeabi-v7a,armeabi with no 64-bit ABI: an app built against 0.4.7 for the 64-bit ABIs only failed to install with INSTALL_FAILED_NO_MATCHING_ABIS. Up to 0.4.7, the armeabi-v7a APK Flutter builds by default also had no flutter_pear libraries in it, so it installed and then failed at worklet start.

The minSdk 29 floor holds for the new ABI: the 32-bit libbare-kit.so from the same pinned Bare Kit 2.5.5 is built against API 29, and every symbol it and the 13 addons import resolves at API 29. Bare Kit's version and checksum are unchanged, as are the arm64-v8a and x86_64 libraries. 32-bit x86 is still not shipped; Flutter no longer builds it either.

Cost: an armeabi-v7a APK now carries the 32-bit Bare Kit runtime (about 52 MB uncompressed) plus the addons; in this repo's example app that split grew from 16.8 MB to 74.7 MB, and the universal APK by the same 57.9 MB. The arm64-v8a and x86_64 APKs are byte-for-byte the same size as before.

An app that sets the Gradle property disable-abi-filtering=true stops Flutter applying its default ABI list, and must list armeabi-v7a in its own ndk.abiFilters to ship it.

0.4.7 #

No code or behaviour change to this package. Version bump to stay in lockstep with flutter_pear 0.4.7, which adds PearConnection.closeStats entirely inside pear-end/index.js and its bundle -- the committed desktop bundle copies in this package are regenerated for that same reason, but flutter_pear_bare's own native plugin code was not touched.

0.4.6 #

Fixed: BareWorklet.terminate() hung forever on Windows, freezing the app's UI thread with it. It also hung on window close. The Windows host closed the worklet's stdout pipe before killing the process. On Windows, closing a handle that another thread is blocked reading does not unblock that read the way POSIX close() does: it waits for the read to finish, and an idle worklet never writes. The host now kills the process tree first, and the reader thread closes its own pipe once the read fails. Verified on real Windows 11 hardware: start/terminate cycles complete in milliseconds with no bare.exe left running, and the cross-platform chat round trip passes.

Changed: each desktop platform's worklet bundle and native addons now ship from this package's own platform folder (SwiftPM/CocoaPods resources on macOS, CMake install on Linux and Windows), instead of as flutter_pear Flutter assets that every app bundled. See flutter_pear's changelog.

0.4.5 #

No code or behaviour change to this package. Version bump to stay in lockstep with flutter_pear 0.4.5, which adds join(announce:, acceptUnannounced:) entirely inside pear-end/index.js and the Dart PearSwarm/Pear API surface. flutter_pear_bare's native plugin code was not touched.

0.4.4 #

No code or behaviour change to this package. Version bump to stay in lockstep with flutter_pear 0.4.4, which adds a dht.status RPC method and lowers a held-message cap -- both entirely inside pear-end/index.js and its bundle. flutter_pear_bare's native plugin code was not touched.

0
likes
160
points
202
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Low-level Bare Kit worklet bindings for flutter_pear — worklet lifecycle and raw binary IPC.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter

More

Packages that depend on flutter_pear_bare

Packages that implement flutter_pear_bare