v3.8.0
-
Important note: This release some changes that are theoretically breaking changes. This would apply to users who are tapping into the more internal functions and destructuring
structs
. However, I don't believe most crate end-users will notice a difference. -
2024-01-10: Implemented Google Maps Address Validation API.
Basic example:
use google_maps::prelude::*;
let google_maps_client = google_maps::Client::try_new("YOUR_API_KEY_HERE")?;
let postal_address = PostalAddress::builder()
.region_code(&Country::UnitedStates)
.address_lines(vec![
"1600 Amphitheatre Pkwy",
"Mountain View, CA, 94043"
])
.build();
let response = google_maps_client
.validate_address()
.address(postal_address)
.build()
.execute()
.await?;
google_maps_client
.provide_validation_feedback()
.conclusion(ValidationConclusion::Unused)
.response_id(response.response_id())
.build()
.execute()
.await?;
// Dump entire response:
println!("{response:#?}");
-
2025-01-04: Implemented a generic
get
method that covers all of the Google Maps APIs and handles the requests, responses, and errors. -
2025-01-01: Updated several dependencies.
-
2024-12-29: Switched from the currently unmaintained backoff crate to Xuanwo's backon crate for an exponential back-off retry implementation.
Thank you to Dan Groshev for reporting this issue!
backon
is not a drop-in replacement forbackoff
. During the transition, some much needed internal clean-up was done.
Full Changelog: v3.7.4...v3.8.0