Skip to content

Releases: SujithChristopher/gdserial

v0.3.2

03 Apr 14:53

Choose a tag to compare

GdSerial v0.3.2

Fixing issues
#14, #15

v0.3.1

21 Mar 03:56

Choose a tag to compare

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

  1. Download gdserial-complete-addon-vv0.3.1.zip
  2. Extract to your Godot project
  3. 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

30 Jan 04:08

Choose a tag to compare

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 settings

v0.2.8

18 Dec 05:55

Choose a tag to compare

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

28 Oct 23:23

Choose a tag to compare

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 🥳

Full Changelog: v0.2.5...v0.2.7"

v0.2.5

16 Aug 05:15
0f4807d

Choose a tag to compare

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

29 Jul 03:20

Choose a tag to compare

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

  1. Download gdserial-complete-addon-vv0.2.4.zip
  2. Extract to your Godot project
  3. 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

26 Jul 16:29

Choose a tag to compare

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

  1. Download gdserial-complete-addon-v0.2.3.zip
  2. Extract to your Godot project
  3. 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

26 Jul 09:11

Choose a tag to compare

Pre-release

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:

  1. Download the gdserial-aarch64-apple-darwin-alpha.tar.gz file
  2. Extract to your Godot project's addons folder
  3. Test serial communication functionality
  4. 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

26 Jul 09:03

Choose a tag to compare

Pre-release

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:

  1. Download the gdserial-aarch64-apple-darwin-alpha.tar.gz file
  2. Extract to your Godot project's addons folder
  3. Test serial communication functionality
  4. 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.