Available Migration Guides
The following migration guides are available:Version 0.11 - Serialization API Changes
Version 0.11 introduced a new serialization API with improved type safety and support for better validation of data sent to the database. Key changes:- New traits:
SerializeValueandSerializeRowreplace the oldValueandValueListtraits - Type checking is now mandatory and performed using prepared statement metadata
- New derive macros with name-based field matching by default
- Better support for User-Defined Types (UDTs) serialization
Version 0.15 - Deserialization API Changes
Version 0.15 introduced a new deserialization API that improves both type safety and performance by working directly with raw, serialized data instead of pre-parsed intermediate representations. Key changes:- New traits:
DeserializeValueandDeserializeRowreplace the oldFromCqlValandFromRowtraits - Zero-copy deserialization support for better performance
- Type checking happens before deserialization
- New derive macros with name-based field matching
QueryResultAPI changes for consuming rows
Version 1.0 Changes
Starting with version 1.0, the old APIs have been fully removed. If you’re upgrading to 1.0 or later, you must migrate your code to use the new serialization and deserialization APIs described in the guides above.General Migration Strategy
When upgrading across multiple versions:- Review the relevant migration guides for each version you’re crossing
- Update your dependencies in
Cargo.tomlto the target version - Fix compilation errors by updating trait usage and macro attributes
- Test thoroughly to ensure type checking and data serialization work correctly
- Review deprecation warnings in versions before 1.0 for additional guidance
Need Help?
If you encounter issues during migration:- Check the API documentation for detailed trait and macro information
- Review the examples in the driver repository
- Ask questions in the ScyllaDB community forums
- Report bugs on the GitHub issue tracker
