0.13
complete rewrite in zetz
Over the past year, carrier has been completely rewritten in zetz.it, a new portable C transpiler with formal verification features.
The cli has been rewritten in golang, for portability and for preparing for enterprise features.
alot of behaviour has changed. extensive testing is necessary before updating production systems
support for microcontrollers
the rewrite brings support for microcontrollers, such as ESP32
note that while the cli binary size increased due to golangs runtime, the core binary is 10 times smaller than the previous rust release
base32 vs base58
carrier uses 32 byte identifiers. originally those where encoded in base58 to achieve a good balance of human readability and short length.
However, base58 turns out to be alot less human usable than expected. base32 is only a few percent longer while significantly more readable. Upper/Lowercase no longer matters, so the carrier Qr codes are actually smaller when using optimal encoding strategies.
base85 identities will continue to work, but some systems may need updating to accept the new identity format as valid.
APIs
- rust api has been removed
- golang api has been added
- python, nodejs and java apis are in the making