Help
Questions that have a verified answer.
Each answer below is anchored in source material — the README, the spec, the changelog, or SECURITY.md. If your question isn't here, check the docs or open a discussion.
- Is the v1 format stable? +
- Yes — v1 is the project's stable compatibility surface. Major version bumps are reserved for file format changes and incompatible wire semantics; minor releases are additive only.
- Is RFC-001 the same wire format as a .surp file? +
- No. RFC-001's CBF files are not v1 .surp files. RFC-001 lives in its own namespace (surp_core::rfc001 / surp.rfc001) and uses the .crb file extension in examples.
- Do I need compression to use Surp? +
- No. The default codec writes uncompressed payloads. Compression (zstd, lz4, snappy) is feature-gated on the Rust side and opt-in via CLI flags.
- Does the borrowed SurpValue work for compressed data? +
- Zero-copy decode through SurpValue<'a> is available for uncompressed v1 data. Compressed payloads require an owned decode.
- What's the minimum supported Rust version? +
- The workspace MSRV is Rust 1.85.0 and the workspace uses edition 2024.
- What Python versions does the package support? +
- Python 3.9 or newer for the native package.
- How do I report a security vulnerability? +
- Follow the policy in SECURITY.md. Do not file public issues for security reports.