{
  "_class" : "hudson.model.FreeStyleBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.model.Cause$UserIdCause",
          "shortDescription" : "Started by user sarbian",
          "userId" : "sarbian",
          "userName" : "sarbian"
        }
      ]
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 46,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "548e41fa29833d2844dba01aa167bf08403e259e",
            "branch" : [
              {
                "SHA1" : "548e41fa29833d2844dba01aa167bf08403e259e",
                "name" : "refs/remotes/origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "548e41fa29833d2844dba01aa167bf08403e259e",
            "branch" : [
              {
                "SHA1" : "548e41fa29833d2844dba01aa167bf08403e259e",
                "name" : "refs/remotes/origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "548e41fa29833d2844dba01aa167bf08403e259e",
        "branch" : [
          {
            "SHA1" : "548e41fa29833d2844dba01aa167bf08403e259e",
            "name" : "refs/remotes/origin/master"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/MuMech/MechJeb2.git"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    {
      "displayPath" : "MechJeb2-2.15.2.0.zip",
      "fileName" : "MechJeb2-2.15.2.0.zip",
      "relativePath" : "MechJeb2-2.15.2.0.zip"
    }
  ],
  "building" : false,
  "description" : null,
  "displayName" : "#46",
  "duration" : 24056,
  "estimatedDuration" : 22351,
  "executor" : null,
  "fullDisplayName" : "MechJeb2-Release #46",
  "id" : "46",
  "inProgress" : false,
  "keepLog" : false,
  "number" : 46,
  "queueId" : 2509,
  "result" : "SUCCESS",
  "timestamp" : 1775222608647,
  "url" : "https://ksp.sarbian.com/jenkins/user/markusappel/my-views/view/all/job/MechJeb2-Release/46/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleNodeExecutor.cs"
        ],
        "commitId" : "0d7a1a76e3aa476308a8f4c752cd453d9457deb8",
        "timestamp" : 1774489919000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Allow physics timewarp while rotating to a maneuver node\u000a\u000aOnly reset to 1x warp if in on-rails timewarp.\u000a",
        "date" : "2026-03-25 18:51:59 -0700",
        "id" : "0d7a1a76e3aa476308a8f4c752cd453d9457deb8",
        "msg" : "Allow physics timewarp while rotating to a maneuver node",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleNodeExecutor.cs"
        ],
        "commitId" : "1ef55d238f10ca0f762b30fb94ca11b0d93f84d7",
        "timestamp" : 1774489935000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Ignore roll angular velocity in node executor\u000a\u000aRoll was included when determining if the craft had settled down, but\u000asince it was deliberately left uncontrolled, the roll rate would never\u000adecrease; this prevented the node executor from going to warp unless\u000a'kicked' (when timewarp removes all angular momemtum).\u000a\u000aFixes #1981.\u000a",
        "date" : "2026-03-25 18:52:15 -0700",
        "id" : "1ef55d238f10ca0f762b30fb94ca11b0d93f84d7",
        "msg" : "Ignore roll angular velocity in node executor",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
        ],
        "commitId" : "96b2ecd9ecdf07660129c07c68aa53ad4c3bd130",
        "timestamp" : 1774489968000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix Classic Ascent with sliders fully left\u000a\u000aIt sometimes takes a few ticks before the base game updates the vessel's\u000asituation. This means that `VerticalHeadingTo` will disable the\u000aactuation controls during this time.\u000a\u000aIf the vessel switches from `VERTICAL_ASCENT` to `GRAVITY_TURN` before\u000athe situation changes, the actuation controls never get re-enabled\u000a(`VerticalHeadingTo` never gets called while, according to the game, the\u000avessel has lifted off). This can happen if the pitch start velocity is\u000avery small, for example if the auto-turn velocity slider is all the way\u000ato the left.\u000a\u000aThis change makes sure that the actuation controls also get enabled\u000aproperly while in the `GRAVITY_TURN` phase of flight, by enabling the\u000aactuation controls at the same time as the axis controls in the\u000a`AttitudeTo` method.\u000a\u000aFixes the root cause of the problem in #2025.\u000a",
        "date" : "2026-03-25 18:52:48 -0700",
        "id" : "96b2ecd9ecdf07660129c07c68aa53ad4c3bd130",
        "msg" : "Fix Classic Ascent with sliders fully left",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModulePVGGlueBall.cs"
        ],
        "commitId" : "0d9594f15836f01eb5e99c5923fe25cbb30d0bd6",
        "timestamp" : 1774489998000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Don't spam the log file with \"Null\"\u000a\u000aWhen no exception occurred in the optimizer, PSG prints \"Null\" to the\u000adebug log every second. This commit reduces this log spam; now it only\u000aprints the exception if an exception actually occured.\u000a",
        "date" : "2026-03-25 18:53:18 -0700",
        "id" : "0d9594f15836f01eb5e99c5923fe25cbb30d0bd6",
        "msg" : "Don't spam the log file with \"Null\"",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleThrustController.cs"
        ],
        "commitId" : "595c67ebdad7a95ba0687025583211bf8cfa38f8",
        "timestamp" : 1774490035000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix desiredThrust calculation in ProcessUllage()\u000a",
        "date" : "2026-03-25 18:53:55 -0700",
        "id" : "595c67ebdad7a95ba0687025583211bf8cfa38f8",
        "msg" : "Fix desiredThrust calculation in ProcessUllage()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleNodeExecutor.cs",
          "MechJeb2/MechJebModuleAttitudeController.cs"
        ],
        "commitId" : "22f841831210bf814d896654aa4d00a1b2b74000",
        "timestamp" : 1774490066000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Add 'Kill Rotation' flag to AttitudeController\u000a\u000aAlso clean up the 'SetAxisControl' toggles a bit; the axis control\u000asettings were set the same in three different places. Now it's done only\u000aonce.\u000a",
        "date" : "2026-03-25 18:54:26 -0700",
        "id" : "22f841831210bf814d896654aa4d00a1b2b74000",
        "msg" : "Add 'Kill Rotation' flag to AttitudeController",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAttitudeController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleManeuverPlanner.cs",
          "MechJeb2/MechJebModuleNodeExecutor.cs"
        ],
        "commitId" : "d8c71aec6688d4280e5c4aa72233796a8f53cf7c",
        "timestamp" : 1774490082000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Use 'Kill Rotation' flag in NodeExecutor\u000a",
        "date" : "2026-03-25 18:54:42 -0700",
        "id" : "d8c71aec6688d4280e5c4aa72233796a8f53cf7c",
        "msg" : "Use 'Kill Rotation' flag in NodeExecutor",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleManeuverPlanner.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/ComputerModule.cs",
          "MechJeb2/DisplayModule.cs"
        ],
        "commitId" : "9b2cfca7db8fb83f65dee394e4a301d92a9ba179",
        "timestamp" : 1774490155000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "fix: feature unexpectedly unlocking in career mode\u000a",
        "date" : "2026-03-25 18:55:55 -0700",
        "id" : "9b2cfca7db8fb83f65dee394e4a301d92a9ba179",
        "msg" : "fix: feature unexpectedly unlocking in career mode",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/ComputerModule.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/DisplayModule.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "Parts/MechJeb2_AR202/part.cfg"
        ],
        "commitId" : "f80209908dc9c8b38ee9e296fecf331dfcaebc32",
        "timestamp" : 1774490171000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "fix: name mismatch in the unlock conditions for AscentMenu(AscentGuidance) feature.\u000a",
        "date" : "2026-03-25 18:56:11 -0700",
        "id" : "f80209908dc9c8b38ee9e296fecf331dfcaebc32",
        "msg" : "fix: name mismatch in the unlock conditions for AscentMenu(AscentGuidance) feature.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "Parts/MechJeb2_AR202/part.cfg"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleStagingController.cs"
        ],
        "commitId" : "1db1e8b8f1fb421fbfc598e300edf2faf83a35e6",
        "timestamp" : 1774714079000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "For hotstaging, sum stages with the same number\u000a\u000aIf a stage has ullage motors that light at the same time as the main\u000aengine, then hotstaging the _next_ stage does not work properly. Since\u000aboth the ullage motors and the \"regular\" engine have the same KSP stage\u000anumber, hotstaging starts when the ullage motors have less than\u000a`HotStagingLeadTime` seconds left to burn, even if the main engine burn\u000atime is much longer.\u000a\u000aWith this change, all burn times with the same KSP stage are added up\u000ato calculate the `LastNonZeroDVStageBurnTime`.\u000a",
        "date" : "2026-03-28 09:07:59 -0700",
        "id" : "1db1e8b8f1fb421fbfc598e300edf2faf83a35e6",
        "msg" : "For hotstaging, sum stages with the same number",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "Localization/en-us.cfg"
        ],
        "commitId" : "3ba80142b2e45ec72ff5fcaf1acc00f86f4ab7f6",
        "timestamp" : 1774714110000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "grammar fix\u000a\u000arescued from #2025\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2026-03-28 09:08:30 -0700",
        "id" : "3ba80142b2e45ec72ff5fcaf1acc00f86f4ab7f6",
        "msg" : "grammar fix",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "Localization/en-us.cfg"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/FunctionsTests.cs",
          "MechJebLib/Functions/Astro.cs"
        ],
        "commitId" : "979836c1a02604b42b2392f18a119097ae14efb7",
        "timestamp" : 1774714135000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix TimeToPlane for equatorial orbits\u000a\u000aAnd make the tests green.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2026-03-28 09:08:55 -0700",
        "id" : "979836c1a02604b42b2392f18a119097ae14efb7",
        "msg" : "Fix TimeToPlane for equatorial orbits",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLib/Functions/Astro.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/FunctionsTests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "Localization/fr-fr.cfg",
          "Localization/en-us.cfg"
        ],
        "commitId" : "6a6fbb1f3563d85151177f66c7e75641b2db0758",
        "timestamp" : 1774714158000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "fix two strings missing in en and fr localization\u000a",
        "date" : "2026-03-28 09:09:18 -0700",
        "id" : "6a6fbb1f3563d85151177f66c7e75641b2db0758",
        "msg" : "fix two strings missing in en and fr localization",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "Localization/en-us.cfg"
          },
          {
            "editType" : "edit",
            "file" : "Localization/fr-fr.cfg"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
        ],
        "commitId" : "c767cd8c8de514f6ca108b9ee8c5602d8e54fc9b",
        "timestamp" : 1774714186000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Commit fixes the bug from issue #2048\u000a\u000aThe bug occurs when using the autoascent feature for\u000anegative inclination orbits. Namely, the circularization burn was\u000aexplicitly trying to achieve the _abs(inclination)_ instead of the target.\u000a\u000aThe bug was fixed by removing the `Math.Abs()` from the\u000aOrbitalManeuverCalculator.DeltaVToChangeInclination input.\u000a",
        "date" : "2026-03-28 09:09:46 -0700",
        "id" : "c767cd8c8de514f6ca108b9ee8c5602d8e54fc9b",
        "msg" : "Commit fixes the bug from issue #2048",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModulePVGGlueBall.cs"
        ],
        "commitId" : "6f6320af837908b46ab294fb95a72951d588c287",
        "timestamp" : 1774714231000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix clamping of attach altitude\u000a\u000aIt should be between peR and apR (if apR > 0). Also clamp apR to be <0\u000aor >= peR.\u000a",
        "date" : "2026-03-28 09:10:31 -0700",
        "id" : "6f6320af837908b46ab294fb95a72951d588c287",
        "msg" : "Fix clamping of attach altitude",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/Properties/AssemblyInfo.cs"
        ],
        "commitId" : "548e41fa29833d2844dba01aa167bf08403e259e",
        "timestamp" : 1775222681000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "v2.15.2\u000a",
        "date" : "2026-04-03 15:24:41 +0200",
        "id" : "548e41fa29833d2844dba01aa167bf08403e259e",
        "msg" : "v2.15.2",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/Properties/AssemblyInfo.cs"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/noreply",
      "fullName" : "noreply"
    },
    {
      "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
      "fullName" : "lamont"
    }
  ]
}