Building with an earlier SDK version than the Canton version

I’m thinking through how to know if DARs generated with the SDK version listed in the daml.yaml file…

sdk-version: 2.m.n

… can be uploaded and exercised on nodes using Canton binary version 2.x.y…

canton-enterprise-2.x.y.gzip


I ask because documents like this go into a lot of detail about SDK versions, Ledger API versions, LF-versions, Canton versions, protocol versions, etc.


Question: Could we state the following at least? “For Daml 2, as long as the Canton version is greater than or equal to the SDK version, they are compatible.”

Based on the following sentence from the docs

if a Daml Application is built against Ledger API version X.Y.Z and a Participant Node exposes Ledger API version X.Y2.Z2, the application is guaranteed to work as long as Y2.Z2 >= Y.Z.

…I’m going to conclude that the answer to my question is, “Yes.”

For example, the Canton nodes can be safely upgraded to 2.8.1, while leaving the DARs compiled with 2.5.5.

Please correct me if I’m wrong.