A library for serializing and deserializing binary data with a focus on size and Roblox compatibility.
  • Rust 67.8%
  • Lua 31.8%
  • Nix 0.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-07-04 21:27:38 +01:00
.vscode feat(tests): e2e 2026-07-01 00:45:38 +01:00
squash fix(numbersequence): correct byte by byte 2026-07-04 21:27:38 +01:00
squash-derive refactor: update for squash v5 2026-06-30 23:36:10 +01:00
.envrc refactor: update for squash v5 2026-06-30 23:36:10 +01:00
.gitattributes Tested uints and booleans 2024-01-07 03:22:48 -10:00
.gitignore feat(tests): e2e 2026-07-01 00:45:38 +01:00
Cargo.toml remove proc_macro_crate dependency and add serde feature flag 2024-08-21 20:28:22 +01:00
flake.lock chore: dev shell 2026-06-28 23:23:07 +01:00
flake.nix feat(tests): e2e 2026-07-01 00:45:38 +01:00
LICENSE Final push before release 2024-07-06 12:20:41 -07:00
README.md fix spelling mistake 2024-08-21 19:48:38 +01:00

A library for serializing and deserializing binary data with a focus on size and Roblox compatibility. It is designed with the programmer in mind, offering full flexibility and control over the data being serialized and deserialized, with an intuitive API.

Implementation details

You can view how Squash was implemented here. It was initially a Luau library with Roblox in mind, but now ported to Rust!

There is built-in serde support for Squash, but there is also a custom API for more control over the serialization and deserialization process.

Examples

You can view examples on how to use Squash here.