anchor.diff:              match version with
               | NoChange _ -> failwithf "cannot run release because no explicit version number was passed on the command line"
               | Update (newVersion, currentVersion) -> 
  -                // fail if current is greater or equal to the new version
  -                if (currentVersion >= newVersion) then
  -                    failwithf "Can not release %O its lower then current %O" newVersion.Full currentVersion.Full
  +                // fail if current is greater than the new version
  +                if (currentVersion > newVersion) then
  +                    failwithf "Can not release %O as it's lower then current %O" newVersion.Full currentVersion.Full
                   writeVersionIntoGlobalJson newVersion.Full
           | _ -> ignore()
       
  
positive.code:         
      let writeVersionIntoGlobalJson version =
          let globalJson = globalJson ()
          let newGlobalJson = { globalJson with Version = version.ToString(); }
          File.WriteAllText("global.json", JsonConvert.SerializeObject(newGlobalJson))
          printfn "Written (%s) to global.json as the current version will use this version from now on as current in the build" (version.ToString()) 
  
      let GlobalJsonVersion = parse <| globalJson().Version
      
      let private getVersion (args:Commandline.PassedArguments) =
          match (args.Target, args.CommandArguments) with
  
negative.code:     let parse (v:string) = SemVer.parse(v)
  
      //Versions in form of e.g 6.1.0 is inferred as datetime so we bake the json shape into the provider like this
      type SdkVersion = { version:string;  }
      type GlobalJson = { sdk: SdkVersion; version:string; }
          
      let private globalJson () =
          let jsonString = File.ReadAllText "global.json"
  