All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
For Android/USB-focused details (behavior, limits, testing), see also android/README.md.
2.22.0 (2026-03-21)
- Lifecycle:
SerialPluginregistersApplication.ActivityLifecycleCallbacksand runsSerialPortManager.cleanup()when the hostActivityis destroyed (close USB ports, unregister permission receiver, shut down IO executor). - Listening: Incoming data is coalesced in
BufferedEmitter/SerialByteAccumulatorbeforeserialDataevents; flush interval viaserialDataFlushIntervalMs(native clamp typically 10–2000 ms). - USB serial (usb-serial-for-android): Read/write use configured timeouts;
clearBuffermaps topurgeHwBufferswhen supported;setFlowControl(RTS/CTS, XON/XOFF);SerialInputOutputManagererrors triggerserialErrorand port cleanup. bytesToRead/bytesToWrite(Android):bytesToReadreturns bytes buffered in the plugin only whilestartListeningis active (not the kernel queue — not exposed byUsbSerialPort).bytesToWriteis0(writes complete synchronously from the app’s perspective). Documented in JSDoc on the JS API.- Tooling: Gradle wrapper and
android/settings for local./gradlew test; JVM unit tests use a realorg.jsonartifact (Android JSON stubs breakJSONObject.putin tests). Kotlin tests cover models, JSON helpers, emit pipeline,BufferedEmitter.
- guest-js: Stricter
SerialportOptions/Optionstyping (removed open index signatures);Record<string, PortInfo>foravailable_portsmaps.
2.21.1 (2025-11-05)
2.21.0 (2025-10-11)
- serial: emit disconnection events on serial port closure (9870d1f)
2.20.0 (2025-10-11)
- logger: add centralized logging functionality for the serial plugin (887dcf9)
- logging: add centralized logging module with adjustable log levels (6cb8a51)
- logging: add centralized logging module with adjustable log levels (7a7eacd)
- readme: correct indentation and enhance serial port listening example (6e997b5)
- readme: correct indentation and enhance serial port listening example (df46965)
2.19.0 (2025-08-26)
- serialplugin: add logging for serial port operations and cleanup (e474046)
- serialport-manager: add custom prober for unknown USB devices (74b3915)
- android: require USB host feature in AndroidManifest.xml (2227513)
- serial: correct minimum timeout value for serial port (dd83ded)
2.17.1 (2025-07-02)
2.17.0 (2025-07-02)
- serial: update listen method to return unlisten function (98e881d)
- listener-manager: handle errors in unlisten functions (30c5445)
2.16.0 (2025-07-01)
- serial: update listen method to return unlisten function (f7090e0)
- serial: update listen method to return unlisten function (0ac67ac)
2.15.0 (2025-07-01)
- listener-manager: implement listener management for serial events (b32b01c)
2.14.0 (2025-07-01)
- serial: enhance error handling in serial port functions (1403b77)
2.13.0 (2025-07-01)
- api-iife: update event listener management in serial plugin (81f4522)
2.12.1 (2025-06-19)
- deps: update tauri-plugin-serialplugin to version 2.12.0 (07e7526)
- mobile_api: correct port opening error handling logic (33f43c7)
2.12.0 (2025-06-12)
- serialport: add test mode for simulating serial port behavior (22356b5)
- serialport: add test mode for simulating serial port behavior (287ab53)
- serialport: improve error handling and add port configuration (5844e2d)
- tests: add comprehensive tests for serial port functionality (614901e)
2.11.1 (2025-05-25)
2.11.0 (2025-04-04)
- serial: set a default timeout for serial port connection (c252883)
- deps: update dependencies to latest versions (0d857bb)
- deps: update dependencies to latest versions (c8dc8f1)
2.10.2 (2025-03-27)
2.10.1 (2025-03-13)
- serialport: update USB permission handling for Android 33+ (b9b0e70)
- serialport: update USB permission handling for Android 33+ (8034668)
2.10.0 (2025-03-02)
- serialport-test: refactor app structure and enhance port management (22b0e7a)
- serialport: update USB permission handling for Android 33+ (e71cca9)
2.9.0 (2025-02-05)
- android: enable hardware acceleration in AndroidManifest.xml (2f16b06)
- serialport: register USB receiver in SerialPortManager (5f32352)
- device_filter: remove outdated USB device entries (3236183)
2.8.2 (2025-02-02)
- serialport: improve timeout handling and error messages (de2233c)
2.8.1 (2025-02-02)
- permissions: add read-binary command permissions (76262b1)
2.8.0 (2025-01-30)
- serial: add
read_binarycommand to read binary data from serial port (1a17f99) - serial: add
read_binarycommand to read binary data from serial port (83a873d) - serial: add
read_binarycommand to read binary data from serial port (09e6a32) - serial: add readBinary method for reading binary data (5a62544)
2.7.0 (2025-01-27)
- mobile_api: update managed_ports to return a list of port names (77e6799)
2.6.1 (2025-01-27)
2.6.0 (2025-01-14)
- app: add managed ports functionality and UI integration (a3465ce)
- build: add managed_ports command to the serial plugin (6a79bbb)
- permissions: add managed_ports command permissions (634b713)
- permissions: add managed_ports permissions and update documentation (9714453)
- README: add documentation for managed ports feature (b241c13)
- schemas: add commands for webview and window background color (67b9670)
- serial: add managed_ports command to list open serial ports (7eb727d)
- serialplugin: add managedPorts command to retrieve active ports (378ee2a)
- serialplugin: add method to list all managed serial ports (d04b991)
2.4.13 (2024-12-24)
- package: update version numbers in package files to 2.4.12 (323a1f9)
2.4.11 (2024-11-29)
2.4.10 (2024-11-29)
2.4.9 (2024-11-29)
2.4.7 (2024-11-29)
2.4.6 (2024-11-29)
2.4.4 (2024-11-29)
2.4.5 (2024-11-29)
2.4.4 (2024-11-29)
- size and timeout settings not working. (e49197d)
- Automatic cleanup of existing listeners before starting new ones
- New
startListeningcommand for explicit port monitoring control - New
stopListeningcommand for manual monitoring termination
- Automatic port listening on connection
- Background thread management for port monitoring
- Refactored read operation to be synchronous instead of event-based
- Improved port cleanup on close
- Modified TypeScript interface to return string data directly from read operation
- Changed port reading logic to use direct synchronous reads
- Added automatic port monitoring on connection
- New serial port control methods:
set_baud_rate: Set the baud rateset_data_bits: Set the data bits configurationset_flow_control: Set the flow control modeset_parity: Set the parity checking modeset_stop_bits: Set the stop bits configurationset_timeout: Set the timeout durationwrite_request_to_send: Set RTS control signalwrite_data_terminal_ready: Set DTR control signalread_clear_to_send: Read CTS signal stateread_data_set_ready: Read DSR signal stateread_ring_indicator: Read RI signal stateread_carrier_detect: Read CD signal statebytes_to_read: Get available bytes to readbytes_to_write: Get bytes waiting to be writtenclear_buffer: Clear input/output buffersset_break: Start break signalclear_break: Stop break signal
- New permissions for all added methods
- Enhanced error handling for serial port operations
- Improved error handling system
- Enhanced documentation for all methods
- Updated TypeScript definitions with JSDoc comments
- Error conversion between serialport and internal errors
- Type conversion issues in serial port operations
- Support for direct port scanning on Windows, Linux, and macOS
- Updated dependencies to latest versions
- Improved error messages
- Port detection issues on various platforms
- Updated dependencies
- Improved available_ports_direct logic
- Updated test UI
- Initial implementation of available_ports_direct