Our URCaps was started a long time ago using the sdk version 1.2.56, and since then we never had to upgrade to a newer version since the features were enough for us.
Now we would like to introduce a new feature which requires us to upgrade to 1.6 or higher.
This raises 2 questions:
- Is there a reason why we should only upgrade to 1.6 and not to the latest 1.11?
- Would this change require our users to upgrade to a newer Polyscope version? If so, which?
- The only reason would be to be compatible with more versions.
- Yes, 1.6 requires 3.9.0/5.3.0 or later, and 1.11 requires 3.14.1/5.9.1 or later.
The URCap API/SDK version can be found in the release notes for each software release and they are not backwards compatible.
https://www.universal-robots.com/articles/ur/release-note-software-version-39xx/
https://www.universal-robots.com/articles/ur/release-note-software-version-3141/
https://www.universal-robots.com/articles/ur/release-note-software-version-53xx/
https://www.universal-robots.com/articles/ur/release-note-software-version-591/
@mads is completely right!
The URCap tutorial gives a more detailed information. Section “12.2.1 Advanced compatibility” describes how you utilize features from a never API and still be able to run on an older version of Polyscope.
The following change in the pom.xml:
...
<Import - Package >
com.ur.urcap.api *; version =" [1.4.0 ,2.0.0) "; resolution := optional ,
*
</Import-Package >
...
Will make the URCap start up if the supported API version is between 1.4.0 and 2.0.0 (latter not inclusive) regardless of what the actual dependency states.
To provide a good user experience for the URCap installation process by ensuring that end users cannot install a URCap that is not compatible with their robot you shall also pay attention to the Compatibility flags.
Ebbe