At the end of June 2024, Pyth push oracles will be discontinued, so all programs that currently use them must migrate to pull oracles.
The drop-in replacement is to consume Price Feed Accounts. To use these on-chain, Pyth provides an sdk: https://crates.io/crates/pyth-solana-receiver-sdk
However, the SDK uses a relatively new version of many dependencies (for example Anchor >=28), while many projects that have been consuming Pyth oracles for some time are locked to older dependencies. For example, we have a project on:
[dependencies]
anchor-lang = "0.24.2"
anchor-spl = { version = "0.24.2", features = ["dex"] }
solana-program = "1.7"
pyth-sdk-solana = "0.7.0"
In many cases, the project has nested dependencies outside of our control.
How can we update to the new pyth oracle without updating dependencies?