BARE (Binary Application Record Encoding) is a new binary message encoding format designed to be small, simple, standardized, and easy to implement. Created as an alternative to JSON, protobuf, Cap'n Proto, BSON, MessagePack, and CBOR, BARE avoids self-describing schemas and unnecessary extensions. The motivation came from large stateless tokens in sr.ht, where encoding state into tokens using JSON produced bloated results. BARE reduces message size significantly — a sample cursor token shrank from 60 to 12 bytes in cleartext. The format supports an optional schema language and code generation, but also works directly with native language type systems (demonstrated with Go). The specification is under 1,000 words, and a Go implementation was completed in a single weekend. Some design questions remain open before the spec is finalized.
Sort: