Releases: SujithChristopher/gdserial
v0.3.2
v0.3.1
GdSerial vv0.3.1
Serial communication library for Godot 4 with device name support.
New Features
- ✅ Apple Silicon (ARM64) macOS support
- ✅ Smaller binaries for all platforms
- 🐛 Bug fixes and performance improvements
Installation
- Download
gdserial-complete-addon-vv0.3.1.zip - Extract to your Godot project
- Enable the plugin in Project Settings → Plugins
Usage
var serial = GdSerial.new()
var ports = serial.list_ports()
for i in range(ports.size()):
var port = ports[i]
print("Port: ", port["port_name"], " (", port["device_name"], ")")Supported Platforms
- Windows x64
- Windows ARM64 (Surface Pro X, Snapdragon PCs)
- Linux x64
- Linux ARM64 (Raspberry Pi, ARM servers)
- macOS Intel (x86_64)
- macOS Apple Silicon (ARM64)
Ready for Godot Asset Library!
v0.3.0
GdSerial v0.3.0 - Async Multi-Port & Signal Support
New contributor @Gotvna 🎉
Major Features
✨ GdSerialManager - Async Multi-Port Support
New GdSerialManager class for non-blocking, multi-port serial communication with background reader threads and
signal-based event handling.
Example:
var manager = GdSerialManager.new()
manager.data_received.connect(_on_data)
manager.open("COM3", 9600, 1000) # RAW mode by default
manager.poll_events() # Call in _process()
🔧 Three Buffering Modes
Choose the right buffering strategy for your protocol:
- Mode 0: RAW (default) - Emit all data chunks immediately (binary data)
- Mode 1: LINE_BUFFERED - Wait for newline \n (Arduino, text protocols)
- Mode 2: CUSTOM_DELIMITER - Wait for custom delimiter byte (binary protocols)
manager.open("COM3", 9600, 1000) # RAW (default)
manager.open("COM3", 9600, 1000, 1) # LINE_BUFFERED
manager.open("COM3", 9600, 1000, 2)
manager.set_delimiter("COM3", 0xFF) # Custom delimiter
📡 Signal Emission
Signals now properly emit to GDScript:
- data_received(port: String, data: PackedByteArray)
- port_disconnected(port: String)
🎯 Dynamic Mode Changes
Change buffering mode at runtime via set_delimiter() - changes apply immediately without closing the port.
API Changes
GdSerialManager Methods
- open(port, baud, timeout) - Open with RAW mode (mode 0)
- close(port) - Close port
- write(port, data) - Write bytes
- set_delimiter(port, delimiter) - Set custom delimiter (mode 2)
- poll_events() - Retrieve pending events (call in _process)
- is_open(port) - Check if port open
- list_ports() - List available ports
- reconfigure_port(...) - Update port settingsv0.2.8
GdSerial v0.2.8
Updates
- ✅ Updated GitHub Actions workflow (macOS runner optimization)
- ✅ Code quality improvements (String reference optimization)
- ✅ Improved dependency management
Supported Platforms
- Windows x64 & ARM64
- Linux x64 & ARM64 (Raspberry Pi etc)
- macOS Intel & Apple Silicon
Dependencies
- godot: 0.4.4
- serialport: 4.7.2
GdSerial v0.2.7
GdSerial v0.2.7
New Features
- 🎯 Windows ARM64 support (Surface Pro X, Snapdragon PCs)
Improvements
- 📦 Binary size reduced by ~42% (4.8 MB → 2.8 MB)
- ♻️ Refactored disconnection handling for better code maintainability
- 🐧 Fixed Linux ARM64 cross-compilation setup
Supported Platforms (6 total)
- Windows x64 & ARM64
- Linux x64 & ARM64
- macOS Intel & Apple Silicon
New Contributor 🥳
- @TheBlueOompaLoompa - Serial configuration enhancements (#8)
Full Changelog: v0.2.5...v0.2.7"
v0.2.5
Release v0.2.5
Improvements
📚 Documentation
- Godot class reference documentation: Added comprehensive XML documentation that appears directly in the Godot editor
- Complete API documentation: All 15 public methods now have detailed descriptions, parameter explanations, and usage examples
🔧 Device Discovery Enhancements
- Improved USB device naming: Better device identification using manufacturer and product strings from USB descriptors
- Fallback device identification: Shows VID/PID when descriptive names aren't available
- Enhanced port enumeration: More reliable device discovery across platforms
🛡️ Connection Management
- Robust disconnection detection: Improved handling of device disconnections during I/O operations
- Automatic port cleanup: Better resource management when devices are unplugged
- Connection state tracking: More reliable is_open() method with active connection testing
Release v0.2.4
GdSerial vv0.2.4
Serial communication library for Godot 4 with device name support.
New Features
- ✅ USB device name detection using product descriptors
- ✅ Apple Silicon (ARM64) macOS support
- ✅ Removed verbose logging on successful port operations
- ✅ Clean, simple API with automatic device recognition
Installation
- Download
gdserial-complete-addon-vv0.2.4.zip - Extract to your Godot project
- Enable the plugin in Project Settings → Plugins
Usage
var serial = GdSerial.new()
var ports = serial.list_ports()
for i in range(ports.size()):
var port = ports[i]
print("Port: ", port["port_name"], " (", port["device_name"], ")")Supported Platforms
- Windows x64
- Linux x64
- macOS Intel (x86_64)
- macOS Apple Silicon (ARM64)
Ready for Godot Asset Library!
v0.2.3
GdSerial v0.2.3
Serial communication library for Godot 4 with device name support.
New Features
- ✅ USB device name detection using product descriptors
- ✅ Apple Silicon (ARM64) macOS support
- ✅ Removed verbose logging on successful port operations
- ✅ Clean, simple API with automatic device recognition
Installation
- Download
gdserial-complete-addon-v0.2.3.zip - Extract to your Godot project
- Enable the plugin in Project Settings → Plugins
Usage
var serial = GdSerial.new()
var ports = serial.list_ports()
for i in range(ports.size()):
var port = ports[i]
print("Port: ", port["port_name"], " (", port["device_name"], ")")Supported Platforms
- Windows x64
- Linux x64
- macOS Intel (x86_64)
- macOS Apple Silicon (ARM64)
Ready for Godot Asset Library!
Alpha Release v0.2.1-alpha.4
Alpha Release - Apple Silicon Support
🧪 This is an alpha release for testing Apple Silicon (M1/M2/M3) compatibility.
What's New
- ✅ Apple Silicon (ARM64) macOS support
- ✅ Architecture-specific library loading
- ✅ Cross-platform build improvements
Testing Instructions
For M1/M2/M3 Mac users:
- Download the
gdserial-aarch64-apple-darwin-alpha.tar.gzfile - Extract to your Godot project's addons folder
- Test serial communication functionality
- Report any issues on GitHub
Files
*-x86_64-*: Intel/AMD 64-bit systems*-aarch64-*: Apple Silicon (M1/M2/M3) Macs
Please test thoroughly and report any issues before we create a stable release.
Alpha Release v0.2.1-alpha.3
Alpha Release - Apple Silicon Support
🧪 This is an alpha release for testing Apple Silicon (M1/M2/M3) compatibility.
What's New
- ✅ Apple Silicon (ARM64) macOS support
- ✅ Architecture-specific library loading
- ✅ Cross-platform build improvements
Testing Instructions
For M1/M2/M3 Mac users:
- Download the
gdserial-aarch64-apple-darwin-alpha.tar.gzfile - Extract to your Godot project's addons folder
- Test serial communication functionality
- Report any issues on GitHub
Files
*-x86_64-*: Intel/AMD 64-bit systems*-aarch64-*: Apple Silicon (M1/M2/M3) Macs
Please test thoroughly and report any issues before we create a stable release.