feat: upgrade cipherstash-client to 0.37.0#406
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (11)
📝 WalkthroughWalkthroughThree workspace dependencies ( ChangesEqlOutput Migration and 0.37.0 Upgrade
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
This PR upgrades the workspace CipherStash Rust crates to cipherstash-client/config/cts-common 0.37.0 and updates the proxy to use the new EQL output types and ciphertext storage format handling introduced by that release.
Changes:
- Bump
cipherstash-client,cipherstash-config, andcts-commonto0.37.0(plus lockfile refresh). - Update the encryption pipeline to return/propagate
EqlOutput(instead ofEqlCiphertext) for encrypted parameter rewriting. - Add backwards-compatible deserialization in
DataRowto read both legacy pre-v2.x ciphertext JSON and the current tagged ("k") format.
Reviewed changes
Copilot reviewed 11 out of 12 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/cipherstash-proxy/src/proxy/zerokms/zerokms.rs | Updates encryption return type to EqlOutput and adjusts result reconstruction. |
| packages/cipherstash-proxy/src/proxy/mod.rs | Updates EncryptionService::encrypt trait signature to return EqlOutput. |
| packages/cipherstash-proxy/src/proxy/encrypt_config/manager.rs | Updates test config to include new SteVecMode field. |
| packages/cipherstash-proxy/src/postgresql/messages/data_row.rs | Adds legacy→current ciphertext JSON remapping and updates tests for new API. |
| packages/cipherstash-proxy/src/postgresql/messages/bind.rs | Updates bind rewriting to accept EqlOutput. |
| packages/cipherstash-proxy/src/postgresql/frontend.rs | Propagates EqlOutput through literal encryption and statement transformation. |
| packages/cipherstash-proxy/src/postgresql/context/mod.rs | Updates context encrypt API return type usages/mocks. |
| packages/cipherstash-proxy/src/postgresql/backend.rs | Updates ciphertext identifier access to the new identifier() accessor API. |
| packages/cipherstash-proxy/src/lib.rs | Re-exports EqlOutput. |
| packages/cipherstash-proxy/src/error.rs | Adjusts pattern matching for updated EqlError::CouldNotDecryptDataForKeyset shape. |
| Cargo.toml | Bumps workspace dependency versions to 0.37.0. |
| Cargo.lock | Lockfile updates for the dependency upgrade. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| assert_eq!( | ||
| column_config[1].as_ref().unwrap().identifier, | ||
| encrypted[1].as_ref().unwrap().identifier | ||
| *encrypted[1].as_ref().unwrap().identifier() | ||
| ); |
| assert_eq!( | ||
| column_config[0].as_ref().unwrap().identifier, | ||
| encrypted[0].as_ref().unwrap().identifier | ||
| *encrypted[0].as_ref().unwrap().identifier() | ||
| ); |
| assert_eq!( | ||
| column_config[2].as_ref().unwrap().identifier, | ||
| encrypted[2].as_ref().unwrap().identifier | ||
| *encrypted[2].as_ref().unwrap().identifier() | ||
| ); |
|
Closing in favour of #407 |
Acknowledgment
By submitting this pull request, I confirm that CipherStash can use, modify, copy, and redistribute this contribution, under the terms of CipherStash's choice.
Summary by CodeRabbit
Chores
Bug Fixes
Refactor