1.6 KiB
Changelog
0.6.0 (unreleased)
-
client()now bounds each connect attempt at 10 seconds, the TLS handshake included, and reports one that expires as an ordinary connect failure, soreconnectretries it on its usual backoff. A connect previously waited the operating system out, around 130 s on Linux against a host that drops SYNs.connectTimeoutretunes the bound, andconnectTimeout: falserestores the old wait. -
Addresses, ids and every other text field on the wire are read and written as latin1. A
source_addrofKaffeépreviously reached the application asKaffei, because the codec wrote the octet and then masked bit 7 reading it back;destination_addr,system_id,message_id,service_typeand the C-Octet String TLVs were affected the same way. A character pastU+00FFin one of those fields is now refused, where it used to go out as its low octet.Check what you stored before you roll this out. Values your application persisted under 0.5.0 were read with bit 7 masked, so an address or a
message_idcarrying an octet above0x7Fis spelled differently now: a stored id will not match the receipt it belongs to, and a stored address will not match the sender it came from. Ids most SMSCs issue are digits or hex and are unaffected. -
A
U+0000inside a C-Octet String —source_addr,message_id,system_idand the rest — is refused. An Octet String carries a NULL as before.
0.5.0
The TypeScript rewrite. What a 0.4.0 consumer has to change is in MIGRATION.md.