Revision history for RPi-Serial
3.02 2026-06-12
- Fixed a heap buffer overflow in gets(): the Perl wrapper passed a
zero-length scalar that the XS tty_gets() then wrote up to $num_bytes
into. tty_gets() is now a self-allocating XSUB (Newx/Safefree) that
returns the exact bytes read
- gets() is now binary-safe: it returns the exact bytes read (embedded
NULs and trailing whitespace preserved) instead of running the result
through unpack "A*"
- tty_gets() now croaks on a read error instead of calling exit(-1),
and clears O_NONBLOCK on the fd so the port's VTIME read timeout
applies (short/idle reads return the partial data instead of
spuriously failing)
3.01 2019-09-24
- added crc() method/function for calculating CRCs
3.00 2019-08-02
- added the XS file to the distribution
2.99 2019-08-02
- removed requirement of WiringPi::API, all low-level operational code
is now incorporated into a local XS file
2.3603 2018-02-09
- added WARNING section in POD about the requirement of disabling
the Pi's Bluetooth before the GPIO serial will work (closes #1)
2.3602 2017-07-01
- added DESTROY method to close() the serial port
0.01 2017-07-01
First version, released on an unsuspecting world.