- Improved handling of multiple machines
- Rescue StandardError instead of Exception
- Rescue Errno::ENOTSOCK
- Interval server synchronizes updates and ready state
- Spec and CI changes
- Interval server uses threads for timing
- Servers use observer patterns to reduce polling
- Renamed Adapter#sending to Adapter#receiving
- Travis tests up to Ruby 2.6
- Basic logging
- Differentiate between "expected" and "unexpected" exceptions in Tcpip
- Prefer #start to #run for non-blocking client/server methods
- Interval servers can stop themselves
- Minor bug fixes in STDIO server
- More efficient client reads
- Rename server methods
prepare
for clarity - Improved socket state handling
- More accurate interval time
- Adapter#remote attribute
- Adapter#close method
- Socket exception handling
First release