Hey HN – we’re sharing a tiny extension to BARE called VBARE that we’ve been using extensively to make schema evolution much cleaner & simpler. After our Protobuf schemas became a cluttered after numerous major changes, we evaluated many alternatives for better schema evolution - Cap'n Proto, FlatBuffers, Borsh, etc. - but none seemed that they’d make a noticable improvement. VBARE takes a different approach: it's a tiny extension to BARE that adds version headers and explicit migration functions between schema versions. This allows you to handle complex changes (like splitting a "name" field into "firstName"/"lastName") that are impossible with other tools, and your application logic stays clean. It's been powering all of Rivet's protocols in production, with TypeScript and Rust implementations available. |
No comments yet