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.