Repository: solana-labs/solana-program-library
Pull request #6917 (2024-06-25 10:37:44)

pod: Bump to 0.3.0 for Solana v2 compat
#### Problem

As part of #6897, we need to release new major versions of many crates.

#### Solution

Bump spl-pod for the next release


Patch:
diff --git a/Cargo.lock b/Cargo.lock
index d2d55c98d..751750cdc 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -7231,28 +7231,28 @@ dependencies = [
 [[package]]
 name = "spl-pod"
 version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "046ce669f48cf2eca1ec518916d8725596bfb655beb1c74374cf71dc6cb773c9"
 dependencies = [
- "base64 0.22.1",
  "borsh 1.5.1",
  "bytemuck",
- "serde",
- "serde_json",
  "solana-program",
  "solana-zk-token-sdk",
- "spl-program-error 0.5.0",
+ "spl-program-error 0.4.1",
 ]
 
 [[package]]
 name = "spl-pod"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "046ce669f48cf2eca1ec518916d8725596bfb655beb1c74374cf71dc6cb773c9"
+version = "0.3.0"
 dependencies = [
+ "base64 0.22.1",
  "borsh 1.5.1",
  "bytemuck",
+ "serde",
+ "serde_json",
  "solana-program",
  "solana-zk-token-sdk",
- "spl-program-error 0.4.1",
+ "spl-program-error 0.5.0",
 ]
 
 [[package]]
@@ -7314,7 +7314,7 @@ dependencies = [
  "solana-program",
  "solana-program-test",
  "solana-sdk",
- "spl-pod 0.2.2",
+ "spl-pod 0.3.0",
  "thiserror",
 ]
 
@@ -7405,7 +7405,7 @@ dependencies = [
  "solana-security-txt",
  "solana-vote-program",
  "spl-math",
- "spl-pod 0.2.2",
+ "spl-pod 0.3.0",
  "spl-token 6.0.0",
  "spl-token-2022 3.0.2",
  "test-case",
@@ -7450,7 +7450,7 @@ dependencies = [
  "solana-program-test",
  "solana-sdk",
  "spl-discriminator 0.3.0",
- "spl-pod 0.2.2",
+ "spl-pod 0.3.0",
  "spl-program-error 0.5.0",
  "spl-type-length-value 0.4.3",
 ]
@@ -7464,7 +7464,7 @@ dependencies = [
  "bytemuck",
  "solana-program",
  "spl-discriminator 0.2.2",
- "spl-pod 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "spl-pod 0.2.2",
  "spl-program-error 0.4.1",
  "spl-type-length-value 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
@@ -7524,7 +7524,7 @@ dependencies = [
  "solana-security-txt",
  "solana-zk-token-sdk",
  "spl-memo 5.0.0",
- "spl-pod 0.2.2",
+ "spl-pod 0.3.0",
  "spl-tlv-account-resolution 0.6.3",
  "spl-token 6.0.0",
  "spl-token-group-interface 0.2.3",
@@ -7549,7 +7549,7 @@ dependencies = [
  "solana-security-txt",
  "solana-zk-token-sdk",
  "spl-memo 4.0.1",
- "spl-pod 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "spl-pod 0.2.2",
  "spl-token 4.0.1",
  "spl-token-group-interface 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "spl-token-metadata-interface 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -7571,7 +7571,7 @@ dependencies = [
  "spl-associated-token-account 3.0.2",
  "spl-instruction-padding",
  "spl-memo 5.0.0",
- "spl-pod 0.2.2",
+ "spl-pod 0.3.0",
  "spl-tlv-account-resolution 0.6.3",
  "spl-token-2022 3.0.2",
  "spl-token-client",
@@ -7653,7 +7653,7 @@ dependencies = [
  "solana-program-test",
  "solana-sdk",
  "spl-discriminator 0.3.0",
- "spl-pod 0.2.2",
+ "spl-pod 0.3.0",
  "spl-program-error 0.5.0",
  "spl-token-2022 3.0.2",
  "spl-token-client",
@@ -7671,7 +7671,7 @@ dependencies = [
  "solana-program-test",
  "solana-sdk",
  "spl-discriminator 0.3.0",
- "spl-pod 0.2.2",
+ "spl-pod 0.3.0",
  "spl-token-2022 3.0.2",
  "spl-token-client",
  "spl-token-group-interface 0.2.3",
@@ -7686,7 +7686,7 @@ dependencies = [
  "bytemuck",
  "solana-program",
  "spl-discriminator 0.3.0",
- "spl-pod 0.2.2",
+ "spl-pod 0.3.0",
  "spl-program-error 0.5.0",
  "spl-type-length-value 0.4.3",
 ]
@@ -7700,7 +7700,7 @@ dependencies = [
  "bytemuck",
  "solana-program",
  "spl-discriminator 0.2.2",
- "spl-pod 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "spl-pod 0.2.2",
  "spl-program-error 0.4.1",
 ]
 
@@ -7744,7 +7744,7 @@ dependencies = [
  "solana-program",
  "solana-program-test",
  "solana-sdk",
- "spl-pod 0.2.2",
+ "spl-pod 0.3.0",
  "spl-token-2022 3.0.2",
  "spl-token-client",
  "spl-token-metadata-interface 0.3.3",
@@ -7761,7 +7761,7 @@ dependencies = [
  "serde_json",
  "solana-program",
  "spl-discriminator 0.3.0",
- "spl-pod 0.2.2",
+ "spl-pod 0.3.0",
  "spl-program-error 0.5.0",
  "spl-type-length-value 0.4.3",
 ]
@@ -7775,7 +7775,7 @@ dependencies = [
  "borsh 1.5.1",
  "solana-program",
  "spl-discriminator 0.2.2",
- "spl-pod 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "spl-pod 0.2.2",
  "spl-program-error 0.4.1",
  "spl-type-length-value 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
@@ -7912,7 +7912,7 @@ dependencies = [
  "bytemuck",
  "solana-program",
  "spl-discriminator 0.3.0",
- "spl-pod 0.2.2",
+ "spl-pod 0.3.0",
  "spl-program-error 0.5.0",
  "spl-tlv-account-resolution 0.6.3",
  "spl-type-length-value 0.4.3",
@@ -7929,7 +7929,7 @@ dependencies = [
  "bytemuck",
  "solana-program",
  "spl-discriminator 0.2.2",
- "spl-pod 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "spl-pod 0.2.2",
  "spl-program-error 0.4.1",
  "spl-tlv-account-resolution 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "spl-type-length-value 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -7942,7 +7942,7 @@ dependencies = [
  "bytemuck",
  "solana-program",
  "spl-discriminator 0.3.0",
- "spl-pod 0.2.2",
+ "spl-pod 0.3.0",
  "spl-program-error 0.5.0",
  "spl-type-length-value-derive",
 ]
@@ -7956,7 +7956,7 @@ dependencies = [
  "bytemuck",
  "solana-program",
  "spl-discriminator 0.2.2",
- "spl-pod 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "spl-pod 0.2.2",
  "spl-program-error 0.4.1",
 ]
 
diff --git a/libraries/pod/Cargo.toml b/libraries/pod/Cargo.toml
index b2740baa3..8f6a76137 100644
--- a/libraries/pod/Cargo.toml
+++ b/libraries/pod/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "spl-pod"
-version = "0.2.2"
+version = "0.3.0"
 description = "Solana Program Library Plain Old Data (Pod)"
 authors = ["Solana Labs Maintainers <maintainers@solanalabs.com>"]
 repository = "https://github.com/solana-labs/solana-program-library"
diff --git a/libraries/tlv-account-resolution/Cargo.toml b/libraries/tlv-account-resolution/Cargo.toml
index 0993a1234..b84ffb7e8 100644
--- a/libraries/tlv-account-resolution/Cargo.toml
+++ b/libraries/tlv-account-resolution/Cargo.toml
@@ -18,7 +18,7 @@ solana-program = "2.0.0"
 spl-discriminator = { version = "0.3.0", path = "../discriminator" }
 spl-program-error = { version = "0.5.0", path = "../program-error" }
 spl-type-length-value = { version = "0.4.3", path = "../type-length-value" }
-spl-pod = { version = "0.2.2", path = "../pod" }
+spl-pod = { version = "0.3.0", path = "../pod" }
 
 [dev-dependencies]
 futures = "0.3.30"
diff --git a/libraries/type-length-value/Cargo.toml b/libraries/type-length-value/Cargo.toml
index f2eb9cfaa..ff8c75789 100644
--- a/libraries/type-length-value/Cargo.toml
+++ b/libraries/type-length-value/Cargo.toml
@@ -17,7 +17,7 @@ solana-program = "2.0.0"
 spl-discriminator = { version = "0.3.0", path = "../discriminator" }
 spl-program-error = { version = "0.5.0", path = "../program-error" }
 spl-type-length-value-derive = { version = "0.1", path = "./derive", optional = true }
-spl-pod = { version = "0.2.2", path = "../pod" }
+spl-pod = { version = "0.3.0", path = "../pod" }
 
 [lib]
 crate-type = ["cdylib", "lib"]
diff --git a/record/program/Cargo.toml b/record/program/Cargo.toml
index 44b148f4f..c19e1fdcb 100644
--- a/record/program/Cargo.toml
+++ b/record/program/Cargo.toml
@@ -17,7 +17,7 @@ num-derive = "0.4"
 num-traits = "0.2"
 solana-program = "2.0.0"
 thiserror = "1.0"
-spl-pod = { version = "0.2.2", path = "../../libraries/pod" }
+spl-pod = { version = "0.3.0", path = "../../libraries/pod" }
 
 [dev-dependencies]
 solana-program-test = "2.0.0"
diff --git a/stake-pool/program/Cargo.toml b/stake-pool/program/Cargo.toml
index a4d49184a..15d037319 100644
--- a/stake-pool/program/Cargo.toml
+++ b/stake-pool/program/Cargo.toml
@@ -25,7 +25,7 @@ solana-security-txt = "1.1.1"
 spl-math = { version = "0.2", path = "../../libraries/math", features = [
   "no-entrypoint",
 ] }
-spl-pod = { version = "0.2.2", path = "../../libraries/pod", features = [
+spl-pod = { version = "0.3.0", path = "../../libraries/pod", features = [
   "borsh",
 ] }
 spl-token-2022 = { version = "3.0.2", path = "../../token/program-2022", features = [
diff --git a/token-collection/program/Cargo.toml b/token-collection/program/Cargo.toml
index 2018bd2e8..1e5b68f00 100644
--- a/token-collection/program/Cargo.toml
+++ b/token-collection/program/Cargo.toml
@@ -13,7 +13,7 @@ test-sbf = []
 
 [dependencies]
 solana-program = "2.0.0"
-spl-pod = { version = "0.2.2", path = "../../libraries/pod" }
+spl-pod = { version = "0.3.0", path = "../../libraries/pod" }
 spl-program-error = { version = "0.5.0" , path = "../../libraries/program-error" }
 spl-token-2022 = { version = "3.0.2", path = "../../token/program-2022", features = ["no-entrypoint"] }
 spl-token-group-example = { version = "0.2", path = "../../token-group/example", features = ["no-entrypoint"] }
diff --git a/token-group/example/Cargo.toml b/token-group/example/Cargo.toml
index 0e077fe1d..cf265993d 100644
--- a/token-group/example/Cargo.toml
+++ b/token-group/example/Cargo.toml
@@ -13,7 +13,7 @@ test-sbf = []
 
 [dependencies]
 solana-program = "2.0.0"
-spl-pod = { version = "0.2.2", path = "../../libraries/pod" }
+spl-pod = { version = "0.3.0", path = "../../libraries/pod" }
 spl-token-2022 = { version = "3.0.2", path = "../../token/program-2022", features = ["no-entrypoint"] }
 spl-token-group-interface = { version = "0.2.3", path = "../interface" }
 spl-type-length-value = { version = "0.4.3", path = "../../libraries/type-length-value" }
diff --git a/token-group/interface/Cargo.toml b/token-group/interface/Cargo.toml
index 13b2a313e..d79482f44 100644
--- a/token-group/interface/Cargo.toml
+++ b/token-group/interface/Cargo.toml
@@ -11,7 +11,7 @@ edition = "2021"
 bytemuck = "1.16.1"
 solana-program = "2.0.0"
 spl-discriminator = { version = "0.3.0" , path = "../../libraries/discriminator" }
-spl-pod = { version = "0.2.2" , path = "../../libraries/pod", features = ["borsh"] }
+spl-pod = { version = "0.3.0" , path = "../../libraries/pod", features = ["borsh"] }
 spl-program-error = { version = "0.5.0" , path = "../../libraries/program-error" }
 
 [dev-dependencies]
diff --git a/token-metadata/example/Cargo.toml b/token-metadata/example/Cargo.toml
index bcf3a6916..68d29de37 100644
--- a/token-metadata/example/Cargo.toml
+++ b/token-metadata/example/Cargo.toml
@@ -16,7 +16,7 @@ solana-program = "2.0.0"
 spl-token-2022 = { version = "3.0.2", path = "../../token/program-2022", features = ["no-entrypoint"] }
 spl-token-metadata-interface = { version = "0.3.3", path = "../interface" }
 spl-type-length-value = { version = "0.4.3" , path = "../../libraries/type-length-value" }
-spl-pod = { version = "0.2.2", path = "../../libraries/pod" }
+spl-pod = { version = "0.3.0", path = "../../libraries/pod" }
 
 [dev-dependencies]
 solana-program-test = "2.0.0"
diff --git a/token-metadata/interface/Cargo.toml b/token-metadata/interface/Cargo.toml
index 721b5aee7..4935712ca 100644
--- a/token-metadata/interface/Cargo.toml
+++ b/token-metadata/interface/Cargo.toml
@@ -17,7 +17,7 @@ solana-program = "2.0.0"
 spl-discriminator = { version = "0.3.0", path = "../../libraries/discriminator" }
 spl-program-error = { version = "0.5.0", path = "../../libraries/program-error" }
 spl-type-length-value = { version = "0.4.3", path = "../../libraries/type-length-value" }
-spl-pod = { version = "0.2.2", path = "../../libraries/pod", features = [
+spl-pod = { version = "0.3.0", path = "../../libraries/pod", features = [
   "borsh",
 ] }
 
diff --git a/token/program-2022/Cargo.toml b/token/program-2022/Cargo.toml
index 1661569de..c7f7a2fe2 100644
--- a/token/program-2022/Cargo.toml
+++ b/token/program-2022/Cargo.toml
@@ -35,7 +35,7 @@ spl-token-group-interface = { version = "0.2.3", path = "../../token-group/inter
 spl-token-metadata-interface = { version = "0.3.3", path = "../../token-metadata/interface" }
 spl-transfer-hook-interface = { version = "0.6.3", path = "../transfer-hook/interface" }
 spl-type-length-value = { version = "0.4.3", path = "../../libraries/type-length-value" }
-spl-pod = { version = "0.2.2", path = "../../libraries/pod" }
+spl-pod = { version = "0.3.0", path = "../../libraries/pod" }
 thiserror = "1.0"
 serde = { version = "1.0.203", optional = true }
 serde_with = { version = "3.8.1", optional = true }
diff --git a/token/transfer-hook/interface/Cargo.toml b/token/transfer-hook/interface/Cargo.toml
index cc487f51b..aa7bee193 100644
--- a/token/transfer-hook/interface/Cargo.toml
+++ b/token/transfer-hook/interface/Cargo.toml
@@ -15,7 +15,7 @@ spl-discriminator = { version = "0.3.0" , path = "../../../libraries/discriminat
 spl-program-error = { version = "0.5.0" , path = "../../../libraries/program-error" }
 spl-tlv-account-resolution = { version = "0.6.3" , path = "../../../libraries/tlv-account-resolution" }
 spl-type-length-value = { version = "0.4.3" , path = "../../../libraries/type-length-value" }
-spl-pod = { version = "0.2.2", path = "../../../libraries/pod" }
+spl-pod = { version = "0.3.0", path = "../../../libraries/pod" }
 
 [lib]
 crate-type = ["cdylib", "lib"]


Test patch:
diff --git a/token/program-2022-test/Cargo.toml b/token/program-2022-test/Cargo.toml
index 80e6626f0..1a0015ad1 100644
--- a/token/program-2022-test/Cargo.toml
+++ b/token/program-2022-test/Cargo.toml
@@ -26,7 +26,7 @@ spl-associated-token-account = { version = "3.0.2", path = "../../associated-tok
 spl-memo = { version = "5.0.0", path = "../../memo/program", features = [
   "no-entrypoint",
 ] }
-spl-pod = { version = "0.2.2", path = "../../libraries/pod" }
+spl-pod = { version = "0.3.0", path = "../../libraries/pod" }
 spl-token-2022 = { version = "3.0.2", path = "../program-2022", features = [
   "no-entrypoint",
 ] }