summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2025-02-21 16:25:10 +0100
committerDavid Lönnhager <david.l@mullvad.net>2025-02-21 16:25:10 +0100
commitc33257fd96620feb6d62373a89bd98e13887461d (patch)
tree61d00e26276826cc58ce25b6c9e6fb030191d77b
parentcd92d028a9a72a2870cefed3c16958765538bbdc (diff)
parent0d999bfa78eaafb1e6989738dcfe307d8961be83 (diff)
downloadmullvadvpn-c33257fd96620feb6d62373a89bd98e13887461d.tar.xz
mullvadvpn-c33257fd96620feb6d62373a89bd98e13887461d.zip
Merge branch 'update-mullvad-version'
-rw-r--r--Cargo.lock9
-rw-r--r--mullvad-version/Cargo.toml3
-rw-r--r--mullvad-version/src/lib.rs23
-rw-r--r--test/Cargo.lock8
4 files changed, 39 insertions, 4 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 3e0c42ae83..4afca015ea 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -2698,7 +2698,8 @@ dependencies = [
name = "mullvad-version"
version = "0.0.0"
dependencies = [
- "regex",
+ "regex-lite",
+ "serde",
]
[[package]]
@@ -3801,6 +3802,12 @@ dependencies = [
]
[[package]]
+name = "regex-lite"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53a49587ad06b26609c52e423de037e7f57f20d53535d66e08c695f347df952a"
+
+[[package]]
name = "regex-syntax"
version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/mullvad-version/Cargo.toml b/mullvad-version/Cargo.toml
index f4586f6569..e7a75f93bc 100644
--- a/mullvad-version/Cargo.toml
+++ b/mullvad-version/Cargo.toml
@@ -17,4 +17,5 @@ workspace = true
[dependencies]
-regex = "1.6.0"
+regex-lite = "0.1"
+serde = { workspace = true, optional = true }
diff --git a/mullvad-version/src/lib.rs b/mullvad-version/src/lib.rs
index 75baa97c11..180e12d96c 100644
--- a/mullvad-version/src/lib.rs
+++ b/mullvad-version/src/lib.rs
@@ -3,7 +3,7 @@ use std::fmt::Display;
use std::str::FromStr;
use std::sync::LazyLock;
-use regex::Regex;
+use regex_lite::Regex;
/// The Mullvad VPN app product version
pub const VERSION: &str = include_str!(concat!(env!("OUT_DIR"), "/product-version.txt"));
@@ -160,6 +160,27 @@ impl FromStr for Version {
}
}
+#[cfg(feature = "serde")]
+impl<'de> serde::Deserialize<'de> for Version {
+ fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
+ where
+ D: serde::Deserializer<'de>,
+ {
+ let s = String::deserialize(deserializer)?;
+ FromStr::from_str(&s).map_err(serde::de::Error::custom)
+ }
+}
+
+#[cfg(feature = "serde")]
+impl serde::Serialize for Version {
+ fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+ where
+ S: serde::Serializer,
+ {
+ serializer.serialize_str(&self.to_string())
+ }
+}
+
#[cfg(test)]
mod tests {
use super::*;
diff --git a/test/Cargo.lock b/test/Cargo.lock
index c639022fa8..897e6c9645 100644
--- a/test/Cargo.lock
+++ b/test/Cargo.lock
@@ -2141,7 +2141,7 @@ dependencies = [
name = "mullvad-version"
version = "0.0.0"
dependencies = [
- "regex",
+ "regex-lite",
]
[[package]]
@@ -2854,6 +2854,12 @@ dependencies = [
]
[[package]]
+name = "regex-lite"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53a49587ad06b26609c52e423de037e7f57f20d53535d66e08c695f347df952a"
+
+[[package]]
name = "regex-syntax"
version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"