v0.3.0
Added
Always Encrypted Key Providers
- Azure Key Vault CMK provider (
azure-identityfeature)- RSA-OAEP and RSA-OAEP-256 key unwrapping
- Key versioning support
- Automatic credential management via Azure Identity SDK
- Windows Certificate Store CMK provider (
sspi-authfeature, Windows only)- NCRYPT API integration for secure key operations
- Certificate thumbprint-based key lookup
LOB Streaming
Row::get_stream(index)andRow::get_stream_by_name(name)methodsBlobReaderintegration for streaming LOB data viaAsyncRead- Improved memory efficiency for large binary/text columns
Change Tracking
ChangeTrackingQuerybuilder for generating CHANGETABLE queriesChangeOperationenum (Insert, Update, Delete)ChangeMetadatastruct for tracking version infoChangeTrackinghelper with SQL generation utilitiesSyncVersionStatusfor validating sync state
Pool Improvements
PoolMetricsextended with:connections_idle_expired: Connections closed due to idle timeoutconnections_lifetime_expired: Connections closed due to max lifetimereaper_runs: Number of reaper task executionspeak_wait_queue_depth: Peak wait queue observedavg_acquisition_time_us: Average acquisition time
PoolStatus.wait_queue_depth: Current wait queue depthPoolConfig.health_check_query: Configurable health check SQL
Changed
- BREAKING:
PoolConfig,PoolStatus, andPoolMetricsare now#[non_exhaustive]- Use builder pattern or
Default::default()to construct - Allows future field additions without breaking changes
- Use builder pattern or
- Updated
azure_identitySDK to 0.30 (API changes forClientCertificateCredential) - Updated
azure_security_keyvault_keysSDK to 0.9.0
Fixed
- Azure Identity SDK compatibility: Updated
ClientCertificateCredentialusage for 0.30 API
Full Changelog: v0.2.3...v0.3.0