= Pinning jobs to app version numbers = BOINC's default behavior is to process jobs with the latest app versions. During the lifetime of an app, there may be changes that are not backward compatible, e.g.: * A new version uses a different input file format * A new version produces output that won't validate against older versions. If the new version is introduced while there are still older jobs in the system, jobs will fail and/or not validate. One alternative is to stop adding jobs until there are no jobs in progress, then add the new app versions and resume creating jobs. This can cause lots of unused capacity. Another option is to create a new app. This can cause various problems, e.g. invalidating user configurations and app selection settings. == Job pinning == A third option is to '''pin''' jobs to a particular app version number. For example, {{{ create_work --app_version_num 405 ... }}} means that the job is to be processed only by app versions with version number 415 (i.e. 4.15). The default is 0, meaning that the job is processed using the latest version. In addition, you must tell BOINC what the earliest usable version for the app is, i.e. the lowest version number for jobs currently in progress. Do this by setting the "min_version" field in the app's DB entry. The easiest way to do this is to change the project.xml, e.g. {{{ uppercase upperCASE 415 }}} and then run [XaddTool xadd].