Bincode 2.0: Новый этап в двоичном кодировании с улучшенной производительностью и поддержкой

Вышел новый релиз открытого проекта Bincode 2.0. Этот инструмент выполняет функции компактного кодировщика и декодировщика, использующего двоичный формат с нулевым наполнением. Исходный код написан на языке Rust и доступен на GitHub под лицензией MIT.

Предыдущая стабильная версия Bincode 1.33 была выпущена в апреле 2021 года.

Bincode находит применение в различных известных проектах, среди которых:

google/tarpc: здесь Bincode используется для сериализации и десериализации сообщений RPC в сетевых приложениях;

servo/webrender: Bincode фиксирует вызовы WebRender API для отладки графики в стиле запись/воспроизведение;

servo/ipc-channel: этот канал межпроцессного общения подключает Bincode для передачи структур между процессами через API, похожее на канал;

ajeetdsouza/zoxide: zoxide использует Bincode для сохранения базы данных директорий и частоты их доступа на диске.

“Надёжно! Наконец-то! После четырёх лет разработки! С момента rc.3 было внесено множество изменений, включая (к сожалению) несколько критически важных изменений в последний момент. Тем не менее, документация была обновлена до такой степени, что мы теперь чувствуем себя уверенно, принимая всё, как есть”, — отметил коллектив разработчиков.

Основные нововведения и усовершенствования в Bincode 2.0:

– устранены ранее обнаруженные ошибки и недочёты;

– полностью переработан API, теперь он отделён от фреймворка Serde;

– добавлена поддержка no_std;

– представлена официальная спецификация формата;

– изменены настройки по умолчанию;

– поднята версия минимально поддерживаемой Rust версии (MSRV) до 1.85.0.