{
  "_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" : 43,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "7e9ed8a71e187062ed0c88522e6714216d2c4a7b",
            "branch" : [
              {
                "SHA1" : "7e9ed8a71e187062ed0c88522e6714216d2c4a7b",
                "name" : "refs/remotes/origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "7e9ed8a71e187062ed0c88522e6714216d2c4a7b",
            "branch" : [
              {
                "SHA1" : "7e9ed8a71e187062ed0c88522e6714216d2c4a7b",
                "name" : "refs/remotes/origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "7e9ed8a71e187062ed0c88522e6714216d2c4a7b",
        "branch" : [
          {
            "SHA1" : "7e9ed8a71e187062ed0c88522e6714216d2c4a7b",
            "name" : "refs/remotes/origin/master"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/MuMech/MechJeb2.git"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#43",
  "duration" : 12427,
  "estimatedDuration" : 16850,
  "executor" : None,
  "fullDisplayName" : "MechJeb2-Release #43",
  "id" : "43",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 43,
  "queueId" : 2241,
  "result" : "FAILURE",
  "timestamp" : 1763982101391,
  "url" : "https://ksp.sarbian.com/jenkins/user/sarbian/my-views/view/All/job/MechJeb2-Release/43/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/MechJebLibTest.csproj",
          "MechJeb2/Pontryagin/PontryaginNode.cs",
          "MechJeb2/MechJebLib/Primitives/M3.cs",
          "MechJeb2/MechJebLib/PVG/Solution.cs",
          "MechJeb2/MechJebLib/Primitives/H1.cs",
          "MechJeb2/MathJ/DormandPrince.cs",
          "MechJeb2/Properties/AssemblyInfo.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/IPVGIntegrator.cs",
          "MechJeb2/MechJebModuleAscentGuidance.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Reduced.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustAnalytic.cs",
          "MechJeb2/MechJebModuleGuidanceController.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs",
          ".editorconfig",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Propellant.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler4Reduced.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Intercept6Cartesian.cs",
          "MechJeb2/MechJebLib/Maths/FunctionImpls/RealDeltaVToChangeApoapsisPrograde.cs",
          "MechJeb2/Matrix3x3d.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Energy.cs",
          "MechJeb2/MechJebLib/PVG/PVGBuilder.cs",
          "MechJeb2/MechJebModulePVGGlueBall.cs",
          "MechJebLibTest/Utils/StaticTests.cs",
          "MechJeb2/Pontryagin/PontryaginLaunch.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumCoastIntegrator.cs",
          "MechJeb2/MechJebModuleStagingController.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler5Reduced.cs",
          "MechJeb2/MechJebLib/Structs/H3.cs",
          "MechJebLibTest/PVG/Titan2Tests.cs",
          "MechJeb2/MechJebLib/PVG/Optimizer.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/IPVGTerminal.cs",
          "MechJeb2/MechJebLib/Structs/HBase.cs",
          "MechJeb2/MechJebLib/Primitives/V3.cs",
          "MechJeb2/OrbitalManeuverCalculator.cs",
          "MechJeb2/MechJebLib/PVG/Phase.cs",
          "MechJeb2/MechJebLib/Structs/Hn.cs",
          "MechJeb2/MathJ/ODE.cs",
          "MechJeb2/Pontryagin/TODO.md",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle3Energy.cs",
          "MechJeb2/MechJebLib/Primitives/DD.cs",
          "MechJeb2/MechJebLib/Maths/BrentRoot.cs",
          "MechJeb2/MechJebModuleLogicalStageTracking.cs",
          "MechJeb2/MechJebLib/Primitives/H3.cs",
          "MechJebLibTest/Maths/FunctionsTests.cs",
          "MechJeb2/MechJebLib/PVG/Ascent.cs",
          "MechJeb2/MechJebLib/PVG/Scale.cs",
          "MechJeb2/MechJebLib/Maths/Gooding.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJebLibTest/Structs/HTests.cs",
          "MechJeb2/Pontryagin/Solution.cs",
          "MechJeb2/MathExtensions.cs",
          "MechJebLibTest/AssertionExtensions.cs",
          "MechJeb2/MechJebLib/Utils/ObjectPool.cs",
          "MechJeb2/MechJebLib/PVG/ResidualWrapper.cs",
          "MechJeb2/Pontryagin/PontryaginBase.cs",
          "MechJeb2/MechJebLib/Maths/Functions.cs",
          "MechJeb2/MathJ/ODESolver.cs",
          "MechJeb2/Maneuver/TransferCalculator.cs",
          "MechJeb2/MechJebModuleAscentPVG.cs",
          "MechJeb2/MechJebLib/PVG/ArrayWrapper.cs",
          "MechJeb2/MechJebLib/PVG/AscentBuilder.cs",
          "MechJeb2/MechJebLib/PVG/Problem.cs",
          "MechJeb2/MechJebLib/Utils/Statics.cs",
          "MechJeb2/MechJebLib/Utils/DDArray.cs",
          "MechJeb2/MechJebLib/Maths/Shepperd.cs",
          "MechJeb2/MechJebLib/Structs/H1.cs",
          "MechJeb2/Pontryagin/Arc.cs",
          "MechJeb2/MechJebLib/Primitives/Hn.cs",
          "MechJeb2/MechJebLib/Primitives/HBase.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler3Reduced.cs",
          "MechJebLibTest/Maths/DormandPrinceTests.cs",
          "MechJeb2/MechJebLib/Maths/BrentMin.cs",
          "MechJeb2/MechJebCore.cs",
          "MechJeb2/MechJebLib/Utils/Check.cs",
          "MechJeb2.sln.DotSettings",
          "MechJeb2/MechJebLib/Primitives/Q3.cs"
        ],
        "commitId" : "dc6464be6907ad4673f095a0faae853cae1d3a7d",
        "timestamp" : 1676264875000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "WIP PVG rewrite\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-02-12 21:07:55 -0800",
        "id" : "dc6464be6907ad4673f095a0faae853cae1d3a7d",
        "msg" : "WIP PVG rewrite",
        "paths" : [
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Maths/FunctionImpls/RealDeltaVToChangeApoapsisPrograde.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/Pontryagin/PontryaginBase.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebCore.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maths/Functions.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Primitives/V3.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/PVG/Phase.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/PVG/Problem.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/PVG/Solution.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Structs/H3.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Intercept6Cartesian.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Primitives/H3.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Primitives/H1.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/ObjectPool.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitalManeuverCalculator.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/PVG/Titan2Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MechJebLibTest.csproj"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Propellant.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Statics.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Primitives/DD.cs"
          },
          {
            "editType" : "edit",
            "file" : ".editorconfig"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/PVG/PVGBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maths/Shepperd.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler3Reduced.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/PVG/ResidualWrapper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MathJ/ODESolver.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/TransferCalculator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Utils/DDArray.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumCoastIntegrator.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Structs/H1.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/PVG/ArrayWrapper.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustAnalytic.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler5Reduced.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler4Reduced.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle3Energy.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/IPVGIntegrator.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Primitives/Hn.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Energy.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/IPVGTerminal.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebModuleLogicalStageTracking.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/Matrix3x3d.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/Pontryagin/PontryaginNode.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Check.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maths/BrentMin.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/PVG/AscentBuilder.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Primitives/Q3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Properties/AssemblyInfo.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/Pontryagin/PontryaginLaunch.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/Pontryagin/Arc.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Structs/HTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MathJ/DormandPrince.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Structs/HBase.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maths/BrentRoot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/FunctionsTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVG.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/Utils/StaticTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2.sln.DotSettings"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/PVG/Scale.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/PVG/Ascent.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/Pontryagin/Solution.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/AssertionExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maths/Gooding.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Primitives/HBase.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MathJ/ODE.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/PVG/Optimizer.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Primitives/M3.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/DormandPrinceTests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Structs/Hn.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/Pontryagin/TODO.md"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MathExtensions.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionAscent.cs",
          "MechJeb2/MechJebLib/PVG/Ascent.cs",
          "MechJeb2/MechJebModuleAscentPVGStagingMenu.cs",
          "MechJeb2/MechJebLib/PVG/Solution.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs",
          "MechJeb2/MechJebModuleAscentAutopilot.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJeb2/MechJebModuleAscentMenu.cs",
          "MechJebLibTest/Structs/HTests.cs",
          "MechJeb2/MechJebModuleAscentGuidance.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Reduced.cs",
          "MechJeb2/MechJebModuleAscentSettings.cs",
          "MechJeb2/MathExtensions.cs",
          "MechJeb2/MechJebModuleAscentClassicMenu.cs",
          "MechJeb2/MechJebModuleAscentGT.cs",
          "MechJeb2/MechJebModuleGuidanceController.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Propellant.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler4Reduced.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Intercept6Cartesian.cs",
          "MechJeb2/MechJebModuleAscentPVG.cs",
          "MechJeb2/MechJebModuleAscentClassic.cs",
          "MechJeb2/MechJebLib/PVG/AscentBuilder.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Energy.cs",
          "MechJeb2/MechJebLib/PVG/PVGBuilder.cs",
          "MechJeb2/MechJebLib/Utils/Statics.cs",
          "MechJeb2/MechJebModuleAscentNavBall.cs",
          "MechJeb2/MechJebModulePVGGlueBall.cs",
          "MechJeb2/MechJebLib/PVG/OptimizerBuilder.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler5Reduced.cs",
          "MechJebLibTest/PVG/Titan2Tests.cs",
          "MechJeb2/MechJebLib/PVG/Optimizer.cs",
          "MechJeb2/MechJebLib/Primitives/HBase.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler3Reduced.cs",
          "MechJeb2/MechJebModuleThrustController.cs",
          "MechJeb2.sln.DotSettings",
          "MechJeb2/MechJebCore.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionsList.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle3Energy.cs"
        ],
        "commitId" : "1b79e0c2f04e742382e53393da7150adaea32860",
        "timestamp" : 1676264875000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "more massive refactoring\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-02-12 21:07:55 -0800",
        "id" : "1b79e0c2f04e742382e53393da7150adaea32860",
        "msg" : "more massive refactoring",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Solution.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionAscent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2.sln.DotSettings"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler3Reduced.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/PVG/PVGBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Ascent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler4Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Intercept6Cartesian.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebCore.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/PVG/OptimizerBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentClassic.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/AscentBuilder.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebModuleAscentNavBall.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/Titan2Tests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebModuleAscentMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionsList.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler5Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/HBase.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebModuleAscentSettings.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Propellant.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentClassicMenu.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebModuleAscentGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Energy.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Structs/HTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MathExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Statics.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVG.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentGT.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustController.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebModuleAscentPVGStagingMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Optimizer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle3Energy.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionAscent.cs",
          "MechJeb2/MechJebModuleAscentPVG.cs",
          "MechJeb2/MechJebModuleAscentGTAutopilot.cs",
          "MechJeb2/MechJebModuleAscentClassicPathMenu.cs",
          "MechJeb2/MechJebModuleAscentClassic.cs",
          "MechJeb2/MechJebModuleFlightRecorderGraph.cs",
          "MechJeb2/MechJebModuleDeployableController.cs",
          "MechJeb2/MechJebModuleAscentAutopilot.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJeb2/MechJebModuleAscentMenu.cs",
          "MechJeb2/MechJebModuleAscentSettings.cs",
          "MechJeb2/MechJebModuleAscentClassicMenu.cs",
          "MechJeb2/MechJebModuleAscentBaseAutopilot.cs",
          "MechJeb2/MechJebModuleAscentClassicAutopilot.cs",
          "MechJeb2/MechJebModuleAscentGT.cs",
          "MechJeb2/MechJebModuleAscentPVGAutopilot.cs",
          "MechJeb2/MechJebCore.cs"
        ],
        "commitId" : "08b233a114b92b6572052e797d32a2c3fd226eed",
        "timestamp" : 1676264875000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "checkpoint\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-02-12 21:07:55 -0800",
        "id" : "08b233a114b92b6572052e797d32a2c3fd226eed",
        "msg" : "checkpoint",
        "paths" : [
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebModuleAscentPVGAutopilot.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebModuleAscentAutopilot.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebModuleAscentClassic.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionAscent.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebModuleAscentPVG.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleFlightRecorderGraph.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDeployableController.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebModuleAscentClassicMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebModuleAscentClassicAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettings.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebCore.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebModuleAscentClassicPathMenu.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebModuleAscentGTAutopilot.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebModuleAscentGT.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentMenu.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Primitives/DD.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionAscent.cs",
          "MechJeb2/MechJebLib/Primitives/H3.cs",
          "MechJeb2/MechJebLib/PVG/Ascent.cs",
          "MechJeb2/MechJebModuleAscentPVGStagingMenu.cs",
          "MechJeb2/MechJebLib/Primitives/H1.cs",
          "MechJeb2/MechJebLib/PVG/Solution.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJeb2/MechJebModuleAscentMenu.cs",
          "MechJeb2/MechJebModuleAscentSettings.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustAnalytic.cs",
          "MechJeb2/MechJebModuleAscentClassicAutopilot.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs",
          "MechJeb2/MechJebLib/Utils/ObjectPool.cs",
          "MechJeb2/MechJebModuleGuidanceController.cs",
          "MechJeb2/MechJebLib/PVG/ResidualWrapper.cs",
          "MechJeb2/GuiUtils.cs",
          "MechJeb2/MechJebModuleAscentGTAutopilot.cs",
          "MechJeb2/MechJebModuleAttitudeController.cs",
          "MechJeb2/MechJebLib/PVG/ArrayWrapper.cs",
          "MechJeb2/MechJebModuleAscentClassicPathMenu.cs",
          "MechJeb2/MechJebLib/PVG/AscentBuilder.cs",
          "MechJeb2/GLUtils.cs",
          "MechJeb2/MechJebLib/PVG/Problem.cs",
          "MechJeb2/PartExtensions.cs",
          "MechJeb2/MechJebModulePVGGlueBall.cs",
          "MechJeb2/MechJebLib/PVG/OptimizerBuilder.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumCoastIntegrator.cs",
          "MechJeb2/MechJebModuleStagingController.cs",
          "MechJebLibTest/PVG/Titan2Tests.cs",
          "MechJeb2/MechJebLib/PVG/Optimizer.cs",
          "MechJeb2/MechJebModuleAscentBaseAutopilot.cs",
          "MechJeb2/MechJebLib/PVG/Phase.cs",
          "MechJeb2/MechJebLib/Primitives/Hn.cs",
          "MechJeb2/MechJebModuleSpinupController.cs",
          "MechJeb2/MechJebModuleThrustController.cs",
          "MechJeb2/MechJebModuleAscentPVGAutopilot.cs",
          "MechJeb2.sln.DotSettings",
          "MechJeb2/MechJebCore.cs",
          "MechJeb2/MechJebModuleAscentSettingsMenu.cs"
        ],
        "commitId" : "329d8fe516570c30fdaf40eccf67b3903541e664",
        "timestamp" : 1676264875000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "push an update\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-02-12 21:07:55 -0800",
        "id" : "329d8fe516570c30fdaf40eccf67b3903541e664",
        "msg" : "push an update",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/DD.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentGTAutopilot.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebModuleSpinupController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAttitudeController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/ResidualWrapper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Phase.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Problem.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Ascent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGStagingMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustAnalytic.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/PartExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettings.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2.sln.DotSettings"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentClassicAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/ArrayWrapper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/AscentBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/Hn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/H3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentClassicPathMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/OptimizerBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/Titan2Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumCoastIntegrator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Optimizer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/GuiUtils.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionAscent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/GLUtils.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/H1.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Solution.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/ObjectPool.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebCore.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebModuleAscentSettingsMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentMenu.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/Maths/FunctionsTests.cs",
          "MechJeb2/MechJebLib/PVG/Ascent.cs",
          "MechJeb2/MechJebLib/PVG/Scale.cs",
          "MechJeb2/MechJebModuleAscentPVGStagingMenu.cs",
          "MechJeb2/MechJebLib/PVG/Solution.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/IPVGIntegrator.cs",
          "MechJeb2/MechJebModuleAscentMenu.cs",
          "MechJeb2/MechJebModuleAscentSettings.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Reduced.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustAnalytic.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs",
          "MechJeb2/MechJebModuleGuidanceController.cs",
          "MechJeb2/MechJebLib/PVG/ResidualWrapper.cs",
          "MechJeb2/MechJebLib/Maths/Functions.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Propellant.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler4Reduced.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Intercept6Cartesian.cs",
          "MechJeb2/MechJebLib/Maths/FunctionImpls/RealDeltaVToChangeApoapsisPrograde.cs",
          "MechJeb2/MechJebLib/PVG/ArrayWrapper.cs",
          "MechJeb2/MechJebLib/PVG/AscentBuilder.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Energy.cs",
          "MechJeb2/MechJebLib/PVG/Problem.cs",
          "MechJeb2/MechJebLib/Utils/Statics.cs",
          "MechJeb2/PartExtensions.cs",
          "MechJebLibTest/Utils/StaticTests.cs",
          "MechJeb2/MechJebModulePVGGlueBall.cs",
          "MechJeb2/MechJebLib/PVG/OptimizerBuilder.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumCoastIntegrator.cs",
          "MechJeb2/MechJebModuleStagingController.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler5Reduced.cs",
          "MechJeb2/MechJebLib/PVG/Optimizer.cs",
          "MechJebLibTest/PVG/Titan2Tests.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/IPVGTerminal.cs",
          "MechJeb2/MechJebLib/PVG/Phase.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler3Reduced.cs",
          "MechJebLibTest/Maths/DormandPrinceTests.cs",
          "MechJeb2/MechJebModuleSpinupController.cs",
          "MechJeb2/MechJebModuleThrustController.cs",
          "MechJeb2/VesselState.cs",
          "MechJeb2/MechJebModuleAscentSettingsMenu.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle3Energy.cs"
        ],
        "commitId" : "8a375f93c6df572e4f6b3395f6dff867d948d1d7",
        "timestamp" : 1676264875000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "another checkpoint\u000a\u000aoptimization is now done in a background thread\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-02-12 21:07:55 -0800",
        "id" : "8a375f93c6df572e4f6b3395f6dff867d948d1d7",
        "msg" : "another checkpoint",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Intercept6Cartesian.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle3Energy.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Phase.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Utils/StaticTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/OptimizerBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Optimizer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Scale.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/Titan2Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/ArrayWrapper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettings.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/VesselState.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Ascent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler4Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGStagingMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/AscentBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler3Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustAnalytic.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Statics.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Solution.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/DormandPrinceTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumCoastIntegrator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Problem.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/ResidualWrapper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maths/FunctionImpls/RealDeltaVToChangeApoapsisPrograde.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettingsMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maths/Functions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSpinupController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/FunctionsTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/IPVGTerminal.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler5Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Energy.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Propellant.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/IPVGIntegrator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/PartExtensions.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/GuiUtils.cs",
          "MechJebLibTest/Maths/FunctionsTests.cs",
          "MechJeb2/MechJebLib/PVG/Ascent.cs",
          "MechJeb2/MechJebLib/PVG/AscentBuilder.cs",
          "MechJeb2/MechJebModuleAscentPVGStagingMenu.cs",
          "MechJeb2/MechJebLib/PVG/Solution.cs",
          "MechJeb2/MechJebLib/PVG/Problem.cs",
          "MechJeb2/MechJebLib/Utils/Statics.cs",
          "MechJeb2/MechJebModulePVGGlueBall.cs",
          "MechJeb2/MechJebLib/Utils/Logger.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJeb2/MechJebLib/PVG/OptimizerBuilder.cs",
          "MechJeb2/MechJebModuleAscentSettings.cs",
          "MechJebLibTest/PVG/Titan2Tests.cs",
          "MechJeb2/MechJebLib/PVG/Optimizer.cs",
          "MechJeb2/MechJebModuleGuidanceController.cs",
          "MechJebLibTest/Maths/DormandPrinceTests.cs",
          "MechJeb2/MechJebModuleAscentPVGAutopilot.cs",
          "MechJeb2/MechJebCore.cs",
          "MechJeb2/MechJebLib/Maths/Functions.cs",
          "MechJeb2/MechJebLib/PVG/TerminalConditions.cs"
        ],
        "commitId" : "a37876e73373a95332b5e293ef6ecf709cc4a373",
        "timestamp" : 1676264876000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "checkpoint again.\u000a\u000awhatever i got done before vacation.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-02-12 21:07:56 -0800",
        "id" : "a37876e73373a95332b5e293ef6ecf709cc4a373",
        "msg" : "checkpoint again.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Statics.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettings.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/OptimizerBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Ascent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebCore.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/AscentBuilder.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/PVG/TerminalConditions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Solution.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/Titan2Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Problem.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Optimizer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/DormandPrinceTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/GuiUtils.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGStagingMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/FunctionsTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maths/Functions.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Utils/Logger.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/PVG/Ascent.cs",
          "MechJeb2/MechJebModuleAscentPVGStagingMenu.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJeb2/MechJebModuleAscentMenu.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Reduced.cs",
          "MechJeb2/MechJebModuleAscentSettings.cs",
          "MechJeb2/copy_build.sh",
          "MechJeb2/MechJebModuleGuidanceController.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Propellant.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler4Reduced.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Intercept6Cartesian.cs",
          "MechJeb2/GuiUtils.cs",
          "MechJeb2/MechJebLib/PVG/AscentBuilder.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Energy.cs",
          "MechJeb2/MechJebModulePVGGlueBall.cs",
          "MechJeb2/MechJebLib/PVG/OptimizerBuilder.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler5Reduced.cs",
          "MechJeb2/MechJebLib/PVG/Optimizer.cs",
          "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/IPVGTerminal.cs",
          "MechJeb2/MechJebLib/PVG/Phase.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler3Reduced.cs",
          "MechJeb2/MechJebModuleSpinupController.cs",
          "MechJeb2/CelestialBodyExtensions.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle3Energy.cs"
        ],
        "commitId" : "c728bac299be33aadac547fcfb1a3172e9fd7424",
        "timestamp" : 1676264876000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "WIP\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-02-12 21:07:56 -0800",
        "id" : "c728bac299be33aadac547fcfb1a3172e9fd7424",
        "msg" : "WIP",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/CelestialBodyExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler4Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Propellant.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettings.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Energy.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler3Reduced.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebModuleAscentPVGStagingMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Phase.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/copy_build.sh"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/IPVGTerminal.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Ascent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/OptimizerBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle3Energy.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/GuiUtils.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Intercept6Cartesian.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/AscentBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Optimizer.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler5Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSpinupController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/PVG/AscentBuilder.cs",
          "MechJeb2/MechJebLib/PVG/Solution.cs",
          "MechJeb2/MechJebLib/PVG/Problem.cs",
          "MechJeb2/MechJebModulePVGGlueBall.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJeb2/MechJebLib/PVG/OptimizerBuilder.cs",
          "MechJeb2/MechJebModuleStagingController.cs",
          "MechJebLibTest/PVG/Titan2Tests.cs",
          "MechJeb2/MechJebLib/PVG/Phase.cs",
          "MechJeb2/MechJebModuleGuidanceController.cs",
          "MechJeb2/MechJebModuleSpinupController.cs",
          "MechJeb2/MechJebModuleInfoItems.cs",
          "MechJeb2/MechJebLib/PVG/TerminalConditions.cs"
        ],
        "commitId" : "d4d90db2ee89c7a682822eae2a485a467fb168a5",
        "timestamp" : 1676264876000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "mostly working\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-02-12 21:07:56 -0800",
        "id" : "d4d90db2ee89c7a682822eae2a485a467fb168a5",
        "msg" : "mostly working",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/OptimizerBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/AscentBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Phase.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Problem.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Solution.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/PVG/TerminalConditions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/Titan2Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSpinupController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleInfoItems.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/PVG/OptimizerBuilder.cs",
          "MechJeb2/MechJebModuleAscentSettings.cs",
          "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs",
          "MechJeb2/MechJebModuleAscentBaseAutopilot.cs",
          "MechJeb2/MechJebLib/PVG/Ascent.cs",
          "MechJeb2/MechJebLib/PVG/Solution.cs",
          "MechJeb2/MechJebLib/Utils/Statics.cs",
          "MechJebLibTest/Utils/StaticTests.cs",
          "MechJeb2/MechJebModulePVGGlueBall.cs",
          "MechJeb2/MechJebModuleAscentMenu.cs"
        ],
        "commitId" : "342d5a088a4b5639c827f7bca65c032c73c4c77b",
        "timestamp" : 1676264876000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "more WIP\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-02-12 21:07:56 -0800",
        "id" : "342d5a088a4b5639c827f7bca65c032c73c4c77b",
        "msg" : "more WIP",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Utils/StaticTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Ascent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Solution.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettings.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Statics.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/OptimizerBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Primitives/DD.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionAscent.cs",
          "MechJebLibTest/MechJebLibTest.csproj",
          "MechJebLibTest/Maths/FunctionsTests.cs",
          "MechJeb2/MechJebLib/PVG/Ascent.cs",
          "MechJeb2/MechJebLib/PVG/Solution.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJebLibTest/PVG/AscentTests/TheStandardTests.cs",
          "MechJeb2/MechJebModuleAscentMenu.cs",
          "MechJeb2/MechJebModuleAscentSettings.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustAnalytic.cs",
          "MechJeb2/MechJebLib/Utils/ObjectPool.cs",
          "MechJeb2/MechJebModuleGuidanceController.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs",
          "MechJeb2/GuiUtils.cs",
          "MechJeb2/MechJebLib/PVG/AscentBuilder.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumCoastAnalytic.cs",
          "MechJeb2/MechJebModulePVGGlueBall.cs",
          "MechJeb2/MechJebLib/PVG/OptimizerBuilder.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumCoastIntegrator.cs",
          "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs",
          "MechJebLibTest/PVG/Titan2Tests.cs",
          "MechJeb2/MechJebLib/PVG/Optimizer.cs",
          "MechJeb2/MechJebLib/PVG/Phase.cs",
          "MechJebLibTest/PVG/Integrators/VacuumThrustIntegratorTests.cs",
          "MechJebLibTest/PVG/AscentTests/Titan2Tests.cs",
          "MechJeb2/MechJebModuleAscentSettingsMenu.cs",
          "MechJeb2/MechJebModuleAscentPVGAutopilot.cs",
          "MechJeb2.sln.DotSettings",
          "MechJeb2/AttitudeControllers/BetterController.cs"
        ],
        "commitId" : "0e684986e85008c8ffd0212204bbebc984aff3ba",
        "timestamp" : 1676264876000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "many fixes\u000a\u000athe analytic integrator now supports unguided stages properly i think\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-02-12 21:07:56 -0800",
        "id" : "0e684986e85008c8ffd0212204bbebc984aff3ba",
        "msg" : "many fixes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettingsMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Ascent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/GuiUtils.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Phase.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/FunctionsTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/OptimizerBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/DD.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/ObjectPool.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettings.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionAscent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BetterController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustAnalytic.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumCoastIntegrator.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/PVG/AscentTests/TheStandardTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2.sln.DotSettings"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumCoastAnalytic.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Solution.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MechJebLibTest.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/PVG/Integrators/VacuumThrustIntegratorTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/AscentBuilder.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/PVG/Titan2Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Optimizer.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/PVG/AscentTests/Titan2Tests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleGuidanceController.cs",
          "MechJeb2/MechJebModuleStagingController.cs",
          "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs",
          "MechJeb2/MechJebLib/PVG/Ascent.cs",
          "MechJeb2/MechJebLib/PVG/Solution.cs"
        ],
        "commitId" : "51c6c15bf3575fb62821f3be5d72c9d4fd256386",
        "timestamp" : 1676264876000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Code cleanup\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-02-12 21:07:56 -0800",
        "id" : "51c6c15bf3575fb62821f3be5d72c9d4fd256386",
        "msg" : "Code cleanup",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Ascent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Solution.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/MechJebLibTest.csproj",
          "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs",
          "MechJeb2/MechJebLib/PVG/Ascent.cs",
          "MechJeb2/MechJebLib/PVG/AscentBuilder.cs",
          "MechJeb2/MechJebLib/PVG/Solution.cs",
          "MechJebLibTest/PVG/AscentTests/Titan2Tests.cs",
          "MechJeb2/MechJebModulePVGGlueBall.cs",
          "MechJebLibTest/PVG/AscentTests/BuggyTests.cs",
          "MechJebLibTest/PVG/AscentTests/TheStandardTests.cs"
        ],
        "commitId" : "3dfe8a1018006d35fe25f9809c5786b09590eb4e",
        "timestamp" : 1677895727000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "fixed burn time fixes and test fixes\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-03-03 18:08:47 -0800",
        "id" : "3dfe8a1018006d35fe25f9809c5786b09590eb4e",
        "msg" : "fixed burn time fixes and test fixes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Solution.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MechJebLibTest.csproj"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/PVG/AscentTests/BuggyTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/AscentBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Ascent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/AscentTests/TheStandardTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/AscentTests/Titan2Tests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModulePVGGlueBall.cs",
          "MechJeb2/MechJebModuleStagingController.cs",
          "MechJeb2/MechJebModuleGuidanceController.cs"
        ],
        "commitId" : "46d5fd7ba3ef74e90c1c1bdf20439f18bc27a1f6",
        "timestamp" : 1678056651000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix optimizer trying to coast when it shouldn't\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-03-05 14:50:51 -0800",
        "id" : "46d5fd7ba3ef74e90c1c1bdf20439f18bc27a1f6",
        "msg" : "Fix optimizer trying to coast when it shouldn't",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/PVG/OptimizerBuilder.cs",
          "MechJebLibTest/AssertionExtensions.cs",
          "MechJeb2/MechJebLib/PVG/Ascent.cs",
          "MechJeb2/MechJebLib/PVG/Phase.cs",
          "MechJebLibTest/PVG/AscentTests/TheStandardTests.cs"
        ],
        "commitId" : "3c4b656c429d2a33b6ef4daa3a38792a32dfdd2f",
        "timestamp" : 1678073711000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Some code cleanup in the PVG Ascent algorithm\u000a\u000abreaks up the algorithm into fixed-vs-optimized rocket burntimes since\u000athose are getting difficult to handle, and also starts to treat the\u000aphase list a bit more immutably since that was getting crazy.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-03-05 19:35:11 -0800",
        "id" : "3c4b656c429d2a33b6ef4daa3a38792a32dfdd2f",
        "msg" : "Some code cleanup in the PVG Ascent algorithm",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/OptimizerBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Ascent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/AssertionExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Phase.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/AscentTests/TheStandardTests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/FuelNode.cs",
          "MechJeb2/FuelFlowSimulation.cs"
        ],
        "commitId" : "57b06246338cf0e49161bef11847617f65b169bc",
        "timestamp" : 1680144895000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "unrelated code cleanup\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-03-29 19:54:55 -0700",
        "id" : "57b06246338cf0e49161bef11847617f65b169bc",
        "msg" : "unrelated code cleanup",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/FuelNode.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/FuelFlowSimulation.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/FuelFlowSimulation.cs",
          "MechJeb2/FuelNode.cs"
        ],
        "commitId" : "46a9693cca763b6a5ba500f4d4d135d1aa8cd4c2",
        "timestamp" : 1680144945000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix FuelFlowSim for NO_FLOW resources in Engines\u000a\u000aThis fixes a bug affecting Delta IV Heavy setup with asparagus staging.  The RS68 engines have had Ablator added to them as an additional \"fuel\" which is NO_FLOW.\u000a\u000aThe old check CanDrawResource() which was used to determine if staging was allowed was not aware of fuel modes and that caused it to check if any part in the crossfeedset had the fuel even for NO_FLOW fuels.  This meant that after the side boosters flamed out that the center core would still be burning Ablator and it would that Ablator \"accessible\" in its crossfeed set coming from the side engines (because of asparagus).\u000a\u000aThis may also affect SRBs since those fuels are NO_FLOW as well?\u000a\u000aHowever, I think it requires something like Asparagus staging And given that RO doesn't allow crossfeed through decouplers or fuel pipes it may be a pretty narrow bugfix.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-03-29 19:55:45 -0700",
        "id" : "46a9693cca763b6a5ba500f4d4d135d1aa8cd4c2",
        "msg" : "Fix FuelFlowSim for NO_FLOW resources in Engines",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/FuelFlowSimulation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/FuelNode.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleStagingController.cs"
        ],
        "commitId" : "42435f42479ca1f87479c15a80916447b92f814d",
        "timestamp" : 1680149894000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix StagingController for NO_FLOW fuels\u000a\u000aCompanion to #1612 to fix autostaging.\u000a\u000aHad to sort of invert the algorithm to loop over all the propellants in\u000aall the active engines so that I could grab the Mode off of the engine\u000apropellant (seems not to be associated with the resources on the tank).\u000a\u000aThis worked on my test Delta IV Heavy on the first try...  Makes me\u000awonder what I broke...\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-03-29 21:18:14 -0700",
        "id" : "42435f42479ca1f87479c15a80916447b92f814d",
        "msg" : "Fix StagingController for NO_FLOW fuels",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleStagingController.cs"
        ],
        "commitId" : "93f2709f1536b1f62ac88666160a571c505882fe",
        "timestamp" : 1680150222000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "remove dead code comment\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-03-29 21:23:42 -0700",
        "id" : "93f2709f1536b1f62ac88666160a571c505882fe",
        "msg" : "remove dead code comment",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebCore.cs",
          "MechJeb2/MechJebLib/Utils/Logger.cs"
        ],
        "commitId" : "9a0d17f80c2674208de99a4e3560b4068fa21d47",
        "timestamp" : 1680581586000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "simplify MJlib logger\u000a\u000ai was doing way too much work here.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-03 21:13:06 -0700",
        "id" : "9a0d17f80c2674208de99a4e3560b4068fa21d47",
        "msg" : "simplify MJlib logger",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebCore.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Logger.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleWaypointWindow.cs",
          "MechJeb2/Maneuver/OperationEllipticize.cs",
          "MechJeb2/MechJebModuleAscentClassicPathMenu.cs",
          "MechJeb2/Maneuver/OperationSemiMajor.cs",
          "MechJeb2/Maneuver/OperationAdvancedTransfer.cs",
          "MechJeb2/MechJebModuleFlightRecorderGraph.cs",
          "MechJeb2/MechJebModuleLandingGuidance.cs",
          "MechJeb2/MechJebLib/Utils/Statics.cs",
          "MechJeb2/MechJebModuleTranslatron.cs",
          "MechJeb2/MechJebModuleRCSBalancer.cs",
          "MechJeb2/MechJebModuleRendezvousAutopilot.cs",
          "MechJeb2/MuUtils.cs",
          "MechJeb2/MechJebStageStatsHelper.cs",
          "MechJeb2/Maneuver/OperationPeriapsis.cs",
          "MechJeb2/MechJebModuleCustomInfoWindow.cs",
          "MechJeb2/Maneuver/OperationApoapsis.cs",
          "MechJeb2/MechJebModuleRendezvousGuidance.cs",
          "MechJeb2/MechJebModuleSpaceplaneGuidance.cs",
          "MechJeb2/MechJebModuleInfoItems.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptCondition.cs"
        ],
        "commitId" : "ba84b68af156904a8617a960ef0460cf6efe39a5",
        "timestamp" : 1680584212000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Use new ToSI extnesion method everywhere\u000a\u000aShould be backwards compatible only with bugfixes and tests.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-03 21:56:52 -0700",
        "id" : "ba84b68af156904a8617a960ef0460cf6efe39a5",
        "msg" : "Use new ToSI extnesion method everywhere",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Statics.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleTranslatron.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MuUtils.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleFlightRecorderGraph.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationApoapsis.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleCustomInfoWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationPeriapsis.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentClassicPathMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebStageStatsHelper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSpaceplaneGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationSemiMajor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWaypointWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationAdvancedTransfer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleInfoItems.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptCondition.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRCSBalancer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationEllipticize.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleAirplaneGuidance.cs"
        ],
        "commitId" : "97b02b96a35205d18781df22d9cf07ed03a53312",
        "timestamp" : 1680584790000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Try to see if JetBrains.Annotations breaks builds\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-03 22:06:30 -0700",
        "id" : "97b02b96a35205d18781df22d9cf07ed03a53312",
        "msg" : "Try to see if JetBrains.Annotations breaks builds",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAirplaneGuidance.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleWarpHelper.cs",
          "MechJeb2/MechJebModuleStageStats.cs",
          "MechJeb2/Maneuver/OperationResonantOrbit.cs",
          "MechJeb2/MechJebModuleRendezvousAutopilotWindow.cs",
          "MechJeb2/MechJebModuleFlightRecorderGraph.cs",
          "MechJeb2/MechJebModuleThrustWindow.cs",
          "MechJeb2/MechJebModuleNodeExecutor.cs",
          "MechJeb2/MechJebModuleDockingGuidance.cs",
          "MechJeb2/Maneuver/OperationInclination.cs",
          "MechJeb2/ModExtensionDemo.cs",
          "MechJeb2/MechJebModuleAttitudeAdjustment.cs",
          "MechJeb2/Maneuver/OperationCourseCorrection.cs",
          "MechJeb2/MechJebModuleRCSController.cs",
          "MechJeb2/MechJebModuleSpaceplaneAutopilot.cs",
          "MechJeb2/MechJebModuleAscentClassicAutopilot.cs",
          "MechJeb2/MechJebModuleGuidanceController.cs",
          "MechJeb2/MechJebModuleSpaceplaneGuidance.cs",
          "MechJeb2/MechJebModuleWaypointWindow.cs",
          "MechJeb2/MechJebModuleAscentGTAutopilot.cs",
          "MechJeb2/MechJebModuleRoverController.cs",
          "MechJeb2/MechJebModuleLandingGuidance.cs",
          "MechJeb2/Maneuver/OperationTransfer.cs",
          "MechJeb2/MechJebModuleRCSBalancer.cs",
          "MechJeb2/MechJebModuleStagingController.cs",
          "MechJeb2/MechJebModuleManeuverPlanner.cs",
          "MechJeb2/MechJebModuleRCSBalancerWindow.cs",
          "MechJeb2/MechJebModuleRendezvousGuidance.cs",
          "MechJeb2/MechJebModuleSpinupController.cs",
          "MechJeb2/Maneuver/OperationPlane.cs",
          "MechJeb2/MechJebModuleAscentSettingsMenu.cs",
          "MechJeb2/Maneuver/OperationLan.cs",
          "MechJeb2/Maneuver/OperationEllipticize.cs",
          "MechJeb2/MechJebModuleDeployableAntennaController.cs",
          "MechJeb2/Maneuver/OperationAdvancedTransfer.cs",
          "MechJeb2/Maneuver/OperationLambert.cs",
          "MechJeb2/MechJebModuleScript.cs",
          "MechJeb2/MechJebModuleNodeEditor.cs",
          "MechJeb2/MechJebModuleRoverWindow.cs",
          "MechJeb2/MechJebModuleTranslatron.cs",
          "MechJeb2/MechJebModuleAscentMenu.cs",
          "MechJeb2/MechJebModuleRendezvousAutopilot.cs",
          "MechJeb2/MechJebModuleAscentSettings.cs",
          "MechJeb2/Maneuver/OperationPeriapsis.cs",
          "MechJeb2/Maneuver/OperationApoapsis.cs",
          "MechJeb2/Maneuver/OperationLongitude.cs",
          "MechJeb2/FuelNode.cs",
          "MechJeb2/MechJebModuleAttitudeController.cs",
          "MechJeb2/MechJebModuleAscentClassicPathMenu.cs",
          "MechJeb2/Maneuver/OperationSemiMajor.cs",
          "MechJeb2/MechJebModuleWarpController.cs",
          "MechJeb2/MechJebModuleDebugArrows.cs",
          "MechJeb2/MechJebModuleDockingAutopilot.cs",
          "MechJeb2/Maneuver/OperationKillRelVel.cs",
          "MechJeb2/MechJebModuleTargetController.cs",
          "MechJeb2/MechJebModuleLandingPredictions.cs",
          "MechJeb2/MechJebModuleSmartASS.cs",
          "MechJeb2/Maneuver/OperationCircularize.cs",
          "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs",
          "MechJeb2/MechJebModuleMenu.cs",
          "MechJeb2/MechJebModuleLandingAutopilot.cs",
          "MechJeb2/Maneuver/OperationMoonReturn.cs",
          "MechJeb2/MechJebModuleSmartRcs.cs",
          "MechJeb2/Maneuver/OperationInterplanetaryTransfer.cs",
          "MechJeb2/MechJebModuleFlightRecorder.cs",
          "MechJeb2/MechJebModuleAscentPVGAutopilot.cs",
          "MechJeb2/MechJebModuleSolarPanelController.cs",
          "MechJeb2/MechJebModuleInfoItems.cs",
          "MechJeb2/MechJebModuleAirplaneAutopilot.cs"
        ],
        "commitId" : "e62cd5e14ea5d1c566df9aee02e2b94be5ae5c56",
        "timestamp" : 1680585605000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Apply UsedImplicitly to fix dead code analysis\u000a\u000aMJ uses a bunch of reflection.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-03 22:20:05 -0700",
        "id" : "e62cd5e14ea5d1c566df9aee02e2b94be5ae5c56",
        "msg" : "Apply UsedImplicitly to fix dead code analysis",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAttitudeController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleScript.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWaypointWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationResonantOrbit.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettingsMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSpaceplaneGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDockingGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentClassicPathMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDebugArrows.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationMoonReturn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentGTAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationInterplanetaryTransfer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationTransfer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRCSBalancer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRCSBalancerWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentClassicAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeEditor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAttitudeAdjustment.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleFlightRecorder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationLongitude.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSmartRcs.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationPeriapsis.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWarpHelper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDockingAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationSemiMajor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAirplaneAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSpinupController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationCircularize.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleManeuverPlanner.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ModExtensionDemo.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStageStats.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/FuelNode.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRoverController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationLambert.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleFlightRecorderGraph.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationApoapsis.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationLan.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSpaceplaneAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWarpController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleTargetController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationCourseCorrection.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousAutopilotWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettings.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleInfoItems.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingPredictions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleTranslatron.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRCSController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationPlane.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationKillRelVel.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDeployableAntennaController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSmartASS.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationAdvancedTransfer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationInclination.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSolarPanelController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationEllipticize.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRoverWindow.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2.sln.DotSettings",
          "MechJeb2/MechJebCore.cs"
        ],
        "commitId" : "be96049fedaa159ab38d34144082cef4fd58f967",
        "timestamp" : 1680586435000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "code cleanup to MechJebCore\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-03 22:33:55 -0700",
        "id" : "be96049fedaa159ab38d34144082cef4fd58f967",
        "msg" : "code cleanup to MechJebCore",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2.sln.DotSettings"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebCore.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Utils/Statics.cs"
        ],
        "commitId" : "df5aebcff024b6a9454b600fc67178d37b09bf0d",
        "timestamp" : 1680629770000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Use aggressive inlining\u000a\u000aThis makes a large difference, around a factor of 3x speedup in\u000astuff like Deg2Rad() on my machine.  There is still a tiny perf\u000ahit of around 5% compared to just inlining the math directly,\u000awhich seems perfectly acceptable.\u000a\u000aI didn't exhaustively perf check all these APIs, but they're all\u000atrivial enough that the codebloat should be small.  Stuff like\u000aToSI() would clearly cause bloat and so are not included.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-04 10:36:10 -0700",
        "id" : "df5aebcff024b6a9454b600fc67178d37b09bf0d",
        "msg" : "Use aggressive inlining",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Statics.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/Maneuver/OperationEllipticize.cs",
          "MechJeb2/Maneuver/Porkchop.cs",
          "MechJeb2/Maneuver/OperationSemiMajor.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionManoeuver.cs",
          "MechJeb2/Maneuver/OperationAdvancedTransfer.cs",
          "MechJeb2/Maneuver/OperationLambert.cs",
          "MechJeb2/Maneuver/OperationResonantOrbit.cs",
          "MechJeb2/Maneuver/TimeSelector.cs",
          "MechJeb2/Maneuver/OperationKillRelVel.cs",
          "MechJeb2/Maneuver/OperationInclination.cs",
          "MechJeb2/Maneuver/OperationTransfer.cs",
          "MechJeb2/Maneuver/OperationCircularize.cs",
          "MechJeb2/Maneuver/OperationPeriapsis.cs",
          "MechJeb2/Maneuver/OperationCourseCorrection.cs",
          "MechJeb2/MechJebModuleManeuverPlanner.cs",
          "MechJeb2/Maneuver/OperationApoapsis.cs",
          "MechJeb2/Maneuver/OperationLongitude.cs",
          "MechJeb2/Maneuver/OperationPlane.cs",
          "MechJeb2/Maneuver/OperationMoonReturn.cs",
          "MechJeb2/Maneuver/OperationInterplanetaryTransfer.cs",
          "MechJeb2/Maneuver/Operation.cs",
          "MechJeb2/Maneuver/PlotArea.cs",
          "MechJeb2/Maneuver/OperationLan.cs"
        ],
        "commitId" : "12ae2c66faf5424081ef109a8d8a761e1468ae5b",
        "timestamp" : 1680635076000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Code cleanup for the Maneuver Operations\u000a\u000aThis might be a breaking change if anyone out there uses these\u000avia reflection or whatnot.\u000a\u000aOperationAdvancedTransfer still needs more love.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-04 12:04:36 -0700",
        "id" : "12ae2c66faf5424081ef109a8d8a761e1468ae5b",
        "msg" : "Code cleanup for the Maneuver Operations",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationEllipticize.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationLongitude.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationTransfer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/Porkchop.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationCourseCorrection.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationLan.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationPeriapsis.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationInclination.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationSemiMajor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationInterplanetaryTransfer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationApoapsis.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationLambert.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionManoeuver.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationKillRelVel.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleManeuverPlanner.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationMoonReturn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationResonantOrbit.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/PlotArea.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationAdvancedTransfer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationPlane.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/TimeSelector.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/Operation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationCircularize.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MathJ/ODESolver.cs",
          "MechJeb2/MathJ/Event.cs",
          "MechJeb2/MechJebLib/Maths/ODE/Event.cs",
          "MechJeb2/MechJebLib/Maths/ODE/ODESolver.cs",
          "MechJeb2/MathJ/DormandPrince.cs",
          "MechJeb2/MechJebLib/Maths/ODE/DormandPrince.cs",
          "MechJeb2/MathJ/ODE.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs",
          "MechJebLibTest/Maths/DormandPrinceTests.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJeb2/MechJebLib/Maths/ODE/ODE.cs"
        ],
        "commitId" : "255297192c3d7c4a729ca626bc3a9c59ee04a78e",
        "timestamp" : 1680636363000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Move ODE in MathJ to MechJebLib\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-04 12:26:03 -0700",
        "id" : "255297192c3d7c4a729ca626bc3a9c59ee04a78e",
        "msg" : "Move ODE in MathJ to MechJebLib",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "MechJeb2/MathJ/ODE.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MathJ/ODESolver.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Maths/ODE/Event.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MathJ/DormandPrince.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Maths/ODE/DormandPrince.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Maths/ODE/ODE.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Maths/ODE/ODESolver.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/DormandPrinceTests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MathJ/Event.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Maths/ODE/Event.cs",
          "MechJeb2/MechJebLib/Maths/ODE/ODESolver.cs",
          "MechJeb2/MechJebLib/Maths/ODE/ODE.cs",
          "MechJeb2/MechJebLib/Maths/ODE/DormandPrince.cs"
        ],
        "commitId" : "447f766aef114a184d6c870931daa0db41a91a55",
        "timestamp" : 1680636619000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Change License on ODE Solver\u000a\u000aThis was all my work originally.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-04 12:30:19 -0700",
        "id" : "447f766aef114a184d6c870931daa0db41a91a55",
        "msg" : "Change License on ODE Solver",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maths/ODE/Event.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maths/ODE/ODE.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maths/ODE/DormandPrince.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maths/ODE/ODESolver.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/Maneuver/TransferCalculator.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJeb2/MechJebLib/Maths/Functions.cs",
          "MechJeb2/SpaceMath.cs",
          "MechJeb2/MechJebLib/Maths/FunctionImpls/RealSingleImpulseHyperbolicBurn.cs"
        ],
        "commitId" : "f5a5d40de0540cdb4ec3f88d4ffa81d88bfc1ceb",
        "timestamp" : 1680646261000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Move \"SpaceMath\" function into MechJebLib\u000a\u000a- the singleimpulsehyperbolicburn function still allocates due to a closure.\u000a- functions probably need some better organization at this point.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-04 15:11:01 -0700",
        "id" : "f5a5d40de0540cdb4ec3f88d4ffa81d88bfc1ceb",
        "msg" : "Move \"SpaceMath\" function into MechJebLib",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "MechJeb2/SpaceMath.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Maths/FunctionImpls/RealSingleImpulseHyperbolicBurn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maths/Functions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/TransferCalculator.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/MechJebLibTest.csproj",
          "MechJeb2/MechJebLib/Primitives/M3.cs",
          "MechJebLibTest/Maths/FunctionsTests.cs",
          "MechJebLibTest/Structs/Q3Tests.cs",
          "MechJeb2/MechJebLib/Control/PIDLoop.cs",
          "MechJeb2/MechJebLib/Utils/Statics.cs",
          "MechJebLibTest/Utils/StaticTests.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJebLibTest/PVG/AscentTests/BuggyTests.cs",
          "MechJebLibTest/Structs/V3Tests.cs",
          "MechJebLibTest/PVG/AscentTests/TheStandardTests.cs",
          "MechJeb2/AttitudeControllers/PIDLoop.cs",
          "MechJebLibTest/AssertionExtensions.cs",
          "MechJebLibTest/Structs/M3Tests.cs",
          "MechJebLibTest/PVG/Integrators/VacuumThrustIntegratorTests.cs",
          "MechJebLibTest/PVG/AscentTests/Titan2Tests.cs",
          "MechJeb2/MechJebLib/Maths/Functions.cs",
          "MechJeb2/AttitudeControllers/BetterController.cs",
          "MechJeb2/MechJebLib/Primitives/Q3.cs",
          "MechJebLibTest/Control/PIDLoopTests.cs"
        ],
        "commitId" : "ff93427a853c061965704f661c60b44412bb3213",
        "timestamp" : 1680732822000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "M3 fixes and a lot more\u000a\u000a- M3 test coverage\u000a- M3 fixes (matrix inverse, transpose and other fixes)\u000a- M3 documentation\u000a- move PIDLoop to MechJebLib\u000a- tweak NearlyEqual to make more sense near zero\u000a- bit more test coverage for some other Functions and APIs\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-05 15:13:42 -0700",
        "id" : "ff93427a853c061965704f661c60b44412bb3213",
        "msg" : "M3 fixes and a lot more",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Utils/StaticTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/Structs/Q3Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/FunctionsTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/Structs/M3Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maths/Functions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Statics.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/AscentTests/BuggyTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/Structs/V3Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/AssertionExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BetterController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/M3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/Q3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MechJebLibTest.csproj"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/AttitudeControllers/PIDLoop.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/AscentTests/Titan2Tests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/Control/PIDLoopTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/AscentTests/TheStandardTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/Integrators/VacuumThrustIntegratorTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Control/PIDLoop.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "Localization/es-es.cfg",
          "Localization/zh-cn.cfg",
          "Localization/en-us.cfg"
        ],
        "commitId" : "47daf5b7f5c1fd59f5c480ae197fd106c332f795",
        "timestamp" : 1680733772000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Change \"attach altitude\" to \"burnout altitude\"\u000a",
        "date" : "2023-04-05 15:29:32 -0700",
        "id" : "47daf5b7f5c1fd59f5c480ae197fd106c332f795",
        "msg" : "Change \"attach altitude\" to \"burnout altitude\"",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "Localization/zh-cn.cfg"
          },
          {
            "editType" : "edit",
            "file" : "Localization/en-us.cfg"
          },
          {
            "editType" : "edit",
            "file" : "Localization/es-es.cfg"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleStagingController.cs",
          "Localization/en-us.cfg"
        ],
        "commitId" : "ad2c71003e8330f6c8c764072128fc49065715fa",
        "timestamp" : 1680735041000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Change \"stop at stage\" to make it clearer it affects autostaging\u000a",
        "date" : "2023-04-05 15:50:41 -0700",
        "id" : "ad2c71003e8330f6c8c764072128fc49065715fa",
        "msg" : "Change \"stop at stage\" to make it clearer it affects autostaging",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "Localization/en-us.cfg"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleGuidanceController.cs"
        ],
        "commitId" : "eb80ae97061c45a012a628366a017c1067172717",
        "timestamp" : 1680735065000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "remove spammy logging\u000a",
        "date" : "2023-04-05 15:51:05 -0700",
        "id" : "eb80ae97061c45a012a628366a017c1067172717",
        "msg" : "remove spammy logging",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/Structs/M3Tests.cs"
        ],
        "commitId" : "d28bbe93f4dd07556fd61e5644abd3161cd520bc",
        "timestamp" : 1680743969000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Address warnings\u000a\u000aThis test I find intellectually intersting as living documentation\u000abut causes too many warnings.\u000a",
        "date" : "2023-04-05 18:19:29 -0700",
        "id" : "d28bbe93f4dd07556fd61e5644abd3161cd520bc",
        "msg" : "Address warnings",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Structs/M3Tests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleGuidanceController.cs"
        ],
        "commitId" : "adf3ecd64191d3c9f4584093ccf930e0f51d21dd",
        "timestamp" : 1680744117000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix PVG terminal staging bug\u000a\u000aIf the insertion stage has RCS but no relights then the\u000aguidance controller will wind up staging off the payload\u000aonce terminal RCS happens (breaking the terminal RCS).\u000a\u000aThis reverts to previous behavior that I didn't realize\u000awas important.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-05 18:21:57 -0700",
        "id" : "adf3ecd64191d3c9f4584093ccf930e0f51d21dd",
        "msg" : "Fix PVG terminal staging bug",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleStagingController.cs"
        ],
        "commitId" : "574c1503044182118dddfe3586d15f7c802a8e7a",
        "timestamp" : 1680747190000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix the autostage limit\u000a\u000aSomehow I completely deleted the functionality.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-05 19:13:10 -0700",
        "id" : "574c1503044182118dddfe3586d15f7c802a8e7a",
        "msg" : "Fix the autostage limit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Primitives/DD.cs",
          "MechJebLibTest/Maths/DormandPrinceTests.cs",
          "MechJeb2/MechJebLib/Primitives/HBase.cs"
        ],
        "commitId" : "9763ffd721da9c81630277759704766a3915a7b7",
        "timestamp" : 1680812864000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Track down and fix some annoying allocations in the ODE+interpolants\u000a\u000aThe ODE should be allocation-free now via memory pooling.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-06 13:27:44 -0700",
        "id" : "9763ffd721da9c81630277759704766a3915a7b7",
        "msg" : "Track down and fix some annoying allocations in the ODE+interpolants",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/DD.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/HBase.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/DormandPrinceTests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/Maneuver/TransferCalculator.cs",
          "MechJebLibTest/MechJebLibTest.csproj",
          "MechJeb2/OrbitalManeuverCalculator.cs",
          "MechJebLibTest/Maths/GoodingTests.cs",
          "MechJeb2/MechJebLib/Maths/Gooding.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJeb2/MechJebLib/Maths/Functions.cs"
        ],
        "commitId" : "2be3676970a3885d42c5b1bb50ff8afff8ddc855",
        "timestamp" : 1680839334000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Add proper tests for Gooding Lambert calculator\u000a\u000aAt least have pretty good coverage of single-revolution use case now\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-06 20:48:54 -0700",
        "id" : "2be3676970a3885d42c5b1bb50ff8afff8ddc855",
        "msg" : "Add proper tests for Gooding Lambert calculator",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maths/Gooding.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitalManeuverCalculator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/TransferCalculator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maths/Functions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MechJebLibTest.csproj"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/Maths/GoodingTests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MuUtils.cs",
          "MechJeb2/MathExtensions.cs",
          "MechJeb2/OrbitExtensions.cs",
          "MechJeb2/MechJebModuleAscentMenu.cs"
        ],
        "commitId" : "81232eb45e81a0b996845b5a3078e62bf6a337dc",
        "timestamp" : 1680890370000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Remove SwapYZ API\u000a\u000aJust use KSP's Vector3d.xyz field directly.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-07 10:59:30 -0700",
        "id" : "81232eb45e81a0b996845b5a3078e62bf6a337dc",
        "msg" : "Remove SwapYZ API",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MathExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MuUtils.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitExtensions.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/ModExtensionDemo.cs",
          "MechJeb2/Vector6.cs",
          "MechJeb2/MechJebStageStatsHelper.cs",
          "MechJeb2/MuUtils.cs",
          "MechJeb2/ToolbarWrapper.cs",
          "MechJeb2/ReflectionUtils.cs",
          "MechJeb2/MathExtensions.cs",
          "MechJeb2/DisplayModule.cs",
          "MechJeb2/RCSSolver.cs",
          "MechJeb2/CachedLocalizer.cs",
          "MechJeb2/VesselExtensions.cs",
          "MechJeb2/MechjebBundlesManager.cs",
          "MechJeb2/PIDController.cs",
          "MechJeb2/GLUtils.cs",
          "MechJeb2/ComputerModule.cs",
          "MechJeb2/AutopilotModule.cs",
          "MechJeb2/GlobalSuppressions.cs",
          "MechJeb2/PartExtensions.cs",
          "MechJeb2/InstallChecker.cs",
          "MechJeb2/CompatibilityChecker.cs",
          "MechJeb2/MechJebPod.cs",
          "MechJeb2/MechJebAR202.cs",
          "MechJeb2/OrbitExtensions.cs",
          "MechJeb2/ReentrySimulation.cs",
          "MechJeb2/CelestialBodyExtensions.cs"
        ],
        "commitId" : "78d2fa5e4c8eb1a0800d2970da92fd7bdbdda410",
        "timestamp" : 1680891018000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Automated cleanup of many ancillary source code modules\u000a\u000aThis all probably needs a second pass by a human to make it\u000aall nicer, this is only what the robot thinks is good.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-07 11:10:18 -0700",
        "id" : "78d2fa5e4c8eb1a0800d2970da92fd7bdbdda410",
        "msg" : "Automated cleanup of many ancillary source code modules",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebStageStatsHelper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MuUtils.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Vector6.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/CachedLocalizer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ModExtensionDemo.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/GlobalSuppressions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebAR202.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ReflectionUtils.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebPod.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/InstallChecker.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechjebBundlesManager.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/PartExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ComputerModule.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/DisplayModule.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AutopilotModule.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/VesselExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/CompatibilityChecker.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/PIDController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MathExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/GLUtils.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/RCSSolver.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ReentrySimulation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ToolbarWrapper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/CelestialBodyExtensions.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleRendezvousAutopilot.cs",
          "MechJeb2/OrbitExtensions.cs",
          "MechJeb2/ReentrySimulation.cs",
          "MechJeb2/OrbitalManeuverCalculator.cs",
          "MechJeb2/LandingAutopilot/DecelerationBurn.cs",
          "MechJeb2/LandingAutopilot/CoastToDeceleration.cs",
          "MechJeb2/GLUtils.cs",
          "MechJeb2/LandingAutopilot/DeorbitBurn.cs",
          "MechJeb2/MechJebModuleLandingAutopilot.cs",
          "MechJeb2/Maneuver/OperationInterplanetaryTransfer.cs",
          "MechJeb2/MechJebModuleInfoItems.cs",
          "MechJeb2/MechJebModuleAscentMenu.cs"
        ],
        "commitId" : "6086f8ef4b8a24594fd75c34ad7d990be31fbd39",
        "timestamp" : 1680892605000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Rename the \"Swapped\" API\u000a\u000aI never remember if \"Swapped\" in the API refers to world\u000aspace being \"Swapped\" or right-handed space being \"Swapped\".\u000a\u000aRemoves Prograde() and Up() since those are now actual KSP\u000aAPIs and those extension methods are confusingly overwriting\u000awhat KSP does (although both are world coordinates and\u000abackwards compatible -- I hope).\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-07 11:36:45 -0700",
        "id" : "6086f8ef4b8a24594fd75c34ad7d990be31fbd39",
        "msg" : "Rename the \"Swapped\" API",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitalManeuverCalculator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/DeorbitBurn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationInterplanetaryTransfer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/CoastToDeceleration.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/DecelerationBurn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleInfoItems.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ReentrySimulation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/GLUtils.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleRendezvousAutopilot.cs",
          "MechJeb2/Maneuver/TransferCalculator.cs",
          "MechJeb2/MathExtensions.cs",
          "MechJeb2/OrbitExtensions.cs",
          "MechJeb2/Maneuver/OperationLambert.cs",
          "MechJeb2/OrbitalManeuverCalculator.cs",
          "MechJeb2/MechJebModuleRendezvousGuidance.cs",
          "MechJeb2/MechJebModuleGuidanceController.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionRendezvous.cs",
          "MechJeb2/MechJebModulePVGGlueBall.cs"
        ],
        "commitId" : "bb548ca5d217af184e8b07152ae7988cceea90c5",
        "timestamp" : 1680900222000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "clean up the DeltaVToInterceptAtTime() API.\u000a\u000aadds some glue APIs to help dealing with converting between\u000aKSP APIs and the right handed V3 APIs.\u000a\u000asmears some aggressive inlining across many tiny APIs which\u000ashould be beneficial, but i haven't tested.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-07 13:43:42 -0700",
        "id" : "bb548ca5d217af184e8b07152ae7988cceea90c5",
        "msg" : "clean up the DeltaVToInterceptAtTime() API.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/TransferCalculator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionRendezvous.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationLambert.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitalManeuverCalculator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MathExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitExtensions.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/Maneuver/TransferCalculator.cs"
        ],
        "commitId" : "2061c32e77984cb901df70cbd4468e26af3ac89c",
        "timestamp" : 1680900550000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "fix probable transfer calculator bug\u000a\u000aThis has to be buggy, and its easier to see now that I renamed\u000athe APIs to included \"Rotated\" in them.  We don't rotate to start\u000aso we shouldn't be rotating to end.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-07 13:49:10 -0700",
        "id" : "2061c32e77984cb901df70cbd4468e26af3ac89c",
        "msg" : "fix probable transfer calculator bug",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/TransferCalculator.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/MechJebLibTest.csproj",
          "MechJeb2/MechJebLib/Primitives/M3.cs",
          "MechJeb2/MechJebLib/Core/BrentMin.cs",
          "MechJeb2/MechJebLib/Core/FunctionImpls/RealSingleImpulseHyperbolicBurn.cs",
          "MechJeb2/MechJebLib/PVG/Solution.cs",
          "MechJeb2/MechJebLib/Primitives/H1.cs",
          "MechJebLibTest/PVG/AscentTests/BuggyTests.cs",
          "MechJebLibTest/Maths/TwoBody/ShepperdTests.cs",
          "MechJebLibTest/Structs/V3Tests.cs",
          "MechJebLibTest/PVG/AscentTests/TheStandardTests.cs",
          "MechJeb2/MechJebLib/Core/FunctionImpls/RealDeltaVToChangeApoapsisPrograde.cs",
          "MechJeb2/MechJebLib/Core/Functions/Interpolants.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs",
          "MechJeb2/MechJebLib/Maths/ODE/ODE.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler4Reduced.cs",
          "MechJeb2/MechJebLib/Core/ODE/ODE.cs",
          "MechJeb2/MechJebLib/Core/Functions/Maneuvers.cs",
          "MechJeb2/MechJebLib/Maths/FunctionImpls/RealDeltaVToChangeApoapsisPrograde.cs",
          "MechJeb2/MechJebLib/Maths/ODE/ODESolver.cs",
          "MechJeb2/MechJebLib/Core/Gooding.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Energy.cs",
          "MechJeb2/MechJebModulePVGGlueBall.cs",
          "README.md",
          "MechJeb2/MechJebLib/Core/BrentRoot.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler5Reduced.cs",
          "MechJeb2/MechJebLib/Primitives/V3.cs",
          "MechJeb2/OrbitalManeuverCalculator.cs",
          "MechJeb2/MechJebLib/Maths/ODE/Event.cs",
          "MechJeb2/MechJebLib/Core/ODE/Event.cs",
          "MechJeb2/MechJebLib/Primitives/DD.cs",
          "MechJeb2/MechJebLib/Maths/BrentRoot.cs",
          "MechJebLibTest/Maths/FunctionsTests.cs",
          "MechJebLibTest/Maths/TwoBody/FarnocchiaTests.cs",
          "MechJeb2/MechJebLib/Primitives/H3.cs",
          "MechJeb2/MechJebLib/PVG/Ascent.cs",
          "MechJebLibTest/Maths/GoodingTests.cs",
          "MechJeb2/MechJebLib/Core/TwoBody/Farnocchia.cs",
          "MechJeb2/MechJebLib/Maths/Gooding.cs",
          "MechJeb2/MechJebLib/Maths/FunctionImpls/RealSingleImpulseHyperbolicBurn.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJeb2/MechJebModuleAscentMenu.cs",
          "MechJeb2/MechJebLib/Core/ODE/DormandPrince.cs",
          "MechJeb2/Maneuver/OperationPeriapsis.cs",
          "MechJeb2/Maneuver/OperationApoapsis.cs",
          "MechJeb2/MechJebLib/Core/Maths.cs",
          "MechJeb2/MechJebLib/Maths/Functions.cs",
          "MechJeb2/Maneuver/TransferCalculator.cs",
          "MechJeb2/MechJebLib/Core/Functions/Angles.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumCoastAnalytic.cs",
          "MechJeb2/MechJebLib/Utils/Statics.cs",
          "MechJeb2/MechJebLib/Maths/Shepperd.cs",
          "MechJeb2/MechJebLib/Primitives/Hn.cs",
          "MechJebLibTest/Maths/BrentRootTests.cs",
          "MechJeb2/MechJebLib/Core/TwoBody/Shepperd.cs",
          "MechJeb2/MechJebLib/Maths/ODE/DormandPrince.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler3Reduced.cs",
          "MechJebLibTest/PVG/AscentTests/Titan2Tests.cs",
          "MechJeb2/Maneuver/OperationMoonReturn.cs",
          "MechJeb2/MechJebLib/Maths/BrentMin.cs",
          "MechJeb2/MechJebLib/Utils/Check.cs",
          "MechJeb2/MechJebLib/Core/ODE/ODESolver.cs"
        ],
        "commitId" : "4bb40919fd5332b842dc4169c567c34bc038989b",
        "timestamp" : 1681517555000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "ReturnFromMoon reimplementation and large reorganization\u000a\u000a- Reorganizes a ton of code, I'm still only halfway done and still\u000a  not at all happy with it.\u000a\u000a- DeltaVToChangePeriapsis/Apoapsis have been reimplemented with a\u000a  MJLib version that solves an SQP problem to provide an optimal\u000a  solution.  I still need to play around with making it 2D by\u000a  converting to the perifocal frame and using analytic derivatives.\u000a\u000a- DeltaVAndTimeForMoonReturnEjection got a massive reimplementation\u000a  using Sims-Flanagan transcription to turn it into an SQP problem.\u000a  The result should be nearly optimal and much more accurate.  The\u000a  remaining inaccuracies are dominated by my simulation and KSP not\u000a  agreeing on something.  Probably something like the exact way\u000a  that KSP executes an SOI transition.\u000a\u000aSomewhere in here I think I fixed things like the MJLib\u000aTimeToNextRadius() implementation for hyperbolic orbits.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-14 17:12:35 -0700",
        "id" : "4bb40919fd5332b842dc4169c567c34bc038989b",
        "msg" : "ReturnFromMoon reimplementation and large reorganization",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/AscentTests/BuggyTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/DD.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/M3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Ascent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Energy.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Maths/BrentMin.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Core/ODE/Event.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/AscentTests/Titan2Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/Hn.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Core/Functions/Interpolants.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Maths/Functions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler3Reduced.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Maths/ODE/ODE.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationMoonReturn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Solution.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MechJebLibTest.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentMenu.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Core/Functions/Angles.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler4Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/AscentTests/TheStandardTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "README.md"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationPeriapsis.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Core/ODE/ODE.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Core/FunctionImpls/RealDeltaVToChangeApoapsisPrograde.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/Maths/TwoBody/ShepperdTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/BrentRootTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumCoastAnalytic.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Core/Maths.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Structs/V3Tests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Maths/ODE/DormandPrince.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Core/ODE/ODESolver.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Maths/Gooding.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/FunctionsTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/GoodingTests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Maths/FunctionImpls/RealSingleImpulseHyperbolicBurn.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Maths/Shepperd.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationApoapsis.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Maths/ODE/Event.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler5Reduced.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Core/Gooding.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Core/BrentRoot.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Core/BrentMin.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Maths/BrentRoot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/H1.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Core/TwoBody/Farnocchia.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/TransferCalculator.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Core/TwoBody/Shepperd.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Maths/ODE/ODESolver.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/V3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Check.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitalManeuverCalculator.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/Maths/TwoBody/FarnocchiaTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Core/ODE/DormandPrince.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Statics.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Core/FunctionImpls/RealSingleImpulseHyperbolicBurn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/H3.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Core/Functions/Maneuvers.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Maths/FunctionImpls/RealDeltaVToChangeApoapsisPrograde.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Core/Functions/Angles.cs",
          "MechJeb2/MechJebLib/Core/Functions/Interpolants.cs",
          "MechJeb2/MechJebLib/Core/Functions/Maneuvers.cs",
          "MechJeb2/MechJebLib/Utils/Check.cs",
          "MechJeb2/MechJebLib/Core/TwoBody/Farnocchia.cs",
          "MechJeb2/MechJebLib/Core/Maths.cs"
        ],
        "commitId" : "47adf58b522190f78baaf334a261a9eec37aee9c",
        "timestamp" : 1681531272000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Cleanup of Angle APIs\u000a\u000aI like \"EFromNu\" slightly better since it makes this read better:\u000a\u000a```\u000aMFromE(EFromNu(nu, ecc), ecc);\u000a```\u000a\u000aThat is obviously M...From...Nu\u000a\u000aIn the signature when using `From` it more matches the way\u000athat C# declares functions (return type before args).\u000a\u000aAdds some missing copyright headers.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-14 21:01:12 -0700",
        "id" : "47adf58b522190f78baaf334a261a9eec37aee9c",
        "msg" : "Cleanup of Angle APIs",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/Functions/Interpolants.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/Functions/Maneuvers.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/Functions/Angles.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/Maths.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Check.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/TwoBody/Farnocchia.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Core/Functions/Maneuvers.cs",
          "MechJebLibTest/Maths/FunctionsTests.cs",
          "MechJeb2/OrbitalManeuverCalculator.cs",
          "MechJeb2/MechJebLib/Core/FunctionImpls/RealSingleImpulseHyperbolicBurn.cs",
          "MechJeb2/MechJebLib/Core/Functions/Angles.cs",
          "MechJeb2/Maneuver/OperationMoonReturn.cs",
          "MechJeb2/MechJebLib/Utils/Statics.cs"
        ],
        "commitId" : "d5d7976d737c8e3efee1ad77bdbf793ba3c2c5a2",
        "timestamp" : 1681599707000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Make Moon Return work for initial hyperbolic\u000a\u000aIt will solve for a 'cleanup burn' if the initial ejection burn\u000awas off, or the user wants to refine the targeting.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-15 16:01:47 -0700",
        "id" : "d5d7976d737c8e3efee1ad77bdbf793ba3c2c5a2",
        "msg" : "Make Moon Return work for initial hyperbolic",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitalManeuverCalculator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/FunctionImpls/RealSingleImpulseHyperbolicBurn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/FunctionsTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/Functions/Maneuvers.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationMoonReturn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/Functions/Angles.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Statics.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Core/Functions/Maneuvers.cs",
          "MechJeb2/MechJebLib/Core/Maths.cs"
        ],
        "commitId" : "7a8d75eb38ad7eeb0f2de2c7306d4b5bd099d254",
        "timestamp" : 1681608786000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Use the perifocal frame for Apsis change.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-15 18:33:06 -0700",
        "id" : "7a8d75eb38ad7eeb0f2de2c7306d4b5bd099d254",
        "msg" : "Use the perifocal frame for Apsis change.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/Functions/Maneuvers.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/Maths.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleAscentPVGAutopilot.cs",
          "MechJeb2/AttitudeControllers/BetterController.cs",
          "MechJeb2/MechJebLib/Control/PIDLoop.cs"
        ],
        "commitId" : "ec33cd626d83c7dfab897a6d642aefc0ea4063aa",
        "timestamp" : 1682016701000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "PID tuning\u000a\u000a- revert the likely somewhat poor idea I had for adding an integral\u000a  term to the position PID\u000a\u000a- refactor the position controller to more clearly allow setting Kp\u000a  directly rather than whatever `PosFactor` was.\u000a\u000a- bump up position Kp from around 0.7 to 2.0 which helps with\u000a  rockets at physwarp going through max-Q\u000a\u000a- add deadband and clegg crossing logic to the PID controller and use\u000a  that to add some stability to the attitude controller around zero.\u000a\u000acloses #1636 maybe, IDK there's not enough info there.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-20 11:51:41 -0700",
        "id" : "ec33cd626d83c7dfab897a6d642aefc0ea4063aa",
        "msg" : "PID tuning",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Control/PIDLoop.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BetterController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/AttitudeControllers/BetterController.cs"
        ],
        "commitId" : "850d2d4040d9455d5f1af6495992c5945939e706",
        "timestamp" : 1682096340000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "More PID tweaks\u000a\u000aAdd a configurable deadband to the pos PID and make the clegg\u000asetting configurable and turn it off by default.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-21 09:59:00 -0700",
        "id" : "850d2d4040d9455d5f1af6495992c5945939e706",
        "msg" : "More PID tweaks",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BetterController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2.sln.DotSettings",
          "MechJeb2/VesselState.cs",
          "MechJeb2/MechJebModuleThrustController.cs"
        ],
        "commitId" : "c7cbe95c5948166b9dbb0f42e5f15e7c3cb3c63c",
        "timestamp" : 1682099834000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Some VesselState cleanup\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-21 10:57:14 -0700",
        "id" : "c7cbe95c5948166b9dbb0f42e5f15e7c3cb3c63c",
        "msg" : "Some VesselState cleanup",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2.sln.DotSettings"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/VesselState.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2.sln.DotSettings",
          "MechJeb2/VesselState.cs",
          "MechJeb2/MechJebModuleThrustController.cs"
        ],
        "commitId" : "0daaf4ea51f0e7b2c6f798b20de30c78094aab86",
        "timestamp" : 1682125600000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Revert \"Some VesselState cleanup\"\u000a\u000aThis reverts commit c7cbe95c5948166b9dbb0f42e5f15e7c3cb3c63c.\u000a",
        "date" : "2023-04-21 18:06:40 -0700",
        "id" : "0daaf4ea51f0e7b2c6f798b20de30c78094aab86",
        "msg" : "Revert \"Some VesselState cleanup\"",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/VesselState.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2.sln.DotSettings"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/PVG/Terminal/Intercept6Cartesian.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Reduced.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler5Reduced.cs",
          "MechJeb2/MechJebLib/PVG/Scale.cs",
          "MechJeb2/MechJebLib/PVG/Phase.cs",
          "MechJeb2/MechJebLib/PVG/Solution.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Energy.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler3Reduced.cs",
          "MechJeb2/MechJebLib/PVG/Problem.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle3Energy.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler4Reduced.cs"
        ],
        "commitId" : "c9006497b16dc86acea60829a595820dd4068b7b",
        "timestamp" : 1682290246000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "clean up the scale struct\u000a\u000aboil it down to three double values which makes it more appropriate\u000aas a struct, plus some style consistency.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-23 15:50:46 -0700",
        "id" : "c9006497b16dc86acea60829a595820dd4068b7b",
        "msg" : "clean up the scale struct",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Energy.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Solution.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler3Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Intercept6Cartesian.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Scale.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle3Energy.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Problem.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Phase.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler5Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler4Reduced.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Core/Functions/Maneuvers.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/IPVGTerminal.cs",
          "MechJeb2/MechJebLib/PVG/Scale.cs",
          "MechJeb2/MechJebLib/PVG/Problem.cs",
          "MechJebLibTest/PVG/Integrators/VacuumThrustIntegratorTests.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJeb2/MechJebLib/Primitives/Scale.cs"
        ],
        "commitId" : "cde27ec8772307f1f4b22ccab7360944b463b993",
        "timestamp" : 1682368976000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Reuse the scale object in the return to moon maneuver\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-24 13:42:56 -0700",
        "id" : "cde27ec8772307f1f4b22ccab7360944b463b993",
        "msg" : "Reuse the scale object in the return to moon maneuver",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Problem.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/PVG/Scale.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/IPVGTerminal.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Primitives/Scale.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/Integrators/VacuumThrustIntegratorTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/Functions/Maneuvers.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Core/Functions/Maneuvers.cs",
          "MechJebLibTest/Maths/FunctionsTests.cs",
          "MechJeb2/OrbitalManeuverCalculator.cs",
          "MechJeb2/MechJebLib/Maneuvers/ChangeOrbitalElement.cs",
          "MechJeb2/MechJebLib/Maneuvers/ReturnFromMoon.cs",
          "MechJeb2.sln.DotSettings",
          "MechJeb2/MechJeb2.csproj"
        ],
        "commitId" : "213512f7646d18afe4eae1fa46b615262e46f826",
        "timestamp" : 1682372062000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "reorganize and extract the maneuvers in mechjeblib a little better\u000a\u000astill very work-in-progress\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-24 14:34:22 -0700",
        "id" : "213512f7646d18afe4eae1fa46b615262e46f826",
        "msg" : "reorganize and extract the maneuvers in mechjeblib a little better",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitalManeuverCalculator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/FunctionsTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Maneuvers/ReturnFromMoon.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/Functions/Maneuvers.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Maneuvers/ChangeOrbitalElement.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2.sln.DotSettings"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/Maths/FunctionsTests.cs",
          "MechJeb2/OrbitalManeuverCalculator.cs",
          "MechJeb2/MechJebLib/Maneuvers/ChangeOrbitalElement.cs"
        ],
        "commitId" : "b3049f545e5e53c8d9e2935500a0598b8264d9bd",
        "timestamp" : 1682373639000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Redo SMA Changing Maneuver as SQP problem\u000a\u000aReuses the Apsis changing code that I already wrote and now\u000ais optimal burn direction instead of just prograde/retrograde.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-24 15:00:39 -0700",
        "id" : "b3049f545e5e53c8d9e2935500a0598b8264d9bd",
        "msg" : "Redo SMA Changing Maneuver as SQP problem",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/ChangeOrbitalElement.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/FunctionsTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitalManeuverCalculator.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/ScriptsModule/IMechJebModuleScriptActionContainer.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionWhile.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionAscent.cs",
          "MechJeb2/AttitudeControllers/KosPIDLoop.cs",
          "MechJeb2/FlyingSim/SimulatedParachute.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionUndock.cs",
          "MechJeb2/FlyingSim/SimulatedVessel.cs",
          "MechJeb2/Maneuver/OperationResonantOrbit.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptAction.cs",
          "MechJeb2/Maneuver/TimeSelector.cs",
          "MechJeb2/LandingAutopilot/KillHorizontalVelocity.cs",
          "MechJeb2/Maneuver/OperationInclination.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionFor.cs",
          "MechJeb2/Maneuver/OperationCourseCorrection.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionRendezvousAP.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionActiveVessel.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionQuicksave.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionCrewTransfer.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionThrottle.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionActivateEngine.cs",
          "MechJeb2/LandingAutopilot/CoastToDeceleration.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionDockingShield.cs",
          "MechJeb2/LandingAutopilot/FinalDescent.cs",
          "MechJeb2/LandingAutopilot/LowDeorbitBurn.cs",
          "MechJeb2/AttitudeControllers/TorquePI.cs",
          "MechJeb2/Maneuver/OperationPlane.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionParallel.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionWarp.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionsList.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionWaitFor.cs",
          "MechJeb2/Maneuver/OperationLan.cs",
          "MechJeb2/AttitudeControllers/BaseAttitudeController.cs",
          "MechJeb2/Maneuver/OperationLambert.cs",
          "MechJeb2/LandingAutopilot/DecelerationBurn.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionRCS.cs",
          "MechJeb2/AttitudeControllers/KosAttitudeController.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionTarget.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionControlFrom.cs",
          "MechJeb2/Maneuver/OperationPeriapsis.cs",
          "MechJeb2/LandingAutopilot/PlaneChange.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionTimer.cs",
          "MechJeb2/Maneuver/OperationApoapsis.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionIRSequencer.cs",
          "MechJeb2/Maneuver/OperationLongitude.cs",
          "MechJeb2/AttitudeControllers/MJAttitudeController.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionSAS.cs",
          "MechJeb2/ScriptsModule/IMechJebModuleScriptActionsList.cs",
          "MechJeb2/FlyingSim/SimulatedPart.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionTolerance.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionLanding.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptCondition.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionExecuteNode.cs",
          "MechJeb2/LandingAutopilot/CourseCorrection.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionLoadScript.cs",
          "MechJeb2/UnityToolbag/Future/Future.cs",
          "MechJeb2/Maneuver/OperationSemiMajor.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionManoeuver.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionStaging.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionActionGroup.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionKos.cs",
          "MechJeb2/LandingAutopilot/DeorbitBurn.cs",
          "MechJeb2/Maneuver/OperationKillRelVel.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionTargetDock.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionRendezvous.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionDockingAutopilot.cs",
          "MechJeb2/UnityToolbag/Dispatcher/README.md",
          "MechJeb2/AttitudeControllers/HybridController.cs",
          "MechJeb2/Maneuver/OperationCircularize.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionTemplate.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionPause.cs",
          "MechJeb2/LandingAutopilot/UntargetedDeorbit.cs",
          "MechJeb2/Maneuver/OperationMoonReturn.cs",
          "MechJeb2/Maneuver/OperationInterplanetaryTransfer.cs",
          "MechJeb2/Maneuver/Operation.cs",
          "MechJeb2/UnityToolbag/Dispatcher/Dispatcher.cs",
          "MechJeb2/Maneuver/PlotArea.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionSmartASS.cs",
          "MechJeb2/UnityToolbag/Future/README.md",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionIf.cs"
        ],
        "commitId" : "ffb635da6df9043e472aa696420227f1bb5e7af1",
        "timestamp" : 1682373985000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Reformat and Cleanup on a lot of code\u000a\u000aEntirely automated\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-24 15:06:25 -0700",
        "id" : "ffb635da6df9043e472aa696420227f1bb5e7af1",
        "msg" : "Reformat and Cleanup on a lot of code",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationApoapsis.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationPeriapsis.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptAction.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionDockingAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionKos.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionLoadScript.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/UnityToolbag/Future/Future.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionSAS.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationInclination.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionParallel.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BaseAttitudeController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/DeorbitBurn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionPause.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/LowDeorbitBurn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationResonantOrbit.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionWarp.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/UnityToolbag/Dispatcher/README.md"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/IMechJebModuleScriptActionsList.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionsList.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/TimeSelector.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionWaitFor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/KosAttitudeController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationInterplanetaryTransfer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionAscent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionSmartASS.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/UnityToolbag/Future/README.md"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationLambert.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionControlFrom.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationMoonReturn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/PlaneChange.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationLan.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationSemiMajor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/MJAttitudeController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionTimer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/HybridController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/UntargetedDeorbit.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/FlyingSim/SimulatedPart.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionTarget.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionTargetDock.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/CoastToDeceleration.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionManoeuver.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionIRSequencer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionActivateEngine.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/KillHorizontalVelocity.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionTemplate.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionTolerance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionRCS.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionRendezvousAP.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/PlotArea.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionActionGroup.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionFor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/DecelerationBurn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationLongitude.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionExecuteNode.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/CourseCorrection.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/TorquePI.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationKillRelVel.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionThrottle.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionQuicksave.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/Operation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationCircularize.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionDockingShield.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionUndock.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/FinalDescent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationPlane.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/KosPIDLoop.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionLanding.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/FlyingSim/SimulatedParachute.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionIf.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionActiveVessel.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionStaging.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/UnityToolbag/Dispatcher/Dispatcher.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionRendezvous.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/IMechJebModuleScriptActionContainer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptCondition.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/FlyingSim/SimulatedVessel.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionCrewTransfer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionWhile.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationCourseCorrection.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Core/Functions/Maneuvers.cs",
          "MechJebLibTest/Maths/FunctionsTests.cs",
          "MechJeb2/OrbitalManeuverCalculator.cs",
          "MechJeb2/MechJebLib/Core/Maths.cs",
          "MechJeb2/Maneuver/OperationEccentricity.cs",
          "MechJeb2/MechJebLib/Maneuvers/ChangeOrbitalElement.cs",
          "MechJeb2/MechJeb2.csproj"
        ],
        "commitId" : "77644d27aeefad7cd5621e3f6ed5f2688ef4c837",
        "timestamp" : 1682453196000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Add a maneuver to change eccentricity\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-25 13:06:36 -0700",
        "id" : "77644d27aeefad7cd5621e3f6ed5f2688ef4c837",
        "msg" : "Add a maneuver to change eccentricity",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/Maths.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitalManeuverCalculator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/Functions/Maneuvers.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/Maneuver/OperationEccentricity.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/FunctionsTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/ChangeOrbitalElement.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/AttitudeControllers/BetterController.cs"
        ],
        "commitId" : "9dafa078bbadff111f8f7933fb8ec469c6ce15ec",
        "timestamp" : 1682453755000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Drop the vel deadband\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-25 13:15:55 -0700",
        "id" : "9dafa078bbadff111f8f7933fb8ec469c6ce15ec",
        "msg" : "Drop the vel deadband",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BetterController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Core/ODE/Event.cs",
          "MechJebLibTest/Maths/FunctionsTests.cs",
          "MechJebLibTest/Maths/TwoBody/FarnocchiaTests.cs",
          "MechJeb2/MechJebLib/PVG/Ascent.cs",
          "MechJeb2/MechJebLib/PVG/Solution.cs",
          "MechJeb2/MechJebLib/Control/PIDLoop.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs",
          "MechJebLibTest/PVG/AscentTests/BuggyTests.cs",
          "MechJebLibTest/Maths/TwoBody/ShepperdTests.cs",
          "MechJeb2/MechJebLib/Core/ODE/DormandPrince.cs",
          "MechJebLibTest/PVG/AscentTests/TheStandardTests.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs",
          "MechJeb2/MechJebLib/Core/ODE/ODE.cs",
          "MechJebLibTest/Control/PIDLoopTests.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler4Reduced.cs",
          "MechJeb2/MechJebLib/Maneuvers/ChangeOrbitalElement.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Energy.cs",
          "MechJeb2/MechJebLib/Utils/Statics.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler5Reduced.cs",
          "MechJeb2/OrbitalManeuverCalculator.cs",
          "MechJeb2/MechJebLib/Maneuvers/ReturnFromMoon.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler3Reduced.cs",
          "MechJebLibTest/Maths/DormandPrinceTests.cs",
          "MechJebLibTest/PVG/AscentTests/Titan2Tests.cs",
          "MechJeb2/MechJebLib/Utils/Check.cs",
          "MechJeb2/MechJebLib/Core/ODE/ODESolver.cs",
          "MechJeb2/AttitudeControllers/BetterController.cs"
        ],
        "commitId" : "bc584812d195b652ef27706fc54161f64c79be07",
        "timestamp" : 1682461347000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix some namespacing issues\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-25 15:22:27 -0700",
        "id" : "bc584812d195b652ef27706fc54161f64c79be07",
        "msg" : "Fix some namespacing issues",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Solution.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/FunctionsTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Control/PIDLoop.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/ODE.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler5Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/ChangeOrbitalElement.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler3Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Check.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/AscentTests/BuggyTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/AscentTests/Titan2Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/DormandPrince.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/TwoBody/FarnocchiaTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitalManeuverCalculator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Statics.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Control/PIDLoopTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Energy.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/TwoBody/ShepperdTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/Event.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/AscentTests/TheStandardTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/ReturnFromMoon.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/DormandPrinceTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/ODESolver.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler4Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BetterController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Ascent.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/AssertionExtensions.cs"
        ],
        "commitId" : "9fa4f3870f19472d5412e28dd230908d301a657f",
        "timestamp" : 1682461505000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Missed one namespace issue\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-25 15:25:05 -0700",
        "id" : "9fa4f3870f19472d5412e28dd230908d301a657f",
        "msg" : "Missed one namespace issue",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/AssertionExtensions.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/Maneuver/OperationEllipticize.cs",
          "MechJeb2/Maneuver/OperationPeriapsis.cs",
          "MechJeb2/Maneuver/OperationSemiMajor.cs",
          "MechJebLibTest/Maths/FunctionsTests.cs",
          "MechJeb2/Maneuver/OperationResonantOrbit.cs",
          "MechJeb2/Maneuver/OperationApoapsis.cs",
          "MechJeb2/MechJebLib/Maneuvers/ChangeOrbitalElement.cs",
          "MechJeb2/Maneuver/OperationEccentricity.cs",
          "MechJeb2/Maneuver/OperationCircularize.cs"
        ],
        "commitId" : "e588c0b96b35963fdce5180d0139eae47b6fce3c",
        "timestamp" : 1682469190000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Maneuver tweaks\u000a\u000a- increase the accuracy of the new solver.\u000a\u000a- tweak some of the time selector options.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-25 17:33:10 -0700",
        "id" : "e588c0b96b35963fdce5180d0139eae47b6fce3c",
        "msg" : "Maneuver tweaks",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationSemiMajor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationApoapsis.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/FunctionsTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationResonantOrbit.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationPeriapsis.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/ChangeOrbitalElement.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationCircularize.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationEllipticize.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationEccentricity.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Core/Gooding.cs"
        ],
        "commitId" : "2547f3e2407d13e5068c296eae6cc5080dd9b3f2",
        "timestamp" : 1682469463000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Compound assingment in Gooding solver\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-04-25 17:37:43 -0700",
        "id" : "2547f3e2407d13e5068c296eae6cc5080dd9b3f2",
        "msg" : "Compound assingment in Gooding solver",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/Gooding.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Core/ODE/Event.cs",
          "MechJebLibTest/MechJebLibTest.csproj",
          "MechJeb2/MechJebLib/Primitives/DD.cs",
          "MechJebLibTest/Maths/TwoBody/FarnocchiaTests.cs",
          "MechJeb2/MechJebLib/PVG/Solution.cs",
          "MechJeb2/MechJebLib/Core/ODE/DormandPrince5.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJebLibTest/Maths/TwoBody/ShepperdTests.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/IPVGIntegrator.cs",
          "MechJebLibTest/Structs/V3Tests.cs",
          "MechJeb2/MechJebLib/Core/ODE/DormandPrince.cs",
          "MechJebLibTest/TestInitialization.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustAnalytic.cs",
          "MechJeb2.sln",
          "MechJeb2/MechJebLib/Utils/ObjectPool.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs",
          "MechJeb2/MechJebLib/Core/ODE/AbstractIVP.cs",
          "MechJeb2/MechJebLib/Core/ODE/ODE.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumCoastAnalytic.cs",
          "MechJeb2/MechJebLib/Primitives/Vn.cs",
          "MechJeb2/MechJebLib/Utils/Statics.cs",
          "MechJeb2/MechJebLib/Core/ODE/AbstractRungeKutta.cs",
          "MechJeb2/MechJebLib/PVG/Optimizer.cs",
          "MechJeb2/MechJebLib/PVG/Phase.cs",
          "MechJebLibTest/Maths/BrentRootTests.cs",
          "MechJeb2/MechJebLib/Primitives/Hn.cs",
          "MechJebLibTest/PVG/Integrators/VacuumThrustIntegratorTests.cs",
          "MechJebLibTest/Maths/DormandPrinceTests.cs",
          "MechJeb2.sln.DotSettings",
          "MechJeb2/MechJebLib/Utils/Check.cs",
          "MechJeb2/MechJebLib/Core/ODE/ODESolver.cs"
        ],
        "commitId" : "a840017fd4bd9c23c9c5937452a81ea7be3b551a",
        "timestamp" : 1683094710000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "DormandPrince overhaul\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-05-02 23:18:30 -0700",
        "id" : "a840017fd4bd9c23c9c5937452a81ea7be3b551a",
        "msg" : "DormandPrince overhaul",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Core/ODE/ODE.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Phase.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/ObjectPool.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumCoastAnalytic.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Solution.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Core/ODE/AbstractRungeKutta.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustAnalytic.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Core/ODE/DormandPrince.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/Integrators/VacuumThrustIntegratorTests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Core/ODE/ODESolver.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2.sln.DotSettings"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/TestInitialization.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Primitives/Vn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/TwoBody/ShepperdTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Core/ODE/DormandPrince5.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/BrentRootTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MechJebLibTest.csproj"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Primitives/DD.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/DormandPrinceTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Optimizer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2.sln"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/TwoBody/FarnocchiaTests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Core/ODE/Event.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Statics.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Core/ODE/AbstractIVP.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/Hn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/IPVGIntegrator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Structs/V3Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Check.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Core/ODE/DormandPrince54.cs",
          "MechJebLibTest/Maths/TwoBody/FarnocchiaTests.cs",
          "MechJeb2/MechJebLib/Core/ODE/DormandPrince5.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs",
          "MechJebLibTest/Maths/DormandPrinceTests.cs",
          "MechJeb2/MechJebLib/Primitives/Vn.cs",
          "MechJeb2/MechJebLib/Core/ODE/AbstractRungeKutta.cs",
          "MechJeb2/MechJebLib/Core/ODE/BogackiShampine32.cs",
          "MechJeb2/MechJebLib/Core/ODE/AbstractIVP.cs",
          "MechJebLibTest/Maths/TwoBody/ShepperdTests.cs",
          "MechJeb2/MechJeb2.csproj"
        ],
        "commitId" : "3010d0057c3e8c39e14eacfee2498dafd9b198b7",
        "timestamp" : 1683153300000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "better working error controller\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-05-03 15:35:00 -0700",
        "id" : "3010d0057c3e8c39e14eacfee2498dafd9b198b7",
        "msg" : "better working error controller",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/AbstractRungeKutta.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/DormandPrinceTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Core/ODE/BogackiShampine32.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/TwoBody/FarnocchiaTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/AbstractIVP.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/Vn.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Core/ODE/DormandPrince5.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/TwoBody/ShepperdTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Core/ODE/DormandPrince54.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Core/ODE/AbstractIVP.cs",
          "MechJeb2/MechJebLib/Core/ODE/AbstractRungeKutta.cs"
        ],
        "commitId" : "c73a9cceb246dc28417e70844d1e4f01d88472a8",
        "timestamp" : 1683154563000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "PI error control\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-05-03 15:56:03 -0700",
        "id" : "c73a9cceb246dc28417e70844d1e4f01d88472a8",
        "msg" : "PI error control",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/AbstractRungeKutta.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/AbstractIVP.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Core/ODE/DormandPrince54.cs",
          "MechJeb2/MechJebLib/Core/ODE/AbstractRungeKutta.cs",
          "MechJeb2/MechJebLib/Core/ODE/BogackiShampine32.cs",
          "MechJeb2/MechJebLib/Core/ODE/AbstractIVP.cs"
        ],
        "commitId" : "9359ed25a27b7da63bf73790bb56c5ed2840e587",
        "timestamp" : 1683155769000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Simplify how I was thinking about K states\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-05-03 16:16:09 -0700",
        "id" : "9359ed25a27b7da63bf73790bb56c5ed2840e587",
        "msg" : "Simplify how I was thinking about K states",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/BogackiShampine32.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/DormandPrince54.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/AbstractIVP.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/AbstractRungeKutta.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Core/ODE/AbstractIVP.cs"
        ],
        "commitId" : "0c6899f8aca68b08e487a29a0591054538e653f4",
        "timestamp" : 1683155955000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Add exception handling to cleanup\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-05-03 16:19:15 -0700",
        "id" : "0c6899f8aca68b08e487a29a0591054538e653f4",
        "msg" : "Add exception handling to cleanup",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/AbstractIVP.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Core/ODE/DormandPrince54.cs",
          "MechJeb2/MechJebLib/Core/ODE/AbstractRungeKutta.cs",
          "MechJeb2/MechJebLib/Core/ODE/AbstractIVP.cs",
          "MechJeb2/MechJebLib/Core/ODE/BogackiShampine32.cs"
        ],
        "commitId" : "dd95067b3a6baf7b9233204835028f084ea4ed6b",
        "timestamp" : 1683162313000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Basic minstep/maxstep logic\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-05-03 18:05:13 -0700",
        "id" : "dd95067b3a6baf7b9233204835028f084ea4ed6b",
        "msg" : "Basic minstep/maxstep logic",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/DormandPrince54.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/AbstractIVP.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/AbstractRungeKutta.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/BogackiShampine32.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Core/ODE/DormandPrince54.cs",
          "MechJeb2/MechJebLib/Core/ODE/BogackiShampine32.cs"
        ],
        "commitId" : "2cb92923afc6803831c2d1854501ccdf5cada8ae",
        "timestamp" : 1683180325000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "rearrange the DP5 interpolant\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-05-03 23:05:25 -0700",
        "id" : "2cb92923afc6803831c2d1854501ccdf5cada8ae",
        "msg" : "rearrange the DP5 interpolant",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/DormandPrince54.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/BogackiShampine32.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Core/ODE/DormandPrince54.cs",
          "MechJeb2/MechJebLib/Core/ODE/AbstractRungeKutta.cs",
          "MechJeb2/MechJebLib/Core/ODE/BogackiShampine32.cs",
          "MechJeb2/MechJebLib/Core/ODE/AbstractIVP.cs"
        ],
        "commitId" : "d277897cf6f90c2e4f2684fce0617f04a4de680e",
        "timestamp" : 1683216745000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Hang state off the IVP object\u000a\u000aThis reduces the method signatures but is less functional.\u000a\u000aI was starting down the road of passing t, tnew, y, ynew and\u000ady, dynew to half of the callback methods, which starts to\u000alook like litter.\u000a\u000aAmazingly this fixes the Shepperd tests which seems to have been\u000aa real bug fixed by the new Habs/_habsNext handling (probably in\u000abetter handling of Tnew and the isWithin() comparison when\u000apulling off the interpolated values?)\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-05-04 09:12:25 -0700",
        "id" : "d277897cf6f90c2e4f2684fce0617f04a4de680e",
        "msg" : "Hang state off the IVP object",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/BogackiShampine32.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/AbstractIVP.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/AbstractRungeKutta.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/DormandPrince54.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/FuelFlowSimulation.cs",
          "MechJeb2/FuelNode.cs"
        ],
        "commitId" : "0402a174d8ad2e6de80666c93b595e37c8d6f89e",
        "timestamp" : 1683468941000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/siim.aaver",
          "fullName" : "siim.aaver"
        },
        "authorEmail" : "siim.aaver@gmail.com",
        "comment" : "Optimize FuelFlowSimulation\u000a",
        "date" : "2023-05-07 17:15:41 +0300",
        "id" : "0402a174d8ad2e6de80666c93b595e37c8d6f89e",
        "msg" : "Optimize FuelFlowSimulation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/FuelFlowSimulation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/FuelNode.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".gitignore"
        ],
        "commitId" : "fc51317ee94a455221bee8dfb4e52c605778dc56",
        "timestamp" : 1683469417000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/siim.aaver",
          "fullName" : "siim.aaver"
        },
        "authorEmail" : "siim.aaver@gmail.com",
        "comment" : "Fix .vs folder not being correctly gitignored\u000a",
        "date" : "2023-05-07 17:23:37 +0300",
        "id" : "fc51317ee94a455221bee8dfb4e52c605778dc56",
        "msg" : "Fix .vs folder not being correctly gitignored",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".gitignore"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleStageStats.cs",
          "MechJeb2/FuelNode.cs",
          "MechJeb2/FuelFlowSimulation.cs"
        ],
        "commitId" : "a82bc816061b9f3080b050dd96e0255d7af689b2",
        "timestamp" : 1683470359000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/siim.aaver",
          "fullName" : "siim.aaver"
        },
        "authorEmail" : "siim.aaver@gmail.com",
        "comment" : "Optimize Stage stats simulation by copying second FuelFlowSimulation from the first instead of initilizing them twice\u000a",
        "date" : "2023-05-07 17:39:19 +0300",
        "id" : "a82bc816061b9f3080b050dd96e0255d7af689b2",
        "msg" : "Optimize Stage stats simulation by copying second FuelFlowSimulation from the first instead of initilizing them twice",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStageStats.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/FuelNode.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/FuelFlowSimulation.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/FuelFlowSimulation.cs",
          "MechJeb2/FuelNode.cs"
        ],
        "commitId" : "944f9b2a631f7a6d0fdb6c1cf63a319fc082fbe7",
        "timestamp" : 1683483188000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/siim.aaver",
          "fullName" : "siim.aaver"
        },
        "authorEmail" : "siim.aaver@gmail.com",
        "comment" : "Make #1515 account for changes made in 1660\u000a",
        "date" : "2023-05-07 21:13:08 +0300",
        "id" : "944f9b2a631f7a6d0fdb6c1cf63a319fc082fbe7",
        "msg" : "Make #1515 account for changes made in 1660",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/FuelFlowSimulation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/FuelNode.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/Maneuver/TransferCalculator.cs",
          "MechJeb2/MechJebModuleStageStats.cs"
        ],
        "commitId" : "cd87ef9c19963378fe4914c45d89cb57f89eea5b",
        "timestamp" : 1683577070000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/siim.aaver",
          "fullName" : "siim.aaver"
        },
        "authorEmail" : "siim.aaver@gmail.com",
        "comment" : "Fix 2 cases where logging was done directly from background thread\u000a",
        "date" : "2023-05-08 23:17:50 +0300",
        "id" : "cd87ef9c19963378fe4914c45d89cb57f89eea5b",
        "msg" : "Fix 2 cases where logging was done directly from background thread",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/TransferCalculator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStageStats.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Core/ODE/Event.cs",
          "MechJeb2/MechJebLib/Core/ODE/DormandPrince54.cs",
          "MechJebLibTest/MechJebLibTest.csproj",
          "MechJeb2/MechJebLib/Core/BrentMin.cs",
          "MechJebLibTest/Maths/TwoBody/FarnocchiaTests.cs",
          "MechJeb2/MechJebLib/Core/Bisection.cs",
          "MechJeb2/MechJebLib/Utils/Statics.cs",
          "MechJeb2/MechJebLib/Core/ODE/AbstractRungeKutta.cs",
          "MechJebLibTest/Maths/TwoBody/ShepperdTests.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJeb2/MechJebLib/Core/BrentRoot.cs",
          "MechJebLibTest/Maths/BS3Tests.c.cs",
          "MechJeb2/MechJebLib/Core/ODE/BS3.cs",
          "MechJeb2/MechJebLib/Primitives/Hn.cs",
          "MechJebLibTest/Maths/BisectionTests.cs",
          "MechJeb2/MechJebLib/Primitives/HBase.cs",
          "MechJebLibTest/Maths/DP5Tests.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs",
          "MechJebLibTest/Maths/DormandPrinceTests.cs",
          "MechJeb2/MechJebLib/Core/ODE/BogackiShampine32.cs",
          "MechJeb2/MechJebLib/Core/ODE/AbstractIVP.cs",
          "MechJeb2/MechJebLib/Core/ODE/DP5.cs",
          "MechJeb2.sln.DotSettings"
        ],
        "commitId" : "51e44f98e09adae0f8287db7f71b6bb0ec46b5de",
        "timestamp" : 1683676281000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Lot of work\u000a\u000a- Working BS3 implementation\u000a- Start of event support\u000a- Additional DP5 random testing\u000a- Fixes major interpolant caching/re-use bug\u000a- Adds Bisection method (used by eventing)\u000a- Eventing may or may not work at all right now\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-05-09 16:51:21 -0700",
        "id" : "51e44f98e09adae0f8287db7f71b6bb0ec46b5de",
        "msg" : "Lot of work",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/AbstractRungeKutta.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Statics.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/BrentMin.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Core/ODE/BogackiShampine32.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/AbstractIVP.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/Maths/DormandPrinceTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/TwoBody/ShepperdTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/TwoBody/FarnocchiaTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/Maths/BS3Tests.c.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/BrentRoot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/Hn.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/Maths/BisectionTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MechJebLibTest.csproj"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Core/ODE/Event.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Core/ODE/DP5.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Core/ODE/BS3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2.sln.DotSettings"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/HBase.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/Maths/DP5Tests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Core/ODE/DormandPrince54.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Core/Bisection.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/Maths/BS3Tests.c.cs",
          "MechJeb2/MechJebLib/Core/ODE/AbstractIVP.cs",
          "MechJeb2/MechJebLib/Core/Bisection.cs",
          "MechJebLibTest/Maths/DP5Tests.cs"
        ],
        "commitId" : "d89220e22b9441e608b9d7eb2c4143e33859e8cf",
        "timestamp" : 1683746066000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Make terminal events work correctly, add a test\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-05-10 12:14:26 -0700",
        "id" : "d89220e22b9441e608b9d7eb2c4143e33859e8cf",
        "msg" : "Make terminal events work correctly, add a test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/AbstractIVP.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/BS3Tests.c.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/DP5Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/Bisection.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs",
          "MechJeb2/MechJebModulePVGGlueBall.cs",
          "MechJeb2/MechJebModuleAscentBaseAutopilot.cs",
          "MechJeb2/MechJebModuleAscentMenu.cs"
        ],
        "commitId" : "8775cca28fcc428c05badac3d1c4e740136c2d37",
        "timestamp" : 1683749415000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix PVG without delta-V window open\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-05-10 13:10:15 -0700",
        "id" : "8775cca28fcc428c05badac3d1c4e740136c2d37",
        "msg" : "Fix PVG without delta-V window open",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentMenu.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/ReentrySimulation.cs",
          "MechJeb2/LandingAutopilot/DecelerationBurn.cs",
          "MechJeb2/LandingAutopilot/CoastToDeceleration.cs",
          "MechJeb2/MechJebModuleLandingGuidance.cs",
          "MechJeb2/MechJebModuleLandingAutopilot.cs",
          "MechJeb2.sln.DotSettings",
          "MechJeb2/MechJebModuleLandingPredictions.cs"
        ],
        "commitId" : "e59de6f62cdb597dced835e30d91a2f5df1f5367",
        "timestamp" : 1683750947000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "ReentrySimulation code cleanup\u000a",
        "date" : "2023-05-10 13:35:47 -0700",
        "id" : "e59de6f62cdb597dced835e30d91a2f5df1f5367",
        "msg" : "ReentrySimulation code cleanup",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/DecelerationBurn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2.sln.DotSettings"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/CoastToDeceleration.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingPredictions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ReentrySimulation.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/ReentrySimulation.cs",
          "MechJeb2/FlyingSim/SimulatedPart.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJeb2/ReentrySimulation/SimCurves.cs"
        ],
        "commitId" : "f0e960a4c438c32bdf1e3bbec340a57b7a904350",
        "timestamp" : 1683753682000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Extract SimCurves out to its own file\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-05-10 14:21:22 -0700",
        "id" : "f0e960a4c438c32bdf1e3bbec340a57b7a904350",
        "msg" : "Extract SimCurves out to its own file",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/ReentrySimulation/SimCurves.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ReentrySimulation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/FlyingSim/SimulatedPart.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Utils/ObjectPool.cs"
        ],
        "commitId" : "d57bc207687f57dc896cea4a1b23b6b8439b4f70",
        "timestamp" : 1683754040000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Cleanup objectpool global/local case\u000a\u000aCan use a ThreadLocal<ConcurrentBag> even though that makes little\u000asense but we only use that in tests, and it keeps the codepaths\u000asimple.\u000a\u000aI'd like to use Smooth.Pools now but I don't see how to get this\u000akind of behavior around it.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-05-10 14:27:20 -0700",
        "id" : "d57bc207687f57dc896cea4a1b23b6b8439b4f70",
        "msg" : "Cleanup objectpool global/local case",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/ObjectPool.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Primitives/H3.cs",
          "MechJeb2/MechJebLib/PVG/ArrayWrapper.cs",
          "MechJeb2/MechJebLib/Primitives/Hn.cs",
          "MechJeb2/MechJebLib/Primitives/H1.cs",
          "MechJeb2/MechJebLib/Primitives/Vn.cs",
          "MechJeb2/MechJebLib/Utils/ObjectPool.cs",
          "MechJeb2/MechJebLib/PVG/ResidualWrapper.cs"
        ],
        "commitId" : "1d7ebb11e7f56b86972f173f3d4e27228dccdf5b",
        "timestamp" : 1683762632000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Convert to shape of Smooth.Pools API\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-05-10 16:50:32 -0700",
        "id" : "1d7ebb11e7f56b86972f173f3d4e27228dccdf5b",
        "msg" : "Convert to shape of Smooth.Pools API",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/Hn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/H3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/Vn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/ArrayWrapper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/ObjectPool.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/H1.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/ResidualWrapper.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/Utils/StaticTests.cs",
          "MechJeb2/MechJebLib/Utils/Statics.cs"
        ],
        "commitId" : "6dc55c3e36d7791f4d3a482bc12d728a7b96cce1",
        "timestamp" : 1684182482000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix ToSI issue\u000a\u000aWhen called with -1 for \"maxprecision\" the ToSI API would call\u000asomething like Clamp(whatever, min: 0, max: -24) which was\u000anonsensical.\u000a\u000aRemove the use of Clamp so that the lower min bounds is applied\u000alast and always wins because negative values into the format\u000astring are just illegal.\u000a",
        "date" : "2023-05-15 13:28:02 -0700",
        "id" : "6dc55c3e36d7791f4d3a482bc12d728a7b96cce1",
        "msg" : "Fix ToSI issue",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Utils/StaticTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Statics.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/Utils/StaticTests.cs",
          "MechJeb2/MechJebLib/Utils/Statics.cs"
        ],
        "commitId" : "a380a1f522ac3ed09f777c6fd240e3fcde742675",
        "timestamp" : 1684183724000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Add new metric prefixes\u000a",
        "date" : "2023-05-15 13:48:44 -0700",
        "id" : "a380a1f522ac3ed09f777c6fd240e3fcde742675",
        "msg" : "Add new metric prefixes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Statics.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Utils/StaticTests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleAscentClassicPathMenu.cs",
          "MechJeb2/MechJebLib/PVG/Solution.cs",
          "MechJeb2/MechJebModuleFlightRecorderGraph.cs",
          "MechJeb2/MechJebModuleLandingGuidance.cs",
          "MechJeb2/MechJebLib/Utils/Statics.cs",
          "MechJebLibTest/Utils/StaticTests.cs",
          "MechJeb2/MechJebStageStatsHelper.cs",
          "MechJeb2/MechJebModuleCustomInfoWindow.cs",
          "MechJeb2/MechJebModuleRendezvousGuidance.cs",
          "MechJeb2/VesselState.cs",
          "MechJeb2/MechJebModuleSpaceplaneGuidance.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptCondition.cs",
          "MechJeb2/MechJebModuleInfoItems.cs"
        ],
        "commitId" : "02fab0d671985f54d3a22d769affa904db3294b6",
        "timestamp" : 1684278789000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "ToSI tweaks\u000a\u000aIt looks like maxPrecision is designed to avoid things like\u000a\"0.0000000001 qm\" for very small values and turn that into\u000a\"0.000 qm\" instead.  What using values like \"-1\" did is just\u000akind of butcher the formatting for values smaller than 1.0 and\u000alose the significant digits.  There's an optimal value for a given\u000anumber of sigfigs to set maxPrecision to in order to get a fixed-width\u000anumber of characters of precision that doesn't overflow with very,\u000avery tiny values.  That is now the default, and it adapts by default to\u000athe setting of SigFigs..  The arguments have also been swapped so\u000athat sigFigs is first and that's the one that should probably\u000abe used.\u000a\u000aWhen it comes to existing uses, stuff like ToSI(-1) has been converted\u000ato the default.  When it comes to ToSI(3) that probably was intended to\u000amean 3 sigFigs but never did that so most of that is just set to the\u000adefault as well.  Stuff that was ToSI(-1, 3) has been converted to\u000aToSI(3) since that was correctly setting 3 sigFigs.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-05-16 16:13:09 -0700",
        "id" : "02fab0d671985f54d3a22d769affa904db3294b6",
        "msg" : "ToSI tweaks",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/VesselState.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Utils/StaticTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSpaceplaneGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Solution.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebStageStatsHelper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleCustomInfoWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Statics.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptCondition.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleFlightRecorderGraph.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentClassicPathMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleInfoItems.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleAscentPVGAutopilot.cs"
        ],
        "commitId" : "ae6cea6f3f6adfb93fffac0593e48d35f7df4938",
        "timestamp" : 1684684094000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/mrev1995",
          "fullName" : "mrev1995"
        },
        "authorEmail" : "mrev1995@gmail.com",
        "comment" : "Fix PVG After stage\u000a\u000aI think it got overlooked while changing PVG from using logical to KSP stages.\u000a",
        "date" : "2023-05-21 17:48:14 +0200",
        "id" : "ae6cea6f3f6adfb93fffac0593e48d35f7df4938",
        "msg" : "Fix PVG After stage",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGAutopilot.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/MechJebLibTest.csproj",
          "MechJeb2/MechJebLib/Primitives/M3.cs",
          "MechJeb2/MechJebLib/PVG/Ascent.cs",
          "MechJeb2/MechJebLib/Core/TwoBody/Shepperd.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumCoastAnalytic.cs",
          "MechJebLibTest/PVG/Integrators/VacuumCoastAnalyticTests.cs",
          "MechJebLibTest/Maths/TwoBody/ShepperdTests.cs"
        ],
        "commitId" : "4be1e06ddb9d779556ac11a2387b3fd98a021694",
        "timestamp" : 1684733421000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Analytic coast integrations with PVG\u000a\u000aPVG is now fully analytic\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-05-21 22:30:21 -0700",
        "id" : "4be1e06ddb9d779556ac11a2387b3fd98a021694",
        "msg" : "Analytic coast integrations with PVG",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/TwoBody/ShepperdTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumCoastAnalytic.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/M3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MechJebLibTest.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/TwoBody/Shepperd.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Ascent.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/PVG/Integrators/VacuumCoastAnalyticTests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Primitives/M3.cs",
          "MechJeb2/MechJebLib/Core/BrentMin.cs",
          "MechJeb2/MechJebLib/Core/FunctionImpls/RealSingleImpulseHyperbolicBurn.cs",
          "MechJeb2/MechJebLib/Control/PIDLoop.cs",
          "MechJeb2/MechJebLib/Primitives/H1.cs",
          "MechJeb2/MechJebLib/PVG/Solution.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/IPVGIntegrator.cs",
          "MIT-LICENSE.md",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Reduced.cs",
          "MechJeb2/MechJebLib/Core/FunctionImpls/RealDeltaVToChangeApoapsisPrograde.cs",
          "GPLv2-LICENSE.md",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustAnalytic.cs",
          "MechJeb2/MechJebLib/Core/Functions/Interpolants.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Propellant.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler4Reduced.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Intercept6Cartesian.cs",
          "MechJeb2/MechJebLib/Core/Functions/Maneuvers.cs",
          "MechJeb2/MechJebLib/Core/Gooding.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Energy.cs",
          "MechJeb2/MechJebLib/Primitives/Vn.cs",
          "MechJeb2/MechJebLib/Core/ODE/AbstractRungeKutta.cs",
          "MechJeb2/MechJebLib/Utils/Logger.cs",
          "README.md",
          "MechJeb2/MechJebLib/Core/BrentRoot.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler5Reduced.cs",
          "MechJeb2/MechJebLib/PVG/Optimizer.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/IPVGTerminal.cs",
          "MechJeb2/MechJebLib/Primitives/V3.cs",
          "MechJeb2/MechJebLib/PVG/Phase.cs",
          "MechJeb2/MechJebLib/Maneuvers/ReturnFromMoon.cs",
          "MechJeb2/MechJebLib/Core/ODE/DP5.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle3Energy.cs",
          "MechJeb2/MechJebLib/Core/ODE/Event.cs",
          "MechJeb2/MechJebLib/Primitives/H3.cs",
          "MechJeb2/MechJebLib/PVG/Ascent.cs",
          "MechJeb2/MechJebLib/Core/TwoBody/Farnocchia.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs",
          "MechJeb2/MechJebLib/Core/Maths.cs",
          "MechJeb2/MechJebLib/Utils/ObjectPool.cs",
          "MechJeb2/MechJebLib/PVG/ResidualWrapper.cs",
          "MechJeb2/MechJebLib/Core/ODE/AbstractIVP.cs",
          "MechJeb2/MechJebLib/PVG/ArrayWrapper.cs",
          "MechJeb2/MechJebLib/Core/Bisection.cs",
          "MechJeb2/MechJebLib/PVG/AscentBuilder.cs",
          "MechJeb2/MechJebLib/Maneuvers/ChangeOrbitalElement.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumCoastAnalytic.cs",
          "MechJeb2/MechJebLib/Core/Functions/Angles.cs",
          "MechJeb2/MechJebLib/PVG/Problem.cs",
          "MechJeb2/MechJebLib/Utils/Statics.cs",
          "MechJeb2/MechJebLib/Primitives/Scale.cs",
          "MechJeb2/MechJebLib/PVG/OptimizerBuilder.cs",
          "MechJeb2/MechJebLib/Core/ODE/BS3.cs",
          "MechJeb2/MechJebLib/Primitives/HBase.cs",
          "MechJeb2/MechJebLib/Core/TwoBody/Shepperd.cs",
          "MechJeb2/MechJebLib/Primitives/Hn.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler3Reduced.cs",
          "MechJeb2/MechJebLib/Utils/Check.cs",
          "MechJeb2/MechJebLib/Primitives/Q3.cs"
        ],
        "commitId" : "34a96675c794277ec4dea6a693493ee93ec62d5e",
        "timestamp" : 1685222227000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Update MechJebLib copyright headers\u000a\u000aThis utilizes the SPDX-License-Identifier to be more permissive and\u000alegally clear and extend the license under MechJebLib.\u000a\u000aIt follows https://cr.yp.to/publicdomain.html in order to place the\u000awork under the public domain.\u000a\u000aThe other licenses are also included to satisfy license checkers and\u000ato provide a deliberate fallback for any concerns over the public\u000adomain declaration.  Worst case this should be equivalent to dual\u000alicensing under 0BSD and LGPL2.1+.\u000a\u000aThe License Identifier also clears up my poor wording using \"and\" under\u000athe dual license when the intent was to make it at the choice of the\u000auser, not to have both always applied (which doesn't make any sense to\u000ame which is why I didn't think it needed any clarification)\u000a\u000aThis work is hereby placed into the public domain.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-05-27 14:17:07 -0700",
        "id" : "34a96675c794277ec4dea6a693493ee93ec62d5e",
        "msg" : "Update MechJebLib copyright headers",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/Maths.cs"
          },
          {
            "editType" : "delete",
            "file" : "MIT-LICENSE.md"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Ascent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/ObjectPool.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/AbstractRungeKutta.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/Scale.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Optimizer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Phase.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Check.cs"
          },
          {
            "editType" : "edit",
            "file" : "README.md"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Logger.cs"
          },
          {
            "editType" : "delete",
            "file" : "GPLv2-LICENSE.md"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/BrentRoot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Propellant.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/M3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/ReturnFromMoon.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/TwoBody/Farnocchia.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/Functions/Maneuvers.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/Gooding.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/FunctionImpls/RealSingleImpulseHyperbolicBurn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Intercept6Cartesian.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler3Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/Vn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustAnalytic.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/ChangeOrbitalElement.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/FunctionImpls/RealDeltaVToChangeApoapsisPrograde.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/AscentBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/ResidualWrapper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/Q3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Control/PIDLoop.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/BS3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Problem.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/Functions/Interpolants.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/OptimizerBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/ArrayWrapper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumCoastAnalytic.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/Event.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/HBase.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/Bisection.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/H1.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle3Energy.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Solution.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Energy.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/IPVGTerminal.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler5Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/AbstractIVP.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/Functions/Angles.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Statics.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/TwoBody/Shepperd.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/V3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler4Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/DP5.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/IPVGIntegrator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/H3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/BrentMin.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/Hn.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "README.md"
        ],
        "commitId" : "c6ca586d4d312749ffc854e88ff4486be8fedb90",
        "timestamp" : 1685223778000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Missed this in the License PR\u000a\u000aForgot to update the global README.md\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-05-27 14:42:58 -0700",
        "id" : "c6ca586d4d312749ffc854e88ff4486be8fedb90",
        "msg" : "Missed this in the License PR",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModulePVGGlueBall.cs"
        ],
        "commitId" : "a208bbfdd31bff18152650291dce876888a40ff2",
        "timestamp" : 1685223986000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix sign in coast time update\u000a",
        "date" : "2023-05-27 14:46:26 -0700",
        "id" : "a208bbfdd31bff18152650291dce876888a40ff2",
        "msg" : "Fix sign in coast time update",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleGuidanceController.cs"
        ],
        "commitId" : "4cde5c3bf5b940e5437be36d7030ef7e2830cbf3",
        "timestamp" : 1685236852000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Terminal Guidance correctness bug\u000a\u000aThis seems a bit useless/dangerous to me.\u000a\u000aWe explicitly catch all the cases when we should exit terminal\u000aguidance above here.  While this will potentially blow up if we\u000aever call it and grab a zero-dV stage or small ullage stage that\u000ais below minDV and isn't part of the solution.\u000a\u000aIt seems like we should just loop and wait for the stage and/or\u000asolution to update to something that agrees, or else loop until\u000aone of the explicit conditions at the top handles exiting\u000aproperly.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-05-27 18:20:52 -0700",
        "id" : "4cde5c3bf5b940e5437be36d7030ef7e2830cbf3",
        "msg" : "Terminal Guidance correctness bug",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleGuidanceController.cs",
          "MechJeb2/MechJebLib/PVG/Solution.cs"
        ],
        "commitId" : "87984d63ea5556b57b06e8437ac7d43681c286d1",
        "timestamp" : 1685298847000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix CoastBefore behavior\u000a\u000areplaces #1675\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-05-28 11:34:07 -0700",
        "id" : "87984d63ea5556b57b06e8437ac7d43681c286d1",
        "msg" : "Fix CoastBefore behavior",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Solution.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/alglib/dataanalysis.cs",
          "MechJeb2/alglib/fasttransforms.cs",
          "MechJeb2/alglib/ap.cs",
          "MechJeb2/alglib/diffequations.cs",
          "MechJeb2/alglib/alglibinternal.cs",
          "MechJeb2/alglib/optimization.cs",
          "MechJeb2/alglib/solvers.cs",
          "MechJeb2/alglib/statistics.cs",
          "MechJeb2/alglib/specialfunctions.cs",
          "MechJeb2/alglib/alglibmisc.cs",
          "MechJeb2/alglib/integration.cs",
          "MechJeb2/MechJebModuleThrustController.cs",
          "MechJeb2/alglib/interpolation.cs",
          "MechJeb2/alglib/linalg.cs"
        ],
        "commitId" : "a32c2076e36289664bc17aab4eea7919ae7e16b1",
        "timestamp" : 1685497096000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Update alglib to 4.0\u000a\u000ahighlights:\u000a\u000a- improvements to SQP solver\u000a- multi-objective optimizer built over the SQP solver\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-05-30 18:38:16 -0700",
        "id" : "a32c2076e36289664bc17aab4eea7919ae7e16b1",
        "msg" : "Update alglib to 4.0",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/alglib/interpolation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/alglib/integration.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/alglib/specialfunctions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/alglib/ap.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/alglib/linalg.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/alglib/statistics.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/alglib/optimization.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/alglib/dataanalysis.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/alglib/fasttransforms.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/alglib/alglibinternal.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/alglib/alglibmisc.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/alglib/diffequations.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/alglib/solvers.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs",
          "MechJebLibTest/PVG/Integrators/VacuumThrustIntegratorTests.cs",
          "MechJeb2/MechJebLib/Primitives/Vn.cs",
          "MechJeb2/MechJebLib/PVG/Ascent.cs",
          "MechJeb2/MechJebLib/PVG/Phase.cs",
          "MechJebLibTest/PVG/AscentTests/TheStandardTests.cs"
        ],
        "commitId" : "1547d2b6e64492cf97e13433a1bb1289d10620b5",
        "timestamp" : 1685556196000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "PVG: Use Analytic for bootstrap and Integrator for converged\u000a\u000aMakes bootstrapping fast and then makes it accurate.\u000a\u000aAlso can find issues with the integrator by having it be the\u000aactual second pass through.  It should be very definitive bug\u000areports as long as people describe it properly or show a video.\u000a\u000aHad to initialize the Vn's to zeros because otherwise weird things\u000ahappen due to some kind of reuse bug.  Someting is getting +='d or\u000asomething like that without being zero'd.  Really that's hard\u000aenough to track down that zero'ing everything makes a lot of sense.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-05-31 11:03:16 -0700",
        "id" : "1547d2b6e64492cf97e13433a1bb1289d10620b5",
        "msg" : "PVG: Use Analytic for bootstrap and Integrator for converged",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/AscentTests/TheStandardTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Ascent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/Integrators/VacuumThrustIntegratorTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Phase.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/Vn.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/PVG/Ascent.cs"
        ],
        "commitId" : "1f961fea3286b2b4d8032510c959db4b2915966a",
        "timestamp" : 1685568908000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "better error message for converged failure\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-05-31 14:35:08 -0700",
        "id" : "1f961fea3286b2b4d8032510c959db4b2915966a",
        "msg" : "better error message for converged failure",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Ascent.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/PVG/Terminal/Intercept6Cartesian.cs",
          "MechJeb2/MechJebLib/PVG/ArrayWrapper.cs",
          "MechJeb2/MechJebLib/PVG/Solution.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumCoastAnalytic.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Energy.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs",
          "MechJeb2/MechJebLib/PVG/OutputWrapper.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJeb2/MechJebLib/PVG/InputWrapper.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler5Reduced.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Reduced.cs",
          "MechJeb2/MechJebLib/PVG/Optimizer.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustAnalytic.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/IPVGTerminal.cs",
          "MechJeb2/MechJebLib/Primitives/V3.cs",
          "MechJebLibTest/PVG/Integrators/VacuumThrustIntegratorTests.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler3Reduced.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs",
          "MechJebLibTest/PVG/AscentTests/Titan2Tests.cs",
          "MechJebLibTest/PVG/Integrators/VacuumCoastAnalyticTests.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Propellant.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle3Energy.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler4Reduced.cs"
        ],
        "commitId" : "26de45de35fb9d599e3ba45b9f7fea6468e2c8b5",
        "timestamp" : 1685679309000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Convert the ArrayWrapper class to a struct\u000a\u000a- causes more copying but removes the need to memorypool\u000a- weirdly this seems like it fixed a very tiny bug in the Titan2Tests\u000a- split the class up into input/output wrappers\u000a- they're no longer wrappers so i need a better name, TBD\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-06-01 21:15:09 -0700",
        "id" : "26de45de35fb9d599e3ba45b9f7fea6468e2c8b5",
        "msg" : "Convert the ArrayWrapper class to a struct",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/AscentTests/Titan2Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/Integrators/VacuumThrustIntegratorTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Intercept6Cartesian.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler3Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Propellant.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustAnalytic.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/PVG/OutputWrapper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/Integrators/VacuumCoastAnalyticTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle3Energy.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/PVG/ArrayWrapper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Optimizer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Solution.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/IPVGTerminal.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler4Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler5Reduced.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/PVG/InputWrapper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumCoastAnalytic.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Energy.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/V3.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleStagingController.cs"
        ],
        "commitId" : "d9e18decb931edc30e878555550c5369754768d2",
        "timestamp" : 1685834293000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/mrev1995",
          "fullName" : "mrev1995"
        },
        "authorEmail" : "mrev1995@gmail.com",
        "comment" : "Fix autostaging for asparagus boosters\u000a\u000aIn this loop, \"continue\" means \"this condition doesn't prevent staging\u000a(though another might)\"; \"return true\" means \"this tank still contains\u000aresources; don't stage it away yet\".\u000a\u000aGiven that interpretation, the condition on this line is reversed: when\u000athere's no more of a resource that can be pulled from this tank, then it\u000ais not a problem if we stage the tank away (irrespective of whether\u000athere's any active engine that can pull it - which is what the rest of\u000athe function checks).\u000a\u000aIn PR #1613 the other checks in the loop were inverted, but this one was missed.\u000a\u000aFixes #1658.\u000a",
        "date" : "2023-06-04 01:18:13 +0200",
        "id" : "d9e18decb931edc30e878555550c5369754768d2",
        "msg" : "Fix autostaging for asparagus boosters",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/PVG/Terminal/Intercept6Cartesian.cs",
          "MechJeb2/MechJebLib/PVG/Solution.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Energy.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumCoastAnalytic.cs",
          "MechJeb2/MechJebLib/PVG/OutputLayout.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJeb2/MechJebLib/PVG/OutputWrapper.cs",
          "MechJeb2/MechJebLib/PVG/InputWrapper.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Reduced.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler5Reduced.cs",
          "MechJebLibTest/Maths/BS3Tests.c.cs",
          "MechJeb2/MechJebLib/PVG/Optimizer.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/IPVGTerminal.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustAnalytic.cs",
          "MechJeb2/MechJebLib/Core/ODE/BS3.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler3Reduced.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs",
          "MechJebLibTest/PVG/Integrators/VacuumThrustIntegratorTests.cs",
          "MechJebLibTest/PVG/Integrators/VacuumCoastAnalyticTests.cs",
          "MechJeb2/MechJebLib/PVG/InputLayout.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Propellant.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle3Energy.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler4Reduced.cs"
        ],
        "commitId" : "9dfc8a8ecdf94d0892beeade99ee8f1f12ff6607",
        "timestamp" : 1686196176000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Misc cleanup\u000a\u000a- rename input/output wrapper\u000a- was playing around with BS3 method, i don't think it'll help PVG at\u000a  this point\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-06-07 20:49:36 -0700",
        "id" : "9dfc8a8ecdf94d0892beeade99ee8f1f12ff6607",
        "msg" : "Misc cleanup",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/Integrators/VacuumCoastAnalyticTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/IPVGTerminal.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/PVG/InputLayout.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Propellant.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/BS3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustAnalytic.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Energy.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/BS3Tests.c.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler3Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler5Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Solution.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle3Energy.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/Integrators/VacuumThrustIntegratorTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler4Reduced.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/PVG/InputWrapper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumCoastAnalytic.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Optimizer.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/PVG/OutputWrapper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Intercept6Cartesian.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/PVG/OutputLayout.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleStagingController.cs",
          "MechJeb2/MechJebLib/Core/Maths.cs",
          "MechJeb2/PartExtensions.cs"
        ],
        "commitId" : "4392aaa87df3ec6592d34c308bb1e5df3900d4df",
        "timestamp" : 1686252162000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix Fairing Separation logic\u000a\u000aFairing stages now must be:\u000a\u000a- if a PF fairing is in the stage, all the parts in the stage must\u000a  be PF payload fairings.\u000a\u000a- if a stage has only decopulers, without children, that aren't launch\u000a  clamps then it is considered a fairing stage.\u000a\u000athis fixes the bug where any PF fairing in a stage would turn it into\u000aa fairing stage.\u000a\u000athis also fixes things like RSB fairing decouplers, which are just\u000anormal decouplers and it is hard to identify them uniquely.\u000a\u000athis may identify non-PF interstage fairings that are in a stage by\u000athemselves as payload fairings.  the workaround to that is to add the\u000astack decoupler to that stage and stage them together (or an engine,\u000aor any other part which will prevent them being identified as a\u000apayload fairing).\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-06-08 12:22:42 -0700",
        "id" : "4392aaa87df3ec6592d34c308bb1e5df3900d4df",
        "msg" : "Fix Fairing Separation logic",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/Maths.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/PartExtensions.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/AttitudeControllers/BetterController.cs",
          "MechJeb2/MechJebLib/Control/PIDLoop.cs"
        ],
        "commitId" : "0c1ff268e6c1de4302d14d9fb4f8b609f7b2af46",
        "timestamp" : 1686418026000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/454857+lamont-granquist",
          "fullName" : "454857+lamont-granquist"
        },
        "authorEmail" : "454857+lamont-granquist@users.noreply.github.com",
        "comment" : "More PID tuning\u000a\u000aThis uses a \"balanced\" auto tuning for a 75 degree phase margin and\u000alets at least a few rockets i tested get through MaxQ at max warp.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-06-10 10:27:06 -0700",
        "id" : "0c1ff268e6c1de4302d14d9fb4f8b609f7b2af46",
        "msg" : "More PID tuning",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Control/PIDLoop.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BetterController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModulePVGGlueBall.cs",
          "MechJeb2/FuelFlowSimulation.cs",
          "MechJeb2/FuelNode.cs"
        ],
        "commitId" : "de3afff02d27a905c03b800e0d864e6110f29fbe",
        "timestamp" : 1686528106000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix caching bug in FuelFlowSimulation\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-06-11 17:01:46 -0700",
        "id" : "de3afff02d27a905c03b800e0d864e6110f29fbe",
        "msg" : "Fix caching bug in FuelFlowSimulation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/FuelFlowSimulation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/FuelNode.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleStageStats.cs",
          "MechJeb2/MechJebModuleRendezvousAutopilotWindow.cs",
          "MechJeb2/Maneuver/OperationResonantOrbit.cs",
          "MechJeb2/MechJebModuleFlightRecorderGraph.cs",
          "MechJebEdu.cfg",
          "MechJeb2/Properties/AssemblyInfo.cs",
          "MechJeb2/MechJebModuleNodeExecutor.cs",
          "MechJeb2/MechJebModuleDockingGuidance.cs",
          "MechJeb2/MechJebModuleAttitudeAdjustment.cs",
          "MechJebLibTest/TestInitialization.cs",
          "MechJeb2/MechJebModuleRCSController.cs",
          "MechJeb2/FuelStats.cs",
          "MechJeb2/MechJebModuleAscentClassicAutopilot.cs",
          "MechJeb2/MechJebModuleGuidanceController.cs",
          "MechJebLibTest/Structs/M3Tests.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler4Reduced.cs",
          "MechJeb2/MechJebModuleLandingGuidance.cs",
          "MechJeb2/ReentrySimulation/SimCurves.cs",
          "MechJeb2/MechJebModuleRCSBalancer.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler5Reduced.cs",
          "MechJeb2/MechJebModuleStagingController.cs",
          "MechJeb2/MechJebLib/PVG/Optimizer.cs",
          "MechJebLibTest/Maths/BS3Tests.c.cs",
          "MechJeb2/ReentrySimulation.cs",
          "MechJeb2/MechJebModuleRCSBalancerWindow.cs",
          "MechJeb2/MechJebModuleRendezvousGuidance.cs",
          "MechJeb2/MechJebModuleSpinupController.cs",
          "MechJeb2/VesselState.cs",
          "MechJeb2/MechJebLib/Primitives/H3.cs",
          "MechJeb2/MechJebModuleScript.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs",
          "MechJeb2/MechJebModuleTranslatron.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJeb2/MechJebModuleRendezvousAutopilot.cs",
          "MechJeb2/FlyingSim/SimulatedPart.cs",
          "MechJeb2/MechJebModuleSettings.cs",
          "MechJeb2/FuelNode.cs",
          "MechJeb2/Maneuver/TransferCalculator.cs",
          "MechJeb2/MechJebModuleAttitudeController.cs",
          "MechJeb2/MechJebModuleWarpController.cs",
          "MechJeb2/MechJebLib/Maneuvers/ChangeOrbitalElement.cs",
          "MechJeb2/MechJebModuleDebugArrows.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumCoastAnalytic.cs",
          "MechJeb2/MechJebLib/PVG/Problem.cs",
          "MechJeb2/OrbitExtensions.cs",
          "MechJeb2/MechJebModuleMenu.cs",
          "MechJeb2/MechJebModuleAirplaneGuidance.cs",
          "MechJeb2/MechJebModuleAscentBaseAutopilot.cs",
          "MechJeb2/MechJebLib/Core/TwoBody/Shepperd.cs",
          "LandingSites.cfg",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler3Reduced.cs",
          "MechJeb2/MechJebModuleSmartRcs.cs",
          "MechJeb2/MechJebModuleThrustController.cs",
          "MechJeb2/MechJebModuleFlightRecorder.cs",
          "MechJeb2/MechJebModuleSolarPanelController.cs",
          "MechJeb2/MechJebModuleInfoItems.cs",
          "MechJeb2/MechJebModuleWarpHelper.cs",
          "MechJebLibTest/MechJebLibTest.csproj",
          "MechJeb2/MechJebLib/Primitives/H1.cs",
          "MechJeb2/MechJebLib/PVG/OutputLayout.cs",
          "MechJeb2/MechJebModuleThrustWindow.cs",
          "MechJebLibTest/Structs/V3Tests.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/IPVGIntegrator.cs",
          "MechJeb2/FuelFlowSimulation.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustAnalytic.cs",
          "MechJeb2/MechJebModuleSpaceplaneAutopilot.cs",
          "MechJeb2/MechJebModuleSpaceplaneGuidance.cs",
          "MechJeb2/Properties/Resources.resx",
          "MechJeb2/MechJebModuleWaypointWindow.cs",
          "MechJeb2/MechJebModuleAscentGTAutopilot.cs",
          "MechJeb2/MechJebModuleRoverController.cs",
          "MechJeb2/MechJebLib/Primitives/Vn.cs",
          "MechJebLibTest/Utils/StaticTests.cs",
          "MechJeb2/MechJebLib/Utils/Logger.cs",
          "MechJeb2/MechJebModuleManeuverPlanner.cs",
          "MechJeb2/MechJebLib/Primitives/V3.cs",
          "MechJeb2/MechJebLib/Maneuvers/ReturnFromMoon.cs",
          "MechJeb2/MechJebModuleAscentSettingsMenu.cs",
          "MechJeb2/MechJebModuleDeployableAntennaController.cs",
          "MechJeb2/MechJebModuleDeployableController.cs",
          "MechJeb2/MechJebModuleNodeEditor.cs",
          "MechJeb2/MechJebModuleRoverWindow.cs",
          "MechJebLibTest/Structs/HTests.cs",
          "MechJeb2/MechJebModuleAscentSettings.cs",
          "MechJeb2/MechJebModuleCustomInfoWindow.cs",
          "MechJebLibTest/Maths/BisectionTests.cs",
          "MechJeb2/MechJebLib/PVG/ResidualWrapper.cs",
          "MechJeb2/MechJebLib/PVG/InputLayout.cs",
          "MechJeb2/Maneuver/OperationSemiMajor.cs",
          "MechJeb2/MechJebModuleAscentClassicPathMenu.cs",
          "MechJeb2/MechJebLib/PVG/AscentBuilder.cs",
          "MechJeb2/MechJebModuleDockingAutopilot.cs",
          "MechJeb2/MechJebModuleTargetController.cs",
          "MechJeb2/MechJebModuleLandingPredictions.cs",
          "MechJeb2/MechJebModuleSmartASS.cs",
          "MechJeb2/MechJebLib/Primitives/Scale.cs",
          "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs",
          "MechJeb2/MechJebModuleLandingAutopilot.cs",
          "MechJeb2/MechJebCore.cs",
          "MechJeb2/MechJebModuleAscentPVGAutopilot.cs",
          "MechJeb2/MechJebModuleAirplaneAutopilot.cs"
        ],
        "commitId" : "747cacf4d323393803362f6b98dc9fff74fb056e",
        "timestamp" : 1686586286000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Automated Code Cleanup\u000a\u000ajust rip off the rest of the bandage wholesale.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-06-12 09:11:26 -0700",
        "id" : "747cacf4d323393803362f6b98dc9fff74fb056e",
        "msg" : "Automated Code Cleanup",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Utils/StaticTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleTranslatron.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleInfoItems.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/TransferCalculator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSpaceplaneGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentGTAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleScript.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWarpController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/Vn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWarpHelper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/VesselState.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Structs/V3Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebCore.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler3Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDockingGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSmartRcs.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAirplaneAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Properties/AssemblyInfo.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettingsMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousAutopilotWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/FuelStats.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/IPVGIntegrator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAirplaneGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleFlightRecorderGraph.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/ChangeOrbitalElement.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebEdu.cfg"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSettings.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/V3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSmartASS.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/TestInitialization.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAttitudeController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ReentrySimulation/SimCurves.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Structs/M3Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Optimizer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler5Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/ReturnFromMoon.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Structs/HTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/Scale.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationResonantOrbit.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeEditor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/AscentBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentClassicAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Properties/Resources.resx"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettings.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MechJebLibTest.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/FuelNode.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/TwoBody/Shepperd.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleCustomInfoWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/OutputLayout.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/FuelFlowSimulation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationSemiMajor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/ResidualWrapper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/InputLayout.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/BisectionTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/H3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingPredictions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRCSBalancer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler4Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAttitudeAdjustment.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Problem.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/BS3Tests.c.cs"
          },
          {
            "editType" : "edit",
            "file" : "LandingSites.cfg"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumCoastAnalytic.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentClassicPathMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDockingAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleFlightRecorder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Logger.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStageStats.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRoverWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSpaceplaneAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/FlyingSim/SimulatedPart.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleTargetController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleManeuverPlanner.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ReentrySimulation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/H1.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSolarPanelController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRCSController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDeployableAntennaController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRoverController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSpinupController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDebugArrows.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRCSBalancerWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDeployableController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWaypointWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustAnalytic.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Maneuvers/ReturnFromMoon.cs",
          "MechJebLibTest/Maths/FunctionsTests.cs",
          "MechJeb2.sln.DotSettings",
          "MechJeb2/OrbitalManeuverCalculator.cs",
          "MechJeb2/MechJebLib/Maneuvers/ChangeOrbitalElement.cs"
        ],
        "commitId" : "5cd98119a46c507d622d953ad598cfbb70c177bd",
        "timestamp" : 1686589283000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Refactor ChangeOrbitalElements slightly\u000a\u000aMakes for a slightly better public interface and eliminates the\u000acase statement to check for errors\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-06-12 10:01:23 -0700",
        "id" : "5cd98119a46c507d622d953ad598cfbb70c177bd",
        "msg" : "Refactor ChangeOrbitalElements slightly",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/ChangeOrbitalElement.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/ReturnFromMoon.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/FunctionsTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitalManeuverCalculator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2.sln.DotSettings"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/PVG/OptimizerBuilder.cs",
          "MechJeb2/MechJebLib/PVG/Optimizer.cs",
          "MechJeb2/MechJebLib/PVG/ResidualLayout.cs",
          "MechJeb2/MechJebLib/PVG/ContinuityLayout.cs",
          "MechJeb2/MechJebLib/PVG/Problem.cs",
          "MechJeb2/MechJebLib/PVG/ResidualWrapper.cs",
          "MechJeb2/MechJebLib/PVG/InputLayout.cs",
          "MechJebLibTest/PVG/AscentTests/BuggyTests.cs",
          "MechJeb2/MechJeb2.csproj"
        ],
        "commitId" : "118a7971a6b659bb6ec72173081c1a2dbd90ed13",
        "timestamp" : 1686962381000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "PVG cleanup: replace ResidualWrapper with ContinuityLayout/ResidualLayout\u000a\u000aalso cleans up the \"Problem\" a bit and removes that one last annoying\u000anull warning i've left in for about a year.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-06-16 17:39:41 -0700",
        "id" : "118a7971a6b659bb6ec72173081c1a2dbd90ed13",
        "msg" : "PVG cleanup: replace ResidualWrapper with ContinuityLayout/ResidualLayout",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Optimizer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/InputLayout.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/PVG/ContinuityLayout.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/PVG/ResidualWrapper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/OptimizerBuilder.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/PVG/ResidualLayout.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/AscentTests/BuggyTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Problem.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/AttitudeControllers/BetterController.cs"
        ],
        "commitId" : "2dbfcc6e716e61a98a6387e7d2c52ccc487af6cb",
        "timestamp" : 1687033595000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "More PID tuning\u000a\u000aTry to address the wobbles\u000a",
        "date" : "2023-06-17 13:26:35 -0700",
        "id" : "2dbfcc6e716e61a98a6387e7d2c52ccc487af6cb",
        "msg" : "More PID tuning",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BetterController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleAscentMenu.cs"
        ],
        "commitId" : "b0ee3b516ad60e012329cafe65824330a83c577b",
        "timestamp" : 1687034988000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Rename to \"PVG Settings\" and use horizontal split\u000a\u000aSlightly more compact menu.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-06-17 13:49:48 -0700",
        "id" : "b0ee3b516ad60e012329cafe65824330a83c577b",
        "msg" : "Rename to \"PVG Settings\" and use horizontal split",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentMenu.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleGuidanceController.cs"
        ],
        "commitId" : "e6eabea0c7b020eb16fa109cf8e62a3c3ab983bc",
        "timestamp" : 1687036335000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Stop fairing sep in a coast from ending the coast\u000a\u000aThis actually fixes the use case now.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-06-17 14:12:15 -0700",
        "id" : "e6eabea0c7b020eb16fa109cf8e62a3c3ab983bc",
        "msg" : "Stop fairing sep in a coast from ending the coast",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleAscentPVGAutopilot.cs",
          "MechJeb2/MechJebModuleAscentSettings.cs",
          "MechJeb2/MechJebModuleAscentMenu.cs"
        ],
        "commitId" : "333e5d5d9a3cba4e1c66a0ace4a87c15a3441869",
        "timestamp" : 1687038944000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Splitup burnout altitude setting\u000a\u000aHave one setting for optimized stages and one for fixed burntime\u000aso flipping between them isn't so weird.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-06-17 14:55:44 -0700",
        "id" : "333e5d5d9a3cba4e1c66a0ace4a87c15a3441869",
        "msg" : "Splitup burnout altitude setting",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettings.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGAutopilot.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModulePVGGlueBall.cs",
          "MechJeb2/MechJebModuleGuidanceController.cs",
          "MechJeb2/MechJebLib/PVG/Solution.cs"
        ],
        "commitId" : "f3eac6093aea9eeabecc441144ae3eb1a0b2bc41",
        "timestamp" : 1687062286000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix both checks that use IndexForKSPStage\u000a\u000aChanges the API to more sensibly just use the coast/burn boolean as\u000aa matcher, so we try to find exactly what we're looking for.\u000a\u000aAlso make sure that we're continuously updating the _blockOptimizerUntilTime\u000acode so that we get the 5 seconds of suspending the optimizer correctly\u000abetween the coast and the burn when we're doing coast-before and\u000atherefore don't hit the staging callback.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-06-17 21:24:46 -0700",
        "id" : "f3eac6093aea9eeabecc441144ae3eb1a0b2bc41",
        "msg" : "Fix both checks that use IndexForKSPStage",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Solution.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs"
        ],
        "commitId" : "66836f56008efe77f151a816e5bf6d18764fd56e",
        "timestamp" : 1687062635000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Optimize Stage is now Early Shutoff Stage\u000a\u000aseems clearly better, and the old label produced lots of\u000aconfusion and questions.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-06-17 21:30:35 -0700",
        "id" : "66836f56008efe77f151a816e5bf6d18764fd56e",
        "msg" : "Optimize Stage is now Early Shutoff Stage",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/AttitudeControllers/BetterController.cs"
        ],
        "commitId" : "1f510646242f09e8e7e0d20409c900b6d0da7291",
        "timestamp" : 1687062766000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Increase Pos deadband to 0.002\u000a\u000aThis is 20x higher and is equivalent to 0.1 degrees.  Helps to\u000astabilize an Atlas-Centaur from Nazfib.\u000a\u000aIf this needs to go any direction it should probably go down since\u000a20x might have been aggressive.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-06-17 21:32:46 -0700",
        "id" : "1f510646242f09e8e7e0d20409c900b6d0da7291",
        "msg" : "Increase Pos deadband to 0.002",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BetterController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/ScriptsModule/IMechJebModuleScriptActionContainer.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionWhile.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionAscent.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionUndock.cs",
          "MechJeb2/MechJebModuleScript.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptAction.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionRCS.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionTarget.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionControlFrom.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionTimer.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionFor.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionRendezvousAP.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionActiveVessel.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionQuicksave.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionIRSequencer.cs",
          "MechJeb2/ScriptsModule/IMechJebModuleScriptActionsList.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionSAS.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptCondition.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionCrewTransfer.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionLanding.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionTolerance.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionExecuteNode.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionLoadScript.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionThrottle.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionManoeuver.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionStaging.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionActionGroup.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionActivateEngine.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionKos.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionDockingShield.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionRendezvous.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionTargetDock.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionDockingAutopilot.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionTemplate.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionPause.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionsList.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionParallel.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionWarp.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionSmartASS.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionWaitFor.cs",
          "MechJeb2/ScriptsModule/MechJebModuleScriptActionIf.cs"
        ],
        "commitId" : "681d58fd4c51e0cf00e8ea3be13d9ab92b27b57f",
        "timestamp" : 1687114372000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Remove the ScriptsModule\u000a\u000aThis is largely unmaintained, often broken and gets very little usage.\u000a\u000aDiscussed this with Sarbian IRL and decided to remove it in the next\u000arelease.\u000a\u000aBetter approach would be integration with kRPC/kOS or something built\u000adirectly around MechJebLib when that API stabilizes.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-06-18 11:52:52 -0700",
        "id" : "681d58fd4c51e0cf00e8ea3be13d9ab92b27b57f",
        "msg" : "Remove the ScriptsModule",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionTemplate.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptCondition.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionManoeuver.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionTarget.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionsList.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionQuicksave.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebModuleScript.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/IMechJebModuleScriptActionsList.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionLoadScript.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptAction.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionIf.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionFor.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionActionGroup.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionSmartASS.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionParallel.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionRendezvous.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/IMechJebModuleScriptActionContainer.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionRendezvousAP.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionKos.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionDockingAutopilot.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionCrewTransfer.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionWhile.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionSAS.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionLanding.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionTolerance.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionUndock.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionActiveVessel.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionWarp.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionControlFrom.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionWaitFor.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionIRSequencer.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionRCS.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionTargetDock.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionActivateEngine.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionThrottle.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionDockingShield.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionStaging.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionExecuteNode.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionTimer.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionAscent.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ScriptsModule/MechJebModuleScriptActionPause.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/LandingAutopilot/FinalDescent.cs",
          "MechJeb2/LandingAutopilot/PlaneChange.cs",
          "MechJeb2/LandingAutopilot/DecelerationBurn.cs",
          "MechJeb2/LandingAutopilot/CoastToDeceleration.cs",
          "MechJeb2/LandingAutopilot/UntargetedDeorbit.cs",
          "MechJeb2/MechJebModuleLandingGuidance.cs",
          "MechJeb2/MechJebModuleLandingAutopilot.cs",
          "MechJeb2/LandingAutopilot/LowDeorbitBurn.cs",
          "MechJeb2/LandingAutopilot/DeorbitBurn.cs",
          "MechJeb2/AutopilotModule.cs",
          "MechJeb2/LandingAutopilot/KillHorizontalVelocity.cs",
          "MechJeb2/LandingAutopilot/CourseCorrection.cs"
        ],
        "commitId" : "21844b9e9a7e4edddbd28733f43c69d1b437f5f7",
        "timestamp" : 1687116341000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Landing autopilot style cleanup\u000a\u000aThis may be breaking due to changing methods to private and changing\u000athe name of public methods.\u000a\u000aIf anything has been made private that is actually getting used just\u000adrop in a bug report to revert it and it can be made public with a\u000a[UsedImplicitly] added to make IDEs happy.  It isn't intended to\u000aforce people to beat on it with reflection calls to private APIs.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-06-18 12:25:41 -0700",
        "id" : "21844b9e9a7e4edddbd28733f43c69d1b437f5f7",
        "msg" : "Landing autopilot style cleanup",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/CourseCorrection.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/CoastToDeceleration.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/FinalDescent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/DecelerationBurn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AutopilotModule.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/LowDeorbitBurn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/PlaneChange.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/UntargetedDeorbit.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/KillHorizontalVelocity.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/DeorbitBurn.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebPod.cs",
          "Parts/MechJeb2_Pod/model.mu",
          "Parts/MechJeb2_Pod/part.cfg",
          "Parts/MechJeb2_Pod/model000.dds",
          "Parts/MechJeb2_Pod/model001.dds",
          "MechJeb2/MechJeb2.csproj",
          "Parts/MechJeb2_Pod/model002.dds"
        ],
        "commitId" : "00ac5bdabd85f276f861b23007c2ee529dcbc86f",
        "timestamp" : 1687127930000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Remove the MechJebPod part\u000a\u000aThis hasn't worked in years and years.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-06-18 15:38:50 -0700",
        "id" : "00ac5bdabd85f276f861b23007c2ee529dcbc86f",
        "msg" : "Remove the MechJebPod part",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebPod.cs"
          },
          {
            "editType" : "delete",
            "file" : "Parts/MechJeb2_Pod/model.mu"
          },
          {
            "editType" : "delete",
            "file" : "Parts/MechJeb2_Pod/model000.dds"
          },
          {
            "editType" : "delete",
            "file" : "Parts/MechJeb2_Pod/part.cfg"
          },
          {
            "editType" : "delete",
            "file" : "Parts/MechJeb2_Pod/model001.dds"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "delete",
            "file" : "Parts/MechJeb2_Pod/model002.dds"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".idea/.idea.MechJeb2/.idea/indexLayout.xml",
          ".idea/.idea.MechJeb2/.idea/projectSettingsUpdater.xml",
          ".idea/.idea.MechJeb2/.idea/codeStyles/codeStyleConfig.xml",
          ".gitignore",
          ".idea/.idea.MechJeb2/.idea/vcs.xml"
        ],
        "commitId" : "465222152cd006e6027c8d8d6f0350850e90e51f",
        "timestamp" : 1687129506000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Update gitignore for JetBrains IDEs\u000a\u000aThis starts properly sharing project settings correctly I think.\u000a\u000aAlso ignores syncthing conflict garbage files.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-06-18 16:05:06 -0700",
        "id" : "465222152cd006e6027c8d8d6f0350850e90e51f",
        "msg" : "Update gitignore for JetBrains IDEs",
        "paths" : [
          {
            "editType" : "add",
            "file" : ".idea/.idea.MechJeb2/.idea/codeStyles/codeStyleConfig.xml"
          },
          {
            "editType" : "add",
            "file" : ".idea/.idea.MechJeb2/.idea/indexLayout.xml"
          },
          {
            "editType" : "add",
            "file" : ".idea/.idea.MechJeb2/.idea/projectSettingsUpdater.xml"
          },
          {
            "editType" : "edit",
            "file" : ".gitignore"
          },
          {
            "editType" : "add",
            "file" : ".idea/.idea.MechJeb2/.idea/vcs.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleWarpHelper.cs",
          "MechJeb2/MechJebModuleRendezvousAutopilotWindow.cs",
          "MechJeb2/LandingAutopilot/KillHorizontalVelocity.cs",
          "MechJeb2/MechJebModuleThrustWindow.cs",
          "MechJeb2/MechJebModuleNodeExecutor.cs",
          "MechJeb2/MechJebModuleDockingGuidance.cs",
          "MechJeb2/MechJebModuleAttitudeAdjustment.cs",
          "MechJeb2/MechJebModuleRCSController.cs",
          "MechJeb2/MechJebModuleSpaceplaneAutopilot.cs",
          "MechJeb2/MechJebModuleAscentClassicAutopilot.cs",
          "MechJeb2/MechJebModuleGuidanceController.cs",
          "MechJeb2/DisplayModule.cs",
          "MechJeb2/MechJebModuleSpaceplaneGuidance.cs",
          "MechJeb2/MechJebModuleWaypointWindow.cs",
          "MechJeb2/MechJebModuleAscentGTAutopilot.cs",
          "MechJeb2/MechJebModuleRoverController.cs",
          "MechJeb2/LandingAutopilot/CoastToDeceleration.cs",
          "MechJeb2/ComputerModule.cs",
          "MechJeb2/MechJebModuleLandingGuidance.cs",
          "MechJeb2/MechJebModulePVGGlueBall.cs",
          "MechJeb2/LandingAutopilot/FinalDescent.cs",
          "MechJeb2/MechJebModuleStagingController.cs",
          "MechJeb2/MechJebModuleManeuverPlanner.cs",
          "MechJeb2/MechJebModuleRendezvousGuidance.cs",
          "MechJeb2/LandingAutopilot/LowDeorbitBurn.cs",
          "MechJeb2/MechJebModuleSpinupController.cs",
          "MechJeb2/VesselState.cs",
          "MechJeb2/MechJebModuleAscentSettingsMenu.cs",
          "MechJeb2/LandingAutopilot/DecelerationBurn.cs",
          "MechJeb2/MechJebModuleDeployableController.cs",
          "MechJeb2/MechJebModuleRoverWindow.cs",
          "MechJeb2/MechJebModuleNodeEditor.cs",
          "MechJeb2/MechJebModuleTranslatron.cs",
          "MechJeb2/MechJebModuleAscentMenu.cs",
          "MechJeb2/MechJebModuleRendezvousAutopilot.cs",
          "MechJeb2/MechJebModuleAscentSettings.cs",
          "MechJeb2/LandingAutopilot/PlaneChange.cs",
          "MechJeb2/MechJebModuleSettings.cs",
          "MechJeb2/LandingAutopilot/CourseCorrection.cs",
          "MechJeb2/MechjebBundlesManager.cs",
          "MechJeb2/MechJebModuleAttitudeController.cs",
          "MechJeb2/MechJebModuleDebugArrows.cs",
          "MechJeb2/MechJebModuleDockingAutopilot.cs",
          "MechJeb2/LandingAutopilot/DeorbitBurn.cs",
          "MechJeb2/AutopilotModule.cs",
          "MechJeb2/MechJebModuleLandingPredictions.cs",
          "MechJeb2/MechJebModuleSmartASS.cs",
          "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs",
          "MechJeb2/MechJebModuleMenu.cs",
          "MechJeb2/MechJebModuleAscentBaseAutopilot.cs",
          "MechJeb2/MechJebModuleAirplaneGuidance.cs",
          "MechJeb2/LandingAutopilot/UntargetedDeorbit.cs",
          "MechJeb2/MechJebModuleLandingAutopilot.cs",
          "MechJeb2/MechJebModuleSmartRcs.cs",
          "MechJeb2/MechJebModuleThrustController.cs",
          "MechJeb2/MechJebModuleAscentPVGAutopilot.cs",
          "MechJeb2/MechJebCore.cs",
          "MechJeb2/MechJebModuleInfoItems.cs",
          "MechJeb2/MechJebModuleAirplaneAutopilot.cs"
        ],
        "commitId" : "1bcbef069392dac7971d1d6a420edc51e7d561f7",
        "timestamp" : 1687138296000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Possibly breaking cleanup of MechJebCore\u000a\u000aThe renaming here is intended to be breaking, mods will need to\u000aupdate.  I tried to keep public APIs that looked deliberately\u000apublic to be [UsedImplicitly] and visible, if the visibility\u000achanged of something that should be made public that is a bug\u000aand it can be reverted back to public.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-06-18 18:31:36 -0700",
        "id" : "1bcbef069392dac7971d1d6a420edc51e7d561f7",
        "msg" : "Possibly breaking cleanup of MechJebCore",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/UntargetedDeorbit.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/KillHorizontalVelocity.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/FinalDescent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWaypointWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ComputerModule.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSmartRcs.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleTranslatron.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/CourseCorrection.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentClassicAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/PlaneChange.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentGTAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDockingAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSpaceplaneGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDeployableController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDebugArrows.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebCore.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousAutopilotWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleManeuverPlanner.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/DecelerationBurn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAirplaneGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWarpHelper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDockingGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechjebBundlesManager.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettings.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AutopilotModule.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettingsMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAttitudeAdjustment.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRoverController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRoverWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSpinupController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSpaceplaneAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/VesselState.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAirplaneAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeEditor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/DisplayModule.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSettings.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSmartASS.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAttitudeController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/DeorbitBurn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRCSController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingPredictions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/CoastToDeceleration.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleInfoItems.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/LowDeorbitBurn.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleStageStats.cs",
          "MechJeb2/MechJebModuleWarpHelper.cs",
          "MechJeb2/Maneuver/OperationResonantOrbit.cs",
          "MechJeb2/MechJebModuleRendezvousAutopilotWindow.cs",
          "MechJeb2/Maneuver/TimeSelector.cs",
          "MechJeb2/MechJebModuleFlightRecorderGraph.cs",
          "MechJeb2/MechJebModuleThrustWindow.cs",
          "MechJeb2/MechJebModuleDockingGuidance.cs",
          "MechJeb2/MechJebModuleNodeExecutor.cs",
          "MechJeb2/Maneuver/OperationInclination.cs",
          "MechJeb2/MechJebModuleAttitudeAdjustment.cs",
          "MechJeb2/MechJebModuleRCSController.cs",
          "MechJeb2/Maneuver/OperationCourseCorrection.cs",
          "MechJeb2/MechJebModuleSpaceplaneAutopilot.cs",
          "MechJeb2/MechJebModuleAscentClassicAutopilot.cs",
          "MechJeb2/DisplayModule.cs",
          "MechJeb2/MechJebModuleGuidanceController.cs",
          "MechJeb2/MechJebModuleSpaceplaneGuidance.cs",
          "MechJeb2/MechJebModuleWaypointWindow.cs",
          "MechJeb2/MechJebModuleAscentGTAutopilot.cs",
          "MechJeb2/MechJebModuleRoverController.cs",
          "MechJeb2/LandingAutopilot/CoastToDeceleration.cs",
          "MechJeb2/MechJebModuleLandingGuidance.cs",
          "MechJeb2/ComputerModule.cs",
          "MechJeb2/MechJebModulePVGGlueBall.cs",
          "MechJeb2/Maneuver/OperationTransfer.cs",
          "MechJeb2/MechJebModuleRCSBalancer.cs",
          "MechJeb2/MechJebModuleStagingController.cs",
          "MechJeb2/MechJebModuleManeuverPlanner.cs",
          "MechJeb2/MechJebModuleRCSBalancerWindow.cs",
          "MechJeb2/MechJebModuleRendezvousGuidance.cs",
          "MechJeb2/MechJebModuleSpinupController.cs",
          "MechJeb2/VesselState.cs",
          "MechJeb2/MechJebModuleAscentSettingsMenu.cs",
          "MechJeb2/AttitudeControllers/BaseAttitudeController.cs",
          "MechJeb2/Maneuver/OperationEllipticize.cs",
          "MechJeb2/Maneuver/OperationLambert.cs",
          "MechJeb2/Maneuver/OperationEccentricity.cs",
          "MechJeb2/MechJebModuleDeployableController.cs",
          "MechJeb2/MechJebModuleNodeEditor.cs",
          "MechJeb2/MechJebModuleRoverWindow.cs",
          "MechJeb2/MechJebModuleTranslatron.cs",
          "MechJeb2/AttitudeControllers/KosAttitudeController.cs",
          "MechJeb2/MechJebModuleAscentMenu.cs",
          "MechJeb2/MechJebModuleRendezvousAutopilot.cs",
          "MechJeb2/MechJebStageStatsHelper.cs",
          "MechJeb2/MechJebModuleAscentSettings.cs",
          "MechJeb2/Maneuver/OperationPeriapsis.cs",
          "MechJeb2/MechJebModuleCustomInfoWindow.cs",
          "MechJeb2/Maneuver/OperationApoapsis.cs",
          "MechJeb2/AttitudeControllers/MJAttitudeController.cs",
          "MechJeb2/MechJebModuleSettings.cs",
          "MechJeb2/LandingAutopilot/CourseCorrection.cs",
          "MechJeb2/GuiUtils.cs",
          "MechJeb2/MechJebModuleAttitudeController.cs",
          "MechJeb2/Maneuver/OperationSemiMajor.cs",
          "MechJeb2/MechJebModuleAscentClassicPathMenu.cs",
          "MechJeb2/MechJebModuleWarpController.cs",
          "MechJeb2/MechJebModuleDebugArrows.cs",
          "MechJeb2/MechJebModuleDockingAutopilot.cs",
          "MechJeb2/MechJebModuleTargetController.cs",
          "MechJeb2/MechJebModuleLandingPredictions.cs",
          "MechJeb2/MechJebModuleSmartASS.cs",
          "MechJeb2/AttitudeControllers/HybridController.cs",
          "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs",
          "MechJeb2/MechJebModuleMenu.cs",
          "MechJeb2/MechJebAR202.cs",
          "MechJeb2/MechJebModuleAscentBaseAutopilot.cs",
          "MechJeb2/MechJebModuleAirplaneGuidance.cs",
          "MechJeb2/MechJebModuleLandingAutopilot.cs",
          "MechJeb2/Maneuver/OperationMoonReturn.cs",
          "MechJeb2/MechJebModuleSmartRcs.cs",
          "MechJeb2/MechJebModuleThrustController.cs",
          "MechJeb2/Maneuver/OperationInterplanetaryTransfer.cs",
          "MechJeb2/MechJebModuleFlightRecorder.cs",
          "MechJeb2/MechJebModuleAscentPVGAutopilot.cs",
          "MechJeb2/MechJebCore.cs",
          "MechJeb2/AttitudeControllers/BetterController.cs",
          "MechJeb2/MechJebModuleInfoItems.cs",
          "MechJeb2/MechJebModuleAirplaneAutopilot.cs"
        ],
        "commitId" : "00891f801674b4aa34046339c051a8b3d151b1c6",
        "timestamp" : 1687192168000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "ComputerModule breaking API changes\u000a\u000aCleanup the API.  Like other PRs similar to this the name changes\u000aare intended to be breaking changes, the visibility changes can be\u000areversed and aren't intended to force people to use reflection to\u000acall private APIs (please don't) and can be switched back to public.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-06-19 09:29:28 -0700",
        "id" : "00891f801674b4aa34046339c051a8b3d151b1c6",
        "msg" : "ComputerModule breaking API changes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/VesselState.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRoverController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSpinupController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationMoonReturn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettingsMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BaseAttitudeController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSmartRcs.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSmartASS.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentClassicAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationResonantOrbit.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebStageStatsHelper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationTransfer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAttitudeAdjustment.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRCSController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/TimeSelector.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/DisplayModule.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentGTAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSpaceplaneGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/MJAttitudeController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/HybridController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BetterController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationCourseCorrection.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationLambert.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationPeriapsis.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleCustomInfoWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationInterplanetaryTransfer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationEllipticize.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSpaceplaneAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDockingGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeEditor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWaypointWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/CoastToDeceleration.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationSemiMajor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRCSBalancerWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleTargetController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAttitudeController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleInfoItems.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSettings.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebAR202.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDeployableController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationInclination.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebCore.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAirplaneGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentClassicPathMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettings.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStageStats.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAirplaneAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleTranslatron.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleFlightRecorderGraph.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingPredictions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRoverWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ComputerModule.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/CourseCorrection.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWarpController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/GuiUtils.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDebugArrows.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWarpHelper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationApoapsis.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/KosAttitudeController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousAutopilotWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleManeuverPlanner.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRCSBalancer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDockingAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleFlightRecorder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationEccentricity.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/FuelFlowSimulation.cs",
          "MechJeb2/FuelNode.cs"
        ],
        "commitId" : "da6dfe0a342b05000c2b7bc89bf2da04fa5a1373",
        "timestamp" : 1687209950000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Mostly automated FFS code cleanup\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-06-19 14:25:50 -0700",
        "id" : "da6dfe0a342b05000c2b7bc89bf2da04fa5a1373",
        "msg" : "Mostly automated FFS code cleanup",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/FuelFlowSimulation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/FuelNode.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebCore.cs"
        ],
        "commitId" : "6048d7c9af9a59211447fbd43d93c7571992812a",
        "timestamp" : 1687551150000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Add back the Ascent AP Toggle\u000a\u000anot sure why i deleted that, but it did have to change because of the\u000arestructuring of the ascent autopilots.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-06-23 13:12:30 -0700",
        "id" : "6048d7c9af9a59211447fbd43d93c7571992812a",
        "msg" : "Add back the Ascent AP Toggle",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebCore.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebCore.cs"
        ],
        "commitId" : "cd5311ff3d18babd04fcef95276b99f39da0a72f",
        "timestamp" : 1687551251000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "ergh, typo\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-06-23 13:14:11 -0700",
        "id" : "cd5311ff3d18babd04fcef95276b99f39da0a72f",
        "msg" : "ergh, typo",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebCore.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleSuicideTimer.cs",
          "MechJeb2/VesselExtensions.cs",
          "MechJeb2/MechJebModuleAscentClassicPathMenu.cs",
          "MechJeb2/MechJebModuleFlightRecorderGraph.cs",
          "MechJeb2/MechJebLib/SuicideBuilder.cs",
          "MechJeb2/MechJebLib/Utils/BackgroundJob.cs",
          "MechJeb2/MechJebModuleFlightRecorder.cs",
          "MechJeb2/MechJebModulePVGGlueBall.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJeb2/MechJebLib/Suicide.cs"
        ],
        "commitId" : "c206ba6d0ce5cbf4422feb9402f170c980c65f7a",
        "timestamp" : 1688169806000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Update to C# 9.0, add partial suicide burn overhaul\u000a\u000aThis is kinda weird, its got a half-finished fully numerical suicide\u000aburn overhaul I did which needs to be finished, also bumps the version\u000ato C# 9 and fixes a problem with the FlightRecorder using the 'record'\u000anewly reserved word, along with some support for BackgroundJob in the\u000aMechJebUtils class.\u000a\u000aWhat I really want is that support for BackgroundJobs to use with the\u000adelta-V overhaul, and all this work is drifting and merge conflicting as\u000aI rename things, so I'm going to merge the suicide burn timer a bit\u000ahalf-done.  The module isn't wired up anywhere so shouldn't run.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-06-30 17:03:26 -0700",
        "id" : "c206ba6d0ce5cbf4422feb9402f170c980c65f7a",
        "msg" : "Update to C# 9.0, add partial suicide burn overhaul",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleFlightRecorderGraph.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebModuleSuicideTimer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Suicide.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Utils/BackgroundJob.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleFlightRecorder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/VesselExtensions.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/SuicideBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentClassicPathMenu.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/VesselExtensions.cs"
        ],
        "commitId" : "8afb1ee6d11660a9130e78bf4765373ecb91a196",
        "timestamp" : 1688170175000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Guess we can't do this bit of C#9\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-06-30 17:09:35 -0700",
        "id" : "8afb1ee6d11660a9130e78bf4765373ecb91a196",
        "msg" : "Guess we can't do this bit of C#9",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/VesselExtensions.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/VesselExtensions.cs"
        ],
        "commitId" : "abb138acc1b2328236cdb6a7d5482245f1a8dd79",
        "timestamp" : 1688170315000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "And sadly we can't use new() either\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-06-30 17:11:55 -0700",
        "id" : "abb138acc1b2328236cdb6a7d5482245f1a8dd79",
        "msg" : "And sadly we can't use new() either",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/VesselExtensions.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJeb2.csproj"
        ],
        "commitId" : "863fb3003c2f0b25bdee8f4d0cf1fac016577c37",
        "timestamp" : 1688170457000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Back to C# 8.0\u000a\u000aI think @sarbian would have to update the compilers on jankins\u000a\u000aBut then that doesn't give any good feedback if the features are busted\u000aon the older KSP runtime, so maybe that wasn't a good idea.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-06-30 17:14:17 -0700",
        "id" : "863fb3003c2f0b25bdee8f4d0cf1fac016577c37",
        "msg" : "Back to C# 8.0",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Utils/BackgroundJob.cs"
        ],
        "commitId" : "9adc415ebe0d26259f4b9e8b2da5cd41c590646f",
        "timestamp" : 1688170667000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "And fix the code to compile properly on C# 8.0\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-06-30 17:17:47 -0700",
        "id" : "9adc415ebe0d26259f4b9e8b2da5cd41c590646f",
        "msg" : "And fix the code to compile properly on C# 8.0",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/BackgroundJob.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleDockingNode.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimProceduralFairingDecoupler.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleEngines.cs",
          "MechJeb2/MechJebLib/Utils/Statics.cs",
          "MechJeb2/MechJebLib/Simulations/SimResource.cs",
          "MechJeb2/MechJebLib/Utils/DictOfLists.cs",
          "MechJeb2/MechJebLib/Simulations/SimPartModule.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJeb2/MechJebLib/Simulations/Builder.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleAnchoredDecoupler.cs",
          "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs",
          "MechJeb2/MathExtensions.cs",
          "MechJeb2/MechJebLib/Simulations/FuelStats.cs",
          "MechJeb2/MechJebModuleNewFFSTesting.cs",
          "MechJeb2/MechJebLib/Simulations/SimPart.cs",
          "MechJeb2/MechJebLib/Simulations/SimVessel.cs",
          "MechJeb2/MechJebLib/Simulations/SimPropellant.cs",
          "MechJeb2.sln.DotSettings",
          "MechJeb2/MechJebCore.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimLaunchClamp.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleDecouple.cs",
          "MechJeb2/MechJebLib/Simulations/DecouplingAnalyzer.cs"
        ],
        "commitId" : "55727c501a742a093756a47108d6a632e41da34b",
        "timestamp" : 1688170921000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Savegame:  working simulation with residuals\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-06-30 17:22:01 -0700",
        "id" : "55727c501a742a093756a47108d6a632e41da34b",
        "msg" : "Savegame:  working simulation with residuals",
        "paths" : [
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimProceduralFairingDecoupler.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Simulations/FuelStats.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVessel.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Statics.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2.sln.DotSettings"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Simulations/SimPartModule.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimLaunchClamp.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Simulations/SimResource.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleDockingNode.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MathExtensions.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Simulations/SimPropellant.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Simulations/Builder.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Simulations/SimPart.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Utils/DictOfLists.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebCore.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleDecouple.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleEngines.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Simulations/DecouplingAnalyzer.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebModuleNewFFSTesting.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleAnchoredDecoupler.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Simulations/Builder.cs",
          "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleRCS.cs",
          "MechJeb2/MechJebLib/Simulations/FuelStats.cs",
          "MechJeb2/FuelStats.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleEngines.cs",
          "MechJeb2/MechJebLib/Simulations/SimPart.cs",
          "MechJeb2/MechJebLib/Simulations/SimVessel.cs",
          "MechJeb2/MechJebCore.cs",
          "MechJeb2/MechJebLib/Simulations/SimResource.cs",
          "MechJeb2/MechJeb2.csproj"
        ],
        "commitId" : "7f45d8bd3dd072a17daf1fe52aeb54d1fdd99385",
        "timestamp" : 1688170978000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Savegame: algorithm is basically working\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-06-30 17:22:58 -0700",
        "id" : "7f45d8bd3dd072a17daf1fe52aeb54d1fdd99385",
        "msg" : "Savegame: algorithm is basically working",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVessel.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebCore.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/FuelStats.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimResource.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/FuelStats.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleEngines.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleRCS.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimPart.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/Builder.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Simulations/Builder.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleAnchoredDecoupler.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleDockingNode.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleRCS.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimProceduralFairingDecoupler.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleEngines.cs",
          "MechJeb2/MechJebLib/Simulations/SimPart.cs",
          "MechJeb2/MechJebLib/Simulations/SimVessel.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleDecouple.cs",
          "MechJeb2/MechJebLib/Simulations/SimPartModule.cs"
        ],
        "commitId" : "d32fc91faba0566c4bafd4c47cac1b645d4dddda",
        "timestamp" : 1688170979000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "support activating RCS\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-06-30 17:22:59 -0700",
        "id" : "d32fc91faba0566c4bafd4c47cac1b645d4dddda",
        "msg" : "support activating RCS",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimPart.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleDecouple.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVessel.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/Builder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleAnchoredDecoupler.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleEngines.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleDockingNode.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimProceduralFairingDecoupler.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimPartModule.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleRCS.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Simulations/Builder.cs"
        ],
        "commitId" : "f1d5eb312f0c11823da100c5cf03f847f92fdef8",
        "timestamp" : 1688170979000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Clean up API a bit\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-06-30 17:22:59 -0700",
        "id" : "f1d5eb312f0c11823da100c5cf03f847f92fdef8",
        "msg" : "Clean up API a bit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/Builder.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleEngines.cs",
          "MechJeb2/MechJebLib/Simulations/SimVesselBuilder.cs",
          "MechJeb2/MechJebLib/Simulations/SimResource.cs",
          "MechJeb2/MechJebLib/Utils/DictOfLists.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleAnchoredDecoupler.cs",
          "MechJeb2/MechJebLib/Simulations/Builder.cs",
          "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleRCS.cs",
          "MechJeb2/MechJebLib/Simulations/SimVesselManager.cs",
          "MechJeb2/MechJebModuleNewFFSTesting.cs",
          "MechJeb2/MechJebLib/Simulations/SimVesselUpdater.cs",
          "MechJeb2/MechJebLib/Simulations/SimPart.cs",
          "MechJeb2/MechJebLib/Simulations/SimVessel.cs",
          "MechJeb2/MechJebLib/Simulations/DecouplingAnalyzer.cs"
        ],
        "commitId" : "13fb2ac90fc79f5aebd4b7a3579a98312131a25f",
        "timestamp" : 1688344963000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Break up Build and Update and use object pooling\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-07-02 17:42:43 -0700",
        "id" : "13fb2ac90fc79f5aebd4b7a3579a98312131a25f",
        "msg" : "Break up Build and Update and use object pooling",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNewFFSTesting.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleEngines.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/DecouplingAnalyzer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVessel.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimResource.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselUpdater.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleAnchoredDecoupler.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselManager.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Simulations/Builder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimPart.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/DictOfLists.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleRCS.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleNewFFSTesting.cs",
          "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs",
          "MechJeb2/MechJebLib/Simulations/SimVesselBuilder.cs",
          "MechJeb2/MechJebLib/Simulations/SimVesselManager.cs"
        ],
        "commitId" : "34eb79ea8c8099fd21bd86f4cc810a16da4420ec",
        "timestamp" : 1688358028000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Use callbacks and fix a few bugs\u000a\u000aNow works from pad to orbit with my test vehicle.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-07-02 21:20:28 -0700",
        "id" : "34eb79ea8c8099fd21bd86f4cc810a16da4420ec",
        "msg" : "Use callbacks and fix a few bugs",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselManager.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNewFFSTesting.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleStageStats.cs",
          "MechJeb2/MechJebLib/PVG/Solution.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleEngines.cs",
          "MechJeb2/MechJebModuleNodeExecutor.cs",
          "MechJebLibTest/PVG/AscentTests/BuggyTests.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJeb2/MechJebModuleAscentMenu.cs",
          "MechJebLibTest/PVG/AscentTests/TheStandardTests.cs",
          "MechJeb2/MechJebStageStatsHelper.cs",
          "MechJeb2/MechJebLib/Simulations/FuelStats.cs",
          "MechJeb2/MechJebLib/Simulations/DecouplingAnalyzer.cs",
          "MechJebLibTest/PVG/Integrators/VacuumCoastAnalyticTests.cs",
          "MechJeb2/MechJebModuleOldStageStats.cs",
          "MechJeb2/MechJebLib/PVG/AscentBuilder.cs",
          "MechJeb2/MechJebLib/SuicideBuilder.cs",
          "MechJeb2/MechJebModulePVGGlueBall.cs",
          "MechJeb2/MechJebModuleSuicideTimer.cs",
          "MechJeb2/MechJebModuleStagingController.cs",
          "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs",
          "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs",
          "MechJeb2/MechJebLib/Simulations/SimVesselManager.cs",
          "MechJeb2/MechJebLib/PVG/Phase.cs",
          "MechJeb2/MechJebModuleNewFFSTesting.cs",
          "MechJebLibTest/PVG/Integrators/VacuumThrustIntegratorTests.cs",
          "MechJebLibTest/PVG/AscentTests/Titan2Tests.cs",
          "MechJeb2/MechJebLib/Simulations/SimVessel.cs",
          "MechJeb2/MechJebCore.cs",
          "MechJeb2/MechJebModuleInfoItems.cs"
        ],
        "commitId" : "c56094456dca6ec1eca1f7134f12307812ea8629",
        "timestamp" : 1688608014000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Savegame: lots of fixes\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-07-05 18:46:54 -0700",
        "id" : "c56094456dca6ec1eca1f7134f12307812ea8629",
        "msg" : "Savegame: lots of fixes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/SuicideBuilder.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebModuleNewFFSTesting.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/AscentTests/Titan2Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/FuelStats.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebStageStatsHelper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Phase.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleEngines.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVessel.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Solution.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselManager.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleInfoItems.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSuicideTimer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/DecouplingAnalyzer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/AscentBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStageStats.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/Integrators/VacuumCoastAnalyticTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/AscentTests/BuggyTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebModuleOldStageStats.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/AscentTests/TheStandardTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/Integrators/VacuumThrustIntegratorTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebCore.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleStageStats.cs",
          "MechJeb2/MechJebLib/Primitives/H1.cs",
          "MechJeb2/ComputerModule.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleEngines.cs",
          "MechJeb2/MechJebModuleNodeExecutor.cs",
          "MechJeb2/MechJebModulePVGGlueBall.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJeb2/MechJebModuleAscentMenu.cs",
          "MechJeb2/MechJebStageStatsHelper.cs",
          "MechJeb2/MechJebModuleStagingController.cs",
          "MechJeb2/MechJebModuleSuicideTimer.cs",
          "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs",
          "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs",
          "MechJeb2/MechJebLib/Simulations/SimVesselManager.cs",
          "MechJeb2/MechJebLib/Primitives/HBase.cs",
          "MechJeb2/MechJebLib/Simulations/FuelStats.cs",
          "MechJeb2/MechJebModuleStageStatsOld.cs",
          "Localization/en-us.cfg",
          "MechJeb2/MechJebLib/Simulations/SimVessel.cs",
          "MechJeb2.sln.DotSettings",
          "MechJeb2/MechJebModuleOldStageStats.cs",
          "MechJeb2/MechJebModuleInfoItems.cs"
        ],
        "commitId" : "663f947a441067097e75ee1a70e3105dad13de20",
        "timestamp" : 1688777012000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Savegame: getting close\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-07-07 17:43:32 -0700",
        "id" : "663f947a441067097e75ee1a70e3105dad13de20",
        "msg" : "Savegame: getting close",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebModuleOldStageStats.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselManager.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/H1.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/HBase.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2.sln.DotSettings"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/FuelStats.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStageStats.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleInfoItems.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ComputerModule.cs"
          },
          {
            "editType" : "edit",
            "file" : "Localization/en-us.cfg"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleEngines.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebStageStatsHelper.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebModuleStageStatsOld.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVessel.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSuicideTimer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleStageStats.cs",
          "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs",
          "MechJeb2/MechJebLib/Simulations/SimVesselManager.cs",
          "MechJeb2/MechJebModuleCustomInfoWindow.cs",
          "MechJeb2/MechJebLib/Simulations/FuelStats.cs",
          "MechJeb2/MechJebModuleStageStatsOld.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleEngines.cs",
          "MechJeb2/MechJebLib/Simulations/SimVesselUpdater.cs",
          "MechJeb2/MechJebLib/Simulations/SimPart.cs",
          "MechJeb2/MechJebLib/Simulations/SimVessel.cs",
          "MechJeb2/MechJebLib/Simulations/SimVesselBuilder.cs",
          "MechJeb2/MechJebLib/Simulations/DecouplingAnalyzer.cs"
        ],
        "commitId" : "8e3791d202aa7036227577afb5a4db271e1fcffd",
        "timestamp" : 1688962465000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Finished with perf pass and more bugs fixed\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-07-09 21:14:25 -0700",
        "id" : "8e3791d202aa7036227577afb5a4db271e1fcffd",
        "msg" : "Finished with perf pass and more bugs fixed",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVessel.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/FuelStats.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStageStats.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStageStatsOld.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleEngines.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselUpdater.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselManager.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleCustomInfoWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/DecouplingAnalyzer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimPart.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Simulations/SimVesselUpdater.cs"
        ],
        "commitId" : "fcb566a7cd03fe955d4909f53183de5739b43a1e",
        "timestamp" : 1688962867000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "slighly more readable reflection\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-07-09 21:21:07 -0700",
        "id" : "fcb566a7cd03fe955d4909f53183de5739b43a1e",
        "msg" : "slighly more readable reflection",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselUpdater.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Simulations/SimVesselUpdater.cs"
        ],
        "commitId" : "b381fcd06e5083cfe9865e81556545ab4ab940cb",
        "timestamp" : 1688962956000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "even more betterer reflection\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-07-09 21:22:36 -0700",
        "id" : "b381fcd06e5083cfe9865e81556545ab4ab940cb",
        "msg" : "even more betterer reflection",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselUpdater.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Simulations/SimVesselUpdater.cs"
        ],
        "commitId" : "2b5ee1625d7af153c34a3bd8cc122124115e4662",
        "timestamp" : 1688963025000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "okay now we're getting concise\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-07-09 21:23:45 -0700",
        "id" : "2b5ee1625d7af153c34a3bd8cc122124115e4662",
        "msg" : "okay now we're getting concise",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselUpdater.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleSuicideTimer.cs",
          "MechJeb2/MechJebModuleStageStats.cs",
          "MechJeb2/MechJebStageStatsHelper.cs",
          "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs",
          "MechJeb2/MechJebLib/Simulations/SimVesselManager.cs",
          "MechJeb2/MechJebModuleAscentBaseAutopilot.cs",
          "MechJeb2/MechJebLib/Utils/BackgroundJob.cs",
          "MechJeb2/MechJebModuleNodeExecutor.cs",
          "MechJeb2/MechJebModulePVGGlueBall.cs",
          "MechJeb2/MechJebLib/Suicide.cs",
          "MechJeb2/MechJebModuleInfoItems.cs",
          "MechJeb2/MechJebModuleAscentMenu.cs"
        ],
        "commitId" : "ec3be1b7112ab5306afe55d994ecbe78a2b29a43",
        "timestamp" : 1689047786000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Finished threading and everything done on the TODO list\u000a\u000aReally I don't think its done though but its time to start\u000aiterating on bugfixing and get feedback.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-07-10 20:56:26 -0700",
        "id" : "ec3be1b7112ab5306afe55d994ecbe78a2b29a43",
        "msg" : "Finished threading and everything done on the TODO list",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselManager.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSuicideTimer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Suicide.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/BackgroundJob.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStageStats.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleInfoItems.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebStageStatsHelper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleStageStats.cs",
          "MechJeb2/MechJebLib/Utils/BackgroundJob.cs"
        ],
        "commitId" : "ee36930b591785b15ae28f2a1e8b56203a2c404b",
        "timestamp" : 1689100355000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Faster flight refresh interval\u000a\u000a500ms for the VAB is pretty good, but its really clunky looking in\u000aflight and in flight we have lighterweight updates.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-07-11 11:32:35 -0700",
        "id" : "ee36930b591785b15ae28f2a1e8b56203a2c404b",
        "msg" : "Faster flight refresh interval",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/BackgroundJob.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStageStats.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/ComputerModule.cs",
          "MechJeb2/MechJebModuleAscentPVGAutopilot.cs",
          "MechJeb2/MechJebModuleAscentSettings.cs"
        ],
        "commitId" : "d9df5df9ecd5ad176bd4fd55594554343583c845",
        "timestamp" : 1689884695000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Cascade disabling of Guidance Controller to PVG Autopilot\u000a\u000aThis fixes the problem where PVG would finish but the staging controller\u000awould still run once and jettison a stage.\u000a\u000aThe largest bug here was that PVG would disable itself but then the\u000aautopilot+glueball wouldn't run until later and see that it should\u000aterminate.\u000a\u000aThis change makes the disabling of the guidance controller fire an\u000aaction to disable the \"calling\" module as well.\u000a\u000aIt does this via the introduction of an events API into ComputerModule\u000awith one supported event ModuleDisabledEvent and the addition of an\u000aAPI CascadeDisable() which lets a computer module call that on another\u000acomputer module to setup an event to have itself disabled when the\u000atarget module disables itself.\u000a\u000aThis places the calling module in control, which seems right (rather\u000athan making the GuidanceController know to poke the PVG autopilot which\u000aseems very, very wrong).\u000a\u000aThere's other jankiness going on in here with the weird coupling between\u000athe PVG Autopilot, the Guidance Controller and the PVG Glueball where\u000athey're all touching all kinds of different modules without being\u000a'subscribed' to those modules.\u000a\u000aBut this gets the right behavior since when the GuidanceController\u000adisables itself that executes the callback which disables the PVG\u000aautopilot and since the PVG autopilot is the \"process group leader\"\u000aand it has an OnModuleDisabled that disables the whole tree, that\u000amakes sure that this works more or less like killing the process\u000agroup leader in Unix.  By the time that \"Enabled = false\" returns\u000ato the GuidanceController method the whole set of modules is disabled.\u000a\u000aI took a little bit of care to have the callbacks execute in the reverse\u000aorder that CascadeDelete() was called and to have them be\u000anon-duplicated.\u000a\u000aThe event is called ModuleDisabledEvent instead of onModuleDisabled or\u000aOnModuleDisabled because that already exists as the abstract API for\u000athe ComputerModule itself, naming things is hard.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-07-20 13:24:55 -0700",
        "id" : "d9df5df9ecd5ad176bd4fd55594554343583c845",
        "msg" : "Cascade disabling of Guidance Controller to PVG Autopilot",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/ComputerModule.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettings.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleSpinupController.cs",
          "MechJeb2/MechJebModuleStagingController.cs",
          "MechJeb2/MechJebModuleGuidanceController.cs"
        ],
        "commitId" : "7bb88a34083c1a6109b94981239af45f016cf038",
        "timestamp" : 1689911807000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Let multiple modules limit autostaging and add/remove independently\u000a\u000aThis way they don't scribble over what each other wants, and the\u000astaging controller is responsible for tracking and satisfying\u000amultiple requests.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-07-20 20:56:47 -0700",
        "id" : "7bb88a34083c1a6109b94981239af45f016cf038",
        "msg" : "Let multiple modules limit autostaging and add/remove independently",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSpinupController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleAscentGTAutopilot.cs",
          "MechJeb2/MechJebModuleAttitudeController.cs",
          "MechJeb2/LandingAutopilot/DecelerationBurn.cs",
          "MechJeb2/LandingAutopilot/CoastToDeceleration.cs",
          "MechJeb2/LandingAutopilot/DeorbitBurn.cs",
          "MechJeb2/MechJebModuleThrustWindow.cs",
          "MechJeb2/LandingAutopilot/KillHorizontalVelocity.cs",
          "MechJeb2/MechJebModuleNodeExecutor.cs",
          "MechJeb2/MechJebModuleTranslatron.cs",
          "MechJeb2/MechJebModuleStagingController.cs",
          "MechJeb2/MechJebModuleAscentSettings.cs",
          "MechJeb2/LandingAutopilot/FinalDescent.cs",
          "MechJeb2/LandingAutopilot/PlaneChange.cs",
          "MechJeb2/MechJebModuleMenu.cs",
          "MechJeb2/LandingAutopilot/UntargetedDeorbit.cs",
          "MechJeb2/LandingAutopilot/LowDeorbitBurn.cs",
          "MechJeb2/MechJebModuleAscentClassicAutopilot.cs",
          "MechJeb2/MechJebModuleGuidanceController.cs",
          "MechJeb2/MechJebModuleThrustController.cs",
          "MechJeb2/MechJebCore.cs",
          "MechJeb2/MechJebModuleAscentSettingsMenu.cs",
          "MechJeb2/MechJebModuleAirplaneAutopilot.cs",
          "MechJeb2/LandingAutopilot/CourseCorrection.cs"
        ],
        "commitId" : "29b2e36f83eb57de4359af8939582038ef84dfac",
        "timestamp" : 1689962758000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "ThrustController and StagingController cleanup\u000a\u000aas per all the other cleanup PRs the renames are intentional code\u000abreaks, any changes in visibility can be reverted to public (just\u000asubmit a PR to revert it and tag it with UsedImplicitly and maybe\u000aa comment on what uses it)\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-07-21 11:05:58 -0700",
        "id" : "29b2e36f83eb57de4359af8939582038ef84dfac",
        "msg" : "ThrustController and StagingController cleanup",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAirplaneAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettings.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/DeorbitBurn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/PlaneChange.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/UntargetedDeorbit.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebCore.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentGTAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/CoastToDeceleration.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/FinalDescent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/KillHorizontalVelocity.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettingsMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/DecelerationBurn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/LowDeorbitBurn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAttitudeController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentClassicAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/CourseCorrection.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleTranslatron.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/Maneuver/OperationPeriapsis.cs",
          "MechJeb2/Maneuver/OperationApoapsis.cs"
        ],
        "commitId" : "9605873f51ae3fb3767eb0bc0f5cbc464518293b",
        "timestamp" : 1690129554000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "add back adjusting apo-at-apo and per-at-per\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-07-23 09:25:54 -0700",
        "id" : "9605873f51ae3fb3767eb0bc0f5cbc464518293b",
        "msg" : "add back adjusting apo-at-apo and per-at-per",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationPeriapsis.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationApoapsis.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Simulations/SimVessel.cs"
        ],
        "commitId" : "cc8262c108248e3a742b25e031c4634070f4bd68",
        "timestamp" : 1690164287000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Reset SpoolupCurrent to 0 on recalc\u000a\u000aShould fix spoolup time increasing ludicrously, breaking warp in nod executor (and presumably other things)\u000a",
        "date" : "2023-07-23 19:04:47 -0700",
        "id" : "cc8262c108248e3a742b25e031c4634070f4bd68",
        "msg" : "Reset SpoolupCurrent to 0 on recalc",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVessel.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Simulations/SimVessel.cs"
        ],
        "commitId" : "ca8cc5bf2df5aaf79daa316f3576d53497181639",
        "timestamp" : 1690164429000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "make it pretty\u000a",
        "date" : "2023-07-23 19:07:09 -0700",
        "id" : "ca8cc5bf2df5aaf79daa316f3576d53497181639",
        "msg" : "make it pretty",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVessel.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/Maneuver/OperationEllipticize.cs",
          "MechJeb2/Maneuver/OperationAdvancedTransfer.cs",
          "MechJeb2/Maneuver/OperationSemiMajor.cs",
          "MechJeb2/Maneuver/OperationLambert.cs",
          "MechJeb2/Maneuver/OperationResonantOrbit.cs",
          "MechJeb2/Maneuver/TimeSelector.cs",
          "MechJeb2/Maneuver/OperationEccentricity.cs",
          "MechJeb2/Maneuver/OperationKillRelVel.cs",
          "MechJeb2/Maneuver/OperationInclination.cs",
          "MechJeb2/Maneuver/OperationTransfer.cs",
          "MechJeb2/Maneuver/OperationCircularize.cs",
          "MechJeb2/MechJebModuleStagingController.cs",
          "MechJeb2/Maneuver/OperationPeriapsis.cs",
          "MechJeb2/MechJebModuleManeuverPlanner.cs",
          "MechJeb2/Maneuver/OperationCourseCorrection.cs",
          "MechJeb2/Maneuver/OperationApoapsis.cs",
          "MechJeb2/Maneuver/OperationLongitude.cs",
          "MechJeb2/Maneuver/OperationPlane.cs",
          "MechJeb2/Maneuver/OperationMoonReturn.cs",
          "MechJeb2/Maneuver/OperationInterplanetaryTransfer.cs",
          ".editorconfig",
          "MechJeb2/Maneuver/OperationLan.cs"
        ],
        "commitId" : "6514738ccc7c4fa1009737ba8ade5ec86f9a144b",
        "timestamp" : 1690331441000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Some Maneuver code cleanup\u000a\u000a- use initializers instead of constructors\u000a- remove API that was orphaned after the scripts module was deleted\u000a- move some allocations to statics, particularly localizations\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-07-25 17:30:41 -0700",
        "id" : "6514738ccc7c4fa1009737ba8ade5ec86f9a144b",
        "msg" : "Some Maneuver code cleanup",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationAdvancedTransfer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationPeriapsis.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationSemiMajor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationInclination.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationLan.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationInterplanetaryTransfer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationLambert.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationEllipticize.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationLongitude.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationPlane.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationCircularize.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationMoonReturn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationApoapsis.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleManeuverPlanner.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/TimeSelector.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationCourseCorrection.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationKillRelVel.cs"
          },
          {
            "editType" : "edit",
            "file" : ".editorconfig"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationEccentricity.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationResonantOrbit.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationTransfer.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleGuidanceController.cs",
          "MechJeb2/MechJebModuleStagingController.cs",
          "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs",
          "MechJeb2/MechJebModuleAscentMenu.cs",
          "MechJeb2/MechJebLib/PVG/Solution.cs"
        ],
        "commitId" : "705c6d559bae1e61655592f5d99b51e12822ced1",
        "timestamp" : 1690347236000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix autostage limit bug that broke coasts\u000a\u000a- fix in the StagingController to update the limit every time in\u000a  case it changes (which it does in the guidance controller).\u000a- fixes UI bug to show KSP stage in the PVG settings menu\u000a- fixes UI bug to show KSP stage next to the coast in the PVG solution\u000a  display.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-07-25 21:53:56 -0700",
        "id" : "705c6d559bae1e61655592f5d99b51e12822ced1",
        "msg" : "Fix autostage limit bug that broke coasts",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Solution.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Simulations/SimVesselUpdater.cs",
          "MechJeb2/MechJebLib/Simulations/SimVesselBuilder.cs"
        ],
        "commitId" : "b4dd0e59251b1d53a51c957345b4016e2a902905",
        "timestamp" : 1690574990000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Residuals calcs update every tick\u000a\u000aThis should stop the issue where the engine burns past the\u000aMJ prediction of the 0s cutoff, so MJ is perfectly accurate right\u000aat the end.\u000a\u000aThis requires an updated RF from earlier today\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-07-28 13:09:50 -0700",
        "id" : "b4dd0e59251b1d53a51c957345b4016e2a902905",
        "msg" : "Residuals calcs update every tick",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselUpdater.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebStageStatsHelper.cs"
        ],
        "commitId" : "26f52564ef352acab818339fba9f95ba3c1af23e",
        "timestamp" : 1690579045000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Make KSPStage mandatory stage stats column\u000a\u000aI deeply hate seeing it being hidden and not exposing that information\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-07-28 14:17:25 -0700",
        "id" : "26f52564ef352acab818339fba9f95ba3c1af23e",
        "msg" : "Make KSPStage mandatory stage stats column",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebStageStatsHelper.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/AttitudeControllers/BetterController.cs"
        ],
        "commitId" : "7119129d9f7e070952467b7fbf89e4f5f55c159a",
        "timestamp" : 1690667107000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Update BetterController settings\u000a\u000aAnd make it easier to correctly set the SETTINGS_VERSION to force\u000abumping the defaults.\u000a",
        "date" : "2023-07-29 14:45:07 -0700",
        "id" : "7119129d9f7e070952467b7fbf89e4f5f55c159a",
        "msg" : "Update BetterController settings",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BetterController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Simulations/SimVesselUpdater.cs",
          "MechJeb2/MechJebLib/Simulations/SimPart.cs",
          "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs",
          "MechJeb2/MechJebLib/Simulations/SimVesselBuilder.cs",
          "MechJeb2/MechJebLib/Simulations/SimVessel.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleRCS.cs"
        ],
        "commitId" : "09cd44b9f15af1b18a20b4c993e8a853324c423c",
        "timestamp" : 1690737808000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "RCS Fuel Flow\u000a\u000aThis doesn't complete the RCS fuel flow simulation, but it gets to the\u000apoint of correctly activating RCS modules and setting up resource\u000adrains.\u000a\u000aIt supports all the same features as engines, so if anyone added nonISP\u000afuel to RCS or zero density resources, or different fuel 'modes' that\u000ait should all work correctly.\u000a\u000aNow the question is the shape of the algorithm that uses it to actually\u000adrain the resources and compute deltaV values.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-07-30 10:23:28 -0700",
        "id" : "09cd44b9f15af1b18a20b4c993e8a853324c423c",
        "msg" : "RCS Fuel Flow",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimPart.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselUpdater.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVessel.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleRCS.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebStageStatsHelper.cs",
          "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleRCS.cs",
          "MechJeb2/MechJebLib/Simulations/FuelStats.cs",
          "MechJeb2/MechJebLib/Simulations/SimPart.cs",
          "MechJeb2/MechJebLib/Utils/BackgroundJob.cs",
          "MechJeb2/MechJebLib/Simulations/SimVessel.cs",
          "MechJeb2/MechJebLib/Simulations/SimResource.cs",
          "MechJeb2/MechJebModuleInfoItems.cs"
        ],
        "commitId" : "45710d6488eb4bb9c569f6416e1f13f99edf43c1",
        "timestamp" : 1691107994000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Add RCS stats to the stage stats display\u000a\u000aWorks fairly similarly to KER, but knows about fuel flow and RCS\u000astaging activation.  RCS drop tanks in stock shouldn't work correctly\u000aat this point, need to have some kind of logic to quit the RCS\u000asimulation early if all of the drainable RCS resources have been\u000adrained from the parts that would drop after the next staging\u000aactivation.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-08-03 17:13:14 -0700",
        "id" : "45710d6488eb4bb9c569f6416e1f13f99edf43c1",
        "msg" : "Add RCS stats to the stage stats display",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebStageStatsHelper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVessel.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/FuelStats.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimPart.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimResource.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/BackgroundJob.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleInfoItems.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleRCS.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Simulations/SimResource.cs",
          "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs"
        ],
        "commitId" : "6c988a4fef06989425fae8444d595a26357dc6fa",
        "timestamp" : 1691111197000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix an RCS bug\u000a\u000aburntime and propellant counts were getting double-counted.\u000a\u000adebug logging was also excessive.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-08-03 18:06:37 -0700",
        "id" : "6c988a4fef06989425fae8444d595a26357dc6fa",
        "msg" : "Fix an RCS bug",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimResource.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Simulations/SimResource.cs",
          "MechJeb2/MechJebLib/Simulations/SimPart.cs",
          "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs"
        ],
        "commitId" : "dbe799827a530d202d8d4f17d3dc4aa307ddfe20",
        "timestamp" : 1691178374000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Zero residuals before doing RCS calcs\u000a\u000aModuleRCS doesn't have residuals and this was causing infinite spinning.\u000a\u000aNote that it makes me worried there's some sort of floating point round\u000aoff error bug inherent to residuals, because it should have at least\u000aworked and gotten the wrong answer.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-08-04 12:46:14 -0700",
        "id" : "dbe799827a530d202d8d4f17d3dc4aa307ddfe20",
        "msg" : "Zero residuals before doing RCS calcs",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimResource.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimPart.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebStageStatsHelper.cs",
          "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs"
        ],
        "commitId" : "8621b2e0c0441c81eaa862ed09949cf24c862c36",
        "timestamp" : 1691179806000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Change some RCS \"display\" logic\u000a\u000aIf you have a stage which has RCS and a thruster that both pull the\u000asame fuel (e.g. MMH+NTO) then the \"RCS ∆v max value\" which is really\u000athe value-after-all-the-normal-engine-fuel-tanks-are-drained will be\u000azero because the thruster drained all the shared RCS fuel.\u000a\u000aSo use the \"min\" values for stuff like resources burned and deltatime\u000aand the showEmpty button should key off the min value instead of max.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-08-04 13:10:06 -0700",
        "id" : "8621b2e0c0441c81eaa862ed09949cf24c862c36",
        "msg" : "Change some RCS \"display\" logic",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebStageStatsHelper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs"
        ],
        "commitId" : "738f22bf67311b0c4de4b92e200ac43c34d4f526",
        "timestamp" : 1691185508000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "slightly better behavior in residual threshold calcs\u000a\u000awhen we're checking if we're done with a tank we always need to\u000abe using the part.ResidualThreshold() which includes the\u000aresourceRequestRemainingThreshold floating point slop factor.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-08-04 14:45:08 -0700",
        "id" : "738f22bf67311b0c4de4b92e200ac43c34d4f526",
        "msg" : "slightly better behavior in residual threshold calcs",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleEngines.cs",
          "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs",
          "MechJeb2/MechJebLib/Simulations/SimVessel.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleRCS.cs"
        ],
        "commitId" : "ad5622b6316c383cea05af291d6d709c47bf9d18",
        "timestamp" : 1691194711000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix more residuals handling\u000a\u000aCorrectly resets residuals on every step and ModuleRCS drawing from\u000aan \"empty\" tank shared with a thruster will have some non-zero delta-V\u000afrom the leftover residuals.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-08-04 17:18:31 -0700",
        "id" : "ad5622b6316c383cea05af291d6d709c47bf9d18",
        "msg" : "Fix more residuals handling",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVessel.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleRCS.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleEngines.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Simulations/SimVesselUpdater.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleEngines.cs",
          "MechJeb2/MechJebLib/Simulations/SimVesselBuilder.cs"
        ],
        "commitId" : "09066d254c46705dfc2a50ff530ccdfb6bae199b",
        "timestamp" : 1691465060000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix DeltaV Stats and planes in RF\u000a\u000aWhen RF is loaded ModuleEngines can still be non-RF module engines\u000aso all the reflection needs to be conditional on checking we've\u000agot a valid ModuleEnginesRF.\u000a\u000aOld code used to do this by handling exceptions, new code sets up a\u000aboolean to check the type dynamically.  On build we take the hit\u000aof doing expensive dynamic type reflection, but tick to tick in\u000aupdate we use the boolean.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-08-07 20:24:20 -0700",
        "id" : "09066d254c46705dfc2a50ff530ccdfb6bae199b",
        "msg" : "Fix DeltaV Stats and planes in RF",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselUpdater.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleEngines.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselBuilder.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Simulations/SimResource.cs",
          "MechJeb2/MechJebLib/Simulations/SimVessel.cs"
        ],
        "commitId" : "85d48d4e1f8fc90f44c7813981c5e4b22d63ab8c",
        "timestamp" : 1691600971000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix roundoff handling in RCS calcs\u000a\u000aMissed a minus sign.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-08-09 10:09:31 -0700",
        "id" : "85d48d4e1f8fc90f44c7813981c5e4b22d63ab8c",
        "msg" : "Fix roundoff handling in RCS calcs",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimResource.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVessel.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Simulations/SimVesselUpdater.cs",
          "MechJeb2/MechJebLib/Simulations/SimVesselBuilder.cs"
        ],
        "commitId" : "7f3cd291ea1d56c6dbc7e4dd99321c816eb1387c",
        "timestamp" : 1691692901000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix residuals calcs again\u000a\u000aBiggest problem seems to be the inverted boolean check, no idea how that\u000awas working.  Also fixed it to correctly check subclassing, which\u000adidn't seem to be the current issue but probably is one.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-08-10 11:41:41 -0700",
        "id" : "7f3cd291ea1d56c6dbc7e4dd99321c816eb1387c",
        "msg" : "Fix residuals calcs again",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselUpdater.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselBuilder.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs",
          "MechJeb2/MechJebLib/PVG/Optimizer.cs",
          "MechJeb2/MechJebModulePVGGlueBall.cs",
          "MechJeb2/MechJebLib/PVG/InputLayout.cs",
          "MechJebLibTest/PVG/AscentTests/BuggyTests.cs"
        ],
        "commitId" : "83323fd6cb6b5b1ce4cbe95816670f6068eefe13",
        "timestamp" : 1691785039000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix some PVG optimizer edge conditions\u000a\u000aThis pins the initial mass to m0 of the phase so that the optimizer\u000adoesn't play around with it.  That is necessary to combine with the\u000amax burntime constraint in order to avoid the rocket burning past the\u000atau restriction and off into infinity.  If m0 is free then the tau\u000aconstraint becomes dynamic based on the selected value of m0 and no\u000alonger a box constraint (so this may need to change for e.g.\u000astage and a half or coasts in the middle of a stage).\u000a\u000aAlso though this flips the boolean so that the integrator shouldn't\u000ablow up when it goes past max interations, which seems to have been\u000aa mistake (although it surfaced this issue pretty nicely).\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-08-11 13:17:19 -0700",
        "id" : "83323fd6cb6b5b1ce4cbe95816670f6068eefe13",
        "msg" : "Fix some PVG optimizer edge conditions",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVG/AscentTests/BuggyTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Optimizer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/InputLayout.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/PVG/InputLayout.cs",
          "MechJeb2/MechJebLib/PVG/Optimizer.cs"
        ],
        "commitId" : "4c3a8f2b425e7d5a23658a7141179fa241fc752a",
        "timestamp" : 1691786676000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Additional box pinning in the PVG optimizer\u000a\u000apin r0, v0 and the burntime of fixed phases\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-08-11 13:44:36 -0700",
        "id" : "4c3a8f2b425e7d5a23658a7141179fa241fc752a",
        "msg" : "Additional box pinning in the PVG optimizer",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/InputLayout.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Optimizer.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleStageStats.cs",
          "MechJeb2/MechJebLib/Simulations/SimVessel.cs",
          "MechJeb2/MechJebModulePVGGlueBall.cs",
          "MechJeb2/MechJebLib/Simulations/SimVesselManager.cs"
        ],
        "commitId" : "26acae4479cff789994d5fec0c840abb4e24e684",
        "timestamp" : 1691961242000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Better PVG+StageStats integration\u000a\u000aSave off the initial conditions at the time that the stage stats\u000asimulation starts running.  Then when the results of that are fed into\u000aPVG, use those initial conditions so that the PVG simulation is\u000aconsistent and not using stagestats results from one tick and initial\u000aconditions from another.\u000a\u000aThis should reduce visual 'flicker' in the predictions display at the\u000avery least.  It might increase accuracy.\u000a\u000aIt does allow the update cycle of stage stats to be tweaked for\u000aperformance without really affecting PVG accuracy.  PVG producing\u000aresults that are a few 100ms stale doesn't really matter since it\u000aproduces the whole interpolated future trajectory.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-08-13 14:14:02 -0700",
        "id" : "26acae4479cff789994d5fec0c840abb4e24e684",
        "msg" : "Better PVG+StageStats integration",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVessel.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStageStats.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselManager.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs",
          "MechJeb2/MechJebLib/Simulations/SimVessel.cs",
          "MechJeb2/MechJebModulePVGGlueBall.cs",
          "MechJeb2/MechJebLib/Simulations/DecouplingAnalyzer.cs"
        ],
        "commitId" : "cbd396424c627d1376c1c007b6a1429fec6eb719",
        "timestamp" : 1692041524000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Tweak DecouplingAnalyzer algorithm\u000a\u000aAs we walk through the vessel we should never decrease the\u000adecoupledInStage value to a lower value based on the inverseStage of\u000athe decoupler.\u000a\u000aIf that happens then what we've done is fire a decoupler that is already\u000adecoupled.  In that case the decoupler is rendered \"sterile\" and is\u000atreated like just another part.\u000a\u000aThis is a departure from old behavior, but is necessary to get some\u000aanalysis to be correct, and to agree with the autostaging behavior of\u000amechjeb (and to make PVG work correctly).\u000a",
        "date" : "2023-08-14 12:32:04 -0700",
        "id" : "cbd396424c627d1376c1c007b6a1429fec6eb719",
        "msg" : "Tweak DecouplingAnalyzer algorithm",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVessel.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/DecouplingAnalyzer.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleAscentSettings.cs",
          "MechJeb2/MechJebModuleAscentBaseAutopilot.cs",
          "MechJeb2/MechJebModuleAscentMenu.cs"
        ],
        "commitId" : "62f53641dcacadd8fc476d45f9979bc693eb2351",
        "timestamp" : 1692044374000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Add option to override warp to plane\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-08-14 13:19:34 -0700",
        "id" : "62f53641dcacadd8fc476d45f9979bc693eb2351",
        "msg" : "Add option to override warp to plane",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettings.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentMenu.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Simulations/DecouplingAnalyzer.cs"
        ],
        "commitId" : "86bf1b3666050300a6f00011dc5dc215c4a31e8d",
        "timestamp" : 1692045376000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "add a comment\u000a",
        "date" : "2023-08-14 13:36:16 -0700",
        "id" : "86bf1b3666050300a6f00011dc5dc215c4a31e8d",
        "msg" : "add a comment",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/DecouplingAnalyzer.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/PVG/OutputLayout.cs",
          "MechJeb2/MechJebLib/PVG/InputLayout.cs",
          "MechJeb2/MechJebLib/PVG/Optimizer.cs"
        ],
        "commitId" : "2002ba0b49e1264f89284971255c052d75e99673",
        "timestamp" : 1692128423000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "The barest start at mass costate integration\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-08-15 12:40:23 -0700",
        "id" : "2002ba0b49e1264f89284971255c052d75e99673",
        "msg" : "The barest start at mass costate integration",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/OutputLayout.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/InputLayout.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Optimizer.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Core/BrentMin.cs",
          "MechJebLibTest/Maths/FunctionsTests.cs",
          "MechJebLibTest/Maths/TwoBody/FarnocchiaTests.cs",
          "MechJebLibTest/Maths/GoodingTests.cs",
          "MechJeb2/MechJebLib/PVG/Ascent.cs",
          "MechJeb2/MechJebLib/Core/FunctionImpls/RealSingleImpulseHyperbolicBurn.cs",
          "MechJeb2/MechJebLib/Control/PIDLoop.cs",
          "MechJeb2/MechJebLib/PVG/Solution.cs",
          "MechJeb2/MechJebLib/PVG/OutputLayout.cs",
          "MechJeb2/MechJebLib/Utils/BackgroundJob.cs",
          "MechJebLibTest/Maths/TwoBody/ShepperdTests.cs",
          "MechJebLibTest/Structs/V3Tests.cs",
          "MechJeb2/MechJebModuleAscentSettings.cs",
          "MechJeb2/MechJebLib/Core/Maths.cs",
          "MechJebLibTest/Maths/DP5Tests.cs",
          "MechJebLibTest/AssertionExtensions.cs",
          "MechJeb2/MechJebLib/Simulations/SimVesselUpdater.cs",
          "MechJebLibTest/Structs/M3Tests.cs",
          "MechJeb2/MechJebLib/PVG/InputLayout.cs",
          "MechJebLibTest/Structs/Q3Tests.cs",
          "MechJeb2/MechJebLib/PVG/AscentBuilder.cs",
          "MechJeb2/MechJebLib/Maneuvers/ChangeOrbitalElement.cs",
          "MechJeb2/MechJebLib/Core/Gooding.cs",
          "MechJeb2/MechJebLib/Core/Functions/Angles.cs",
          "MechJeb2/MechJebLib/Primitives/Vn.cs",
          "MechJeb2/MechJebLib/Utils/Statics.cs",
          "MechJebLibTest/Utils/StaticTests.cs",
          "MechJeb2/MechJebLib/Utils/Logger.cs",
          "MechJeb2/MechJebLib/Primitives/Scale.cs",
          "MechJeb2/MechJebLib/Core/BrentRoot.cs",
          "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs",
          "MechJeb2/MechJebLib/PVG/Optimizer.cs",
          "MechJebLibTest/Maths/BS3Tests.c.cs",
          "MechJeb2/MechJebLib/Primitives/V3.cs",
          "MechJeb2/MechJebLib/PVG/Phase.cs",
          "MechJebLibTest/Maths/BrentRootTests.cs",
          "MechJeb2/MechJebLib/Primitives/HBase.cs",
          "MechJeb2/MechJebLib/Primitives/Hn.cs",
          "MechJeb2/MechJebLib/Maneuvers/ReturnFromMoon.cs",
          "MechJeb2/MechJebLib/Simulations/SimPart.cs",
          "MechJeb2/MechJebLib/Primitives/Q3.cs"
        ],
        "commitId" : "be01ad9655fc454642d4a4f1c9921d980f7a74c9",
        "timestamp" : 1692731444000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Use System.Math statically\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-08-22 12:10:44 -0700",
        "id" : "be01ad9655fc454642d4a4f1c9921d980f7a74c9",
        "msg" : "Use System.Math statically",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Structs/Q3Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/BrentMin.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/AscentBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/BackgroundJob.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselUpdater.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Logger.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettings.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/InputLayout.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/GoodingTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/ReturnFromMoon.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Statics.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/OutputLayout.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Structs/M3Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Control/PIDLoop.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/Vn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Solution.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Phase.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/FunctionsTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/TwoBody/FarnocchiaTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Optimizer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/BrentRootTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/TwoBody/ShepperdTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/HBase.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/Q3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/Scale.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Ascent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/FunctionImpls/RealSingleImpulseHyperbolicBurn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/Hn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/Functions/Angles.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/V3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/Maths.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/AssertionExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/DP5Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Structs/V3Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimPart.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/BS3Tests.c.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Utils/StaticTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/BrentRoot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/ChangeOrbitalElement.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/Gooding.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Primitives/Dual.cs",
          "MechJebLibTest/Maths/FunctionsTests.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJeb2/MechJebLib/Primitives/DualV3.cs",
          "MechJeb2/MechJebLib/Core/Maths.cs",
          "MechJeb2/MechJebLib/Maneuvers/ChangeOrbitalElement.cs"
        ],
        "commitId" : "89196a32c3a52ddc853accb1c648cf27f49b8c4f",
        "timestamp" : 1692743846000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "ChangeOrbitalElements now uses Forward AutoDiff via Dual numbers/vectors\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-08-22 15:37:26 -0700",
        "id" : "89196a32c3a52ddc853accb1c648cf27f49b8c4f",
        "msg" : "ChangeOrbitalElements now uses Forward AutoDiff via Dual numbers/vectors",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/Maths.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Primitives/Dual.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/ChangeOrbitalElement.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Primitives/DualV3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/FunctionsTests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/Maths/FunctionsTests.cs",
          "MechJeb2/MechJebLib/Maneuvers/ReturnFromMoon.cs"
        ],
        "commitId" : "7992f607ef52d443cd205bc18dc846940140bed7",
        "timestamp" : 1692754097000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "ReturnFromMoon improvements\u000a\u000aremove a lot of junk that I don't know what I was thinking about.\u000a\u000aconstruct a feasible rf+vf which helps convergence.\u000a\u000asplit up the forward + reverse times into independent variables and\u000athen just constrain them to be equal to pick a point.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-08-22 18:28:17 -0700",
        "id" : "7992f607ef52d443cd205bc18dc846940140bed7",
        "msg" : "ReturnFromMoon improvements",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/FunctionsTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/ReturnFromMoon.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Primitives/M3.cs",
          "MechJebLibTest/Maths/FunctionsTests.cs",
          "MechJeb2/MechJebLib/Primitives/V3.cs",
          "MechJeb2/MechJebLib/Maneuvers/ChangeOrbitalElement.cs",
          "MechJeb2/MechJebLib/Maneuvers/ReturnFromMoon.cs",
          "MechJeb2/MechJebLib/Utils/Statics.cs",
          "MechJeb2/MechJebLib/Primitives/DualV3.cs"
        ],
        "commitId" : "dc1bf95d22dcc0951376f72a8c9aa43cf764850f",
        "timestamp" : 1692832690000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Convert ReturnFromMoon maneuver to use analytical Jacobian\u000a\u000aThis doesn't seem to do that much in terms of speedup or stability\u000areally (although I didn't try investigating stability very well).\u000a\u000aInvestigating the values in the jacobian one of the biggest problems is\u000aclearly integrating back from the terminal endpoints.  The biggest\u000anumbers come from the state transition matrix there.  This is likely\u000abecause small target periapsis constraints results in highly eccentric\u000areturn orbits.  Taking problems that blow up and using a higher target\u000aperiapsis often results in convergence.\u000a\u000aThere is a note in Ellison & Englander (2019) that might be applicable:\u000a\u000a> A more natural propagation strategy would be to utilize time\u000a> eegularization, such a Sundman transformation,18–20 and a\u000a> corresponding modification to the variational equations. This\u000a> is left as future work.\u000a\u000aIt might also be possible to use some kind of \"homotopy\" and if the\u000aproblem fails, relax the periapsis constraint to some higher\u000aintermediate point that is easier to solve, then use that as an initial\u000aguess.  I'd really like to avoid iterative approaches.\u000a\u000aAlso I have not investigated how good/bad my initial guessing is, and it\u000amay be possible that in the cases which do not converge that it is very\u000apoor.\u000a\u000aI think it may also work to target an Apoapsis now (higher orbit than\u000athe moon around the primary), although I didn't test that a lot.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-08-23 16:18:10 -0700",
        "id" : "dc1bf95d22dcc0951376f72a8c9aa43cf764850f",
        "msg" : "Convert ReturnFromMoon maneuver to use analytical Jacobian",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/ReturnFromMoon.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/M3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/FunctionsTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/ChangeOrbitalElement.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Statics.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/DualV3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/V3.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Maneuvers/ReturnFromMoon.cs",
          "MechJebLibTest/Maths/FunctionsTests.cs"
        ],
        "commitId" : "7624a872a35ab04abc173db75d952488c80cefb0",
        "timestamp" : 1692903152000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Cleanup ReturnFromMoon\u000a\u000aextract scalaing from the SQP problem, extract initial guess\u000ageneration as well and do it all after scalaing.\u000a\u000athis already seems to have stabilized it a bit, maybe i had\u000asome scaling bugs in the initial guess generation.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-08-24 11:52:32 -0700",
        "id" : "7624a872a35ab04abc173db75d952488c80cefb0",
        "msg" : "Cleanup ReturnFromMoon",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/ReturnFromMoon.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/FunctionsTests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Maneuvers/Simple.cs",
          "MechJebLibTest/MechJebLibTest.csproj",
          "MechJeb2/MechJebLib/Core/Functions/Maneuvers.cs",
          "MechJeb2/MechJebLib/Primitives/Dual.cs",
          "MechJebLibTest/Maths/FunctionsTests.cs",
          "MechJebLibTest/Maneuvers/ReturnFromMoonTests.cs",
          "MechJebLibTest/Maneuvers/Simple.cs",
          "MechJeb2/MechJebLib/Core/Maths.cs",
          "MechJeb2/MechJebLib/Maneuvers/ChangeOrbitalElement.cs",
          "MechJeb2/MechJebLib/Maneuvers/ReturnFromMoon.cs",
          "MechJebLibTest/Maneuvers/ChangeOrbitalElementTests.cs",
          "MechJeb2/MechJeb2.csproj"
        ],
        "commitId" : "d78272af5589a7c6e5ca9052bc5cc86e9474551e",
        "timestamp" : 1693003513000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "More ReturnFromMoon cleanup\u000a\u000aBunch of reorganization of the files and now the test files match\u000aup better.\u000a\u000aMuch better construction of a nearly-feasible initial guess that\u000ahelps to minimize the errors at the initial point.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-08-25 15:45:13 -0700",
        "id" : "d78272af5589a7c6e5ca9052bc5cc86e9474551e",
        "msg" : "More ReturnFromMoon cleanup",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MechJebLibTest.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/ReturnFromMoon.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/Maneuvers/ChangeOrbitalElementTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maths/FunctionsTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/Maneuvers/Simple.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/Functions/Maneuvers.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Maneuvers/Simple.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/Maths.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/ChangeOrbitalElement.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/Dual.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/Maneuvers/ReturnFromMoonTests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Maneuvers/ReturnFromMoon.cs",
          "MechJebLibTest/Maneuvers/ReturnFromMoonTests.cs"
        ],
        "commitId" : "f03a1f6b3a7bf11717e631e0750d2f250b9d9921",
        "timestamp" : 1693010327000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "ReturnFromMoon: improve final accuracy + allow larger stepsize\u000a\u000aDoesn't seem to have much of an effect on total runtime or\u000aconvergence.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-08-25 17:38:47 -0700",
        "id" : "f03a1f6b3a7bf11717e631e0750d2f250b9d9921",
        "msg" : "ReturnFromMoon: improve final accuracy + allow larger stepsize",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/ReturnFromMoon.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maneuvers/ReturnFromMoonTests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Core/ODE/AbstractIVP.cs",
          "MechJeb2/MechJebLib/Core/ODE/AbstractRungeKutta.cs"
        ],
        "commitId" : "e69fdfd650a032973c3ce54dfeeb9ca70a0926ed",
        "timestamp" : 1693247734000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Better RK initial stepsize\u000a\u000aProbably won't make much of a difference at all, but it makes me\u000afeel like the ODE suite is more grown up.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-08-28 11:35:34 -0700",
        "id" : "e69fdfd650a032973c3ce54dfeeb9ca70a0926ed",
        "msg" : "Better RK initial stepsize",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/AbstractIVP.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/AbstractRungeKutta.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Core/ODE/AbstractIVP.cs",
          "MechJebLibTest/Maneuvers/ReturnFromMoonTests.cs"
        ],
        "commitId" : "4287b096ba300477e0795187dacacdbae6c664d7",
        "timestamp" : 1693258233000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Wire up Hstart in the IVP API\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-08-28 14:30:33 -0700",
        "id" : "4287b096ba300477e0795187dacacdbae6c664d7",
        "msg" : "Wire up Hstart in the IVP API",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/AbstractIVP.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maneuvers/ReturnFromMoonTests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Maneuvers/ReturnFromMoon.cs",
          "MechJebLibTest/Maneuvers/ReturnFromMoonTests.cs"
        ],
        "commitId" : "56d7513d2175487e8c7c092a1337682fce88d5da",
        "timestamp" : 1693340213000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "ReturnFromMoon tweaks\u000a\u000a- fixes a bug in the initial guess generator\u000a- splits the infeasibility in the guess over both SOIs by averaging\u000a  the vsoi at the interface.\u000a- tweaks some parameters trying to target faster convergence.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-08-29 13:16:53 -0700",
        "id" : "56d7513d2175487e8c7c092a1337682fce88d5da",
        "msg" : "ReturnFromMoon tweaks",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/ReturnFromMoon.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maneuvers/ReturnFromMoonTests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Maneuvers/Simple.cs",
          "MechJeb2/MechJebModuleFlightRecorder.cs",
          "MechJeb2/OrbitExtensions.cs",
          "MechJeb2/OrbitalManeuverCalculator.cs",
          "MechJebLibTest/Maneuvers/Simple.cs",
          "MechJeb2/MechJebModuleInfoItems.cs"
        ],
        "commitId" : "127d70449a05466dcc0adbe842ecc38cb7c57bf6",
        "timestamp" : 1693372449000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Move Ellipticize and Circularize into MJLib\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-08-29 22:14:09 -0700",
        "id" : "127d70449a05466dcc0adbe842ecc38cb7c57bf6",
        "msg" : "Move Ellipticize and Circularize into MJLib",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitalManeuverCalculator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/Simple.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maneuvers/Simple.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleInfoItems.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleFlightRecorder.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Maneuvers/Simple.cs",
          "MechJebLibTest/Maneuvers/Simple.cs",
          "MechJeb2/OrbitalManeuverCalculator.cs"
        ],
        "commitId" : "ac2207c183c3864bd4bf4e7a3afc47fbf650e227",
        "timestamp" : 1693501069000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Use ChangeInclination out of MJLib\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-08-31 09:57:49 -0700",
        "id" : "ac2207c183c3864bd4bf4e7a3afc47fbf650e227",
        "msg" : "Use ChangeInclination out of MJLib",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/Simple.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Maneuvers/Simple.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitalManeuverCalculator.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/MathsTests/DP5Tests.cs",
          "MechJebLibTest/ManeuversTests/ReturnFromMoonTests.cs",
          "MechJebLibTest/MechJebLibTest.csproj",
          "MechJebLibTest/ManeuversTests/Simple.cs",
          "MechJebLibTest/Maths/FunctionsTests.cs",
          "MechJebLibTest/Maths/TwoBody/FarnocchiaTests.cs",
          "MechJebLibTest/PVGTests/Integrators/VacuumCoastAnalyticTests.cs",
          "MechJebLibTest/Maths/GoodingTests.cs",
          "MechJebLibTest/MathsTests/FunctionsTests.cs",
          "MechJebLibTest/Maneuvers/ChangeOrbitalElementTests.cs",
          "MechJebLibTest/PVG/AscentTests/BuggyTests.cs",
          "MechJebLibTest/Maths/TwoBody/ShepperdTests.cs",
          "MechJebLibTest/Structs/V3Tests.cs",
          "MechJebLibTest/MathsTests/GoodingTests.cs",
          "MechJebLibTest/PVG/AscentTests/TheStandardTests.cs",
          "MechJebLibTest/Structs/HTests.cs",
          "MechJebLibTest/Maneuvers/ReturnFromMoonTests.cs",
          "MechJebLibTest/PVGTests/Integrators/VacuumThrustIntegratorTests.cs",
          "MechJebLibTest/Maneuvers/Simple.cs",
          "MechJebLibTest/Maths/BisectionTests.cs",
          "MechJebLibTest/Maths/DP5Tests.cs",
          "MechJebLibTest/MathsTests/BrentRootTests.cs",
          "MechJebLibTest/Structs/M3Tests.cs",
          "MechJebLibTest/PVG/Integrators/VacuumCoastAnalyticTests.cs",
          "MechJebLibTest/Control/PIDLoopTests.cs",
          "MechJebLibTest/MathsTests/TwoBody/FarnocchiaTests.cs",
          "MechJebLibTest/PVGTests/AscentTests/TheStandardTests.cs",
          "MechJebLibTest/Structs/Q3Tests.cs",
          "MechJebLibTest/PVGTests/AscentTests/Titan2Tests.cs",
          "MechJebLibTest/Utils/StaticTests.cs",
          "MechJebLibTest/ManeuversTests/ChangeOrbitalElementTests.cs",
          "MechJebLibTest/ControlTests/PIDLoopTests.cs",
          "MechJebLibTest/MathsTests/BisectionTests.cs",
          "MechJebLibTest/PVGTests/AscentTests/BuggyTests.cs",
          "MechJebLibTest/Maths/BS3Tests.c.cs",
          "MechJebLibTest/Maths/BrentRootTests.cs",
          "MechJebLibTest/MathsTests/BS3Tests.c.cs",
          "MechJebLibTest/PVG/Integrators/VacuumThrustIntegratorTests.cs",
          "MechJebLibTest/PVG/AscentTests/Titan2Tests.cs",
          "MechJebLibTest/MathsTests/TwoBody/ShepperdTests.cs"
        ],
        "commitId" : "f673b88889226688f494f144874ecd69ec773b9d",
        "timestamp" : 1693501688000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix namespace collisions in the MJLib Tests\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-08-31 10:08:08 -0700",
        "id" : "f673b88889226688f494f144874ecd69ec773b9d",
        "msg" : "Fix namespace collisions in the MJLib Tests",
        "paths" : [
          {
            "editType" : "add",
            "file" : "MechJebLibTest/MathsTests/BS3Tests.c.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/Maths/BrentRootTests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/Maths/FunctionsTests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/Maths/DP5Tests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/ManeuversTests/ReturnFromMoonTests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/PVG/AscentTests/BuggyTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/MathsTests/TwoBody/ShepperdTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Structs/Q3Tests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/Maths/BS3Tests.c.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/Maths/TwoBody/ShepperdTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/MathsTests/BisectionTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/PVGTests/AscentTests/Titan2Tests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/MathsTests/GoodingTests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/PVG/Integrators/VacuumThrustIntegratorTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/MathsTests/BrentRootTests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/Maths/BisectionTests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/Maths/TwoBody/FarnocchiaTests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/PVG/AscentTests/TheStandardTests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/Maneuvers/ReturnFromMoonTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/PVGTests/Integrators/VacuumCoastAnalyticTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/MathsTests/TwoBody/FarnocchiaTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Structs/HTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/ControlTests/PIDLoopTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/ManeuversTests/Simple.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/PVGTests/Integrators/VacuumThrustIntegratorTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/PVGTests/AscentTests/TheStandardTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/ManeuversTests/ChangeOrbitalElementTests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/Maneuvers/Simple.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/PVG/AscentTests/Titan2Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Structs/V3Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Utils/StaticTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/PVGTests/AscentTests/BuggyTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/MathsTests/DP5Tests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/MathsTests/FunctionsTests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/Maths/GoodingTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Structs/M3Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MechJebLibTest.csproj"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/Control/PIDLoopTests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/Maneuvers/ChangeOrbitalElementTests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/PVG/Integrators/VacuumCoastAnalyticTests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/MechJebLibTest.csproj",
          "MechJebLibTest/ManeuversTests/Simple.cs",
          "MechJeb2/MechJebLib/Core/BrentMin.cs",
          "MechJeb2/MechJebLib/Core/FunctionImpls/RealSingleImpulseHyperbolicBurn.cs",
          "MechJeb2/MechJebLib/Control/PIDLoop.cs",
          "MechJeb2/MechJebLib/PVG/Solution.cs",
          "MechJeb2/MechJebModuleFlightRecorderGraph.cs",
          "MechJeb2/MechJebLib/Utils/BackgroundJob.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Reduced.cs",
          "MechJeb2/MechJebLib/Statics.cs",
          "MechJebLibTest/Structs/M3Tests.cs",
          "MechJeb2/MechJebModuleGuidanceController.cs",
          "MechJeb2/MechJebModuleSpaceplaneGuidance.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Propellant.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler4Reduced.cs",
          "MechJeb2/MechJebModuleWaypointWindow.cs",
          "MechJebLibTest/MathsTests/TwoBody/FarnocchiaTests.cs",
          "MechJeb2/MechJebLib/Core/Gooding.cs",
          "MechJeb2/MechJebModuleLandingGuidance.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Energy.cs",
          "MechJeb2/MechJebLib/Primitives/Vn.cs",
          "MechJeb2/MechJebLib/Core/ODE/AbstractRungeKutta.cs",
          "MechJeb2/MechJebLib/Simulations/SimVesselBuilder.cs",
          "MechJeb2/MechJebLib/Simulations/SimResource.cs",
          "MechJebLibTest/Utils/StaticTests.cs",
          "MechJeb2/MechJebModulePVGGlueBall.cs",
          "MechJeb2/MechJebModuleRCSBalancer.cs",
          "MechJeb2/MechJebLib/Maneuvers/Simple.cs",
          "MechJeb2/MechJebLib/Core/BrentRoot.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler5Reduced.cs",
          "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs",
          "MechJeb2/MechJebLib/PVG/Optimizer.cs",
          "MechJebLibTest/StaticTests.cs",
          "MechJeb2/MechJebLib/Primitives/V3.cs",
          "MechJeb2/OrbitalManeuverCalculator.cs",
          "MechJeb2/MechJebLib/PVG/Phase.cs",
          "MechJeb2/MechJebLib/Maneuvers/ReturnFromMoon.cs",
          "MechJeb2/MechJebModuleRendezvousGuidance.cs",
          "MechJebLibTest/MathsTests/TwoBody/ShepperdTests.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle3Energy.cs",
          "MechJebLibTest/MathsTests/DP5Tests.cs",
          "MechJeb2/Maneuver/OperationEllipticize.cs",
          "MechJeb2/Maneuver/OperationAdvancedTransfer.cs",
          "MechJeb2/MechJebLib/PVG/Ascent.cs",
          "MechJeb2/MechJebLib/Core/TwoBody/Farnocchia.cs",
          "MechJebLibTest/PVGTests/Integrators/VacuumCoastAnalyticTests.cs",
          "MechJebLibTest/MathsTests/FunctionsTests.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleEngines.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJeb2/MechJebModuleTranslatron.cs",
          "MechJebLibTest/MathsTests/GoodingTests.cs",
          "MechJeb2/MechJebModuleRendezvousAutopilot.cs",
          "MechJeb2/MechJebStageStatsHelper.cs",
          "MechJeb2/MechJebModuleAscentSettings.cs",
          "MechJeb2/Maneuver/OperationPeriapsis.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleRCS.cs",
          "MechJeb2/MechJebModuleCustomInfoWindow.cs",
          "MechJeb2/MechJebLib/Core/Maths.cs",
          "MechJebLibTest/MathsTests/BrentRootTests.cs",
          "MechJebLibTest/AssertionExtensions.cs",
          "MechJeb2/MechJebLib/Simulations/SimVesselUpdater.cs",
          "MechJeb2/MechJebLib/Core/ODE/AbstractIVP.cs",
          "MechJeb2/MechJebLib/Simulations/DecouplingAnalyzer.cs",
          "MechJeb2/MechJebModuleAscentClassicPathMenu.cs",
          "MechJeb2/Maneuver/OperationSemiMajor.cs",
          "MechJebLibTest/PVGTests/AscentTests/TheStandardTests.cs",
          "MechJeb2/MechJebLib/PVG/AscentBuilder.cs",
          "MechJeb2/GLUtils.cs",
          "MechJebLibTest/Structs/Q3Tests.cs",
          "MechJeb2/MechJebLib/Maneuvers/ChangeOrbitalElement.cs",
          "MechJeb2/MechJebLib/Core/Functions/Angles.cs",
          "MechJebLibTest/PVGTests/AscentTests/Titan2Tests.cs",
          "MechJeb2/MechJebLib/Utils/Statics.cs",
          "MechJebLibTest/PVGTests/AscentTests/BuggyTests.cs",
          "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs",
          "MechJeb2/OrbitExtensions.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler3Reduced.cs",
          "MechJeb2/MechJebLib/Utils/Check.cs",
          "MechJeb2/MechJebModuleInfoItems.cs",
          "MechJeb2/MechJebLib/Primitives/Q3.cs"
        ],
        "commitId" : "4806676a4ccc471f7236feec9347232602ab450f",
        "timestamp" : 1693501955000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Move MJLib.Statics up a level for convenience\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-08-31 10:12:35 -0700",
        "id" : "4806676a4ccc471f7236feec9347232602ab450f",
        "msg" : "Move MJLib.Statics up a level for convenience",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/AscentBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/FunctionImpls/RealSingleImpulseHyperbolicBurn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebStageStatsHelper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/Functions/Angles.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/ChangeOrbitalElement.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/Gooding.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettings.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Structs/M3Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MathsTests/DP5Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleRCS.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Check.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Ascent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/ManeuversTests/Simple.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/AbstractRungeKutta.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler5Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/ReturnFromMoon.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/AscentTests/Titan2Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/Maths.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Propellant.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/DecouplingAnalyzer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/AscentTests/BuggyTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/AbstractIVP.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimResource.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MathsTests/FunctionsTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentClassicPathMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MathsTests/GoodingTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationPeriapsis.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Optimizer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler3Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleFlightRecorderGraph.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/Simple.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/StaticTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Control/PIDLoop.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationEllipticize.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationSemiMajor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSpaceplaneGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleCustomInfoWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRCSBalancer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/AssertionExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/V3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/BrentRoot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Solution.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Phase.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/AscentTests/TheStandardTests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/Utils/StaticTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MathsTests/TwoBody/ShepperdTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationAdvancedTransfer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MathsTests/TwoBody/FarnocchiaTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/TwoBody/Farnocchia.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleEngines.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWaypointWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/Integrators/VacuumCoastAnalyticTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleInfoItems.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MathsTests/BrentRootTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler4Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitalManeuverCalculator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/GLUtils.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/BrentMin.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/Q3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MechJebLibTest.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/Vn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle3Energy.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Statics.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/BackgroundJob.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselUpdater.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Energy.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleTranslatron.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Structs/Q3Tests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Utils/Statics.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Maneuvers/Simple.cs",
          "MechJeb2/CelestialBodyExtensions.cs",
          "MechJeb2/OrbitalManeuverCalculator.cs",
          "MechJeb2/MechJebModuleAscentBaseAutopilot.cs",
          "MechJeb2/MechJebLib/Core/Maths.cs"
        ],
        "commitId" : "0fb3a016daf01425c754f3a33bf375c049cecab6",
        "timestamp" : 1693526425000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "MJLib version of HeadingForLaunchInclination\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-08-31 17:00:25 -0700",
        "id" : "0fb3a016daf01425c754f3a33bf375c049cecab6",
        "msg" : "MJLib version of HeadingForLaunchInclination",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitalManeuverCalculator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/Maths.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/CelestialBodyExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/Simple.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/OrbitalManeuverCalculator.cs"
        ],
        "commitId" : "951d135123c5b58c2dabac6f70a78b346accc4ef",
        "timestamp" : 1693528199000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "remove now used method\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-08-31 17:29:59 -0700",
        "id" : "951d135123c5b58c2dabac6f70a78b346accc4ef",
        "msg" : "remove now used method",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitalManeuverCalculator.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/README.md"
        ],
        "commitId" : "1e5bbc81311e5fe308e431c337c1979193cdfc06",
        "timestamp" : 1693597182000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Add a README.md file for MJLib\u000a",
        "date" : "2023-09-01 12:39:42 -0700",
        "id" : "1e5bbc81311e5fe308e431c337c1979193cdfc06",
        "msg" : "Add a README.md file for MJLib",
        "paths" : [
          {
            "editType" : "add",
            "file" : "MechJebLibTest/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/README.md",
          "MechJebLibTest/README.md"
        ],
        "commitId" : "b7c667d618cb99f093f01665f35f1f88d9676efa",
        "timestamp" : 1693597351000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "I put the README in the wrong spot\u000a",
        "date" : "2023-09-01 12:42:31 -0700",
        "id" : "b7c667d618cb99f093f01665f35f1f88d9676efa",
        "msg" : "I put the README in the wrong spot",
        "paths" : [
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/README.md"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "Localization/fr-fr.cfg"
        ],
        "commitId" : "7fc629314134416e6814320b54100f0f234e4347",
        "timestamp" : 1694951312000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/vinceguichard04",
          "fullName" : "vinceguichard04"
        },
        "authorEmail" : "vinceguichard04@gmail.com",
        "comment" : "Updates ans spell checks\u000a",
        "date" : "2023-09-17 13:48:32 +0200",
        "id" : "7fc629314134416e6814320b54100f0f234e4347",
        "msg" : "Updates ans spell checks",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "Localization/fr-fr.cfg"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "Localization/fr-fr.cfg"
        ],
        "commitId" : "2de4267d673c23151cb6d22d936a336c51b573b8",
        "timestamp" : 1694951611000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/vinceguichard04",
          "fullName" : "vinceguichard04"
        },
        "authorEmail" : "vinceguichard04@gmail.com",
        "comment" : "forgot a word\u000a",
        "date" : "2023-09-17 13:53:31 +0200",
        "id" : "2de4267d673c23151cb6d22d936a336c51b573b8",
        "msg" : "forgot a word",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "Localization/fr-fr.cfg"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleStageStats.cs",
          "MechJeb2/MechJebStageStatsHelper.cs",
          "MechJeb2/FuelFlowSimulation.cs",
          "MechJeb2/MechJebModuleStageStatsOld.cs",
          "MechJeb2/FuelStats.cs",
          "MechJeb2/MechJebCore.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJeb2/FuelNode.cs"
        ],
        "commitId" : "f5eda67b8b77ca718f7f347b98bff5f774766e88",
        "timestamp" : 1695600041000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Remove old FuelFlowSimulation\u000a\u000aThe new one seems to be stable enough\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-09-24 17:00:41 -0700",
        "id" : "f5eda67b8b77ca718f7f347b98bff5f774766e88",
        "msg" : "Remove old FuelFlowSimulation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebCore.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStageStats.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/FuelNode.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/FuelFlowSimulation.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/FuelStats.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebStageStatsHelper.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebModuleStageStatsOld.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/MechJebLibTest.csproj",
          "MechJeb2/MechJebLib/PVG/Solution.cs",
          "MechJeb2/MechJebLib/Maneuvers/CoplanarTransfer.cs",
          "MechJebLibTest/PVGTests/AscentTests/Titan2Tests.cs",
          "MechJeb2/Maneuver/OperationTransfer.cs",
          "MechJeb2/MechJebLib/Utils/MechJebLibException.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJeb2/MechJebModuleRendezvousAutopilot.cs",
          "MechJebLibTest/PVGTests/AscentTests/BuggyTests.cs",
          "MechJeb2/OrbitalManeuverCalculator.cs",
          "MechJeb2/MechJebLib/Core/Maths.cs",
          "MechJeb2/MechJebModuleRendezvousGuidance.cs",
          "MechJebLibTest/ManeuversTests/CoplanarTransferTests.cs",
          "MechJeb2/MechJebLib/Primitives/Q3.cs"
        ],
        "commitId" : "a926641e1a210359caa71ddd022d09d13f3099fe",
        "timestamp" : 1695791958000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Hohmann/Bi-impulsive overhaul\u000a\u000aThe problem has been recrafted as a conjugate gradient problem with\u000aa bit of heuristics for a search.  Limiting to coplanar is still\u000asupported.  Transfer/Rendezvous is still supported.\u000a\u000aThere are buttons for no capture burn and to plan the capture burn\u000a(maybe that should be \"intercept burn\" or \"matching burn\" or\u000asomething?), but they don't yet work.\u000a\u000aThe period offset thingy needs to be changed and doesn't yet work.\u000a\u000aThe simulated annealing is gone for now and will probably come back as\u000aa rewriting with a basin hopping algorithm, but needs some UI work.\u000a\u000aThis is going to be best when dealing with things that are closer to\u000acircular-to-circular coplanar transfer with smaller synodic periods, and\u000awill still break as you get away from it.\u000a\u000aIt can at least plan transfer burns to GEO with the optimal inclination\u000achange at the equator included (~2.16 degrees for a 185x185 launch\u000afrom Kennedy).  All that is lacking is a UX/UI way to construct an\u000aartificial target.orbit.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-09-26 22:19:18 -0700",
        "id" : "a926641e1a210359caa71ddd022d09d13f3099fe",
        "msg" : "Hohmann/Bi-impulsive overhaul",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Solution.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitalManeuverCalculator.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/ManeuversTests/CoplanarTransferTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationTransfer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/Maths.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Maneuvers/CoplanarTransfer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/Q3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/AscentTests/Titan2Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/AscentTests/BuggyTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MechJebLibTest.csproj"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Utils/MechJebLibException.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleRendezvousAutopilot.cs",
          "MechJeb2/OrbitalManeuverCalculator.cs",
          "MechJeb2/MechJebLib/Maneuvers/CoplanarTransfer.cs",
          "MechJeb2/MechJebModuleRendezvousGuidance.cs",
          "Localization/en-us.cfg",
          "MechJeb2/Maneuver/OperationTransfer.cs",
          "MechJeb2/MechJeb2.csproj"
        ],
        "commitId" : "78f7d3cc9176607259bdb1997cb72c013dc52885",
        "timestamp" : 1695861266000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix Hohmann bugs and implement more features\u000a\u000aPrevious PR was just broke, fixes a few things, implements\u000aplanning the capture burn, doing rendezvous/transfer, the\u000a\"period offset\" is now just a \"lag time\" (chasing time?)\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-09-27 17:34:26 -0700",
        "id" : "78f7d3cc9176607259bdb1997cb72c013dc52885",
        "msg" : "Fix Hohmann bugs and implement more features",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitalManeuverCalculator.cs"
          },
          {
            "editType" : "edit",
            "file" : "Localization/en-us.cfg"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/CoplanarTransfer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationTransfer.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/ManeuversTests/CoplanarTransferTests.cs",
          "MechJeb2/MechJebLib/Maneuvers/CoplanarTransfer.cs"
        ],
        "commitId" : "83121cc885b3796850f73beea67cd403e15ce37e",
        "timestamp" : 1695870392000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix planning of insertion burn\u000a\u000aAnd change most of the API to return dt2=dt1+tt instead of tt.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-09-27 20:06:32 -0700",
        "id" : "83121cc885b3796850f73beea67cd403e15ce37e",
        "msg" : "Fix planning of insertion burn",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/CoplanarTransfer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/ManeuversTests/CoplanarTransferTests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Simulations/DecouplingAnalyzer.cs",
          "MechJeb2/MechJebLib/Simulations/SimPart.cs",
          "MechJeb2/MechJebLib/Simulations/SimVesselBuilder.cs"
        ],
        "commitId" : "9335acdbab7891ad3f14316fecb35335f19fc7f2",
        "timestamp" : 1696115278000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix the FFS root part\u000a\u000aNeed to pick the part with a null parent, not part[0]\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-09-30 16:07:58 -0700",
        "id" : "9335acdbab7891ad3f14316fecb35335f19fc7f2",
        "msg" : "Fix the FFS root part",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/DecouplingAnalyzer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimPart.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselBuilder.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/Maneuver/OperationTransfer.cs",
          "MechJeb2/MechJebLib/Simulations/DecouplingAnalyzer.cs"
        ],
        "commitId" : "c411cd83c00dc2e0306a0e8cf14139df84437ac0",
        "timestamp" : 1696966700000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Add a warning to the hohmann operation, add note to decoupling analyzer\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-10-10 12:38:20 -0700",
        "id" : "c411cd83c00dc2e0306a0e8cf14139df84437ac0",
        "msg" : "Add a warning to the hohmann operation, add note to decoupling analyzer",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationTransfer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/DecouplingAnalyzer.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/Maneuver/OperationTransfer.cs"
        ],
        "commitId" : "82b714e4df71f974908c8d5c3ad5146f41d054b4",
        "timestamp" : 1696967587000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "add time selector to two-impulse transfer\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-10-10 12:53:07 -0700",
        "id" : "82b714e4df71f974908c8d5c3ad5146f41d054b4",
        "msg" : "add time selector to two-impulse transfer",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationTransfer.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleStageStats.cs",
          "MechJeb2/MechJebModuleRendezvousAutopilotWindow.cs",
          "MechJeb2/MechJebModuleFlightRecorderGraph.cs",
          "MechJeb2/MechJebModuleDockingGuidance.cs",
          "MechJeb2/MechJebModuleAttitudeAdjustment.cs",
          "MechJeb2/MechJebModuleRCSController.cs",
          "MechJeb2/MechJebModuleAscentClassicAutopilot.cs",
          "MechJeb2/MechJebModuleGuidanceController.cs",
          "MechJeb2/DisplayModule.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler4Reduced.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Intercept6Cartesian.cs",
          "MechJeb2/CachedLocalizer.cs",
          "MechJeb2/MechJebLib/SuicideBuilder.cs",
          "MechJeb2/MechJebModuleLandingGuidance.cs",
          "MechJeb2/Maneuver/OperationTransfer.cs",
          "MechJeb2/ReentrySimulation/SimCurves.cs",
          "MechJeb2/MechJebModuleRCSBalancer.cs",
          "MechJeb2/MechJebModuleStagingController.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler5Reduced.cs",
          "MechJeb2/ReentrySimulation.cs",
          "MechJeb2/MechJebModuleRCSBalancerWindow.cs",
          "MechJeb2/OrbitalManeuverCalculator.cs",
          "MechJeb2/MechJebModuleSpinupController.cs",
          "MechJeb2/VesselState.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle3Energy.cs",
          "MechJeb2/MechJebLib/Primitives/H3.cs",
          "MechJeb2/MechJebLib/Maneuvers/CoplanarTransfer.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleEngines.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs",
          "MechJeb2/MechJebModuleTranslatron.cs",
          "MechJeb2/Vector6.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleRCS.cs",
          "MechJeb2/AttitudeControllers/MJAttitudeController.cs",
          "MechJeb2/FlyingSim/SimulatedPart.cs",
          "MechJeb2/MechJebLib/Simulations/DecouplingAnalyzer.cs",
          "MechJeb2/MechJebModuleSettings.cs",
          "MechJeb2/Maneuver/TransferCalculator.cs",
          "MechJeb2/VesselExtensions.cs",
          "MechJeb2/GuiUtils.cs",
          "MechJeb2/MechJebModuleAttitudeController.cs",
          "MechJeb2/MechJebModuleWarpController.cs",
          "MechJeb2/GLUtils.cs",
          "MechJeb2/MechJebLib/Maneuvers/ChangeOrbitalElement.cs",
          "MechJeb2/MechJebModuleDebugArrows.cs",
          "MechJeb2/OrbitExtensions.cs",
          "MechJeb2/MechJebModuleAscentBaseAutopilot.cs",
          "MechJeb2/MechJebModuleAirplaneGuidance.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler3Reduced.cs",
          "MechJeb2/MechJebModuleThrustController.cs",
          "MechJeb2/MechJebModuleSmartRcs.cs",
          "MechJeb2/MechJebModuleSolarPanelController.cs",
          "MechJeb2/Maneuver/PlotArea.cs",
          "MechJeb2/MechJebModuleInfoItems.cs",
          "MechJeb2/MechJebModuleWarpHelper.cs",
          "MechJeb2/FlyingSim/SimulatedParachute.cs",
          "MechJeb2/AttitudeControllers/KosPIDLoop.cs",
          "MechJeb2/MechJebLib/Primitives/M3.cs",
          "MechJeb2/FlyingSim/SimulatedVessel.cs",
          "MechJeb2/MechJebLib/Primitives/H1.cs",
          "MechJeb2/MechJebModuleThrustWindow.cs",
          "MechJeb2/MuUtils.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Reduced.cs",
          "MechJeb2/MechJebModuleSpaceplaneAutopilot.cs",
          "MechJeb2/MechJebModuleSpaceplaneGuidance.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimLaunchClamp.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Propellant.cs",
          "MechJeb2/MechJebModuleWaypointWindow.cs",
          "MechJeb2/MechJebLib/Core/Functions/Maneuvers.cs",
          "MechJeb2/MechJebModuleRoverController.cs",
          "MechJeb2/ComputerModule.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Energy.cs",
          "MechJeb2/PartExtensions.cs",
          "MechJeb2/MechJebLib/Simulations/SimVesselBuilder.cs",
          "MechJeb2/MechJebLib/Simulations/SimResource.cs",
          "MechJeb2/MechJebModuleSuicideTimer.cs",
          "MechJeb2/MechJebModuleManeuverPlanner.cs",
          "MechJeb2/MechJebLib/Primitives/V3.cs",
          "MechJeb2/AttitudeControllers/TorquePI.cs",
          "MechJeb2/MechJebModuleAscentSettingsMenu.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleDecouple.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleDockingNode.cs",
          "MechJeb2/AttitudeControllers/BaseAttitudeController.cs",
          "MechJeb2/Maneuver/OperationEllipticize.cs",
          "MechJeb2/MechJebModuleDeployableAntennaController.cs",
          "MechJeb2/MechJebLib/Core/TwoBody/Farnocchia.cs",
          "MechJeb2/MechJebModuleDeployableController.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimProceduralFairingDecoupler.cs",
          "MechJeb2/MechJebModuleRoverWindow.cs",
          "MechJeb2/MechJebModuleNodeEditor.cs",
          "MechJeb2/ToolbarWrapper.cs",
          "MechJeb2/MechJebLib/Primitives/Dual.cs",
          "MechJeb2/MathExtensions.cs",
          "MechJeb2/MechJebModuleCustomInfoWindow.cs",
          "MechJeb2/ReflectionUtils.cs",
          "MechJeb2/MechJebLib/Utils/ObjectPool.cs",
          "MechJeb2/MechJebLib/Simulations/SimVesselUpdater.cs",
          "MechJeb2/RCSSolver.cs",
          "MechJeb2/MechJebLib/Suicide.cs",
          "MechJeb2/MechJebModuleAscentClassicPathMenu.cs",
          "MechJeb2/PIDController.cs",
          "MechJeb2/AutopilotModule.cs",
          "MechJeb2/MechJebModuleTargetController.cs",
          "MechJeb2/MechJebModuleLandingPredictions.cs",
          "MechJeb2/MechJebModuleSmartASS.cs",
          "MechJeb2/CompatibilityChecker.cs",
          "MechJeb2/MechJebLib/Core/ODE/BS3.cs",
          "MechJeb2/MechJebModuleLandingAutopilot.cs",
          "MechJeb2/Maneuver/Operation.cs",
          "MechJeb2/MechJebModuleAscentPVGAutopilot.cs",
          "MechJeb2/MechJebCore.cs",
          "MechJeb2.sln.DotSettings",
          "MechJeb2/MechJebLib/Utils/Check.cs",
          "MechJeb2/MechJebModuleAirplaneAutopilot.cs"
        ],
        "commitId" : "684b65eaeb76d1fd4c3fc4b5082b6527db28871a",
        "timestamp" : 1697499036000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Lots of code cleanup\u000a\u000aShouldn't be any behavioral changes.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-10-16 16:30:36 -0700",
        "id" : "684b65eaeb76d1fd4c3fc4b5082b6527db28871a",
        "msg" : "Lots of code cleanup",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/CoplanarTransfer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAttitudeAdjustment.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleTranslatron.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler3Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/ObjectPool.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRCSBalancerWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/SuicideBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/FlyingSim/SimulatedParachute.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MathExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/H1.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSolarPanelController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ReentrySimulation/SimCurves.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationEllipticize.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationTransfer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/KosPIDLoop.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/Dual.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ToolbarWrapper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentClassicPathMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettingsMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/TransferCalculator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleCustomInfoWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler4Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWaypointWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/TorquePI.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/FlyingSim/SimulatedPart.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/Operation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleInfoItems.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAttitudeController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleRCS.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRCSController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitalManeuverCalculator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/VesselExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselUpdater.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/CompatibilityChecker.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStageStats.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDockingGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/DisplayModule.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/PartExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/M3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/ChangeOrbitalElement.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ReflectionUtils.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimLaunchClamp.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleDecouple.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ComputerModule.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSuicideTimer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebCore.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/MJAttitudeController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/VesselState.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/TwoBody/Farnocchia.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleTargetController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSpinupController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle3Energy.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRoverController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/CachedLocalizer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/PlotArea.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingPredictions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDebugArrows.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSettings.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ReentrySimulation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSpaceplaneAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/Functions/Maneuvers.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleEngines.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDeployableController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSpaceplaneGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWarpController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AutopilotModule.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/GLUtils.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWarpHelper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2.sln.DotSettings"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/DecouplingAnalyzer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Intercept6Cartesian.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Check.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Vector6.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MuUtils.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRCSBalancer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAirplaneGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Energy.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSmartASS.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRoverWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleFlightRecorderGraph.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAirplaneAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/V3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentClassicAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler5Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Propellant.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/RCSSolver.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleDockingNode.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousAutopilotWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDeployableAntennaController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/GuiUtils.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Suicide.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimResource.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BaseAttitudeController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/BS3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/PIDController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimProceduralFairingDecoupler.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/H3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeEditor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSmartRcs.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleManeuverPlanner.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/FlyingSim/SimulatedVessel.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleEngines.cs"
        ],
        "commitId" : "c6aa66583a25badfe92d564e40886dae0084e075",
        "timestamp" : 1697650036000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix thrust limiter\u000a\u000ajust some derp that somehow snuck in here.\u000a\u000acloses #1781\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-10-18 10:27:16 -0700",
        "id" : "c6aa66583a25badfe92d564e40886dae0084e075",
        "msg" : "Fix thrust limiter",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleEngines.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Simulations/SimVesselUpdater.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleEngines.cs"
        ],
        "commitId" : "b6ea7decdc8d050bd7ef120670ac065b146d04aa",
        "timestamp" : 1697679632000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Rename ThrustPercentage to ThrottleLimiter\u000a\u000aI see why I made that last mistake and it was due to KSPs bad\u000aAPI name.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-10-18 18:40:32 -0700",
        "id" : "b6ea7decdc8d050bd7ef120670ac065b146d04aa",
        "msg" : "Rename ThrustPercentage to ThrottleLimiter",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselUpdater.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleEngines.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/PVGTests/AscentTests/Titan2Tests.cs",
          "MechJebLibTest/PVGTests/AscentTests/BuggyTests.cs",
          "MechJeb2/MechJebLib/Utils/BackgroundJob.cs",
          "MechJeb2/MechJebLib/PVG/Optimizer.cs",
          "MechJeb2/MechJebLib/PVG/Ascent.cs"
        ],
        "commitId" : "9f4d60a3dc8ab415a682d629e67d685ceded8761",
        "timestamp" : 1697822354000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Make PVG converge under more extreme circumstances\u000a\u000aBy falling back to numerical integration when initial analytical\u000aintegration fails, we can burn more of the rocket and hit more\u000aextreme solutions (closer to burning the rocket to the last proton).\u000a\u000aThis will give users better feedback when their target conditions\u000aexceed their rocket capabilities.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-10-20 10:19:14 -0700",
        "id" : "9f4d60a3dc8ab415a682d629e67d685ceded8761",
        "msg" : "Make PVG converge under more extreme circumstances",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/BackgroundJob.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/AscentTests/Titan2Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Ascent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/AscentTests/BuggyTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Optimizer.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Maneuvers/TwoImpulseTransfer.cs",
          "MechJebLibTest/MechJebLibTest.csproj",
          "MechJeb2/OrbitalManeuverCalculator.cs",
          "MechJeb2/MechJebLib/Maneuvers/CoplanarTransfer.cs",
          "MechJebLibTest/ManeuversTests/CoplanarTransferTests.cs",
          "Localization/en-us.cfg",
          "MechJebLibTest/ManeuversTests/TwoImpulseTransferTests.cs",
          "MechJeb2/Maneuver/OperationTransfer.cs",
          "MechJeb2/MechJeb2.csproj"
        ],
        "commitId" : "ed96b5d27b4f7112452a49749fb5584e96e3e85c",
        "timestamp" : 1698008818000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Rename to Two-Impulse Maneuver and support fixed time\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-10-22 14:06:58 -0700",
        "id" : "ed96b5d27b4f7112452a49749fb5584e96e3e85c",
        "msg" : "Rename to Two-Impulse Maneuver and support fixed time",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Maneuvers/CoplanarTransfer.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/ManeuversTests/TwoImpulseTransferTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Maneuvers/TwoImpulseTransfer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationTransfer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MechJebLibTest.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitalManeuverCalculator.cs"
          },
          {
            "editType" : "edit",
            "file" : "Localization/en-us.cfg"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/ManeuversTests/CoplanarTransferTests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleNodeExecutor.cs"
        ],
        "commitId" : "87f6ef2b9b8473632017c534edfd32f3ad037a6e",
        "timestamp" : 1698094630000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Start of refactoring of node executor\u000a\u000aThis deliberately removes the different behavior in stock where the\u000aalignment happens as soon as the button is pressed and instead\u000ait aligns 10 mins before the burn.\u000a\u000aSome other slight tweaks in being more consistent with handling\u000athe ignition time.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-10-23 13:57:10 -0700",
        "id" : "87f6ef2b9b8473632017c534edfd32f3ad037a6e",
        "msg" : "Start of refactoring of node executor",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleAscentGTAutopilot.cs",
          "MechJeb2/LandingAutopilot/DecelerationBurn.cs",
          "MechJeb2/MechJebModuleRendezvousAutopilotWindow.cs",
          "MechJeb2/LandingAutopilot/CoastToDeceleration.cs",
          "MechJeb2/LandingAutopilot/DeorbitBurn.cs",
          "MechJeb2/MechJebModuleLandingGuidance.cs",
          "MechJeb2/MechJebModuleNodeEditor.cs",
          "MechJeb2/MechJebModuleNodeExecutor.cs",
          "MechJeb2/MechJebModuleAscentMenu.cs",
          "MechJeb2/MechJebModuleRendezvousAutopilot.cs",
          "MechJeb2/LandingAutopilot/FinalDescent.cs",
          "MechJeb2/LandingAutopilot/PlaneChange.cs",
          "MechJeb2/MechJebModuleManeuverPlanner.cs",
          "MechJeb2/MechJebModuleMenu.cs",
          "MechJeb2/MechJebModuleAscentBaseAutopilot.cs",
          "MechJeb2/LandingAutopilot/LowDeorbitBurn.cs",
          "MechJeb2/MechJebModuleAscentClassicAutopilot.cs",
          "MechJeb2/MechJebModuleRendezvousGuidance.cs",
          "MechJeb2/MechJebModuleAscentSettingsMenu.cs"
        ],
        "commitId" : "e047769f8c2edfa1b66bb5d06713dc9b41e3a588",
        "timestamp" : 1698095294000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Node executor code cleanup\u000a\u000aThis is automated cleanup and shoudln't change behavior\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-10-23 14:08:14 -0700",
        "id" : "e047769f8c2edfa1b66bb5d06713dc9b41e3a588",
        "msg" : "Node executor code cleanup",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/LowDeorbitBurn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleManeuverPlanner.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentClassicAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettingsMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/DeorbitBurn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/FinalDescent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentGTAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeEditor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/DecelerationBurn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/PlaneChange.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/CoastToDeceleration.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousAutopilotWindow.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleNodeExecutor.cs"
        ],
        "commitId" : "c79001f91db8c99e122bbe0e80a7949b3b8ba83e",
        "timestamp" : 1698096752000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Node executor:  more tweaks to algorithm\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-10-23 14:32:32 -0700",
        "id" : "c79001f91db8c99e122bbe0e80a7949b3b8ba83e",
        "msg" : "Node executor:  more tweaks to algorithm",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleRendezvousGuidance.cs",
          "MechJeb2/MechJebModuleNodeEditor.cs",
          "MechJeb2/VesselState.cs",
          "MechJeb2/MechJebModuleManeuverPlanner.cs",
          "MechJeb2/MechJebModuleNodeExecutor.cs",
          "MechJeb2/MechJebModuleAttitudeController.cs"
        ],
        "commitId" : "d7a69e03293c3b7c69fdfd48c0a883a9fdb45659",
        "timestamp" : 1698179194000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Behavioral changes to Node Executor\u000a\u000aThe stock node executor no longer \"hunts\" for the last dribbling\u000abit of the maneuver node and the \"tolerance\" setting has been\u000aeliminated.  There is a 1 second terminal guidance period where\u000atracking is frozen and the burn terminates when the angle between\u000athe heading and the maneuver node is >= 90 degrees.\u000a\u000aThis also backs out the MANEUVER_COT and thrustForward stuff for\u000aasymmetric thrust vehicles.  This is because thrustForward isn't\u000avalid if the engines are off.  Don't know if VesselState needs\u000afixing to fix thrustForward or if the node executor needs to\u000aswitch modes based on thrust being on or not, but it feels like\u000aVesselState should be updated.\u000a\u000areplaces #1771\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-10-24 13:26:34 -0700",
        "id" : "d7a69e03293c3b7c69fdfd48c0a883a9fdb45659",
        "msg" : "Behavioral changes to Node Executor",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleManeuverPlanner.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeEditor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/VesselState.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAttitudeController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleNodeExecutor.cs"
        ],
        "commitId" : "64da2d1c8abd564010a91db5295ecf27563426fb",
        "timestamp" : 1698354174000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix stock burn termination and bring back MANEUVER_COT\u000a\u000aStill don't know if MANEUVER_COT works, but it is back.\u000a\u000aThe expression:\u000a\u000aQuaternion.FromToRotation(VesselState.forward, VesselState.thrustForward) * VesselState.forward\u000a\u000aLooks a little useless but FromToRotation returns identity when\u000athrustForward is [0,0,0] which fixes things for the non-thrust case.\u000a\u000aMore importantly this fixes stock-style burn termination to work\u000acorrectly again and it measure the angle to the actual maneuver node\u000arather than the angle to the frozen inertial direction (which really\u000ashouldn't have worked at all, dunno why it eventually did stop).\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-10-26 14:02:54 -0700",
        "id" : "64da2d1c8abd564010a91db5295ecf27563426fb",
        "msg" : "Fix stock burn termination and bring back MANEUVER_COT",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleEngines.cs"
        ],
        "commitId" : "6cc7fd1f1498b73fe93c4832c298531ae1e8d695",
        "timestamp" : 1698470095000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix thrust curves yet again\u000a\u000aActually this sort of abandons even caring about them at all.\u000a\u000aEngines that don't work with this patch need to have their\u000aThrustCurve config scaled to work with MJ, no exceptions, there\u000aisn't a MJ bug here.\u000a",
        "date" : "2023-10-27 22:14:55 -0700",
        "id" : "6cc7fd1f1498b73fe93c4832c298531ae1e8d695",
        "msg" : "Fix thrust curves yet again",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleEngines.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleNodeExecutor.cs"
        ],
        "commitId" : "04245a9322be561e106dfbeb5679aee0e8bdb642",
        "timestamp" : 1698520123000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fuse principia + stock maneuver node execution behavior\u000a\u000aYep I'm actually doing DRY\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-10-28 12:08:43 -0700",
        "id" : "04245a9322be561e106dfbeb5679aee0e8bdb642",
        "msg" : "Fuse principia + stock maneuver node execution behavior",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleNodeEditor.cs",
          "MechJeb2/MechJebModuleManeuverPlanner.cs",
          "MechJeb2/MechJebModuleNodeExecutor.cs"
        ],
        "commitId" : "c441e6b9b8b74d458dbb746b19fb248a70a92ecd",
        "timestamp" : 1698520258000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Remove principia node execution button\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-10-28 12:10:58 -0700",
        "id" : "c441e6b9b8b74d458dbb746b19fb248a70a92ecd",
        "msg" : "Remove principia node execution button",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleManeuverPlanner.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeEditor.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleNodeExecutor.cs"
        ],
        "commitId" : "0162ec3143646eb9684f449a0fcc62272a4377d2",
        "timestamp" : 1698520904000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "maybe fix principia node execution\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-10-28 12:21:44 -0700",
        "id" : "0162ec3143646eb9684f449a0fcc62272a4377d2",
        "msg" : "maybe fix principia node execution",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleAscentBaseAutopilot.cs",
          "MechJeb2/MechJebModuleNodeExecutor.cs",
          "MechJeb2/MechJebModuleManeuverPlanner.cs"
        ],
        "commitId" : "f87468c265038a78f283733e8d9895986e53b942",
        "timestamp" : 1698537812000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Node Executor State Machine + RCS burns\u000a\u000aThink this also restores the stock node executor to basically working,\u000aalthough it breaks multi-node.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-10-28 17:03:32 -0700",
        "id" : "f87468c265038a78f283733e8d9895986e53b942",
        "msg" : "Node Executor State Machine + RCS burns",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleManeuverPlanner.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleNodeExecutor.cs"
        ],
        "commitId" : "437f551425c214c5782628317d483bd413c331da",
        "timestamp" : 1698541263000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix multinode execution for stock\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-10-28 18:01:03 -0700",
        "id" : "437f551425c214c5782628317d483bd413c331da",
        "msg" : "Fix multinode execution for stock",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleNodeExecutor.cs"
        ],
        "commitId" : "0d2025bd1064381c7c7154f274de4bed1ca07443",
        "timestamp" : 1698545589000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix principia execution\u000a\u000aalso back to not using center-of-thrust\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-10-28 19:13:09 -0700",
        "id" : "0d2025bd1064381c7c7154f274de4bed1ca07443",
        "msg" : "Fix principia execution",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleNodeExecutor.cs"
        ],
        "commitId" : "866e7be38335d6bd358af09338b1affd1456747a",
        "timestamp" : 1698546653000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Warp past 10 minutes if we're already aligned\u000a\u000aIf there's no need to drop out of warp, don't.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-10-28 19:30:53 -0700",
        "id" : "866e7be38335d6bd358af09338b1affd1456747a",
        "msg" : "Warp past 10 minutes if we're already aligned",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleManeuverPlanner.cs",
          "MechJeb2/MechJebModuleNodeExecutor.cs"
        ],
        "commitId" : "e21bb536f13ab0bf61c9a0cd551eba00eb88c08f",
        "timestamp" : 1698623628000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix principia multi-node\u000a\u000aThe node executor now works with two maneuvers planned.\u000a\u000aThe button for multi-node shows up.\u000a\u000aThere's a bug that I don't know how to fix because there's at least\u000aone tick between the last maneuver node disappearing and the next\u000amaneuver node showing up.  So the multi-node executor sees no future\u000anodes, so it quits.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-10-29 16:53:48 -0700",
        "id" : "e21bb536f13ab0bf61c9a0cd551eba00eb88c08f",
        "msg" : "Fix principia multi-node",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleManeuverPlanner.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleFlightRecorder.cs"
        ],
        "commitId" : "5826137e3aaeb95fc6a72e112251aabec1f34a4e",
        "timestamp" : 1698625246000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Run gravity losses continuously\u000a\u000aPer discussion with eggrobin this is obviously correct.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-10-29 17:20:46 -0700",
        "id" : "5826137e3aaeb95fc6a72e112251aabec1f34a4e",
        "msg" : "Run gravity losses continuously",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleFlightRecorder.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleFlightRecorderGraph.cs",
          "MechJeb2/MechJebModuleFlightRecorder.cs",
          "MechJeb2/MechJebModuleAscentClassicPathMenu.cs",
          "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
        ],
        "commitId" : "5a71aa1b122dc72a3df915c05667ec9ea7224f96",
        "timestamp" : 1698637035000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "FlightRecorder automated cleanup\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-10-29 20:37:15 -0700",
        "id" : "5a71aa1b122dc72a3df915c05667ec9ea7224f96",
        "msg" : "FlightRecorder automated cleanup",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleFlightRecorderGraph.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentClassicPathMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleFlightRecorder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleStagingController.cs",
          "MechJeb2/MechJebStageStatsHelper.cs",
          "MechJeb2/CachedLocalizer.cs",
          "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs",
          "MechJeb2/MechJebModuleCustomInfoWindow.cs",
          "MechJeb2/MechJebModuleThrustController.cs",
          "MechJeb2/MechJebModuleAscentSettingsMenu.cs",
          "MechJeb2/MechJebModuleInfoItems.cs",
          "MechJeb2/MechJebModuleAscentMenu.cs"
        ],
        "commitId" : "e60798fbbb564db0adfa86c881bdf4f055726ae3",
        "timestamp" : 1698687094000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "CachedLocalizer cleanup\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-10-30 10:31:34 -0700",
        "id" : "e60798fbbb564db0adfa86c881bdf4f055726ae3",
        "msg" : "CachedLocalizer cleanup",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleCustomInfoWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleInfoItems.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/CachedLocalizer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettingsMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebStageStatsHelper.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleWarpHelper.cs",
          "MechJeb2/MechJebModuleRendezvousAutopilotWindow.cs",
          "MechJeb2/MechJebModuleFlightRecorderGraph.cs",
          "MechJeb2/MechJebModuleThrustWindow.cs",
          "MechJeb2/MechJebModuleRoverWindow.cs",
          "MechJeb2/MechJebModuleNodeEditor.cs",
          "MechJeb2/MechJebModuleDockingGuidance.cs",
          "MechJeb2/MechJebModuleTranslatron.cs",
          "MechJeb2/MechJebModuleAttitudeAdjustment.cs",
          "MechJeb2/MechJebModuleAscentMenu.cs",
          "MechJeb2/MechJebModuleCustomInfoWindow.cs",
          "MechJeb2/DisplayModule.cs",
          "MechJeb2/MechJebModuleSpaceplaneGuidance.cs",
          "MechJeb2/MechJebModuleSettings.cs",
          "MechJeb2/MechJebModuleWaypointWindow.cs",
          "MechJeb2/GuiUtils.cs",
          "MechJeb2/MechJebModuleAscentClassicPathMenu.cs",
          "MechJeb2/MechJebModuleLandingGuidance.cs",
          "MechJeb2/MechJebModuleSmartASS.cs",
          "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs",
          "MechJeb2/MechJebModuleManeuverPlanner.cs",
          "MechJeb2/MechJebAR202.cs",
          "MechJeb2/MechJebModuleMenu.cs",
          "MechJeb2/MechJebModuleRCSBalancerWindow.cs",
          "MechJeb2/MechJebModuleAirplaneGuidance.cs",
          "MechJeb2/MechJebModuleRendezvousGuidance.cs",
          "MechJeb2/MechJebModuleSmartRcs.cs",
          "MechJeb2/MechJebModuleThrustController.cs",
          "MechJeb2/MechJebModuleAscentSettingsMenu.cs",
          "MechJeb2/MechJebCore.cs"
        ],
        "commitId" : "4bff46668dc1988b8b8663887a629a4d4eed0a45",
        "timestamp" : 1698687562000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "DisplayModule cleanup\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-10-30 10:39:22 -0700",
        "id" : "4bff46668dc1988b8b8663887a629a4d4eed0a45",
        "msg" : "DisplayModule cleanup",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleFlightRecorderGraph.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebAR202.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDockingGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleCustomInfoWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWarpHelper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRoverWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleTranslatron.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRCSBalancerWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSmartASS.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAttitudeAdjustment.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSmartRcs.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/DisplayModule.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeEditor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentClassicPathMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAirplaneGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousAutopilotWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSpaceplaneGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSettings.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettingsMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWaypointWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/GuiUtils.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleManeuverPlanner.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebCore.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/GLUtils.cs"
        ],
        "commitId" : "4bcd32b88367fb7280c78198cd050db3cc1aca70",
        "timestamp" : 1698687988000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Clean up GLUtils\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-10-30 10:46:28 -0700",
        "id" : "4bcd32b88367fb7280c78198cd050db3cc1aca70",
        "msg" : "Clean up GLUtils",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/GLUtils.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/InstallChecker.cs"
        ],
        "commitId" : "2f04821796d30a293b69087642d7e2acafa8e41f",
        "timestamp" : 1698688746000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix multiple enumeration in InstallChecker\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-10-30 10:59:06 -0700",
        "id" : "2f04821796d30a293b69087642d7e2acafa8e41f",
        "msg" : "Fix multiple enumeration in InstallChecker",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/InstallChecker.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/DisplayModule.cs"
        ],
        "commitId" : "c5045501566445f502143690da81f4a33520e2eb",
        "timestamp" : 1698773951000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Add SerializeField to private Persistent fields\u000a\u000aThis might fix the problem with window positions not updating.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-10-31 10:39:11 -0700",
        "id" : "c5045501566445f502143690da81f4a33520e2eb",
        "msg" : "Add SerializeField to private Persistent fields",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/DisplayModule.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleWarpHelper.cs",
          "MechJeb2/GuiUtils.cs",
          "MechJeb2/Maneuver/TimeSelector.cs",
          "MechJeb2/MechJebModuleWarpController.cs",
          "MechJeb2/MechJebModuleLandingGuidance.cs",
          "MechJeb2/MechJebModuleDeployableController.cs",
          "MechJeb2/MechJebModuleNodeEditor.cs",
          "MechJeb2/AttitudeControllers/KosAttitudeController.cs",
          "MechJeb2/MechJebModuleAscentMenu.cs",
          "MechJeb2/AttitudeControllers/HybridController.cs",
          "MechJeb2/MechJebModuleAscentSettings.cs",
          "MechJeb2/MechJebModuleManeuverPlanner.cs",
          "MechJeb2/MechJebModuleCustomInfoWindow.cs",
          "MechJeb2/MechJebModuleAirplaneGuidance.cs",
          "MechJeb2/AttitudeControllers/MJAttitudeController.cs",
          "MechJeb2/DisplayModule.cs",
          "MechJeb2/AttitudeControllers/BetterController.cs"
        ],
        "commitId" : "a0b239b4bead1f3aa9842c49a77e08f7381487af",
        "timestamp" : 1698778043000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Make all Persistent fields Public\u000a\u000athis should really fix persistence\u000a\u000acloses #1678\u000acloses #1580\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-10-31 11:47:23 -0700",
        "id" : "a0b239b4bead1f3aa9842c49a77e08f7381487af",
        "msg" : "Make all Persistent fields Public",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BetterController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleCustomInfoWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleManeuverPlanner.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/TimeSelector.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWarpController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/KosAttitudeController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAirplaneGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettings.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDeployableController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeEditor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/MJAttitudeController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/DisplayModule.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWarpHelper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/HybridController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/GuiUtils.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/DisplayModule.cs"
        ],
        "commitId" : "6ea3842e149daba0ef96866886fca881db4929c9",
        "timestamp" : 1698778534000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Rename DisplayModule fields\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-10-31 11:55:34 -0700",
        "id" : "6ea3842e149daba0ef96866886fca881db4929c9",
        "msg" : "Rename DisplayModule fields",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/DisplayModule.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/AttitudeControllers/BaseAttitudeController.cs",
          "MechJeb2/AttitudeControllers/KosPIDLoop.cs",
          "MechJeb2/AttitudeControllers/TorquePI.cs",
          "MechJeb2/AttitudeControllers/MJAttitudeController.cs",
          "MechJeb2.sln.DotSettings",
          "MechJeb2/AttitudeControllers/BetterController.cs",
          "MechJeb2/AttitudeControllers/KosAttitudeController.cs",
          "MechJeb2/AttitudeControllers/HybridController.cs"
        ],
        "commitId" : "37b09f436b415d942a2e0f156391a4a874a54ba2",
        "timestamp" : 1698779680000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "cleanup attitude controllers\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-10-31 12:14:40 -0700",
        "id" : "37b09f436b415d942a2e0f156391a4a874a54ba2",
        "msg" : "cleanup attitude controllers",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/KosPIDLoop.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BetterController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/KosAttitudeController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BaseAttitudeController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/TorquePI.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/MJAttitudeController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2.sln.DotSettings"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/HybridController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleWarpHelper.cs",
          "MechJeb2/MechJebModuleRendezvousAutopilotWindow.cs",
          "MechJeb2/Maneuver/OperationResonantOrbit.cs",
          "MechJeb2/Maneuver/TimeSelector.cs",
          "MechJeb2/MechJebModuleFlightRecorderGraph.cs",
          "MechJeb2/MechJebModuleThrustWindow.cs",
          "MechJeb2/MechJebModuleDockingGuidance.cs",
          "MechJeb2/MechJebModuleAttitudeAdjustment.cs",
          "MechJeb2/MechJebModuleRCSController.cs",
          "MechJeb2/DisplayModule.cs",
          "MechJeb2/MechJebModuleSpaceplaneGuidance.cs",
          "MechJeb2/MechJebModuleWaypointWindow.cs",
          "MechJeb2/MechJebModuleRoverController.cs",
          "MechJeb2/Maneuver/OperationTransfer.cs",
          "MechJeb2/MechJebModuleStagingController.cs",
          "MechJeb2/MechJebModuleManeuverPlanner.cs",
          "MechJeb2/MechJebModuleRendezvousGuidance.cs",
          "MechJeb2/CelestialBodyExtensions.cs",
          "MechJeb2/MechJebModuleAscentSettingsMenu.cs",
          "MechJeb2/Maneuver/OperationAdvancedTransfer.cs",
          "MechJeb2/MechJebModuleRoverWindow.cs",
          "MechJeb2/MechJebModuleNodeEditor.cs",
          "MechJeb2/MechJebModuleTranslatron.cs",
          "MechJeb2/AttitudeControllers/KosAttitudeController.cs",
          "MechJeb2/MechJebModuleAscentMenu.cs",
          "MechJeb2/MechJebModuleRendezvousAutopilot.cs",
          "MechJeb2/MechJebStageStatsHelper.cs",
          "MechJeb2/MechJebModuleAscentSettings.cs",
          "MechJeb2/MechJebModuleCustomInfoWindow.cs",
          "MechJeb2/AttitudeControllers/MJAttitudeController.cs",
          "MechJeb2/MechJebModuleSettings.cs",
          "MechJeb2/GuiUtils.cs",
          "MechJeb2/MechJebModuleAscentClassicPathMenu.cs",
          "MechJeb2/MechJebModuleDebugArrows.cs",
          "MechJeb2/MechJebModuleDockingAutopilot.cs",
          "MechJeb2/MechJebModuleTargetController.cs",
          "MechJeb2/MechJebModuleSmartASS.cs",
          "MechJeb2/AttitudeControllers/HybridController.cs",
          "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs",
          "MechJeb2/MechJebModuleMenu.cs",
          "MechJeb2/MechJebModuleAscentBaseAutopilot.cs",
          "MechJeb2/MechJebModuleAirplaneGuidance.cs",
          "MechJeb2/MechJebModuleThrustController.cs",
          "MechJeb2/Maneuver/OperationInterplanetaryTransfer.cs",
          "MechJeb2/MechJebModuleAscentPVGAutopilot.cs",
          "MechJeb2.sln.DotSettings",
          "MechJeb2/MechJebCore.cs",
          "MechJeb2/MechJebModuleInfoItems.cs",
          "MechJeb2/AttitudeControllers/BetterController.cs"
        ],
        "commitId" : "60990212217878a0d6fe46390098799168684fa8",
        "timestamp" : 1698789204000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "GuiUtils cleanup\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-10-31 14:53:24 -0700",
        "id" : "60990212217878a0d6fe46390098799168684fa8",
        "msg" : "GuiUtils cleanup",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/MJAttitudeController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSmartASS.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRoverController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleTranslatron.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebStageStatsHelper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDockingGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/DisplayModule.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDebugArrows.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAttitudeAdjustment.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2.sln.DotSettings"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousAutopilotWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRoverWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleTargetController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/GuiUtils.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationResonantOrbit.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleInfoItems.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/TimeSelector.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRCSController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDockingAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleCustomInfoWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWaypointWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWarpHelper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeEditor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSpaceplaneGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleFlightRecorderGraph.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/CelestialBodyExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationInterplanetaryTransfer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAirplaneGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSettings.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleManeuverPlanner.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BetterController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationTransfer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationAdvancedTransfer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettingsMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentClassicPathMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebCore.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettings.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/HybridController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/KosAttitudeController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleWaypointWindow.cs",
          "MechJeb2/MechJebModuleRoverWindow.cs"
        ],
        "commitId" : "d04257e8c4451507c579daefbcde0303ce70fab1",
        "timestamp" : 1698863787000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "WaypointWindow cleanup\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-01 11:36:27 -0700",
        "id" : "d04257e8c4451507c579daefbcde0303ce70fab1",
        "msg" : "WaypointWindow cleanup",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRoverWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWaypointWindow.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleWaypointWindow.cs",
          "MechJeb2/MechJebLib/Maneuvers/TwoImpulseTransfer.cs",
          "MechJeb2/GuiUtils.cs",
          "MechJeb2/MechJebModuleMenu.cs",
          "MechJeb2/MechJebModuleNodeExecutor.cs",
          "MechJeb2/MechJebModuleAscentPVGAutopilot.cs",
          "MechJeb2/MechJebModuleInfoItems.cs",
          "MechJeb2/CompatibilityChecker.cs",
          "MechJeb2/MechJebModuleRCSBalancer.cs"
        ],
        "commitId" : "95ae54a2ff4ac000f67eb73cf66c536a77115bfe",
        "timestamp" : 1698865531000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Use string interpolation\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-01 12:05:31 -0700",
        "id" : "95ae54a2ff4ac000f67eb73cf66c536a77115bfe",
        "msg" : "Use string interpolation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWaypointWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/GuiUtils.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/CompatibilityChecker.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRCSBalancer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleInfoItems.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/TwoImpulseTransfer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleMenu.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Core/ODE/Event.cs",
          "MechJeb2/MechJebModuleWarpHelper.cs",
          "MechJeb2/MechJebModuleStageStats.cs",
          "MechJeb2/MechJebModuleAttitudeController.cs",
          "MechJeb2/Maneuver/OperationAdvancedTransfer.cs",
          "MechJeb2/FlyingSim/SimulatedVessel.cs",
          "MechJeb2/MechJebModuleRoverController.cs",
          "MechJeb2/MechJebModuleDebugArrows.cs",
          "MechJeb2/MechJebModuleDeployableController.cs",
          "MechJeb2/MechJebModuleDockingAutopilot.cs",
          "MechJeb2/MechJebModuleLandingPredictions.cs",
          "MechJeb2/MechJebModuleSmartASS.cs",
          "MechJeb2/MechJebModuleTranslatron.cs",
          "MechJeb2/MechJebModuleRCSBalancer.cs",
          "MechJeb2/MechJebModuleRendezvousAutopilot.cs",
          "MechJeb2/MechJebLib/PVG/Optimizer.cs",
          "MechJeb2/MechJebModuleRCSController.cs",
          "MechJeb2/MechJebModuleMenu.cs",
          "MechJeb2/MechJebModuleCustomInfoWindow.cs",
          "MechJeb2/MechJebModuleSpaceplaneAutopilot.cs",
          "MechJeb2/MechJebLib/PVG/Phase.cs",
          "MechJeb2/VesselState.cs",
          "MechJeb2/FlyingSim/SimulatedPart.cs",
          "MechJeb2/MechJebModuleSettings.cs"
        ],
        "commitId" : "faf0377e96f2f3c19731d771d6e87980d49554f5",
        "timestamp" : 1698868809000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Make fields readonly\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-01 13:00:09 -0700",
        "id" : "faf0377e96f2f3c19731d771d6e87980d49554f5",
        "msg" : "Make fields readonly",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAttitudeController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Optimizer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDebugArrows.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingPredictions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationAdvancedTransfer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRCSController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWarpHelper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStageStats.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRoverController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSmartASS.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDeployableController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSpaceplaneAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDockingAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRCSBalancer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Phase.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Core/ODE/Event.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleCustomInfoWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleTranslatron.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/FlyingSim/SimulatedVessel.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSettings.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/FlyingSim/SimulatedPart.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/VesselState.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/VesselState.cs"
        ],
        "commitId" : "a060fd799fd05742c9749ee1c65e585a24956d3a",
        "timestamp" : 1698868906000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Use TryGetValue\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-01 13:01:46 -0700",
        "id" : "a060fd799fd05742c9749ee1c65e585a24956d3a",
        "msg" : "Use TryGetValue",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/VesselState.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/VesselState.cs"
        ],
        "commitId" : "dad84bf0cb1127017ed2b9bd9ddef15126c4f56c",
        "timestamp" : 1698868944000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Use TryAdd\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-01 13:02:24 -0700",
        "id" : "dad84bf0cb1127017ed2b9bd9ddef15126c4f56c",
        "msg" : "Use TryAdd",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/VesselState.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/VesselState.cs",
          "MechJeb2/MechJebModuleAttitudeController.cs",
          "MechJeb2/MechJebModuleCustomInfoWindow.cs",
          "MechJeb2/MechJebModuleSpaceplaneAutopilot.cs",
          "MechJeb2/MechJebModuleRoverController.cs",
          "MechJeb2/MechJebModuleDebugArrows.cs"
        ],
        "commitId" : "088be36ba0a07a1607f4abfcad935759aa90d5ad",
        "timestamp" : 1698868998000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Inline out variable declaration\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-01 13:03:18 -0700",
        "id" : "088be36ba0a07a1607f4abfcad935759aa90d5ad",
        "msg" : "Inline out variable declaration",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAttitudeController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/VesselState.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleCustomInfoWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSpaceplaneAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDebugArrows.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRoverController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/MathsTests/FunctionsTests.cs",
          "MechJebLibTest/PVGTests/AscentTests/Titan2Tests.cs",
          "MechJebLibTest/ManeuversTests/TwoImpulseTransferTests.cs",
          "MechJebLibTest/PVGTests/Integrators/VacuumThrustIntegratorTests.cs"
        ],
        "commitId" : "824cb304253c24c5149c1691e1e30cee3cfa6a5c",
        "timestamp" : 1698869162000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Remove unused local variables in Tests\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-01 13:06:02 -0700",
        "id" : "824cb304253c24c5149c1691e1e30cee3cfa6a5c",
        "msg" : "Remove unused local variables in Tests",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MathsTests/FunctionsTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/ManeuversTests/TwoImpulseTransferTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/AscentTests/Titan2Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/Integrators/VacuumThrustIntegratorTests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/PVGTests/AscentTests/Titan2Tests.cs",
          "MechJeb2/VesselExtensions.cs"
        ],
        "commitId" : "e58d5d2e162ecbe669d4fc81319e0432f7e073ad",
        "timestamp" : 1698869248000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Remove empty statements\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-01 13:07:28 -0700",
        "id" : "e58d5d2e162ecbe669d4fc81319e0432f7e073ad",
        "msg" : "Remove empty statements",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/VesselExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/AscentTests/Titan2Tests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/DisplayModule.cs"
        ],
        "commitId" : "dc4525e6e96584075a9cf29003afd83306010a04",
        "timestamp" : 1698947508000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Revert back to old naming\u000a\u000aRenaming causes too many issues and corrupts the global config so that\u000athe delta V and vessel info windows disappears in the VAB.\u000a\u000aUnfortunately, corrupted windows will need to be manually fixed by\u000aediting mechjeb_settings_global.cfg and setting showInEditor to\u000a'True' for the 'Vessel Info' and 'Stage Stats' windows.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-02 10:51:48 -0700",
        "id" : "dc4525e6e96584075a9cf29003afd83306010a04",
        "msg" : "Revert back to old naming",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/DisplayModule.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleCustomInfoWindow.cs"
        ],
        "commitId" : "89ead30a31ba754f264677cce0f0a402ad2a2ac2",
        "timestamp" : 1698948175000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Mark all info items as implicitly used\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-02 11:02:55 -0700",
        "id" : "89ead30a31ba754f264677cce0f0a402ad2a2ac2",
        "msg" : "Mark all info items as implicitly used",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleCustomInfoWindow.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleNodeExecutor.cs"
        ],
        "commitId" : "0e54ef9e61c153ad9dd83ddaf831d9194830a2ac",
        "timestamp" : 1699125269000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix Principia Node execution again\u000a\u000aNeed to not spill out into the AngleFromNode() test.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-04 12:14:29 -0700",
        "id" : "0e54ef9e61c153ad9dd83ddaf831d9194830a2ac",
        "msg" : "Fix Principia Node execution again",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleDockingNode.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimProceduralFairingDecoupler.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleEngines.cs",
          "MechJeb2/MechJebLib/Simulations/SimVesselBuilder.cs",
          "MechJeb2/MechJebLib/Simulations/SimResource.cs",
          "MechJeb2/MechJebLib/Simulations/SimPartModule.cs",
          "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleRCS.cs",
          "MechJeb2/MechJebLib/Simulations/SimVesselManager.cs",
          "MechJeb2/MechJebLib/Simulations/FuelStats.cs",
          "MechJeb2/MechJebLib/Simulations/SimVesselUpdater.cs",
          "MechJeb2/MechJebLib/Simulations/SimPart.cs",
          "MechJeb2/MechJebLib/Simulations/SimPropellant.cs",
          "MechJeb2/MechJebLib/Simulations/SimVessel.cs",
          "MechJeb2/MechJebLib/Simulations/DecouplingAnalyzer.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleDecouple.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimLaunchClamp.cs"
        ],
        "commitId" : "b37673fd2aef2a0439da0a2cded1669e5d5a954d",
        "timestamp" : 1699297086000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Small fix to the Updater for null attach part\u000a\u000aSome parts would cause this to throw.\u000a\u000aAlso added the right Copyright notices\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-06 10:58:06 -0800",
        "id" : "b37673fd2aef2a0439da0a2cded1669e5d5a954d",
        "msg" : "Small fix to the Updater for null attach part",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimResource.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleDockingNode.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselManager.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/DecouplingAnalyzer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimPropellant.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVessel.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimProceduralFairingDecoupler.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleDecouple.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleEngines.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselUpdater.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimPartModule.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimLaunchClamp.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/FuelStats.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleRCS.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Simulations/SimPart.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleNodeExecutor.cs"
        ],
        "commitId" : "3b4e45a998a6e2b9f96c4644053b20e86d85d853",
        "timestamp" : 1699380549000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix node executor ullage\u000a\u000ashould allow people to manually ullage and should now check for the\u000aproper boolean and actually do RCS ullage in the LEAD time state for\u000ayou.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-07 10:09:09 -0800",
        "id" : "3b4e45a998a6e2b9f96c4644053b20e86d85d853",
        "msg" : "Fix node executor ullage",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleNodeExecutor.cs"
        ],
        "commitId" : "e93ea6e535f732d81d0242df658724b690ee0563",
        "timestamp" : 1699380912000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Node executor: aligned is good enough for RCS ullaging\u000a\u000awe shouldn't need to worry about being settled to start ullaging.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-07 10:15:12 -0800",
        "id" : "e93ea6e535f732d81d0242df658724b690ee0563",
        "msg" : "Node executor: aligned is good enough for RCS ullaging",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleNodeExecutor.cs"
        ],
        "commitId" : "0af2ef458cf6810050e3cede87102d83a2011642",
        "timestamp" : 1699381044000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "also only use aligned in deciding to start burn\u000a\u000aif we're aligned then just start the burn, don't worry about\u000aangular velocity.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-07 10:17:24 -0800",
        "id" : "0af2ef458cf6810050e3cede87102d83a2011642",
        "msg" : "also only use aligned in deciding to start burn",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleThrustController.cs"
        ],
        "commitId" : "f06acb0d603cb3126f21811c2471a6a92c428148",
        "timestamp" : 1699418426000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Simplify RCS ullage\u000a\u000aAlways apply RCS ullage if we're less than verystable.\u000a\u000aDon't kill the engine if the last command was to apply throttle.\u000a\u000aIn my head, this means that if we drop below verystable during spoolup we\u000ashould apply some RCS, without having logic that will accidentally kill\u000athe engine and waste an ignition if ullage drops before spoolup is done.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-07 20:40:26 -0800",
        "id" : "f06acb0d603cb3126f21811c2471a6a92c428148",
        "msg" : "Simplify RCS ullage",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleThrustController.cs"
        ],
        "commitId" : "de9691b001adc50641fcc48234af218a548a92be",
        "timestamp" : 1699475079000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Add back a minimum rcs time and ignition delay\u000a\u000aThis is working around the fact that \"very stable\" still has a\u000a0.2% chance of failure and that we want to deliberately \"over ullage\"\u000athe engine, and we want to wait for a couple of ticks above\u000a\"very stable\" to ensure we are at 100% before engaging the throttle.\u000a\u000aUllage may still bounce down below \"very stable\" again, but we'll\u000areapply ullage as soon as it does.\u000a\u000aRF does not currently expose any API that allows seeing if we're at\u000aan ullage state over 100%, we might be able to directly look at\u000apropellantStability to see if we're actually at 100% or only at 99.6%\u000a\u000aIt would be nice if RF would not truncate propellantStability at 100%\u000aand would have Stable be 100% and VeryStable be something like 105%.\u000a\u000a(And note that currently the exponent of RF is 0.5 so that 99.6% ullage\u000aresults in a 99.8% chance of ignition)\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-08 12:24:39 -0800",
        "id" : "de9691b001adc50641fcc48234af218a548a92be",
        "msg" : "Add back a minimum rcs time and ignition delay",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleThrustController.cs",
          "MechJeb2/VesselState.cs",
          "MechJeb2/PartExtensions.cs",
          "MechJeb2/MechJebModuleNodeExecutor.cs"
        ],
        "commitId" : "586dc2c43820ad1a0cba3ccced729cb228d691e6",
        "timestamp" : 1699477154000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Use propellantStability directly\u000a\u000aThis lets the ThrustController and NodeExecutor use the 0.996 to 1.0\u000arange as where to apply RCS to get back up to 1.0\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-08 12:59:14 -0800",
        "id" : "586dc2c43820ad1a0cba3ccced729cb228d691e6",
        "msg" : "Use propellantStability directly",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/PartExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/VesselState.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleNodeExecutor.cs"
        ],
        "commitId" : "bcb686aec7d39520ee9427c176307a968815791b",
        "timestamp" : 1699479100000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Ullage in the Node Executor for at least 1/2 second\u000a\u000aSame code as the ThrustController\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-08 13:31:40 -0800",
        "id" : "bcb686aec7d39520ee9427c176307a968815791b",
        "msg" : "Ullage in the Node Executor for at least 1/2 second",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleThrustController.cs",
          "MechJeb2/MechJebModuleNodeExecutor.cs"
        ],
        "commitId" : "50fae03e79a89d07e6833b6fcd39eddcbc2cce39",
        "timestamp" : 1699564526000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "The final RCS ullage fix\u000a\u000a1. the node executor will continuously apply RCS in the \"lead\"\u000a   time if the vessel is aligned with the node.\u000a\u000a2. the thrust controller will continuously apply RCS until the\u000a   thrust of the engines exceeds the fore thrust of the RCS\u000a   engines.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-09 13:15:26 -0800",
        "id" : "50fae03e79a89d07e6833b6fcd39eddcbc2cce39",
        "msg" : "The final RCS ullage fix",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleNodeExecutor.cs"
        ],
        "commitId" : "cd846e3a189faeb916bbf039ca124b26aa49ccd3",
        "timestamp" : 1699644546000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Tune RCS ullaging more\u000a\u000aBack to having the node executor ullage only for 1/4 second past\u000a100% so that it doesn't excessively waste RCS during the LEAD time.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-10 11:29:06 -0800",
        "id" : "cd846e3a189faeb916bbf039ca124b26aa49ccd3",
        "msg" : "Tune RCS ullaging more",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleNodeExecutor.cs"
        ],
        "commitId" : "fa93eac31c23fbdf8b198d68d8c70d9b66188d1c",
        "timestamp" : 1699646500000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Add forced ullaging right before ignition\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-10 12:01:40 -0800",
        "id" : "fa93eac31c23fbdf8b198d68d8c70d9b66188d1c",
        "msg" : "Add forced ullaging right before ignition",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Maneuvers/TwoImpulseTransfer.cs",
          "MechJeb2/Maneuver/TransferCalculator.cs",
          "MechJeb2/MechJebLib/Core/Lambert/Izzo.cs",
          "MechJeb2/OrbitalManeuverCalculator.cs",
          "MechJeb2/MechJebLib/Core/Gooding.cs",
          "MechJeb2/MechJebLib/Core/Lambert/Gooding.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJebLibTest/MathsTests/GoodingTests.cs"
        ],
        "commitId" : "c9a4c4e9c629a45fba82b7598d1fb871cae2a5d8",
        "timestamp" : 1700105549000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Adding Izzo's Lambert method\u000a\u000aThis isn't actually any faster than Gooding in the nrev=0 case, so I\u000adon't think we should use it over Gooding right now.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-15 19:32:29 -0800",
        "id" : "c9a4c4e9c629a45fba82b7598d1fb871cae2a5d8",
        "msg" : "Adding Izzo's Lambert method",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MathsTests/GoodingTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/TransferCalculator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/TwoImpulseTransfer.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Core/Lambert/Gooding.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitalManeuverCalculator.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Core/Lambert/Izzo.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Core/Gooding.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebLib/Maneuvers/TwoImpulseTransfer.cs",
          "MechJeb2/MechJebModuleStageStats.cs",
          "MechJeb2/MechJebLib/SuicideBurnSimulation/SuicideBuilder.cs",
          "MechJeb2/MechJebLib/Core/BrentMin.cs",
          "MechJeb2/MechJebLib/Core/FunctionImpls/RealSingleImpulseHyperbolicBurn.cs",
          "MechJeb2/MechJebModuleFlightRecorderGraph.cs",
          "MechJeb2/MechJebLib/Utils/BackgroundJob.cs",
          "MechJeb2/MechJebModuleNodeExecutor.cs",
          "MechJeb2/MechJebLib/FuelFlowSimulation/DecouplingAnalyzer.cs",
          "MechJeb2/MechJebLib/ODE/AbstractRungeKutta.cs",
          "MechJeb2/MechJebLib/Statics.cs",
          "MechJeb2/MechJebLib/SuicideBurnSimulation/Suicide.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs",
          "MechJebLibTest/Structs/M3Tests.cs",
          "MechJeb2/MechJebModuleGuidanceController.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler4Reduced.cs",
          "MechJebLibTest/MathsTests/TwoBody/FarnocchiaTests.cs",
          "MechJeb2/MechJebModuleLandingGuidance.cs",
          "MechJeb2/MechJebLib/SuicideBuilder.cs",
          "MechJeb2/MechJebLib/Core/Lambert/Gooding.cs",
          "MechJeb2/MechJebLib/FuelFlowSimulation/PartModules/SimModuleEngines.cs",
          "MechJeb2/MechJebModuleRCSBalancer.cs",
          "MechJeb2/MechJebLib/Maneuvers/Simple.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler5Reduced.cs",
          "MechJeb2/MechJebModuleStagingController.cs",
          "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs",
          "MechJeb2/MechJebLib/FuelFlowSimulation/SimVesselManager.cs",
          "MechJeb2/MechJebLib/PVG/Optimizer.cs",
          "MechJeb2/MechJebLib/Rootfinding/Bisection.cs",
          "MechJeb2/OrbitalManeuverCalculator.cs",
          "MechJeb2/MechJebLib/PVG/Phase.cs",
          "MechJeb2/MechJebLib/Minimization/BrentMin.cs",
          "MechJeb2/MechJebModuleRendezvousGuidance.cs",
          "MechJeb2/MechJebLib/Lambert/Gooding.cs",
          "MechJeb2/MechJebLib/FuelFlowSimulation/PartModules/SimLaunchClamp.cs",
          "MechJeb2/MechJebLib/Simulations/SimVessel.cs",
          "MechJeb2/MechJebLib/Simulations/SimPropellant.cs",
          "MechJeb2/MechJebLib/Functions/Interpolants.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle3Energy.cs",
          "MechJebLibTest/MathsTests/TwoBody/ShepperdTests.cs",
          "MechJebLibTest/ManeuversTests/ReturnFromMoonTests.cs",
          "MechJeb2/Maneuver/OperationAdvancedTransfer.cs",
          "MechJeb2/MechJebLib/Primitives/H3.cs",
          "MechJebLibTest/PVGTests/Integrators/VacuumCoastAnalyticTests.cs",
          "MechJeb2/MechJebLib/PVG/Ascent.cs",
          "MechJebLibTest/MathsTests/FunctionsTests.cs",
          "MechJeb2/MechJebLib/FuelFlowSimulation/SimPropellant.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleEngines.cs",
          "MechJeb2/MechJebLib/FuelFlowSimulation/PartModules/SimModuleRCS.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs",
          "MechJeb2/MechJebModuleTranslatron.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJeb2/MechJebModuleAscentMenu.cs",
          "MechJeb2/MechJebModuleRendezvousAutopilot.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleRCS.cs",
          "MechJeb2/MechJebLib/Simulations/FuelStats.cs",
          "MechJeb2/MechJebLib/Core/Maths.cs",
          "MechJeb2/MechJebLib/Simulations/DecouplingAnalyzer.cs",
          "MechJeb2/Maneuver/TransferCalculator.cs",
          "MechJeb2/MechJebLib/Core/Bisection.cs",
          "MechJeb2/GLUtils.cs",
          "MechJeb2/MechJebLib/Maneuvers/ChangeOrbitalElement.cs",
          "MechJeb2/MechJebLib/Core/Functions/Angles.cs",
          "MechJeb2/MechJebLib/FuelFlowSimulation/PartModules/SimProceduralFairingDecoupler.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumCoastAnalytic.cs",
          "MechJeb2/MechJebLib/Utils/Statics.cs",
          "MechJeb2/OrbitExtensions.cs",
          "MechJeb2/MechJebLib/FuelFlowSimulation/SimResource.cs",
          "MechJeb2/MechJebLib/Primitives/Hn.cs",
          "MechJeb2/MechJebLib/Core/TwoBody/Shepperd.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler3Reduced.cs",
          "MechJeb2/MechJebLib/Simulations/SimPart.cs",
          "MechJeb2/MechJebLib/FunctionImpls/RealSingleImpulseHyperbolicBurn.cs",
          "MechJeb2/MechJebModuleInfoItems.cs",
          "MechJeb2/MechJebLib/Primitives/Q3.cs",
          "MechJeb2/MechJebLib/FuelFlowSimulation/PartModules/SimModuleDockingNode.cs",
          "MechJeb2/MechJebLib/FuelFlowSimulation/SimPartModule.cs",
          "MechJeb2/MechJebLib/FuelFlowSimulation/PartModules/SimModuleDecouple.cs",
          "MechJebLibTest/ManeuversTests/Simple.cs",
          "MechJeb2/MechJebLib/PVG/Solution.cs",
          "MechJeb2/MechJebLib/Primitives/H1.cs",
          "MechJeb2/MechJebLib/Control/PIDLoop.cs",
          "MechJeb2/MechJebLib/ODE/BS3.cs",
          "MechJeb2/MechJebLib/Lambert/Izzo.cs",
          "MechJeb2/MechJebLib/FuelFlowSimulation/FuelStats.cs",
          "MechJeb2/MechJebLib/FuelFlowSimulation/SimVesselUpdater.cs",
          "MechJeb2/MechJebLib/FuelFlowSimulation/SimPart.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Reduced.cs",
          "MechJeb2/MechJebLib/Core/FunctionImpls/RealDeltaVToChangeApoapsisPrograde.cs",
          "MechJeb2/MechJebLib/Core/Functions/Interpolants.cs",
          "MechJebLibTest/ManeuversTests/TwoImpulseTransferTests.cs",
          "MechJeb2/MechJebModuleSpaceplaneGuidance.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimLaunchClamp.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Propellant.cs",
          "MechJeb2/MechJebLib/FuelFlowSimulation/SimVesselBuilder.cs",
          "MechJeb2/MechJebModuleWaypointWindow.cs",
          "MechJeb2/MechJebLib/Core/Functions/Maneuvers.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Energy.cs",
          "MechJeb2/MechJebLib/Primitives/Vn.cs",
          "MechJeb2/MechJebLib/Core/ODE/AbstractRungeKutta.cs",
          "MechJeb2/MechJebLib/Simulations/SimVesselBuilder.cs",
          "MechJeb2/MechJebLib/Simulations/SimResource.cs",
          "MechJeb2/MechJebModulePVGGlueBall.cs",
          "MechJeb2/MechJebLib/TwoBody/Shepperd.cs",
          "MechJebLibTest/ManeuversTests/ChangeOrbitalElementTests.cs",
          "MechJeb2/MechJebLib/Core/BrentRoot.cs",
          "MechJebLibTest/MathsTests/BisectionTests.cs",
          "MechJeb2/MechJebModuleSuicideTimer.cs",
          "MechJeb2/MechJebLib/Simulations/SimVesselManager.cs",
          "MechJebLibTest/StaticTests.cs",
          "MechJeb2/MechJebLib/Primitives/V3.cs",
          "MechJeb2/MechJebLib/Maneuvers/ReturnFromMoon.cs",
          "MechJeb2/MechJebLib/Core/ODE/DP5.cs",
          "MechJeb2/MechJebLib/ODE/Event.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleDecouple.cs",
          "MechJeb2/MechJebLib/Core/ODE/Event.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleDockingNode.cs",
          "MechJebLibTest/MathsTests/DP5Tests.cs",
          "MechJeb2/Maneuver/OperationEllipticize.cs",
          "MechJeb2/MechJebLib/ODE/DP5.cs",
          "MechJeb2/MechJebLib/FunctionImpls/RealDeltaVToChangeApoapsisPrograde.cs",
          "MechJeb2/MechJebLib/Core/TwoBody/Farnocchia.cs",
          "MechJeb2/MechJebLib/Functions/Astro.cs",
          "MechJeb2/MechJebLib/Simulations/PartModules/SimProceduralFairingDecoupler.cs",
          "MechJeb2/MechJebLib/Functions/Maneuvers.cs",
          "MechJebLibTest/MathsTests/GoodingTests.cs",
          "MechJeb2/MechJebLib/Functions/Angles.cs",
          "MechJeb2/MechJebStageStatsHelper.cs",
          "MechJeb2/MechJebModuleAscentSettings.cs",
          "MechJeb2/Maneuver/OperationPeriapsis.cs",
          "MechJeb2/MechJebLib/Primitives/Dual.cs",
          "MechJeb2/MechJebModuleCustomInfoWindow.cs",
          "MechJeb2/MechJebLib/FuelFlowSimulation/FuelFlowSimulation.cs",
          "MechJeb2/MechJebLib/ODE/AbstractIVP.cs",
          "MechJebLibTest/MathsTests/BrentRootTests.cs",
          "MechJebLibTest/AssertionExtensions.cs",
          "MechJeb2/MechJebLib/Simulations/SimVesselUpdater.cs",
          "MechJeb2/MechJebLib/Core/ODE/AbstractIVP.cs",
          "MechJeb2/MechJebLib/Suicide.cs",
          "MechJeb2/Maneuver/OperationSemiMajor.cs",
          "MechJeb2/MechJebModuleAscentClassicPathMenu.cs",
          "MechJeb2/MechJebLib/Core/Lambert/Izzo.cs",
          "MechJebLibTest/PVGTests/AscentTests/TheStandardTests.cs",
          "MechJeb2/MechJebLib/PVG/AscentBuilder.cs",
          "MechJebLibTest/Structs/Q3Tests.cs",
          "MechJebLibTest/PVGTests/AscentTests/Titan2Tests.cs",
          "MechJeb2/MechJebLib/Simulations/SimPartModule.cs",
          "MechJeb2/MechJebLib/FuelFlowSimulation/SimVessel.cs",
          "MechJebLibTest/PVGTests/AscentTests/BuggyTests.cs",
          "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs",
          "MechJeb2/MechJebLib/Core/ODE/BS3.cs",
          "MechJebLibTest/MathsTests/BS3Tests.c.cs",
          "MechJeb2/MechJebLib/Rootfinding/BrentRoot.cs",
          "MechJeb2/MechJebLib/TwoBody/Farnocchia.cs",
          "MechJeb2/MechJebLib/Utils/Check.cs"
        ],
        "commitId" : "4b468e2fe0ec05987c6de9d4ddc5bcfdd0a7011a",
        "timestamp" : 1700106646000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "MechJebLib reorganization\u000a\u000aUse a much \"wider\" directory structure\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-15 19:50:46 -0800",
        "id" : "4b468e2fe0ec05987c6de9d4ddc5bcfdd0a7011a",
        "msg" : "MechJebLib reorganization",
        "paths" : [
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/SimVessel.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/GLUtils.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Core/Functions/Angles.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/AscentBuilder.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/PartModules/SimProceduralFairingDecoupler.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Simulations/FuelFlowSimulation.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Core/ODE/Event.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/AscentTests/BuggyTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Utils/Statics.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Core/ODE/DP5.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationPeriapsis.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/SimPropellant.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebStageStatsHelper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Structs/M3Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleTranslatron.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/ManeuversTests/ChangeOrbitalElementTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationAdvancedTransfer.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselUpdater.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumCoastAnalytic.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle3Energy.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/Vn.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Core/ODE/BS3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Check.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Core/Bisection.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/ManeuversTests/Simple.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler5Reduced.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/ODE/Event.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingGuidance.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/SimVesselManager.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Functions/Astro.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/AscentTests/Titan2Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/ManeuversTests/TwoImpulseTransferTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MathsTests/BisectionTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Phase.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Core/BrentRoot.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/FunctionImpls/RealSingleImpulseHyperbolicBurn.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/SuicideBurnSimulation/Suicide.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Rootfinding/Bisection.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/PartModules/SimModuleEngines.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleCustomInfoWindow.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/TwoBody/Shepperd.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/DecouplingAnalyzer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRCSBalancer.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Core/ODE/AbstractRungeKutta.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Core/TwoBody/Farnocchia.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSuicideTimer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitalManeuverCalculator.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVessel.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleInfoItems.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationSemiMajor.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Core/ODE/AbstractIVP.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Solution.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/FuelFlowSimulation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleFlightRecorderGraph.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleEngines.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/SuicideBuilder.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/SimPartModule.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Simulations/DecouplingAnalyzer.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleDockingNode.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Energy.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MathsTests/DP5Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MathsTests/GoodingTests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Core/Maths.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/ODE/AbstractIVP.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Functions/Maneuvers.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Simulations/SimResource.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Core/BrentMin.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Suicide.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleDecouple.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentMenu.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimLaunchClamp.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler3Reduced.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/ODE/AbstractRungeKutta.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/SimResource.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStageStats.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Core/Lambert/Gooding.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettings.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/Hn.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/PartModules/SimModuleRCS.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Core/FunctionImpls/RealSingleImpulseHyperbolicBurn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MathsTests/BrentRootTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/ChangeOrbitalElement.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/StaticTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Rootfinding/BrentRoot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentClassicPathMenu.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/SimVesselBuilder.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Simulations/FuelStats.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/Dual.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Minimization/BrentMin.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/H1.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/Q3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/ManeuversTests/ReturnFromMoonTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/TransferCalculator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Propellant.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/ODE/DP5.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/AssertionExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/SuicideBurnSimulation/SuicideBuilder.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Simulations/SimPropellant.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousGuidance.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Simulations/SimPart.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationEllipticize.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/AscentTests/TheStandardTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWaypointWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/H3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MathsTests/FunctionsTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Lambert/Gooding.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/SimPart.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/SimVesselUpdater.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/Simple.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Optimizer.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Core/Functions/Interpolants.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MathsTests/TwoBody/FarnocchiaTests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselManager.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Core/Functions/Maneuvers.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/TwoBody/Farnocchia.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSpaceplaneGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Structs/Q3Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MathsTests/TwoBody/ShepperdTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Control/PIDLoop.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimProceduralFairingDecoupler.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Simulations/SimVesselBuilder.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Simulations/PartModules/SimModuleRCS.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Statics.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MathsTests/BS3Tests.c.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Core/TwoBody/Shepperd.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/Integrators/VacuumCoastAnalyticTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/PartModules/SimModuleDockingNode.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/FunctionImpls/RealDeltaVToChangeApoapsisPrograde.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/FuelStats.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Core/FunctionImpls/RealDeltaVToChangeApoapsisPrograde.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler4Reduced.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Functions/Interpolants.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/ReturnFromMoon.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Primitives/V3.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Lambert/Izzo.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Ascent.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/PartModules/SimLaunchClamp.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/ODE/BS3.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/PartModules/SimModuleDecouple.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Reduced.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Core/Lambert/Izzo.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Simulations/SimPartModule.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/MechJebLib/Functions/Angles.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Maneuvers/TwoImpulseTransfer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/BackgroundJob.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/AssertionExtensions.cs",
          "MechJeb2/MechJebLib/Utils/Statics.cs",
          "MechJeb2/MechJebLib/Utils/Check.cs",
          "MechJeb2/MechJebLib/Control/PIDLoop.cs"
        ],
        "commitId" : "a3a9ff86606c0e7fd83a5e6b1f23e2790f4d91b3",
        "timestamp" : 1700107450000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Change IsFinite() to static from extension\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-15 20:04:10 -0800",
        "id" : "a3a9ff86606c0e7fd83a5e6b1f23e2790f4d91b3",
        "msg" : "Change IsFinite() to static from extension",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/AssertionExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Control/PIDLoop.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Check.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebLib/Utils/Statics.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "alglib/alglib.csproj",
          "MechJeb2/MechJebLib/Maneuvers/TwoImpulseTransfer.cs",
          "MechJeb2/MechJebLib/SuicideBurnSimulation/SuicideBuilder.cs",
          "MechJebLib/PVG/Terminal/FlightPathAngle4Energy.cs",
          "MechJeb2/MechJebModuleRendezvousAutopilotWindow.cs",
          "MechJeb2/Maneuver/OperationResonantOrbit.cs",
          "MechJebLib/FuelFlowSimulation/PartModules/SimModuleDecouple.cs",
          "MechJeb2/MechJebModuleFlightRecorderGraph.cs",
          "MechJebLib/ODE/AbstractRungeKutta.cs",
          "MechJeb2/MechJebLib/Utils/MechJebLibException.cs",
          "MechJeb2/MechJebModuleAttitudeAdjustment.cs",
          "MechJebLib/Utils/Statics.cs",
          "MechJebLib/ODE/Event.cs",
          "MechJeb2/MechJebModuleRCSController.cs",
          "MechJeb2/alglib/optimization.cs",
          "MechJeb2/DisplayModule.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs",
          "alglib/ap.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler4Reduced.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Intercept6Cartesian.cs",
          "MechJebLib/Primitives/H1.cs",
          "MechJebLib/PVG/Terminal/Kepler5Reduced.cs",
          "MechJebLib/Primitives/M3.cs",
          "MechJebLib/Maneuvers/ChangeOrbitalElement.cs",
          "MechJebLibBindings/MathExtensions.cs",
          "MechJebLib/PVG/Ascent.cs",
          "MechJeb2/MechJebLib/Maneuvers/Simple.cs",
          "MechJeb2/MechJebModuleStagingController.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler5Reduced.cs",
          "MechJebLib/PVG/Solution.cs",
          "MechJeb2/MechJebLib/Rootfinding/Bisection.cs",
          "MechJebLib/SuicideBurnSimulation/SuicideBuilder.cs",
          "MechJebLib/Maneuvers/ReturnFromMoon.cs",
          "MechJeb2/MechJebLib/PVG/Phase.cs",
          "MechJeb2/alglib/specialfunctions.cs",
          "MechJeb2/MechJebLib/Lambert/Gooding.cs",
          "MechJeb2/MechJebModuleSpinupController.cs",
          "MechJeb2/MechJebLib/FuelFlowSimulation/PartModules/SimLaunchClamp.cs",
          "MechJeb2/VesselState.cs",
          "MechJebLib/PVG/Terminal/Intercept6Cartesian.cs",
          "MechJeb2/MechJebLib/Functions/Interpolants.cs",
          "MechJebLib/Lambert/Gooding.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle3Energy.cs",
          "MechJeb2/alglib/interpolation.cs",
          "alglib/dataanalysis.cs",
          "MechJeb2/MechJebLib/Primitives/H3.cs",
          "MechJeb2/Maneuver/OperationAdvancedTransfer.cs",
          "MechJeb2/Maneuver/OperationLambert.cs",
          "MechJeb2/Maneuver/OperationEccentricity.cs",
          "MechJeb2/MechJebLib/FuelFlowSimulation/SimPropellant.cs",
          "MechJeb2/MechJebLib/FuelFlowSimulation/PartModules/SimModuleRCS.cs",
          "MechJeb2/alglib/alglibinternal.cs",
          "MechJeb2/AttitudeControllers/KosAttitudeController.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJeb2/MechJebModuleRendezvousAutopilot.cs",
          "MechJebLib/Utils/DictOfLists.cs",
          "MechJeb2/Vector6.cs",
          "MechJeb2.sln",
          "MechJebLib/PVG/AscentBuilder.cs",
          "MechJeb2/Maneuver/OperationLongitude.cs",
          "MechJeb2/AttitudeControllers/MJAttitudeController.cs",
          "MechJebLib/Utils/MechJebLibException.cs",
          "MechJeb2/Maneuver/TransferCalculator.cs",
          "MechJeb2/GuiUtils.cs",
          "MechJeb2/MechJebModuleAttitudeController.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumCoastAnalytic.cs",
          "MechJebLib/Primitives/Q3.cs",
          "MechJebLib/Lambert/Izzo.cs",
          "MechJeb2/MechJebLib/PVG/OptimizerBuilder.cs",
          "MechJebLib/Primitives/HBase.cs",
          "MechJeb2/OrbitExtensions.cs",
          "MechJeb2/MechJebModuleAirplaneGuidance.cs",
          "MechJeb2/MechJebLib/Primitives/Hn.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/Kepler3Reduced.cs",
          "alglib/Properties/AssemblyInfo.cs",
          "MechJeb2/MechJebModuleThrustController.cs",
          "MechJeb2/Maneuver/OperationMoonReturn.cs",
          "MechJeb2/MechJebModuleFlightRecorder.cs",
          "MechJeb2/MechJebModuleInfoItems.cs",
          "MechJeb2/MechJebLib/FuelFlowSimulation/PartModules/SimModuleDockingNode.cs",
          "MechJebLibBindings/MechJebLibBindings.csproj",
          "MechJeb2/MechJebLib/FuelFlowSimulation/SimPartModule.cs",
          "MechJeb2/MechJebLib/PVG/ResidualLayout.cs",
          "MechJeb2/MechJebLib/PVG/Solution.cs",
          "MechJeb2/Maneuver/OperationInclination.cs",
          "MechJeb2/MechJebLib/Utils/DictOfLists.cs",
          "MechJeb2/MechJebLib/FuelFlowSimulation/FuelStats.cs",
          "MechJebLib/Functions/Angles.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustAnalytic.cs",
          "MechJeb2/MechJebModuleSpaceplaneAutopilot.cs",
          "MechJebLib/Rootfinding/BrentRoot.cs",
          "MechJebLib/PVG/Integrators/VacuumThrustAnalytic.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Propellant.cs",
          "MechJebLib/Control/PIDLoop.cs",
          "MechJebLib/TwoBody/Shepperd.cs",
          "alglib/linalg.cs",
          "MechJeb2/MechJebModuleWaypointWindow.cs",
          "alglib/alglibinternal.cs",
          "MechJebLib/Minimization/BrentMin.cs",
          "MechJeb2/alglib/dataanalysis.cs",
          "MechJebLib/PVG/Terminal/Kepler3Reduced.cs",
          "MechJeb2/MechJebModuleAscentGTAutopilot.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Energy.cs",
          "MechJeb2/alglib/ap.cs",
          "alglib/diffequations.cs",
          "MechJeb2/MechJebLib/TwoBody/Shepperd.cs",
          "MechJeb2/MechJebLib/Utils/Logger.cs",
          "MechJebLib/Rootfinding/Bisection.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/IPVGTerminal.cs",
          "MechJeb2/MechJebLib/Maneuvers/ReturnFromMoon.cs",
          "MechJebLibBindings/FuelFlowSimulation/SimVesselBuilder.cs",
          "MechJeb2/MechJebLib/ODE/Event.cs",
          "MechJeb2/Maneuver/OperationEllipticize.cs",
          "MechJebLib/PVG/Terminal/Kepler4Reduced.cs",
          "MechJeb2/MechJebLib/FunctionImpls/RealDeltaVToChangeApoapsisPrograde.cs",
          "MechJeb2/MechJebLib/ODE/DP5.cs",
          "MechJeb2/Maneuver/Porkchop.cs",
          "alglib/specialfunctions.cs",
          "MechJeb2/MechJebModuleNodeEditor.cs",
          "MechJeb2/MechJebLib/Functions/Maneuvers.cs",
          "MechJebLib/Functions/Astro.cs",
          "MechJebLib/ODE/AbstractIVP.cs",
          "MechJeb2/MechJebLib/Functions/Angles.cs",
          "MechJebLib/FuelFlowSimulation/SimResource.cs",
          "MechJeb2/MechJebLib/Primitives/Dual.cs",
          "MechJeb2/ReflectionUtils.cs",
          "MechJeb2/MechJebModuleCustomInfoWindow.cs",
          "MechJeb2/MathExtensions.cs",
          "MechJeb2/MechJebLib/FuelFlowSimulation/FuelFlowSimulation.cs",
          "MechJebLib/PVG/InputLayout.cs",
          "MechJebLibBindings/H1Extensions.cs",
          "MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs",
          "MechJeb2/MechJebLib/Utils/ObjectPool.cs",
          "MechJebLibBindings/Properties/AssemblyInfo.cs",
          "MechJebLib/Primitives/Scale.cs",
          "alglib/interpolation.cs",
          "MechJebLib/Utils/Check.cs",
          "MechJeb2/MechJebModuleAscentClassicPathMenu.cs",
          "MechJeb2/alglib/fasttransforms.cs",
          "MechJeb2/Maneuver/OperationSemiMajor.cs",
          "MechJebLib/Utils/Logger.cs",
          "MechJebLib/FuelFlowSimulation/SimPropellant.cs",
          "MechJebLib/TwoBody/Farnocchia.cs",
          "MechJeb2/Maneuver/OperationKillRelVel.cs",
          "MechJebLib/Utils/ObjectPool.cs",
          "MechJebLibBindings/FuelFlowSimulation/SimVesselUpdater.cs",
          "MechJeb2/MechJebModuleSmartASS.cs",
          "MechJeb2/MechJebLib/Primitives/Scale.cs",
          "MechJebLib/Functions/Maneuvers.cs",
          "MechJeb2/alglib/solvers.cs",
          "MechJeb2/MechJebModuleLandingAutopilot.cs",
          "MechJeb2/alglib/alglibmisc.cs",
          "MechJeb2/MechJebLib/TwoBody/Farnocchia.cs",
          "MechJeb2/MechJebLib/Utils/Check.cs",
          "MechJeb2/MechJebModuleAscentPVGAutopilot.cs",
          "MechJebLib/Properties/AssemblyInfo.cs",
          "MechJeb2/AttitudeControllers/BetterController.cs",
          "MechJeb2/MechJebModuleAirplaneAutopilot.cs",
          "MechJeb2/MechJebModuleStageStats.cs",
          "MechJebLib/PVG/Integrators/VacuumCoastAnalytic.cs",
          "MechJeb2/Maneuver/TimeSelector.cs",
          "MechJebLib/packages.config",
          "MechJeb2/MechJebLib/Utils/BackgroundJob.cs",
          "MechJeb2/MechJebModuleNodeExecutor.cs",
          "MechJeb2/MechJebModuleDockingGuidance.cs",
          "MechJeb2/MechJebLib/FuelFlowSimulation/DecouplingAnalyzer.cs",
          "MechJeb2/ModExtensionDemo.cs",
          "MechJeb2/MechJebLib/ODE/AbstractRungeKutta.cs",
          "MechJeb2/MechJebLib/SuicideBurnSimulation/Suicide.cs",
          "MechJebLibBindings/FuelFlowSimulation/SimVesselManager.cs",
          "MechJebLib/FuelFlowSimulation/FuelStats.cs",
          "MechJeb2/MechJebModuleAscentClassicAutopilot.cs",
          "MechJeb2/MechJebModuleGuidanceController.cs",
          "MechJebLib/ODE/BS3.cs",
          "MechJebLib/PVG/Phase.cs",
          "MechJeb2/MechJebModuleLandingGuidance.cs",
          "MechJeb2/Maneuver/OperationTransfer.cs",
          "MechJeb2/MechJebLib/FuelFlowSimulation/PartModules/SimModuleEngines.cs",
          "MechJeb2/MechJebModuleRCSBalancer.cs",
          "MechJebLib/Maneuvers/Simple.cs",
          "alglib/statistics.cs",
          "MechJebLib/Primitives/Vn.cs",
          "MechJeb2/MechJebLib/PVG/Optimizer.cs",
          "MechJebLib/FuelFlowSimulation/PartModules/SimLaunchClamp.cs",
          "MechJeb2/MechJebLib/FuelFlowSimulation/SimVesselManager.cs",
          "MechJebLib/SuicideBurnSimulation/Suicide.cs",
          "MechJeb2/MechJebLib/README.md",
          "MechJeb2/OrbitalManeuverCalculator.cs",
          "MechJeb2/MechJebModuleRCSBalancerWindow.cs",
          "MechJeb2/MechJebLib/Minimization/BrentMin.cs",
          "MechJeb2/MechJebModuleRendezvousGuidance.cs",
          "MechJeb2/Maneuver/OperationLan.cs",
          "MechJebLib/Primitives/V3.cs",
          "MechJeb2/alglib/linalg.cs",
          "MechJebLib/PVG/ResidualLayout.cs",
          "MechJebLib/PVG/Terminal/FlightPathAngle4Propellant.cs",
          "MechJebLib/FuelFlowSimulation/PartModules/SimModuleDockingNode.cs",
          "MechJeb2/MechJebLib/PVG/Ascent.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs",
          "MechJeb2/MechJebModuleTranslatron.cs",
          "MechJeb2/MechJebModuleAscentMenu.cs",
          "MechJebLib/FuelFlowSimulation/PartModules/SimProceduralFairingDecoupler.cs",
          "MechJebLib/PVG/ContinuityLayout.cs",
          "MechJeb2/copy_build.sh",
          "MechJebLib/PVG/OutputLayout.cs",
          "MechJebLib/ODE/DP5.cs",
          "MechJebLib/Primitives/H3.cs",
          "MechJeb2/MechJebModuleWarpController.cs",
          "MechJeb2/MechJebLib/Maneuvers/ChangeOrbitalElement.cs",
          "MechJeb2/MechJebModuleDebugArrows.cs",
          "MechJebLib/FuelFlowSimulation/DecouplingAnalyzer.cs",
          "MechJeb2/MechJebLib/FuelFlowSimulation/PartModules/SimProceduralFairingDecoupler.cs",
          "MechJebLib/Primitives/Hn.cs",
          "MechJeb2/MechJebLib/PVG/Problem.cs",
          "MechJeb2/MechJebLib/Utils/Statics.cs",
          "MechJebLib/PVG/Terminal/FlightPathAngle4Reduced.cs",
          "MechJeb2/MechJebLib/Primitives/DualV3.cs",
          "MechJeb2/Maneuver/OperationCircularize.cs",
          "MechJebLib/PVG/Terminal/FlightPathAngle3Energy.cs",
          "MechJeb2/MechJebModuleMenu.cs",
          "alglib/integration.cs",
          "MechJeb2/MechJebLib/FuelFlowSimulation/SimResource.cs",
          "MechJeb2/MechJebLib/Primitives/HBase.cs",
          "MechJeb2/MechJebModuleSmartRcs.cs",
          "MechJeb2/MechJebModuleSolarPanelController.cs",
          "MechJeb2/MechJebLib/FunctionImpls/RealSingleImpulseHyperbolicBurn.cs",
          "MechJeb2/MechJebLib/Primitives/Q3.cs",
          "MechJebLib/PVG/Problem.cs",
          "MechJeb2/MechJebModuleWarpHelper.cs",
          "MechJeb2/MechJebLib/FuelFlowSimulation/PartModules/SimModuleDecouple.cs",
          "MechJebLibTest/MechJebLibTest.csproj",
          "MechJeb2/AttitudeControllers/KosPIDLoop.cs",
          "MechJeb2/MechJebLib/Primitives/M3.cs",
          "MechJebLib/PVG/OptimizerBuilder.cs",
          "MechJebLib/FuelFlowSimulation/SimVessel.cs",
          "MechJeb2/MechJebLib/Primitives/H1.cs",
          "MechJeb2/MechJebLib/Control/PIDLoop.cs",
          "MechJebLib/MechJebLib.csproj",
          "MechJeb2/MechJebLib/PVG/OutputLayout.cs",
          "MechJeb2/MechJebModuleThrustWindow.cs",
          "MechJeb2/MechJebLib/ODE/BS3.cs",
          "MechJeb2/MechJebLib/Lambert/Izzo.cs",
          "MechJebLib/FunctionImpls/RealSingleImpulseHyperbolicBurn.cs",
          "MechJeb2/MechJebLib/FuelFlowSimulation/SimVesselUpdater.cs",
          "MechJeb2/MechJebLib/PVG/Integrators/IPVGIntegrator.cs",
          "MechJeb2/MechJebLib/FuelFlowSimulation/SimPart.cs",
          "alglib/optimization.cs",
          "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Reduced.cs",
          "MechJeb2/Maneuver/OperationCourseCorrection.cs",
          "MechJeb2/alglib/integration.cs",
          "MechJebLib/FuelFlowSimulation/SimPartModule.cs",
          "MechJeb2/MechJebModuleSpaceplaneGuidance.cs",
          "MechJebLib/PVG/Terminal/IPVGTerminal.cs",
          "MechJeb2/MechJebLib/FuelFlowSimulation/SimVesselBuilder.cs",
          "MechJebLibBindings/ReflectionUtils.cs",
          "MechJeb2/MechJebModuleRoverController.cs",
          "alglib/alglibmisc.cs",
          "MechJeb2/ComputerModule.cs",
          "MechJebLib/PVG/Optimizer.cs",
          "MechJeb2/MechJebLib/Primitives/Vn.cs",
          "MechJeb2/alglib/diffequations.cs",
          "MechJeb2/MechJebModulePVGGlueBall.cs",
          "MechJeb2/copy_build.bat",
          "MechJeb2/MechJebModuleSuicideTimer.cs",
          "MechJeb2/MechJebModuleManeuverPlanner.cs",
          "MechJeb2/MechJebLib/Primitives/V3.cs",
          "MechJeb2/Maneuver/OperationPlane.cs",
          "MechJeb2/MechJebLib/PVG/ContinuityLayout.cs",
          "MechJebLib/Primitives/DualV3.cs",
          "MechJeb2/CelestialBodyExtensions.cs",
          "MechJeb2/MechJebModuleAscentSettingsMenu.cs",
          "MechJebLib/FuelFlowSimulation/PartModules/SimModuleRCS.cs",
          "alglib/fasttransforms.cs",
          "MechJeb2/MechJebModuleDeployableAntennaController.cs",
          "MechJebLib/FunctionImpls/RealDeltaVToChangeApoapsisPrograde.cs",
          "MechJeb2/MechJebLib/Functions/Astro.cs",
          "MechJeb2/MechJebModuleDeployableController.cs",
          "MechJeb2/MechJebModuleRoverWindow.cs",
          "MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs",
          "MechJebLib/Primitives/Dual.cs",
          "MechJebLib/FuelFlowSimulation/SimPart.cs",
          "MechJeb2/MechJebModuleAscentSettings.cs",
          "MechJeb2/Maneuver/OperationPeriapsis.cs",
          "MechJeb2/Maneuver/OperationApoapsis.cs",
          "MechJeb2/MechJebLib/ODE/AbstractIVP.cs",
          "MechJebLib/Functions/Interpolants.cs",
          "alglib/solvers.cs",
          "MechJeb2/MechJebLib/PVG/InputLayout.cs",
          "MechJebLib/FuelFlowSimulation/PartModules/SimModuleEngines.cs",
          "MechJebLib/Utils/BackgroundJob.cs",
          "MechJebLib/Maneuvers/TwoImpulseTransfer.cs",
          "MechJeb2/MechJebLib/PVG/AscentBuilder.cs",
          "MechJeb2/MechJebModuleDockingAutopilot.cs",
          "MechJeb2/MechJebModuleTargetController.cs",
          "MechJeb2/MechJebModuleLandingPredictions.cs",
          "MechJeb2/MechJebLib/FuelFlowSimulation/SimVessel.cs",
          "MechJeb2/AttitudeControllers/HybridController.cs",
          "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs",
          "MechJeb2/alglib/statistics.cs",
          "MechJeb2/MechJebLib/Rootfinding/BrentRoot.cs",
          "MechJebLib/PVG/Integrators/IPVGIntegrator.cs",
          "MechJeb2/Maneuver/OperationInterplanetaryTransfer.cs",
          "MechJeb2/MechJebCore.cs",
          "MechJebLib/FuelFlowSimulation/FuelFlowSimulation.cs"
        ],
        "commitId" : "7d329fd5a93dfb58d8f5a8b8369337781f95baf7",
        "timestamp" : 1700170857000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Extract MechJebLib as separate project/dll\u000a\u000aMechJebLib.dll has no references to MJ/Unity/KSP (pure C#)\u000aMechJebLibBindings.dll has references to Unity/KSP (conversion glue)\u000aalglib.dll is extracted so that MJLib+MJ can both reference it\u000aJetbrains.Annotations is included so MJLib can use it without\u000a  referencing Unity and MJ now uses the updated nuget package as well\u000a  (Unity version is old and now will never get updated)\u000a\u000aThe TARGET_DIR now contains:\u000a\u000a```\u000aJetBrains.Annotations.dll\u000aJetBrains.Annotations.xml\u000aMechJeb2.dll\u000aMechJeb2.pdb\u000aMechJebLib.dll\u000aMechJebLib.pdb\u000aMechJebLibBindings.dll\u000aMechJebLibBindings.pdb\u000aSystem.Core.dll\u000aSystem.dll\u000aalglib.dll\u000aalglib.pdb\u000amscorlib.dll\u000a```\u000a\u000aSystem.Core.dll, System.dll, mscorlib.dll shouldn't ship with the zip\u000afile, but everything else should go into the MechJeb/Plugins directory\u000a\u000aSystem.Buffers.dll can be removed it hasn't been necessary for quite\u000asome time.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-16 13:40:57 -0800",
        "id" : "7d329fd5a93dfb58d8f5a8b8369337781f95baf7",
        "msg" : "Extract MechJebLib as separate project/dll",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleMenu.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/DecouplingAnalyzer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingAutopilot.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/PVG/Problem.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/PVG/Integrators/VacuumCoastAnalytic.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Primitives/Hn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationApoapsis.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Functions/Astro.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Utils/DictOfLists.cs"
          },
          {
            "editType" : "add",
            "file" : "alglib/alglib.csproj"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Rootfinding/Bisection.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationEllipticize.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/ODE/AbstractRungeKutta.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/CelestialBodyExtensions.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/PVG/Integrators/IPVGIntegrator.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/alglib/interpolation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibBindings/H1Extensions.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Maneuvers/ReturnFromMoon.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Primitives/V3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRoverWindow.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/FuelFlowSimulation/FuelStats.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/PVG/OutputLayout.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAttitudeController.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/TwoBody/Shepperd.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Utils/Statics.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRCSController.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Primitives/Q3.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/SuicideBurnSimulation/Suicide.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/KosPIDLoop.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/FuelStats.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Maneuvers/ChangeOrbitalElement.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/PVG/Ascent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWarpHelper.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/ODE/DP5.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/PVG/OutputLayout.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSpinupController.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/FuelFlowSimulation/PartModules/SimModuleDecouple.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/alglib/solvers.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/FuelFlowSimulation/SimPart.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousAutopilotWindow.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Minimization/BrentMin.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationEccentricity.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationResonantOrbit.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/PVG/Solution.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/PVG/Terminal/Intercept6Cartesian.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/MJAttitudeController.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/ReflectionUtils.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/PartModules/SimModuleRCS.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Primitives/Scale.cs"
          },
          {
            "editType" : "add",
            "file" : "alglib/integration.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/PVG/Integrators/VacuumThrustAnalytic.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler4Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWarpController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationPeriapsis.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Propellant.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibBindings/MathExtensions.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/TwoBody/Farnocchia.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibBindings/FuelFlowSimulation/SimVesselManager.cs"
          },
          {
            "editType" : "add",
            "file" : "alglib/statistics.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Utils/DictOfLists.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Rootfinding/BrentRoot.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Maneuvers/ReturnFromMoon.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/ODE/BS3.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Primitives/H1.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/FuelFlowSimulation/FuelFlowSimulation.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Minimization/BrentMin.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/PVG/Terminal/FlightPathAngle4Propellant.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/FuelFlowSimulation/SimPartModule.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Utils/Check.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumCoastAnalytic.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleCustomInfoWindow.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/alglib/diffequations.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ModExtensionDemo.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/copy_build.bat"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/FuelFlowSimulation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/DisplayModule.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/FunctionImpls/RealDeltaVToChangeApoapsisPrograde.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettings.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/IPVGTerminal.cs"
          },
          {
            "editType" : "add",
            "file" : "alglib/specialfunctions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAirplaneAutopilot.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/PartModules/SimModuleDockingNode.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/VesselState.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentClassicPathMenu.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Energy.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/IPVGIntegrator.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Maneuvers/ChangeOrbitalElement.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/SuicideBurnSimulation/SuicideBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSpaceplaneGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/TransferCalculator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSpaceplaneAutopilot.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler3Reduced.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/alglib/dataanalysis.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/alglib/statistics.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationInclination.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Functions/Maneuvers.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Control/PIDLoop.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/FunctionImpls/RealSingleImpulseHyperbolicBurn.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/ODE/DP5.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDebugArrows.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Functions/Interpolants.cs"
          },
          {
            "editType" : "add",
            "file" : "alglib/alglibmisc.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/PVG/ResidualLayout.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/MechJebLib.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationLambert.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Properties/AssemblyInfo.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Functions/Angles.cs"
          },
          {
            "editType" : "add",
            "file" : "alglib/alglibinternal.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitalManeuverCalculator.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/PartModules/SimModuleDecouple.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Primitives/Dual.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Vector6.cs"
          },
          {
            "editType" : "add",
            "file" : "alglib/Properties/AssemblyInfo.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/PVG/OptimizerBuilder.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Primitives/H1.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustController.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Maneuvers/TwoImpulseTransfer.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/SuicideBurnSimulation/SuicideBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MechJebLibTest.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSuicideTimer.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Maneuvers/TwoImpulseTransfer.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/PVG/InputLayout.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDockingGuidance.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/alglib/ap.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/PVG/Phase.cs"
          },
          {
            "editType" : "add",
            "file" : "alglib/linalg.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDeployableController.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationCircularize.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/PVG/ResidualLayout.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRCSBalancerWindow.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Utils/ObjectPool.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/alglib/fasttransforms.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/SimResource.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/alglib/alglibmisc.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/FuelFlowSimulation/PartModules/SimModuleEngines.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Lambert/Gooding.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Utils/BackgroundJob.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/FuelFlowSimulation/SimVessel.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Lambert/Izzo.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentMenu.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/PVG/AscentBuilder.cs"
          },
          {
            "editType" : "add",
            "file" : "alglib/interpolation.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Primitives/M3.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Functions/Angles.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Utils/Check.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Primitives/DualV3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettingsMenu.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/SimPart.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/SimVessel.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleFlightRecorder.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/PVG/Terminal/Kepler3Reduced.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/SimVesselUpdater.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/TimeSelector.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/PVG/Terminal/FlightPathAngle4Energy.cs"
          },
          {
            "editType" : "add",
            "file" : "alglib/diffequations.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Functions/Astro.cs"
          },
          {
            "editType" : "add",
            "file" : "alglib/optimization.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleInfoItems.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/ODE/Event.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationSemiMajor.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/PartModules/SimModuleEngines.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebCore.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/alglib/integration.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustAnalytic.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeEditor.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Primitives/H3.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/PVG/Optimizer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentClassicAutopilot.cs"
          },
          {
            "editType" : "add",
            "file" : "alglib/solvers.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/alglib/optimization.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Control/PIDLoop.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationLan.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Utils/MechJebLibException.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2.sln"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/FuelFlowSimulation/PartModules/SimProceduralFairingDecoupler.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Utils/Logger.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Primitives/HBase.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRoverController.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Maneuvers/Simple.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationPlane.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/TwoBody/Shepperd.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/SimVesselBuilder.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Primitives/Q3.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle3Energy.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentGTAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationTransfer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitExtensions.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/FuelFlowSimulation/PartModules/SimModuleRCS.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibBindings/MechJebLibBindings.csproj"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Lambert/Gooding.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Primitives/V3.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Functions/Maneuvers.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Lambert/Izzo.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleTargetController.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/PVG/OptimizerBuilder.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Primitives/Vn.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/SuicideBurnSimulation/Suicide.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/FlightPathAngle4Reduced.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/ODE/BS3.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Utils/Logger.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/Porkchop.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationInterplanetaryTransfer.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/PVG/AscentBuilder.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/alglib/linalg.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Functions/Interpolants.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/FunctionImpls/RealDeltaVToChangeApoapsisPrograde.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationAdvancedTransfer.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/FuelFlowSimulation/PartModules/SimLaunchClamp.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAttitudeAdjustment.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousGuidance.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Intercept6Cartesian.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/FuelFlowSimulation/PartModules/SimModuleDockingNode.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/PVG/Terminal/Kepler5Reduced.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/PartModules/SimLaunchClamp.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ComputerModule.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Primitives/DualV3.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/README.md"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/alglib/alglibinternal.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/PVG/Solution.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Primitives/HBase.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/copy_build.sh"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Rootfinding/Bisection.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Primitives/Scale.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/PVG/InputLayout.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Utils/ObjectPool.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/HybridController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWaypointWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/KosAttitudeController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleManeuverPlanner.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/alglib/specialfunctions.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/PVG/Terminal/FlightPathAngle3Energy.cs"
          },
          {
            "editType" : "add",
            "file" : "alglib/ap.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationMoonReturn.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibBindings/FuelFlowSimulation/SimVesselBuilder.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Utils/Statics.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/ODE/AbstractIVP.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/PVG/Optimizer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustWindow.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/PVG/ContinuityLayout.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleFlightRecorderGraph.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/PVG/Problem.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/ODE/AbstractRungeKutta.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/PVG/ContinuityLayout.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Primitives/H3.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Utils/MechJebLibException.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/ODE/AbstractIVP.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MathExtensions.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Primitives/Vn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/GuiUtils.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/PVG/Phase.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/SimPropellant.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingPredictions.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/PVG/Terminal/Kepler4Reduced.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibBindings/ReflectionUtils.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BetterController.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/PVG/Terminal/Kepler5Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSolarPanelController.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/FuelFlowSimulation/DecouplingAnalyzer.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibBindings/Properties/AssemblyInfo.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Utils/BackgroundJob.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Maneuvers/Simple.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationLongitude.cs"
          },
          {
            "editType" : "add",
            "file" : "alglib/fasttransforms.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/PartModules/SimProceduralFairingDecoupler.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/packages.config"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/FuelFlowSimulation/SimResource.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/ODE/Event.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibBindings/FuelFlowSimulation/SimVesselUpdater.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDockingAutopilot.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/PVG/Ascent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleTranslatron.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSmartRcs.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/SimVesselManager.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAirplaneGuidance.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Primitives/Hn.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Primitives/M3.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/FunctionImpls/RealSingleImpulseHyperbolicBurn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRCSBalancer.cs"
          },
          {
            "editType" : "add",
            "file" : "alglib/dataanalysis.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationCourseCorrection.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/FuelFlowSimulation/SimPropellant.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSmartASS.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/TwoBody/Farnocchia.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStageStats.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Primitives/Dual.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/PVG/Terminal/FlightPathAngle4Reduced.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/PVG/Terminal/IPVGTerminal.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/OperationKillRelVel.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDeployableAntennaController.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/FuelFlowSimulation/SimPartModule.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebLib/Rootfinding/BrentRoot.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLib/Rootfinding/Newton.cs",
          "MechJebLibTest/MechJebLibTest.csproj",
          "MechJebLibTest/MathsTests/NewtonTests.cs",
          "MechJebLib/MechJebLib.csproj"
        ],
        "commitId" : "7d1b6a8dc6d9b3f54a2cec09c77b80650d985b55",
        "timestamp" : 1700245370000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Add a newton's method that fails back to bisection\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-17 10:22:50 -0800",
        "id" : "7d1b6a8dc6d9b3f54a2cec09c77b80650d985b55",
        "msg" : "Add a newton's method that fails back to bisection",
        "paths" : [
          {
            "editType" : "add",
            "file" : "MechJebLibTest/MathsTests/NewtonTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MechJebLibTest.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/MechJebLib.csproj"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Rootfinding/Newton.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/MathsTests/DP5Tests.cs",
          "MechJebLibTest/ManeuversTests/ReturnFromMoonTests.cs",
          "MechJebLibTest/ODETests/BS3Tests.c.cs",
          "MechJebLibTest/MechJebLibTest.csproj",
          "MechJebLibTest/ManeuversTests/Simple.cs",
          "MechJebLibTest/ODETests/DP5Tests.cs",
          "MechJebLibTest/PVGTests/Integrators/VacuumCoastAnalyticTests.cs",
          "MechJebLibTest/MathsTests/FunctionsTests.cs",
          "MechJebLibTest/RootfindingTests/BrentRootTests.cs",
          "MechJebLibTest/Structs/V3Tests.cs",
          "MechJebLibTest/MathsTests/GoodingTests.cs",
          "MechJebLibTest/Structs/HTests.cs",
          "MechJebLibTest/PVGTests/Integrators/VacuumThrustIntegratorTests.cs",
          "MechJebLibTest/MathsTests/BrentRootTests.cs",
          "MechJebLibTest/AssertionExtensions.cs",
          "MechJebLibTest/Structs/M3Tests.cs",
          "MechJebLibTest/ManeuversTests/TwoImpulseTransferTests.cs",
          "MechJebLibTest/TwoBodyTests/ShepperdTests.cs",
          "MechJebLibTest/TwoBodyTests/FarnocchiaTests.cs",
          "MechJebLibTest/RootfindingTests/BisectionTests.cs",
          "MechJebLibTest/MathsTests/TwoBody/FarnocchiaTests.cs",
          "MechJebLibTest/PVGTests/AscentTests/TheStandardTests.cs",
          "MechJebLibTest/Structs/Q3Tests.cs",
          "MechJebLibTest/LambertTests/GoodingTests.cs",
          "MechJebLibTest/PVGTests/AscentTests/Titan2Tests.cs",
          "MechJebLibTest/MathsTests/NewtonTests.cs",
          "MechJebLibTest/FunctionsTests.cs",
          "MechJebLib/Lambert/Izzo.cs",
          "MechJebLibTest/ManeuversTests/ChangeOrbitalElementTests.cs",
          "MechJebLibTest/ControlTests/PIDLoopTests.cs",
          "MechJebLibTest/PVGTests/AscentTests/BuggyTests.cs",
          "MechJebLibTest/MathsTests/BisectionTests.cs",
          "MechJebLibTest/StaticTests.cs",
          "MechJebLibTest/MathsTests/BS3Tests.c.cs",
          "MechJebLibTest/RootfindingTests/NewtonTests.cs",
          "MechJebLibTest/MathsTests/TwoBody/ShepperdTests.cs"
        ],
        "commitId" : "a264270705b66e6222036b29cd02fddf070f1cfc",
        "timestamp" : 1700252316000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "More cleanup and reorg\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-17 12:18:36 -0800",
        "id" : "a264270705b66e6222036b29cd02fddf070f1cfc",
        "msg" : "More cleanup and reorg",
        "paths" : [
          {
            "editType" : "add",
            "file" : "MechJebLibTest/RootfindingTests/BrentRootTests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/MathsTests/TwoBody/FarnocchiaTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/AscentTests/BuggyTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/ManeuversTests/ReturnFromMoonTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Structs/M3Tests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/ODETests/DP5Tests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/MathsTests/DP5Tests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/MathsTests/BS3Tests.c.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/MathsTests/BisectionTests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/MathsTests/GoodingTests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/MathsTests/FunctionsTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/RootfindingTests/NewtonTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/Integrators/VacuumCoastAnalyticTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/ManeuversTests/ChangeOrbitalElementTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/ODETests/BS3Tests.c.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/ControlTests/PIDLoopTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Structs/HTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/ManeuversTests/TwoImpulseTransferTests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/MathsTests/BrentRootTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/AssertionExtensions.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/FunctionsTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/ManeuversTests/Simple.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/TwoBodyTests/ShepperdTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/LambertTests/GoodingTests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/MathsTests/NewtonTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Structs/Q3Tests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/RootfindingTests/BisectionTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Structs/V3Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/AscentTests/Titan2Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Lambert/Izzo.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/Integrators/VacuumThrustIntegratorTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/AscentTests/TheStandardTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/TwoBodyTests/FarnocchiaTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/StaticTests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/MathsTests/TwoBody/ShepperdTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MechJebLibTest.csproj"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/MechJebLibTest.csproj",
          "MechJeb2/MechJebModuleStageStats.cs",
          "MechJebLibBindings/MechJebLibBindings.csproj",
          "MechJebLib/PVG/Terminal/FlightPathAngle4Energy.cs",
          "MechJebLib/PVG/OptimizerBuilder.cs",
          "MechJebLib/FuelFlowSimulation/SimVessel.cs",
          "MechJebLib/FuelFlowSimulation/PartModules/SimModuleDecouple.cs",
          "MechJebLib/PVG/Integrators/VacuumCoastAnalytic.cs",
          "MechJebLib/packages.config",
          "MechJeb2/MechJebModuleNodeExecutor.cs",
          "MechJebLib/FunctionImpls/RealSingleImpulseHyperbolicBurn.cs",
          "MechJebLib/ODE/AbstractRungeKutta.cs",
          "MechJebLib/Functions/Angles.cs",
          "MechJebLib/Utils/Statics.cs",
          "MechJebLib/ODE/Event.cs",
          "MechJeb2/MechJebModuleRCSController.cs",
          "MechJebLib/FuelFlowSimulation/FuelStats.cs",
          "MechJebLib/FuelFlowSimulation/SimPartModule.cs",
          "MechJebLibTest/ManeuversTests/TwoImpulseTransferTests.cs",
          "MechJebLib/PVG/Terminal/IPVGTerminal.cs",
          "MechJebLib/ODE/BS3.cs",
          "MechJebLib/Rootfinding/BrentRoot.cs",
          "MechJebLib/PVG/Integrators/VacuumThrustAnalytic.cs",
          "MechJebLib/TwoBody/Shepperd.cs",
          "MechJebLib/Control/PIDLoop.cs",
          "MechJebLib/Minimization/BrentMin.cs",
          "MechJebLib/Primitives/H1.cs",
          "MechJebLib/PVG/Terminal/Kepler3Reduced.cs",
          "MechJebLib/PVG/Terminal/Kepler5Reduced.cs",
          "MechJebLib/Primitives/M3.cs",
          "MechJebLib/PVG/Phase.cs",
          "MechJeb2/MechJebModuleRoverController.cs",
          "MechJebLib/PVG/Optimizer.cs",
          "MechJebLib/Maneuvers/ChangeOrbitalElement.cs",
          "MechJebLib/PVG/Ascent.cs",
          "MechJebLib/Rootfinding/Bisection.cs",
          "MechJeb2/MechJebModuleRCSBalancer.cs",
          "MechJebLib/Primitives/Vn.cs",
          "MechJeb2/MechJebModuleSuicideTimer.cs",
          "MechJebLib/FuelFlowSimulation/PartModules/SimLaunchClamp.cs",
          "MechJebLib/PVG/Solution.cs",
          "MechJebLib/Maneuvers/ReturnFromMoon.cs",
          "MechJebLib/Primitives/DualV3.cs",
          "MechJeb2/VesselState.cs",
          "MechJebLibBindings/FuelFlowSimulation/SimVesselBuilder.cs",
          "MechJebLib/PVG/Terminal/Intercept6Cartesian.cs",
          "MechJebLib/Lambert/Gooding.cs",
          "MechJebLib/Primitives/V3.cs",
          "MechJebLib/FuelFlowSimulation/PartModules/SimModuleRCS.cs",
          "MechJebLib/PVG/ResidualLayout.cs",
          "MechJebLib/PVG/Terminal/Kepler4Reduced.cs",
          "MechJebLib/FuelFlowSimulation/PartModules/SimModuleDockingNode.cs",
          "MechJebLib/PVG/Terminal/FlightPathAngle4Propellant.cs",
          "MechJebLib/FunctionImpls/RealDeltaVToChangeApoapsisPrograde.cs",
          "MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs",
          "MechJebLib/Primitives/Dual.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJeb2/AttitudeControllers/KosAttitudeController.cs",
          "MechJebLib/FuelFlowSimulation/SimPart.cs",
          "MechJebLib/ODE/AbstractIVP.cs",
          "MechJebLib/Functions/Astro.cs",
          "MechJebLib/FuelFlowSimulation/SimResource.cs",
          "MechJebLib/FuelFlowSimulation/PartModules/SimProceduralFairingDecoupler.cs",
          "MechJeb2/MathExtensions.cs",
          "MechJebLib/PVG/ContinuityLayout.cs",
          "MechJebLib/PVG/InputLayout.cs",
          "MechJebLib/PVG/AscentBuilder.cs",
          "MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs",
          "MechJebLib/Functions/Interpolants.cs",
          "MechJebLib/PVG/OutputLayout.cs",
          "MechJebLib/ODE/DP5.cs",
          "MechJebLib/Primitives/Scale.cs",
          "MechJeb2/MechJebModuleSettings.cs",
          "MechJebLib/FuelFlowSimulation/PartModules/SimModuleEngines.cs",
          "MechJebLib/Utils/BackgroundJob.cs",
          "MechJebLib/Utils/Check.cs",
          "MechJeb2/GuiUtils.cs",
          "MechJebLib/Primitives/H3.cs",
          "MechJebLib/Utils/Logger.cs",
          "MechJebLib/FuelFlowSimulation/SimPropellant.cs",
          "MechJebLib/Primitives/Hn.cs",
          "MechJebLib/Primitives/Q3.cs",
          "MechJebLib/TwoBody/Farnocchia.cs",
          "MechJebLib/FuelFlowSimulation/DecouplingAnalyzer.cs",
          "MechJebLib/Utils/ObjectPool.cs",
          "MechJebLibBindings/FuelFlowSimulation/SimVesselUpdater.cs",
          "MechJebLib/PVG/Terminal/FlightPathAngle4Reduced.cs",
          "MechJebLib/Lambert/Izzo.cs",
          "MechJebLib/Primitives/HBase.cs",
          "MechJebLib/PVG/Terminal/FlightPathAngle3Energy.cs",
          "MechJeb2/MechJebModuleMenu.cs",
          "MechJebLib/PVG/Integrators/IPVGIntegrator.cs",
          "MechJeb2/MechJebModuleThrustController.cs",
          "MechJebLib/FuelFlowSimulation/FuelFlowSimulation.cs",
          "MechJebLib/PVG/Problem.cs"
        ],
        "commitId" : "58135711b65d73cf327a8896ee3d5ff3e32ef4ea",
        "timestamp" : 1700252530000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Automated cleanup\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-17 12:22:10 -0800",
        "id" : "58135711b65d73cf327a8896ee3d5ff3e32ef4ea",
        "msg" : "Automated cleanup",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLib/Primitives/Scale.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Primitives/H1.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/FuelFlowSimulation/PartModules/SimModuleEngines.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Optimizer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Utils/BackgroundJob.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Utils/Logger.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/KosAttitudeController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Primitives/Hn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Utils/ObjectPool.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Integrators/VacuumThrustAnalytic.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Primitives/Q3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/ManeuversTests/TwoImpulseTransferTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Primitives/DualV3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/TwoBody/Farnocchia.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/TwoBody/Shepperd.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/GuiUtils.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Terminal/Intercept6Cartesian.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/FuelFlowSimulation/DecouplingAnalyzer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/FuelFlowSimulation/FuelStats.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/FuelFlowSimulation/SimPart.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Maneuvers/ChangeOrbitalElement.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/ODE/AbstractRungeKutta.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/FuelFlowSimulation/PartModules/SimModuleRCS.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/FunctionImpls/RealSingleImpulseHyperbolicBurn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/ODE/BS3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Functions/Angles.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/OutputLayout.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MechJebLibTest.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/ODE/AbstractIVP.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/FuelFlowSimulation/SimResource.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Ascent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/FuelFlowSimulation/PartModules/SimModuleDecouple.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Utils/Check.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/VesselState.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Problem.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/ResidualLayout.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Rootfinding/BrentRoot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Lambert/Gooding.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Terminal/IPVGTerminal.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStageStats.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Utils/Statics.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRoverController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Terminal/Kepler3Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/OptimizerBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/FuelFlowSimulation/PartModules/SimModuleDockingNode.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Terminal/FlightPathAngle4Propellant.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Rootfinding/Bisection.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/FuelFlowSimulation/SimVessel.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Minimization/BrentMin.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Solution.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Functions/Astro.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Primitives/H3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibBindings/FuelFlowSimulation/SimVesselUpdater.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Terminal/Kepler4Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Primitives/Vn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRCSController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Functions/Interpolants.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRCSBalancer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/AscentBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Terminal/FlightPathAngle4Energy.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/FuelFlowSimulation/PartModules/SimProceduralFairingDecoupler.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Primitives/Dual.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Terminal/FlightPathAngle3Energy.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Primitives/V3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Maneuvers/ReturnFromMoon.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/ODE/DP5.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/ODE/Event.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Primitives/HBase.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/packages.config"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibBindings/FuelFlowSimulation/SimVesselBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/FuelFlowSimulation/SimPartModule.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/FuelFlowSimulation/PartModules/SimLaunchClamp.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Control/PIDLoop.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibBindings/MechJebLibBindings.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/ContinuityLayout.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Terminal/Kepler5Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Terminal/FlightPathAngle4Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Primitives/M3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSettings.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Integrators/IPVGIntegrator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSuicideTimer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/FuelFlowSimulation/SimPropellant.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Lambert/Izzo.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Integrators/VacuumCoastAnalytic.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MathExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/FuelFlowSimulation/FuelFlowSimulation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/InputLayout.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/FunctionImpls/RealDeltaVToChangeApoapsisPrograde.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Phase.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleStageStats.cs",
          "MechJeb2/MechJebModuleWarpHelper.cs",
          "MechJeb2/MechJebModuleRendezvousAutopilotWindow.cs",
          "MechJeb2/MechJebModuleFlightRecorderGraph.cs",
          "MechJeb2/MechJebModuleThrustWindow.cs",
          "MechJeb2/MechJebModuleNodeExecutor.cs",
          "MechJeb2/MechJebModuleDockingGuidance.cs",
          "MechJeb2/MechJebModuleAttitudeAdjustment.cs",
          "MechJeb2/MechJebModuleRCSController.cs",
          "MechJeb2/MechJebModuleSpaceplaneAutopilot.cs",
          "MechJeb2/MechJebModuleAscentClassicAutopilot.cs",
          "MechJeb2/MechJebModuleGuidanceController.cs",
          "MechJeb2/MechJebModuleSpaceplaneGuidance.cs",
          "MechJeb2/MechJebModuleWaypointWindow.cs",
          "MechJeb2/MechJebModuleAscentGTAutopilot.cs",
          "MechJeb2/MechJebModuleRoverController.cs",
          "MechJeb2/MechJebModuleLandingGuidance.cs",
          "MechJeb2/ComputerModule.cs",
          "MechJeb2/MechJebModulePVGGlueBall.cs",
          "MechJeb2/MechJebModuleRCSBalancer.cs",
          "MechJeb2/MechJebModuleStagingController.cs",
          "MechJeb2/MechJebModuleSuicideTimer.cs",
          "MechJeb2/MechJebModuleManeuverPlanner.cs",
          "MechJeb2/MechJebModuleRCSBalancerWindow.cs",
          "MechJeb2/MechJebModuleRendezvousGuidance.cs",
          "MechJeb2/MechJebModuleSpinupController.cs",
          "MechJeb2/MechJebModuleAscentSettingsMenu.cs",
          "MechJeb2/MechJebModuleDeployableAntennaController.cs",
          "MechJeb2/MechJebModuleRoverWindow.cs",
          "MechJeb2/MechJebModuleNodeEditor.cs",
          "MechJeb2/MechJebModuleTranslatron.cs",
          "MechJeb2/MechJebModuleAscentMenu.cs",
          "MechJeb2/MechJebModuleRendezvousAutopilot.cs",
          "MechJeb2/MechJebModuleAscentSettings.cs",
          "MechJeb2/MechJebModuleAscentClassicPathMenu.cs",
          "MechJeb2/MechJebModuleWarpController.cs",
          "MechJeb2/MechJebModuleDebugArrows.cs",
          "MechJeb2/MechJebModuleDockingAutopilot.cs",
          "MechJeb2/MechJebModuleTargetController.cs",
          "MechJeb2/MechJebModuleLandingPredictions.cs",
          "MechJeb2/MechJebModuleSmartASS.cs",
          "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs",
          "MechJeb2/MechJebModuleMenu.cs",
          "MechJeb2/MechJebModuleAirplaneGuidance.cs",
          "MechJeb2/MechJebModuleLandingAutopilot.cs",
          "MechJeb2/MechJebModuleSmartRcs.cs",
          "MechJeb2/MechJebModuleThrustController.cs",
          "MechJeb2/MechJebModuleFlightRecorder.cs",
          "MechJeb2/MechJebModuleSolarPanelController.cs",
          "MechJeb2/MechJebModuleAscentPVGAutopilot.cs",
          "MechJeb2/MechJebModuleInfoItems.cs",
          "MechJeb2/MechJebModuleAirplaneAutopilot.cs"
        ],
        "commitId" : "cec19be52e38a7d057e32c4c5d1b3cdd2e4adfdf",
        "timestamp" : 1700253095000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Use WithInheritors to cleanup a lot of jetbrains spam\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-17 12:31:35 -0800",
        "id" : "cec19be52e38a7d057e32c4c5d1b3cdd2e4adfdf",
        "msg" : "Use WithInheritors to cleanup a lot of jetbrains spam",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSpaceplaneGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAirplaneGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettingsMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAttitudeAdjustment.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSpinupController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleInfoItems.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/ComputerModule.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRoverWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDockingAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeEditor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettings.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousAutopilotWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWaypointWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAirplaneAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentClassicAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRCSBalancer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSolarPanelController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDebugArrows.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDeployableAntennaController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleTargetController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleManeuverPlanner.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStageStats.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSuicideTimer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWarpHelper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingPredictions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleTranslatron.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentGTAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSpaceplaneAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRCSBalancerWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleDockingGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRCSController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSmartRcs.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentClassicPathMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleSmartASS.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleFlightRecorderGraph.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRoverController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWarpController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleFlightRecorder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleMenu.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleRendezvousAutopilot.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/ManeuversTests/ReturnFromMoonTests.cs",
          "MechJebLib/Maneuvers/ReturnFromMoon.cs"
        ],
        "commitId" : "675f7a2ac8efaa8fc26f422337a49258617be571",
        "timestamp" : 1700453280000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "ReturnFromMoon: don't force the meetpoint to be halfway\u000a\u000aIt actually seems to converge faster if the meetpoint constraints\u000aare removed and the initialization isn't in the middle.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-19 20:08:00 -0800",
        "id" : "675f7a2ac8efaa8fc26f422337a49258617be571",
        "msg" : "ReturnFromMoon: don't force the meetpoint to be halfway",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLib/Maneuvers/ReturnFromMoon.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/ManeuversTests/ReturnFromMoonTests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/ManeuversTests/ReturnFromMoonTests.cs",
          "MechJebLib/Maneuvers/ReturnFromMoon.cs"
        ],
        "commitId" : "bf9e8dc2b2e3ebc509fac06aaa0a32aa0979c171",
        "timestamp" : 1700515045000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "ReturnFromMoon: change periapsis constraint\u000a\u000aremoving normalization makes it converge much faster.\u000a\u000aslight impact on accuracy but cuts the time by over 50%.\u000a\u000aalso add an always-on-optguard test so i make sure not to screw up the\u000ajacobians.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-20 13:17:25 -0800",
        "id" : "bf9e8dc2b2e3ebc509fac06aaa0a32aa0979c171",
        "msg" : "ReturnFromMoon: change periapsis constraint",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLib/Maneuvers/ReturnFromMoon.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/ManeuversTests/ReturnFromMoonTests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/ManeuversTests/ReturnFromMoonTests.cs"
        ],
        "commitId" : "805aecd11d16e861242eb98f5eec16545520146a",
        "timestamp" : 1700520107000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "ReturnFromMoon updating tests\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-20 14:41:47 -0800",
        "id" : "805aecd11d16e861242eb98f5eec16545520146a",
        "msg" : "ReturnFromMoon updating tests",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/ManeuversTests/ReturnFromMoonTests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLib/ODE/DP8.cs",
          "MechJebLib/ODE/DP5.cs",
          "MechJebLibTest/TwoBodyTests/ShepperdTests.cs",
          "MechJebLib/ODE/AbstractRungeKutta.cs",
          "MechJebLib/ODE/BS3.cs",
          "MechJebLib/MechJebLib.csproj"
        ],
        "commitId" : "96a998d755190d71ec41e7cb3e253599af85ce1c",
        "timestamp" : 1700535337000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Add Dormand-Prince 8(5)3 method\u000a\u000aNo interpolant yet though.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-20 18:55:37 -0800",
        "id" : "96a998d755190d71ec41e7cb3e253599af85ce1c",
        "msg" : "Add Dormand-Prince 8(5)3 method",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLib/ODE/AbstractRungeKutta.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/MechJebLib.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/ODE/BS3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/ODE/DP5.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/TwoBodyTests/ShepperdTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/ODE/DP8.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleAscentSettings.cs",
          "MechJeb2/MechJebModuleAscentGTAutopilot.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJeb2/MechJebModuleAscentMenu.cs"
        ],
        "commitId" : "05475d6acfbd4eea00069e9cdc594dbadf0ee76d",
        "timestamp" : 1700543611000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Nuke more of the old gravity turner code\u000a\u000asomehow this never got cleaned up\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-20 21:13:31 -0800",
        "id" : "05475d6acfbd4eea00069e9cdc594dbadf0ee76d",
        "msg" : "Nuke more of the old gravity turner code",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentMenu.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJeb2/MechJebModuleAscentGTAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettings.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/ManeuversTests/ReturnFromMoonTests.cs",
          "MechJebLib/Maneuvers/ReturnFromMoon.cs"
        ],
        "commitId" : "56031e94f51881a731cdb525adce46b60bfb43c8",
        "timestamp" : 1700548649000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "ReturnFromMoon: increased precision and logging\u000a\u000aEPSX needs to be 1e-5 to find some solutions\u000a\u000aAdded some better logging and now some of the tests are validating\u000aagainst optimal values of dv.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-20 22:37:29 -0800",
        "id" : "56031e94f51881a731cdb525adce46b60bfb43c8",
        "msg" : "ReturnFromMoon: increased precision and logging",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLib/Maneuvers/ReturnFromMoon.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/ManeuversTests/ReturnFromMoonTests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/TwoBodyTests/ShepperdTests.cs",
          "MechJebLib/ODE/Tsit5.cs",
          "MechJebLib/MechJebLib.csproj"
        ],
        "commitId" : "423d7748799158590178835e4a6b09f2a8ffa1e5",
        "timestamp" : 1700593187000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "add the Tsit5 method\u000a\u000ano interpolant yet\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-21 10:59:47 -0800",
        "id" : "423d7748799158590178835e4a6b09f2a8ffa1e5",
        "msg" : "add the Tsit5 method",
        "paths" : [
          {
            "editType" : "add",
            "file" : "MechJebLib/ODE/Tsit5.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/MechJebLib.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/TwoBodyTests/ShepperdTests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/ManeuversTests/ReturnFromMoonTests.cs",
          "MechJebLibTest/ManeuversTests/Simple.cs",
          "MechJeb2/OrbitalManeuverCalculator.cs",
          "MechJebLib/Maneuvers/ReturnFromMoon.cs",
          "MechJebLib/Functions/Astro.cs"
        ],
        "commitId" : "a61ca041950f24c7a9f93f493f5ddcb3c122aa81",
        "timestamp" : 1700696109000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Overhaul of ReturnFromMoon initial guesser\u000a\u000aIt now uses Brent's minimization algorithm to try to guess the\u000ainclination of the return ellipse and if it is type I or type II\u000areturn orbit.\u000a\u000aRestored the 1/2 time midpoint constraints since that helps\u000aconvergence speed in the hyperbolic initial conditions case and\u000aseems to improve other ones as well.\u000a\u000aThis also now finds some better solutions as evidenced by the\u000aone test which dropped from 1520 m/s to 1092 m/s.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-22 15:35:09 -0800",
        "id" : "a61ca041950f24c7a9f93f493f5ddcb3c122aa81",
        "msg" : "Overhaul of ReturnFromMoon initial guesser",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLib/Maneuvers/ReturnFromMoon.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/ManeuversTests/ReturnFromMoonTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/ManeuversTests/Simple.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Functions/Astro.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitalManeuverCalculator.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/ManeuversTests/ReturnFromMoonTests.cs",
          "MechJebLib/Maneuvers/ReturnFromMoon.cs"
        ],
        "commitId" : "50f1b11078780be98f683631ce797797ca19e0df",
        "timestamp" : 1701108303000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "ReturnFromMoon: fix dtmin bug well enough for now\u000a\u000a- the attempt at handling stepping one period into the future was\u000anot doing any useful work at all, now it at least steps dtmin forward\u000aby one period.\u000a\u000a- switch to SLP which is about 10x to 100x faster than SQP and gets\u000aall the solve times down under 1000ms.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-27 10:05:03 -0800",
        "id" : "50f1b11078780be98f683631ce797797ca19e0df",
        "msg" : "ReturnFromMoon: fix dtmin bug well enough for now",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLib/Maneuvers/ReturnFromMoon.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/ManeuversTests/ReturnFromMoonTests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/OrbitalManeuverCalculator.cs",
          "MechJebLibTest/ManeuversTests/ReturnFromMoonTests.cs",
          "MechJebLib/Maneuvers/ReturnFromMoon.cs"
        ],
        "commitId" : "3dee06ca22763579529f3152741573b3fb25807c",
        "timestamp" : 1701301651000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Rewrite and simplify ReturnFromMoon\u000a\u000aReject the Sims-Flanaghan-inspired approach and just use two\u000aLambert phases, switch to SLP solver, improve the sliding windows\u000afor the initial guess.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-11-29 15:47:31 -0800",
        "id" : "3dee06ca22763579529f3152741573b3fb25807c",
        "msg" : "Rewrite and simplify ReturnFromMoon",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLib/Maneuvers/ReturnFromMoon.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitalManeuverCalculator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/ManeuversTests/ReturnFromMoonTests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/ManeuversTests/ReturnFromMoonTests.cs",
          "MechJebLib/Lambert/Gooding.cs",
          "MechJebLib/Maneuvers/ReturnFromMoon.cs"
        ],
        "commitId" : "201c3d05026561224e4264a0f68109cde6cf3602",
        "timestamp" : 1701718705000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "ReturnToMoon: the quite stable solution\u000a\u000aThe branch in the Lambert solver was creating discontinuous \"tears\" in\u000athe optimization problem.  Avoiding that branch greatly stabilizes the\u000aproblem.  I'm still not entirely certain what I just did though.\u000a\u000aSlight tweak to the outer loop as well.\u000a\u000aThe initial guess generator is still pretty crazy, but seems to work, I\u000ahaven't come up with anything simpler.  Probably needs a better global\u000aoptimization strategy.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-12-04 11:38:25 -0800",
        "id" : "201c3d05026561224e4264a0f68109cde6cf3602",
        "msg" : "ReturnToMoon: the quite stable solution",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLib/Lambert/Gooding.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/ManeuversTests/ReturnFromMoonTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Maneuvers/ReturnFromMoon.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleAscentMenu.cs"
        ],
        "commitId" : "a50fce6320e380bb1b0b3826cb170f9026e74ef2",
        "timestamp" : 1702148185000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix ascent-type menu selector\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-12-09 10:56:25 -0800",
        "id" : "a50fce6320e380bb1b0b3826cb170f9026e74ef2",
        "msg" : "Fix ascent-type menu selector",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentMenu.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleAscentSettings.cs"
        ],
        "commitId" : "96163916a2d54db08551459ecc1ac6337959c01f",
        "timestamp" : 1702148476000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Try to remap old ascent settings to not throw cast errors\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-12-09 11:01:16 -0800",
        "id" : "96163916a2d54db08551459ecc1ac6337959c01f",
        "msg" : "Try to remap old ascent settings to not throw cast errors",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettings.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleAscentSettings.cs"
        ],
        "commitId" : "7e72dabd181f8da9a4e1b51f5daaf7d41a16d671",
        "timestamp" : 1702149641000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Rename the AscentTypeInteger and remove old GT params\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-12-09 11:20:41 -0800",
        "id" : "7e72dabd181f8da9a4e1b51f5daaf7d41a16d671",
        "msg" : "Rename the AscentTypeInteger and remove old GT params",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettings.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleCustomInfoWindow.cs"
        ],
        "commitId" : "9806024eb7a0effc3ca1c53f7bc0fa4fb8021687",
        "timestamp" : 1702256698000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/mrev1995",
          "fullName" : "mrev1995"
        },
        "authorEmail" : "mrev1995@gmail.com",
        "comment" : "Fix custom window presets\u000a\u000aSome fields got renamed since these were last updated; some of these\u000astrings were simply wrong (periods that should be colons) and would\u000anever have worked.\u000a",
        "date" : "2023-12-11 02:04:58 +0100",
        "id" : "9806024eb7a0effc3ca1c53f7bc0fa4fb8021687",
        "msg" : "Fix custom window presets",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleCustomInfoWindow.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJeb2.csproj",
          "MechJeb2/copy_build.sh"
        ],
        "commitId" : "fab24718862b0e8116be0591200f909ca97db421",
        "timestamp" : 1703807541000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Beginning of Directory.Build.props settings\u000a\u000aCan create that file in the root with:\u000a\u000a```\u000a<Project>\u000a  <PropertyGroup>\u000a    <KspDir>/Users/lamont/ksp/plc_1.12.3</KspDir>\u000a  </PropertyGroup>\u000a</Project>\u000a```\u000a\u000aAnd it'll get passed into copy_build.sh\u000a\u000aOr KSPDIR will override that setting\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2023-12-28 15:52:21 -0800",
        "id" : "fab24718862b0e8116be0591200f909ca97db421",
        "msg" : "Beginning of Directory.Build.props settings",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/copy_build.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleAscentBaseAutopilot.cs",
          "MechJeb2/MechJebModuleGuidanceController.cs"
        ],
        "commitId" : "fa685a530f1d7920070327d59416fb7360500225",
        "timestamp" : 1705438992000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix the longstanding launch to plane bug\u000a\u000aShould stop going to FINISHED when the vessel comes\u000aout of warp.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2024-01-16 16:03:12 -0500",
        "id" : "fa685a530f1d7920070327d59416fb7360500225",
        "msg" : "Fix the longstanding launch to plane bug",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleAscentPVGAutopilot.cs",
          "MechJeb2/MechJebModuleGuidanceController.cs",
          "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
        ],
        "commitId" : "dde57e904405143baa4d142564c742e87a975453",
        "timestamp" : 1705509649000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Run optimizer during final countdown\u000a\u000aWhen doing launch to plane run the optimizer before T=0 secs\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2024-01-17 11:40:49 -0500",
        "id" : "dde57e904405143baa4d142564c742e87a975453",
        "msg" : "Run optimizer during final countdown",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "README.md"
        ],
        "commitId" : "d7259979d2bc9cc2d76457c97cebac05f8e28a9d",
        "timestamp" : 1707865844000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update README.md\u000a\u000aFixed typo and added missing instructions for Windows build process\u000a",
        "date" : "2024-02-13 18:10:44 -0500",
        "id" : "d7259979d2bc9cc2d76457c97cebac05f8e28a9d",
        "msg" : "Update README.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "alglib/linalg.cs",
          "alglib/dataanalysis.cs",
          "alglib/alglibinternal.cs",
          "alglib/fasttransforms.cs",
          "alglib/specialfunctions.cs",
          "alglib/alglibmisc.cs",
          "MechJebLibTest/PVGTests/AscentTests/Titan2Tests.cs",
          "MechJebLib/PVG/Optimizer.cs",
          "alglib/diffequations.cs",
          "alglib/optimization.cs",
          "alglib/statistics.cs",
          "alglib/integration.cs",
          "alglib/ap.cs",
          "alglib/solvers.cs",
          "alglib/interpolation.cs"
        ],
        "commitId" : "a75e950cafbb1d6652a48f5b1c4c52f24046cc9f",
        "timestamp" : 1709054650000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Convert PVG to SQP solver and upgrade alglib\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2024-02-27 09:24:10 -0800",
        "id" : "a75e950cafbb1d6652a48f5b1c4c52f24046cc9f",
        "msg" : "Convert PVG to SQP solver and upgrade alglib",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "alglib/diffequations.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/alglibmisc.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/AscentTests/Titan2Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/dataanalysis.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Optimizer.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/solvers.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/specialfunctions.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/linalg.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/integration.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/interpolation.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/ap.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/fasttransforms.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/optimization.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/statistics.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/alglibinternal.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/PVGTests/AscentTests/Titan2Tests.cs",
          "MechJeb2/Maneuver/TransferCalculator.cs",
          "MechJebLibTest/PVGTests/AscentTests/BuggyTests.cs",
          "MechJebLib/PVG/Phase.cs",
          "MechJebLibTest/PVGTests/AscentTests/TheStandardTests.cs",
          "MechJebLib/PVG/Ascent.cs"
        ],
        "commitId" : "eba4650ac6c93abc844423a26383dc0db6d2b43c",
        "timestamp" : 1709059300000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Ascent optimizer algorithm changes\u000a\u000aIt now always returns a fully numerical solution and has some other\u000atweaks\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2024-02-27 10:41:40 -0800",
        "id" : "eba4650ac6c93abc844423a26383dc0db6d2b43c",
        "msg" : "Ascent optimizer algorithm changes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Ascent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Phase.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/AscentTests/TheStandardTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/TransferCalculator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/AscentTests/BuggyTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/AscentTests/Titan2Tests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/PVGTests/AscentTests/Titan2Tests.cs",
          "MechJebLib/PVG/Optimizer.cs",
          "MechJebLibTest/PVGTests/AscentTests/BuggyTests.cs",
          "MechJebLib/PVG/Ascent.cs"
        ],
        "commitId" : "530ff86997a9aeb475c285ea27d3f27445a62437",
        "timestamp" : 1709060848000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix some new ascent algorithm bugs\u000a\u000aHad some copypasta errors syncing from my abandoned dev branch\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2024-02-27 11:07:28 -0800",
        "id" : "530ff86997a9aeb475c285ea27d3f27445a62437",
        "msg" : "Fix some new ascent algorithm bugs",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Ascent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/AscentTests/Titan2Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/AscentTests/BuggyTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Optimizer.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/PVGTests/AscentTests/BuggyTests.cs",
          "MechJebLib/PVG/InputLayout.cs",
          "MechJebLib/PVG/ContinuityLayout.cs",
          "MechJebLib/PVG/Integrators/VacuumCoastAnalytic.cs",
          "MechJebLib/PVG/Optimizer.cs",
          "MechJebLib/PVG/OutputLayout.cs",
          "MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs",
          "MechJeb2/MechJebModulePVGGlueBall.cs",
          "MechJebLib/PVG/Integrators/VacuumThrustAnalytic.cs"
        ],
        "commitId" : "b6ee0296e25747c8d23e5e2a19c7613d3b3036cc",
        "timestamp" : 1709061736000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Eliminate mass costate entirely from PVG calcs\u000a\u000aThis is now likely never going to happen\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2024-02-27 11:22:16 -0800",
        "id" : "b6ee0296e25747c8d23e5e2a19c7613d3b3036cc",
        "msg" : "Eliminate mass costate entirely from PVG calcs",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Integrators/VacuumThrustAnalytic.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/InputLayout.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/AscentTests/BuggyTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Integrators/VacuumCoastAnalytic.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/OutputLayout.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/ContinuityLayout.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Optimizer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/AssertionExtensions.cs",
          "MechJebLib/PVG/Optimizer.cs",
          "MechJebLibTest/PVGTests/AscentTests/TheStandardTests.cs",
          "MechJebLibTest/PVGTests/Integrators/VacuumThrustIntegratorTests.cs"
        ],
        "commitId" : "0a5f2b84105f5f0cd91cf7c736a2a545f50f9585",
        "timestamp" : 1709062762000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "More PVG test fixes\u000a\u000aTheStandardPeriapsis is known to be busted because of #1751\u000a\u000aNot sure why Kepler3ExtremeElliptical is still busted.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2024-02-27 11:39:22 -0800",
        "id" : "0a5f2b84105f5f0cd91cf7c736a2a545f50f9585",
        "msg" : "More PVG test fixes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/AscentTests/TheStandardTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/AssertionExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Optimizer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/Integrators/VacuumThrustIntegratorTests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLib/PVG/ResidualLayout.cs",
          "MechJeb2/MechJebModulePVGGlueBall.cs",
          "MechJeb2/MechJebModuleGuidanceController.cs"
        ],
        "commitId" : "8b1fb757e0e3566597ebf52b1d9237e5df70eef7",
        "timestamp" : 1709183712000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Multiple PVG fixes\u000a\u000a1. don't do TERMINAL_RCS in anything other than the last stage\u000a2. end the TERMINAL state if there's no thrust\u000a3. skip the current stage in the stage dV iterations in the glueball\u000a   if it is coasting and is coast after (not coast before).\u000a\u000aplus a bit of mass costate removal\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2024-02-28 21:15:12 -0800",
        "id" : "8b1fb757e0e3566597ebf52b1d9237e5df70eef7",
        "msg" : "Multiple PVG fixes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/ResidualLayout.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibBindings/MechJebLibBindings.csproj",
          "MechJebLibBindings/PartExtensions.cs",
          "MechJebLibBindings/FuelFlowSimulation/SimVesselBuilder.cs",
          "MechJebLibBindings/FuelFlowSimulation/SimVesselUpdater.cs",
          "MechJebLib/FuelFlowSimulation/SimVessel.cs",
          "MechJebLib/FuelFlowSimulation/PartModules/SimModuleEngines.cs"
        ],
        "commitId" : "d66ad990396d722dd119547ffa35f108de70712b",
        "timestamp" : 1709230900000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Remove unrestartable dead engines from deltaV display\u000a\u000aRF Engines with no restarts left don't have any dV\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2024-02-29 10:21:40 -0800",
        "id" : "d66ad990396d722dd119547ffa35f108de70712b",
        "msg" : "Remove unrestartable dead engines from deltaV display",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLibBindings/MechJebLibBindings.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/FuelFlowSimulation/PartModules/SimModuleEngines.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/FuelFlowSimulation/SimVessel.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibBindings/PartExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibBindings/FuelFlowSimulation/SimVesselBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibBindings/FuelFlowSimulation/SimVesselUpdater.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleStagingController.cs",
          "MechJebLibBindings/PartExtensions.cs",
          "MechJeb2/PartExtensions.cs",
          "MechJebLibBindings/FuelFlowSimulation/SimVesselUpdater.cs"
        ],
        "commitId" : "b99cb0005985455a5bd136a27416551f89ad9cf4",
        "timestamp" : 1709235451000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Move StagingController check for dead engine into MJLibBindings\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2024-02-29 11:37:31 -0800",
        "id" : "b99cb0005985455a5bd136a27416551f89ad9cf4",
        "msg" : "Move StagingController check for dead engine into MJLibBindings",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibBindings/PartExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/PartExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibBindings/FuelFlowSimulation/SimVesselUpdater.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleStagingController.cs",
          "MechJebLibBindings/PartExtensions.cs",
          "MechJebLibBindings/FuelFlowSimulation/SimVesselUpdater.cs",
          "MechJebLib/FuelFlowSimulation/SimVessel.cs",
          "MechJebLib/FuelFlowSimulation/PartModules/SimModuleEngines.cs"
        ],
        "commitId" : "64c77bc309e79197c190153e25f8a0f47a84195a",
        "timestamp" : 1709235685000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Change boolean-returning API to look more boolean\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2024-02-29 11:41:25 -0800",
        "id" : "64c77bc309e79197c190153e25f8a0f47a84195a",
        "msg" : "Change boolean-returning API to look more boolean",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLibBindings/PartExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibBindings/FuelFlowSimulation/SimVesselUpdater.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/FuelFlowSimulation/PartModules/SimModuleEngines.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/FuelFlowSimulation/SimVessel.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/VesselState.cs"
        ],
        "commitId" : "d1c02208c01e40fc7a803bc33a6d593220604445",
        "timestamp" : 1711037658000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update VesselState.cs\u000a\u000aThere's a bug reported #1860  where RCS keeps turning on when unwanted for non-Real Fuels users and requires turning off AutoRCSUllaging. This may be enough to fix it but this could use other sanity checks elsewhere. Also, RCS ullaging should either\u000a\u000a* Check for Core.Attitude.RCS_auto = true or else don't enable RCS!\u000a* Put in code to turn RCS back off when ullaging is completed.\u000a",
        "date" : "2024-03-21 12:14:18 -0400",
        "id" : "d1c02208c01e40fc7a803bc33a6d593220604445",
        "msg" : "Update VesselState.cs",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/VesselState.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleNodeExecutor.cs"
        ],
        "commitId" : "07ff52820477cb330c8ed98f2bbddbb526902198",
        "timestamp" : 1711653636000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix node executor in stock to not RCS ullage\u000a\u000aadds a check for RF being loaded or not\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2024-03-28 12:20:36 -0700",
        "id" : "07ff52820477cb330c8ed98f2bbddbb526902198",
        "msg" : "Fix node executor in stock to not RCS ullage",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleNodeExecutor.cs"
        ],
        "commitId" : "33e8258921563c8615e2b7281b7ddf7ba1d94a73",
        "timestamp" : 1711654573000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Don't run RCS in Node Executor when IDLE\u000a\u000aWe can be enabled and hammering on DoRCS every tick but not be doing\u000aanything.\u000a\u000aAdded more initializion paranoia around resetting back to Idle as well.\u000a\u000aAlso bonus fixed that it doesn't rely on VesselState any more for doing\u000aits own reflection poking around.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2024-03-28 12:36:13 -0700",
        "id" : "33e8258921563c8615e2b7281b7ddf7ba1d94a73",
        "msg" : "Don't run RCS in Node Executor when IDLE",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleThrustController.cs",
          "MechJeb2/MechJebModuleNodeExecutor.cs"
        ],
        "commitId" : "66d4fcaa55523c952654eb1c8d1557c4a412efd0",
        "timestamp" : 1713934519000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Some fixes for stock node execution behavior\u000a\u000aminThrustAccel is always zero in stock, use max instead.\u000a\u000ado a bit better about coordination with different modules.\u000a\u000ahave a lowest thrust level of 1% in ThrustForDV().\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2024-04-23 21:55:19 -0700",
        "id" : "66d4fcaa55523c952654eb1c8d1557c4a412efd0",
        "msg" : "Some fixes for stock node execution behavior",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleNodeExecutor.cs"
        ],
        "commitId" : "207f4ee9c2c52c265ed2b132e702408aae23e777",
        "timestamp" : 1713988155000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Node executor shouldn't control attitude in warp\u000a\u000anot doing this causes a weird kick to the vessel right when you\u000acome out of warp to align with the node.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2024-04-24 12:49:15 -0700",
        "id" : "207f4ee9c2c52c265ed2b132e702408aae23e777",
        "msg" : "Node executor shouldn't control attitude in warp",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleNodeExecutor.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleThrustController.cs"
        ],
        "commitId" : "991442f5cb2a8801c20b86b3da5f58d0dc344ccb",
        "timestamp" : 1714002675000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix issues with RCS being enabled when doing node execution\u000a\u000athe way that ullage needs to be applied until throttle comes up\u000asufficient to deal with RF spoolup wound up trolling stock players.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2024-04-24 16:51:15 -0700",
        "id" : "991442f5cb2a8801c20b86b3da5f58d0dc344ccb",
        "msg" : "Fix issues with RCS being enabled when doing node execution",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/Maneuver/TransferCalculator.cs"
        ],
        "commitId" : "cd58b3fa81fcffc51df076f803bc26410b08f27c",
        "timestamp" : 1714004792000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Switch adv transfer to SQP from AUL\u000a\u000awhatever i did with converting to \"aul2\" with the alglib update\u000adidn't work, switch to SQP which is more likely to be the appropriate\u000aalgorithm in the end anyway\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2024-04-24 17:26:32 -0700",
        "id" : "cd58b3fa81fcffc51df076f803bc26410b08f27c",
        "msg" : "Switch adv transfer to SQP from AUL",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/Maneuver/TransferCalculator.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLib/Utils/Statics.cs",
          "MechJebLib/Rootfinding/Newton.cs",
          "MechJebLib/ODE/AbstractRungeKutta.cs",
          "MechJebLib/Rootfinding/BrentRoot.cs",
          "MechJebLibTest/ODETests/DP5Tests.cs",
          "MechJebLib/ODE/AbstractIVP.cs"
        ],
        "commitId" : "4b50512228dc8ba03672161a68d98f93460664d7",
        "timestamp" : 1716421620000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Absolute minimum stepsize of 10 ULPs in ODE solver\u000a\u000aShould work the same as scipy's integrator.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2024-05-22 16:47:00 -0700",
        "id" : "4b50512228dc8ba03672161a68d98f93460664d7",
        "msg" : "Absolute minimum stepsize of 10 ULPs in ODE solver",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLib/ODE/AbstractRungeKutta.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/ODE/AbstractIVP.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Rootfinding/BrentRoot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Utils/Statics.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/ODETests/DP5Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Rootfinding/Newton.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleCustomInfoWindow.cs"
        ],
        "commitId" : "411bc9fb16779dd89eb4e6e0a7c5c95dab4314db",
        "timestamp" : 1717361524000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Faster ValueInfoItem\u000a\u000ause System.Reflection.Emit instead of System.Linq.Expressions, modify\u000athe accessors to take the instance as an argument, and cache the\u000aaccessors in a static dictionary.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2024-06-02 13:52:04 -0700",
        "id" : "411bc9fb16779dd89eb4e6e0a7c5c95dab4314db",
        "msg" : "Faster ValueInfoItem",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleCustomInfoWindow.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleAscentBaseAutopilot.cs",
          "MechJeb2/MechJebModuleFlightRecorder.cs"
        ],
        "commitId" : "5aa5d7f7802de135e87d7f32fc65f91eac8ea8c2",
        "timestamp" : 1717372369000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/mrev1995",
          "fullName" : "mrev1995"
        },
        "authorEmail" : "mrev1995@gmail.com",
        "comment" : "Fix phase angle from mark calculation\u000a\u000aNow works with inclined orbits.\u000a",
        "date" : "2024-06-03 01:52:49 +0200",
        "id" : "5aa5d7f7802de135e87d7f32fc65f91eac8ea8c2",
        "msg" : "Fix phase angle from mark calculation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleFlightRecorder.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleInfoItems.cs"
        ],
        "commitId" : "a96d6f1c7092cb9740eaa7b863b009e218932e35",
        "timestamp" : 1717372380000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/mrev1995",
          "fullName" : "mrev1995"
        },
        "authorEmail" : "mrev1995@gmail.com",
        "comment" : "Calculate phase angle to target in target's plane\u000a",
        "date" : "2024-06-03 01:53:00 +0200",
        "id" : "a96d6f1c7092cb9740eaa7b863b009e218932e35",
        "msg" : "Calculate phase angle to target in target's plane",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleInfoItems.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleCustomInfoWindow.cs"
        ],
        "commitId" : "4d26b0ffc9bef9662eb43c0716a2729ef145a528",
        "timestamp" : 1717435466000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Log time spent registering info items\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2024-06-03 10:24:26 -0700",
        "id" : "4d26b0ffc9bef9662eb43c0716a2729ef145a528",
        "msg" : "Log time spent registering info items",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleCustomInfoWindow.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleCustomInfoWindow.cs"
        ],
        "commitId" : "fe3eca87c8355eb318cb028f4c202fd31c5e462d",
        "timestamp" : 1717531134000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "More instrumentation and caching of InfoItems\u000a\u000aCaches all the reflection to find the attributes on the modules, fixes\u000acaching of the accessor compilation, adds some profiling and some more\u000adefault fine grained timing around creating the info items.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2024-06-04 12:58:54 -0700",
        "id" : "fe3eca87c8355eb318cb028f4c202fd31c5e462d",
        "msg" : "More instrumentation and caching of InfoItems",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleCustomInfoWindow.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleWaypointWindow.cs",
          "MechJebLib/Utils/Statics.cs"
        ],
        "commitId" : "f93531975c4f19e52a0e9534a94b01da2b2a9682",
        "timestamp" : 1717535943000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/mrev1995",
          "fullName" : "mrev1995"
        },
        "authorEmail" : "mrev1995@gmail.com",
        "comment" : "Fix ToSI for floats\u000a\u000aFix `float.ToSI` to conform to the changes in `double.ToSI` in\u000a02fab0d671985f54d3a22d769affa904db3294b6\u000a",
        "date" : "2024-06-04 23:19:03 +0200",
        "id" : "f93531975c4f19e52a0e9534a94b01da2b2a9682",
        "msg" : "Fix ToSI for floats",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWaypointWindow.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Utils/Statics.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/AttitudeControllers/BetterController.cs",
          "MechJebLib/Control/PIDLoop.cs"
        ],
        "commitId" : "d2e52ef6f314216fe3f68f0647ad14b2721547d1",
        "timestamp" : 1721840569000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "switch bettercontroller back to 90 degree pid\u000a\u000ashould make it a lot less stiff and hopefully fix some\u000awiggles, but may make high warp through maxQ much more flippy.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2024-07-24 10:02:49 -0700",
        "id" : "d2e52ef6f314216fe3f68f0647ad14b2721547d1",
        "msg" : "switch bettercontroller back to 90 degree pid",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BetterController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Control/PIDLoop.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibBindings/FuelFlowSimulation/SimVesselUpdater.cs",
          "MechJebLibBindings/FuelFlowSimulation/SimVesselBuilder.cs",
          "MechJebLib/FuelFlowSimulation/PartModules/SimModuleEngines.cs"
        ],
        "commitId" : "783a86313c2153cb9ac491421a1aa2c1ce15576c",
        "timestamp" : 1723087296000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Add MultFlow to FuelFlowSimulation\u000a\u000aAlso moves MultFlow and FlowMultiplier to the Updater instead of the\u000aBuilder so it gets updated on every tick.\u000a\u000aMay or may not fix TF loss of thrust failures from not showing up in the\u000aDV display.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2024-08-07 20:21:36 -0700",
        "id" : "783a86313c2153cb9ac491421a1aa2c1ce15576c",
        "msg" : "Add MultFlow to FuelFlowSimulation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLibBindings/FuelFlowSimulation/SimVesselBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/FuelFlowSimulation/PartModules/SimModuleEngines.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibBindings/FuelFlowSimulation/SimVesselUpdater.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/ControlTests/PIDLoopTests.cs",
          "MechJebLib/MechJebLib.csproj",
          "MechJeb2.sln.DotSettings",
          "MechJebLib/ODE/AbstractRungeKutta.cs",
          "MechJebLib/ODE/BS3.cs",
          "MechJebLib/Control/PIDLoop2.cs",
          "MechJeb2/AttitudeControllers/BetterController.cs",
          "MechJebLib/Control/PIDLoop.cs",
          "MechJebLib/ODE/AbstractIVP.cs",
          "MechJebLib/Control/IPIDLoop.cs"
        ],
        "commitId" : "cafcaa40c1bd3e01283d2970d70e8480267fb48e",
        "timestamp" : 1723340170000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "PID rewrite\u000a\u000aAdds PIDLoop2 which is written more conventionally.\u000a\u000a- exposes pterm, iterm and dterm for inspection\u000a- trapezoidal integration/differentiation\u000a- standard and parallel form setters\u000a- separate out the deadbands for p, i, d and output\u000a- proper tracking anti-windup\u000a- first order reset element behavior (extended clegg integrator)\u000a\u000aAlso fixes bugs in the B and C options for 2DOF behavior.\u000a\u000aTweaks the BetterController to just be a cascade with a PI instead of\u000athe PID, with a more aggressive integral term and no derivative.  Backed\u000aoff the p-term over what matlab recommended, because it made some\u000aengines with too much gimbal way too twitchy still.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2024-08-10 18:36:10 -0700",
        "id" : "cafcaa40c1bd3e01283d2970d70e8480267fb48e",
        "msg" : "PID rewrite",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLib/ODE/AbstractRungeKutta.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Control/PIDLoop.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/ODE/BS3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2.sln.DotSettings"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/ControlTests/PIDLoopTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/ODE/AbstractIVP.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Control/IPIDLoop.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/MechJebLib.csproj"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Control/PIDLoop2.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BetterController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleCustomInfoWindow.cs"
        ],
        "commitId" : "029ba5501e8c64fcb2c92bab2602c803fd67d112",
        "timestamp" : 1724784539000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/siim.aaver",
          "fullName" : "siim.aaver"
        },
        "authorEmail" : "siim.aaver@gmail.com",
        "comment" : "Add missing Profiler.EndSample()\u000a",
        "date" : "2024-08-27 21:48:59 +0300",
        "id" : "029ba5501e8c64fcb2c92bab2602c803fd67d112",
        "msg" : "Add missing Profiler.EndSample()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleCustomInfoWindow.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "alglib/linalg.cs",
          "alglib/alglibinternal.cs",
          "alglib/dataanalysis.cs",
          "alglib/fasttransforms.cs",
          "alglib/specialfunctions.cs",
          "MechJebLib/PVG/Optimizer.cs",
          "alglib/alglibmisc.cs",
          "alglib/diffequations.cs",
          "alglib/optimization.cs",
          "alglib/statistics.cs",
          ".idea/.idea.MechJeb2/.idea/projectSettingsUpdater.xml",
          "alglib/integration.cs",
          "MechJebLib/Maneuvers/ReturnFromMoon.cs",
          "MechJeb2/MechJebModuleThrustController.cs",
          "alglib/ap.cs",
          "alglib/solvers.cs",
          "alglib/interpolation.cs"
        ],
        "commitId" : "863a3786aebffefb1d58fe1360574392de75d709",
        "timestamp" : 1729352037000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "alglib upgrade to 4.03\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2024-10-19 08:33:57 -0700",
        "id" : "863a3786aebffefb1d58fe1360574392de75d709",
        "msg" : "alglib upgrade to 4.03",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Optimizer.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/linalg.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/alglibinternal.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/optimization.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Maneuvers/ReturnFromMoon.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/interpolation.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/solvers.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/statistics.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/alglibmisc.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/diffequations.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/integration.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/specialfunctions.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/ap.cs"
          },
          {
            "editType" : "edit",
            "file" : ".idea/.idea.MechJeb2/.idea/projectSettingsUpdater.xml"
          },
          {
            "editType" : "edit",
            "file" : "alglib/fasttransforms.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustController.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/dataanalysis.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleThrustController.cs"
        ],
        "commitId" : "e9a2d95d673f283be3625ea9d6923fe1e0fc04fd",
        "timestamp" : 1729352704000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "use genipm intead of ipm\u000a\u000aipm can fail on nonconvex problems, and i'm just guessing this needs\u000ato be more robust.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2024-10-19 08:45:04 -0700",
        "id" : "e9a2d95d673f283be3625ea9d6923fe1e0fc04fd",
        "msg" : "use genipm intead of ipm",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLib/PVG/Optimizer.cs",
          "MechJebLib/Utils/Statics.cs",
          "MechJebLib/PVG/AscentBuilder.cs",
          "MechJebLib/PVG/Ascent.cs"
        ],
        "commitId" : "2c0df94df343f32280cb1b27c7725edb2d6eed11",
        "timestamp" : 1729645704000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Move some PVG logging to DEBUG-only\u000a\u000asome unrelated auto-code reformatting which seems to have\u000abeen picked up by the new version of rider.  yay for\u000aIDEs flailing on code cleanup rules.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2024-10-22 18:08:24 -0700",
        "id" : "2c0df94df343f32280cb1b27c7725edb2d6eed11",
        "msg" : "Move some PVG logging to DEBUG-only",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/AscentBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Ascent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Optimizer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Utils/Statics.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs"
        ],
        "commitId" : "23b28b6837fb6a14ec4fed292a51beeae97b09e7",
        "timestamp" : 1732544764000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/mrev1995",
          "fullName" : "mrev1995"
        },
        "authorEmail" : "mrev1995@gmail.com",
        "comment" : "Fix PVG settings stage numbers\u000a\u000aWhen multiple stages in the Δv stats window have the same KSP stage\u000anumber, the (unguided) and (optimize) labels get applied to the wrong\u000astage(s). This commit changes the window to apply the labels to the\u000astage with the correct KSP stage, which may not be the same as the index\u000ain the vacStats list.\u000a\u000aFix #1920.\u000a",
        "date" : "2024-11-25 15:26:04 +0100",
        "id" : "23b28b6837fb6a14ec4fed292a51beeae97b09e7",
        "msg" : "Fix PVG settings stage numbers",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGSettingsMenu.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibBindings/ReflectionUtils.cs",
          "MechJeb2/VesselState.cs",
          "MechJeb2/PartExtensions.cs"
        ],
        "commitId" : "b54372b006122a3aad5bc90d5380d01bb46427b5",
        "timestamp" : 1733868047000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/mrev1995",
          "fullName" : "mrev1995"
        },
        "authorEmail" : "mrev1995@gmail.com",
        "comment" : "Only check for ullage on ModuleEnginesRF\u000a\u000aWhen trying to check for ullage on a non-ModuleEnginesRF engine,\u000aVesselState sets the reflection fields to null; this causes\u000athe autostaging code to spam NREs and refuse to work.\u000a\u000aThis change makes sure that an engine is a (subclass of) ModuleEnginesRF\u000abefore trying to access the ullage field.\u000a",
        "date" : "2024-12-10 23:00:47 +0100",
        "id" : "b54372b006122a3aad5bc90d5380d01bb46427b5",
        "msg" : "Only check for ullage on ModuleEnginesRF",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLibBindings/ReflectionUtils.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/PartExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/VesselState.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "Localization/es-es.cfg",
          "Localization/en-us.cfg"
        ],
        "commitId" : "83693bca387290c1c2edbf94521c3b882d75c096",
        "timestamp" : 1734668658000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "typo\u000a\u000acloses #1908\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2024-12-19 20:24:18 -0800",
        "id" : "83693bca387290c1c2edbf94521c3b882d75c096",
        "msg" : "typo",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "Localization/es-es.cfg"
          },
          {
            "editType" : "edit",
            "file" : "Localization/en-us.cfg"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLib/Utils/DictOfLists.cs",
          "MechJebLib/FuelFlowSimulation/SimVessel.cs",
          "MechJebLib/FuelFlowSimulation/DecouplingAnalyzer.cs",
          "MechJebLibBindings/FuelFlowSimulation/SimVesselBuilder.cs",
          "MechJebLibBindings/FuelFlowSimulation/SimVesselUpdater.cs",
          "MechJebLib/FuelFlowSimulation/PartModules/SimModuleEngines.cs",
          "MechJebLib/FuelFlowSimulation/PartModules/SimModuleRCS.cs"
        ],
        "commitId" : "30d949ad5ba911104d9b785cb2ef175840275e67",
        "timestamp" : 1734843687000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "RCS fuel flow fixes and missing last stage in the VAB\u000a\u000aIn the ALL_VESSEL checks, it needs to be looking at \"PartsRemainingInStage\"\u000arather than Vessel.Parts since the latter isn't updated as the Sim runs.\u000a\u000aThis also affects ModuleEngines as well, but typically engines don't use\u000aALL_VESSEL flow, so it seems like it affects RCS.\u000a\u000aThis also should fix bugs with the bottom stage being missing in the\u000aVAB.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2024-12-21 21:01:27 -0800",
        "id" : "30d949ad5ba911104d9b785cb2ef175840275e67",
        "msg" : "RCS fuel flow fixes and missing last stage in the VAB",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLib/FuelFlowSimulation/PartModules/SimModuleEngines.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/FuelFlowSimulation/DecouplingAnalyzer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/FuelFlowSimulation/PartModules/SimModuleRCS.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibBindings/FuelFlowSimulation/SimVesselUpdater.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Utils/DictOfLists.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibBindings/FuelFlowSimulation/SimVesselBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/FuelFlowSimulation/SimVessel.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLib/FuelFlowSimulation/DecouplingAnalyzer.cs"
        ],
        "commitId" : "804cca3e6d560559122ade14510406d3d07004c5",
        "timestamp" : 1735239810000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "revert back to previous current stage behavior\u000a\u000aseems to cause actual issues in flight somehow.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2024-12-26 11:03:30 -0800",
        "id" : "804cca3e6d560559122ade14510406d3d07004c5",
        "msg" : "revert back to previous current stage behavior",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLib/FuelFlowSimulation/DecouplingAnalyzer.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibBindings/FuelFlowSimulation/SimVesselUpdater.cs",
          "MechJebLib/FuelFlowSimulation/SimVessel.cs"
        ],
        "commitId" : "1014850c833221676f103134e951af9264fa5ac4",
        "timestamp" : 1738540584000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "FFS: always reset current stage if it is too high\u000a\u000aThe saved current stage can sometimes be too high, so always save it in\u000athe updater if it is higher than the actual current stage.\u000a\u000aProbably fixes some tick-to-tick bugs in KSP's staging where the builder\u000awill get triggered and the stage hasn't been decremented yet.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-02-02 15:56:24 -0800",
        "id" : "1014850c833221676f103134e951af9264fa5ac4",
        "msg" : "FFS: always reset current stage if it is too high",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLibBindings/FuelFlowSimulation/SimVesselUpdater.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/FuelFlowSimulation/SimVessel.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLib/FuelFlowSimulation/DecouplingAnalyzer.cs"
        ],
        "commitId" : "8ceb3f80916ac55a0651b9a1cc0f30d25d431b43",
        "timestamp" : 1738540826000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Revert \"revert back to previous current stage behavior\"\u000a\u000aShould re-fix adding back the missing stage in the VAB\u000a\u000aThis reverts commit 804cca3e6d560559122ade14510406d3d07004c5.\u000a",
        "date" : "2025-02-02 16:00:26 -0800",
        "id" : "8ceb3f80916ac55a0651b9a1cc0f30d25d431b43",
        "msg" : "Revert \"revert back to previous current stage behavior\"",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLib/FuelFlowSimulation/DecouplingAnalyzer.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLib/FuelFlowSimulation/SimVessel.cs",
          "MechJebLib/FunctionImpls/RealSingleImpulseHyperbolicBurn.cs",
          "MechJebLib/ODE/AbstractRungeKutta.cs",
          "MechJebLib/Functions/Angles.cs",
          "MechJebLib/Utils/Statics.cs",
          ".editorconfig",
          "MechJebLib/Rootfinding/BrentRoot.cs",
          "MechJebLib/ODE/BS3.cs",
          "MechJebLib/PVG/Integrators/VacuumThrustAnalytic.cs",
          "MechJebLib/TwoBody/Shepperd.cs",
          "MechJebLib/Control/PIDLoop.cs",
          "MechJebLib/Minimization/BrentMin.cs",
          "MechJebLib/PVG/Terminal/Kepler3Reduced.cs",
          "MechJebLib/PVG/Terminal/Kepler5Reduced.cs",
          "MechJebLib/Primitives/M3.cs",
          "MechJebLib/PVG/Phase.cs",
          "MechJebLib/Maneuvers/ChangeOrbitalElement.cs",
          "MechJebLib/PVG/Optimizer.cs",
          "MechJebLib/PVG/Ascent.cs",
          "MechJebLib/Maneuvers/Simple.cs",
          "MechJebLib/PVG/Solution.cs",
          "MechJebLib/Maneuvers/ReturnFromMoon.cs",
          "MechJebLib/Primitives/V3.cs",
          "MechJebLib/Lambert/Gooding.cs",
          "MechJebLib/FuelFlowSimulation/PartModules/SimModuleRCS.cs",
          "MechJebLib/Rootfinding/Newton.cs",
          "MechJebLib/PVG/Terminal/Kepler4Reduced.cs",
          "MechJebLib/PVG/Terminal/FlightPathAngle4Propellant.cs",
          "MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs",
          "MechJebLib/Functions/Astro.cs",
          "MechJebLib/ODE/AbstractIVP.cs",
          "MechJebLib/PVG/InputLayout.cs",
          "MechJebLib/PVG/AscentBuilder.cs",
          "MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs",
          "MechJebLib/Functions/Interpolants.cs",
          "MechJebLib/ODE/DP5.cs",
          "MechJebLib/PVG/OutputLayout.cs",
          "MechJebLib/Primitives/Scale.cs",
          "MechJebLib/Control/PIDLoop2.cs",
          "MechJebLib/FuelFlowSimulation/PartModules/SimModuleEngines.cs",
          "MechJebLib/Utils/BackgroundJob.cs",
          "MechJebLib/Maneuvers/TwoImpulseTransfer.cs",
          "MechJebLib/Primitives/Q3.cs",
          "MechJebLib/TwoBody/Farnocchia.cs",
          "MechJebLib/FuelFlowSimulation/DecouplingAnalyzer.cs",
          "MechJebLib/PVG/Terminal/FlightPathAngle4Reduced.cs",
          "MechJebLib/Lambert/Izzo.cs",
          "MechJebLib/ODE/DP8.cs",
          "MechJebLib/Primitives/HBase.cs",
          "MechJebLib/PVG/Terminal/FlightPathAngle3Energy.cs",
          "MechJebLib/FuelFlowSimulation/FuelFlowSimulation.cs"
        ],
        "commitId" : "4cd92a2671188e9e1ab769f692e0c26177ac9fcc",
        "timestamp" : 1738553505000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Code cleanup in MJLib\u000a\u000aAutomated code cleanup, shouldn't change behavior.\u000a\u000aNote that previous PR didn't trigger a build, so check that\u000aone if the behavior changes in the build this lands in.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-02-02 19:31:45 -0800",
        "id" : "4cd92a2671188e9e1ab769f692e0c26177ac9fcc",
        "msg" : "Code cleanup in MJLib",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLib/Functions/Astro.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/ODE/DP8.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Functions/Angles.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Primitives/V3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Solution.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Primitives/HBase.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Terminal/FlightPathAngle3Energy.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Control/PIDLoop2.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/ODE/DP5.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Minimization/BrentMin.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Lambert/Gooding.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/FuelFlowSimulation/FuelFlowSimulation.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Primitives/Scale.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/TwoBody/Shepperd.cs"
          },
          {
            "editType" : "edit",
            "file" : ".editorconfig"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Phase.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Primitives/Q3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Integrators/VacuumThrustAnalytic.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/FuelFlowSimulation/SimVessel.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Ascent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Utils/BackgroundJob.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Terminal/Kepler4Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/FunctionImpls/RealSingleImpulseHyperbolicBurn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Terminal/FlightPathAngle4Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Terminal/FlightPathAngle5Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/ODE/AbstractRungeKutta.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Maneuvers/ChangeOrbitalElement.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Terminal/FlightPathAngle4Propellant.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Control/PIDLoop.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Functions/Interpolants.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Terminal/Kepler3Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/ODE/AbstractIVP.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Rootfinding/BrentRoot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Lambert/Izzo.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Maneuvers/TwoImpulseTransfer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/AscentBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/InputLayout.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Maneuvers/Simple.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/TwoBody/Farnocchia.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/FuelFlowSimulation/PartModules/SimModuleRCS.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Terminal/Kepler5Reduced.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Maneuvers/ReturnFromMoon.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Utils/Statics.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Rootfinding/Newton.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/ODE/BS3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Optimizer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Primitives/M3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/FuelFlowSimulation/DecouplingAnalyzer.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/OutputLayout.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/FuelFlowSimulation/PartModules/SimModuleEngines.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/ODETests/BS3Tests.c.cs",
          "MechJebLibTest/ManeuversTests/ReturnFromMoonTests.cs",
          "MechJebLibTest/ManeuversTests/Simple.cs",
          ".gitignore",
          "MechJebLibTest/ODETests/DP5Tests.cs",
          "MechJebLibTest/PVGTests/Integrators/VacuumCoastAnalyticTests.cs",
          "MechJebLibTest/PVGTests/AscentTests/TheStandardTests.cs",
          "MechJebLibTest/Structs/Q3Tests.cs",
          "MechJebLibTest/LambertTests/GoodingTests.cs",
          "MechJebLibTest/PVGTests/AscentTests/Titan2Tests.cs",
          "MechJebLib/PVG/Ascent.cs",
          "MechJebLibTest/FunctionsTests.cs",
          "MechJebLibTest/Structs/V3Tests.cs",
          "MechJebLibTest/ManeuversTests/ChangeOrbitalElementTests.cs",
          "MechJebLibTest/ControlTests/PIDLoopTests.cs",
          "MechJebLibTest/PVGTests/AscentTests/BuggyTests.cs",
          "MechJebLibTest/PVGTests/Integrators/VacuumThrustIntegratorTests.cs",
          "MechJebLibTest/Structs/M3Tests.cs",
          "MechJebLibTest/TwoBodyTests/ShepperdTests.cs",
          "MechJebLibTest/ManeuversTests/TwoImpulseTransferTests.cs",
          "MechJebLibTest/TwoBodyTests/FarnocchiaTests.cs",
          ".editorconfig"
        ],
        "commitId" : "2570ac47095e759bcf3687186e36e841baafabc9",
        "timestamp" : 1738649932000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "More code cleanup and editorconfig tweaks\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-02-03 22:18:52 -0800",
        "id" : "2570ac47095e759bcf3687186e36e841baafabc9",
        "msg" : "More code cleanup and editorconfig tweaks",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/TwoBodyTests/ShepperdTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/ControlTests/PIDLoopTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/ODETests/BS3Tests.c.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/ManeuversTests/ChangeOrbitalElementTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/LambertTests/GoodingTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/ODETests/DP5Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/ManeuversTests/Simple.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/ManeuversTests/TwoImpulseTransferTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Structs/Q3Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/TwoBodyTests/FarnocchiaTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Structs/M3Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/AscentTests/BuggyTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/AscentTests/Titan2Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/Integrators/VacuumCoastAnalyticTests.cs"
          },
          {
            "editType" : "edit",
            "file" : ".gitignore"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Ascent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/ManeuversTests/ReturnFromMoonTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/Integrators/VacuumThrustIntegratorTests.cs"
          },
          {
            "editType" : "edit",
            "file" : ".editorconfig"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/PVGTests/AscentTests/TheStandardTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/FunctionsTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Structs/V3Tests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleGuidanceController.cs",
          "MechJeb2/MechJebModuleStagingController.cs"
        ],
        "commitId" : "1b37703681a4b78e9a88e480f69478006d11f7aa",
        "timestamp" : 1740351908000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "PVG needs to immediately autostage\u000a\u000a- PVG was not immediately staging and was obying autostagePreDelay but\u000a  would never call Stage() again, and we don't want that behavior.\u000a\u000a- The autostagePreDelay setting of 0 didn't work to immediately stage.\u000a  Changed things around so that in the same tick that countingDown is\u000a  set to true that it can autostage if the conditions are met and\u000a  changed '>' to '>=' so that zero would match and fire.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-02-23 15:05:08 -0800",
        "id" : "1b37703681a4b78e9a88e480f69478006d11f7aa",
        "msg" : "PVG needs to immediately autostage",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleGuidanceController.cs"
        ],
        "commitId" : "b37d7b344568991c01ef2094efa58a7db6bb2a05",
        "timestamp" : 1740354612000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Also kill throttle before autostaging in PVG\u000a\u000aKeeps the previous stage from trying to ride up your ass the rest of the\u000away to orbit...\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-02-23 15:50:12 -0800",
        "id" : "b37d7b344568991c01ef2094efa58a7db6bb2a05",
        "msg" : "Also kill throttle before autostaging in PVG",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModulePVGGlueBall.cs"
        ],
        "commitId" : "1eba9de0841e1701908be76b96496c51432f15f4",
        "timestamp" : 1740745914000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/mrev1995",
          "fullName" : "mrev1995"
        },
        "authorEmail" : "mrev1995@gmail.com",
        "comment" : "Only ever insert one coast\u000a\u000aWhen the current stage (in case of 'coast before') or the next stage (in\u000acase of 'coast after') occurs multiple times in the stage stats, PVG\u000ainserts a coast before/after _each_ of them. This should not happen,\u000athere should only ever be one coast stage.\u000a",
        "date" : "2025-02-28 13:31:54 +0100",
        "id" : "1eba9de0841e1701908be76b96496c51432f15f4",
        "msg" : "Only ever insert one coast",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleGuidanceController.cs"
        ],
        "commitId" : "8824457849e1fcd8acce753d9fc9b91eef937301",
        "timestamp" : 1740745925000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/mrev1995",
          "fullName" : "mrev1995"
        },
        "authorEmail" : "mrev1995@gmail.com",
        "comment" : "Fix coasts after the early shutoff stage\u000a\u000aWhen a coast is inserted immediately after the \"Early shutoff stage\",\u000aRCS does not get enabled and the `StartCoast` variable doesn't get set;\u000athis means that the coast time does not tick down.\u000a\u000aThis patch makes it so both those things do get done when starting the\u000acoast after the early shutoff stage.\u000a",
        "date" : "2025-02-28 13:32:05 +0100",
        "id" : "8824457849e1fcd8acce753d9fc9b91eef937301",
        "msg" : "Fix coasts after the early shutoff stage",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "alglib/linalg.cs",
          "alglib/alglibinternal.cs",
          "alglib/dataanalysis.cs",
          "alglib/fasttransforms.cs",
          "alglib/specialfunctions.cs",
          "alglib/alglibmisc.cs",
          "alglib/diffequations.cs",
          "alglib/optimization.cs",
          "alglib/statistics.cs",
          "alglib/integration.cs",
          "alglib/ap.cs",
          "alglib/solvers.cs",
          "alglib/interpolation.cs"
        ],
        "commitId" : "fecb43422c245cfb57678da7d66ef5458a5708c0",
        "timestamp" : 1741201316000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "upgrade alglib to 4.04\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-03-05 11:01:56 -0800",
        "id" : "fecb43422c245cfb57678da7d66ef5458a5708c0",
        "msg" : "upgrade alglib to 4.04",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "alglib/ap.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/specialfunctions.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/optimization.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/solvers.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/statistics.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/interpolation.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/alglibinternal.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/dataanalysis.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/diffequations.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/integration.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/fasttransforms.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/alglibmisc.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/linalg.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModulePVGGlueBall.cs"
        ],
        "commitId" : "5f213f66a33c80eb4d1b91abd20b1e70de40c282",
        "timestamp" : 1741557078000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/mrev1995",
          "fullName" : "mrev1995"
        },
        "authorEmail" : "mrev1995@gmail.com",
        "comment" : "Fix a problem where coast time doesn't count down\u000a\u000aWhen 'Coast after' is checked, the kspStage inside the loop is one past\u000athe vessel's current stage. Similarly, if autostaging hasn't staged to\u000athe point where the vessel's current stage is the coast stage, then this\u000acheck will also fail. In either case the coast time will not tick\u000adown.\u000a\u000aIf we are coasting, then the timers should always be ticking down,\u000awhatever the current stage happens to be. Therefore, the\u000aVessel.currentStage check is unnecessary.\u000a",
        "date" : "2025-03-09 22:51:18 +0100",
        "id" : "5f213f66a33c80eb4d1b91abd20b1e70de40c282",
        "msg" : "Fix a problem where coast time doesn't count down",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/VesselState.cs"
        ],
        "commitId" : "0857eac9338de80d224653ad1f226f0adb99f3ed",
        "timestamp" : 1745460429000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix thrustForward calc for hotstaging\u000a\u000aTry to fix the behavior during hotstaging discovered in:\u000a\u000ahttps://github.com/MuMech/MechJeb2/issues/1943#issuecomment-2813979955\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-04-23 19:07:09 -0700",
        "id" : "0857eac9338de80d224653ad1f226f0adb99f3ed",
        "msg" : "Fix thrustForward calc for hotstaging",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/VesselState.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleWarpHelper.cs",
          ".idea/.idea.MechJeb2/.idea/projectSettingsUpdater.xml",
          "MechJeb2/OrbitExtensions.cs",
          "MechJebLib/MechJebLib.csproj",
          "MechJeb2/VesselState.cs",
          "MechJeb2.sln.DotSettings",
          "MechJebLib/Rootfinding/BrentRoot.cs",
          "MechJebLib/FunctionImpls/RealSuicideBurnCalc.cs",
          "MechJebLibTest/FunctionsTests.cs",
          "MechJeb2/MechJebModuleInfoItems.cs",
          "MechJebLib/Functions/Astro.cs"
        ],
        "commitId" : "ff69e9322e2676bb63cfc841513fd6fe6def0292",
        "timestamp" : 1745556524000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix Suicide Burntime calculation\u000a\u000aThis is an analytic function (inside a root solver) which assumes\u000aconstant twr and flat constant surface gravity.\u000a\u000aIt will not be perfect, but it should be 'safe' in that if you\u000astart your burn before zero you should not collide with the surface.\u000a\u000aIt tries to accurately predict the height of the terrain at the predicted\u000adownrange burnout point, but extremely rugged terrain (e.g. cliffs)\u000amay void this warranty.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-04-24 21:48:44 -0700",
        "id" : "ff69e9322e2676bb63cfc841513fd6fe6def0292",
        "msg" : "Fix Suicide Burntime calculation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2.sln.DotSettings"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitExtensions.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/FunctionImpls/RealSuicideBurnCalc.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Functions/Astro.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/FunctionsTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleInfoItems.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Rootfinding/BrentRoot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/VesselState.cs"
          },
          {
            "editType" : "edit",
            "file" : ".idea/.idea.MechJeb2/.idea/projectSettingsUpdater.xml"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleWarpHelper.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/MechJebLib.csproj"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/VesselState.cs",
          "MechJeb2/OrbitExtensions.cs",
          "MechJebLib/FunctionImpls/RealSuicideBurnCalc.cs",
          "MechJebLib/Functions/Astro.cs"
        ],
        "commitId" : "157e56700bf28bf5dabb87ab9d09c817c091a69a",
        "timestamp" : 1745645916000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Average initial and final gravity in suicide burn calc\u000a\u000aShould still be conservative and help a little.\u000a\u000aAlso starts to thread the previous value in as the next\u000aguess, but nothing is done with that value yet.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-04-25 22:38:36 -0700",
        "id" : "157e56700bf28bf5dabb87ab9d09c817c091a69a",
        "msg" : "Average initial and final gravity in suicide burn calc",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLib/Functions/Astro.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/FunctionImpls/RealSuicideBurnCalc.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/VesselState.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitExtensions.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/AttitudeControllers/BetterController.cs"
        ],
        "commitId" : "c46dc9d9a38dd1829f55ee4cb5877ef1655bce1c",
        "timestamp" : 1745871065000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "restore pid settings to before cafcaa40c1bd3e01283d2970d70e8480267fb48e\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-04-28 13:11:05 -0700",
        "id" : "c46dc9d9a38dd1829f55ee4cb5877ef1655bce1c",
        "msg" : "restore pid settings to before cafcaa40c1bd3e01283d2970d70e8480267fb48e",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BetterController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLib/FunctionImpls/RealSuicideBurnCalc.cs",
          "MechJebLib/Functions/Astro.cs"
        ],
        "commitId" : "7e3c445b0a5392ada0b5ee39ce8b2b107c623645",
        "timestamp" : 1745945843000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "fix builds\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-04-29 09:57:23 -0700",
        "id" : "7e3c445b0a5392ada0b5ee39ce8b2b107c623645",
        "msg" : "fix builds",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLib/FunctionImpls/RealSuicideBurnCalc.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Functions/Astro.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleGuidanceController.cs"
        ],
        "commitId" : "d93db20f4d6942944f760ee538a11b3f3b3bd12c",
        "timestamp" : 1745946871000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "better gate terminal_staging\u000a\u000athis should only be used when in an optimized stage that isn't the\u000aupper stage of the rocket (more un-optimized, probably unguided stages\u000asitting on top of a smarter booster with cutout logic).\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-04-29 10:14:31 -0700",
        "id" : "d93db20f4d6942944f760ee538a11b3f3b3bd12c",
        "msg" : "better gate terminal_staging",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleGuidanceController.cs"
        ],
        "commitId" : "86deab4c5a09b7aa424d19ae4451084d474ed4fd",
        "timestamp" : 1745949120000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "tweak thrust-fault early termination issue\u000a\u000aonly end guidance early due to lack of thrust in the last stage\u000a\u000ashould allow staging during terminal guidance.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-04-29 10:52:00 -0700",
        "id" : "86deab4c5a09b7aa424d19ae4451084d474ed4fd",
        "msg" : "tweak thrust-fault early termination issue",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/AttitudeControllers/BetterController.cs"
        ],
        "commitId" : "060ef0a5bec4df43ccd26dca26b6b38ad4663a95",
        "timestamp" : 1745964036000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Revert \"restore pid settings to before cafcaa40c1bd3e01283d2970d70e8480267fb48e\"\u000a\u000aThis reverts commit c46dc9d9a38dd1829f55ee4cb5877ef1655bce1c.\u000a",
        "date" : "2025-04-29 15:00:36 -0700",
        "id" : "060ef0a5bec4df43ccd26dca26b6b38ad4663a95",
        "msg" : "Revert \"restore pid settings to before cafcaa40c1bd3e01283d2970d70e8480267fb48e\"",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BetterController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/AttitudeControllers/BetterController.cs"
        ],
        "commitId" : "28031c3f86becbfea253d50253802566a2432ece",
        "timestamp" : 1745964090000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "re-revert the pid tuning values\u000a\u000ai think less stiff is probably the better direction\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-04-29 15:01:30 -0700",
        "id" : "28031c3f86becbfea253d50253802566a2432ece",
        "msg" : "re-revert the pid tuning values",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BetterController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLib/Maneuvers/Simple.cs",
          "MechJeb2/OrbitalManeuverCalculator.cs",
          "MechJeb2/MechJebModuleAscentBaseAutopilot.cs",
          "MechJebLib/FunctionImpls/RealDeltaVToChangeApoapsisPrograde.cs"
        ],
        "commitId" : "1d5e71f7b38fc75c12b989aaee77db1140d28058",
        "timestamp" : 1746039788000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix classic launch inclination\u000a\u000aI don't know what I thought I was doing in the Launch inclination stuff,\u000abut this mostly fixes it.  It drives the inclination error to zero as\u000athe vgo to raise the apoapsis goes to zero via proportional steering.\u000a\u000aThere still needs to be some terminal guidance handling, right now it\u000agets all weird and spinny as the dv goes to zero.\u000a\u000aNeeds to have the AoA limiter turned off or the fadeout very high for\u000aaccuracy.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-04-30 12:03:08 -0700",
        "id" : "1d5e71f7b38fc75c12b989aaee77db1140d28058",
        "msg" : "Fix classic launch inclination",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/OrbitalManeuverCalculator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Maneuvers/Simple.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/FunctionImpls/RealDeltaVToChangeApoapsisPrograde.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleStagingController.cs"
        ],
        "commitId" : "e3e631e5495f151b5fa7e1f9f19d2efe42331788",
        "timestamp" : 1746040716000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "continually reset pids on the launch pad\u000a\u000aKinda hacky to do this in the staging controller, but that is\u000awhere we control releasing launch clamps.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-04-30 12:18:36 -0700",
        "id" : "e3e631e5495f151b5fa7e1f9f19d2efe42331788",
        "msg" : "continually reset pids on the launch pad",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleAscentClassicAutopilot.cs",
          "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
        ],
        "commitId" : "d63a6fe4b3a4e0731baf6ae98b219de97a2fb7f2",
        "timestamp" : 1746064553000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Stock ascent cleanup and fixes\u000a\u000aNow follows prograde to orbit (better for applying dribble thrust\u000ato compensate for drag without changing the inclination)\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-04-30 18:55:53 -0700",
        "id" : "d63a6fe4b3a4e0731baf6ae98b219de97a2fb7f2",
        "msg" : "Stock ascent cleanup and fixes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentClassicAutopilot.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleGuidanceController.cs"
        ],
        "commitId" : "6f6f0f0525ac572722190cc46502f0c7dc13e76e",
        "timestamp" : 1746070491000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "prevent PID windup during PVG staging/spoolup\u000a\u000aif we're supposed to have engines on (burning/terminal) but the\u000athrust is below minimum thrust, then flush the pids to prevent\u000aintegral windup.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-04-30 20:34:51 -0700",
        "id" : "6f6f0f0525ac572722190cc46502f0c7dc13e76e",
        "msg" : "prevent PID windup during PVG staging/spoolup",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleGuidanceController.cs"
        ],
        "commitId" : "97688b2af2f6bee28e572279cb9a2f2eec3688d8",
        "timestamp" : 1746070689000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Add a little margin to the antiwindup in the PVG controller\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-04-30 20:38:09 -0700",
        "id" : "97688b2af2f6bee28e572279cb9a2f2eec3688d8",
        "msg" : "Add a little margin to the antiwindup in the PVG controller",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleAscentClassicAutopilot.cs",
          "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
        ],
        "commitId" : "fbeb9ec760fb7a520a7a683ff026931733baeb3d",
        "timestamp" : 1746075155000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "properly freeze ascent in stock guidance\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-04-30 21:52:35 -0700",
        "id" : "fbeb9ec760fb7a520a7a683ff026931733baeb3d",
        "msg" : "properly freeze ascent in stock guidance",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentClassicAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleAscentClassicAutopilot.cs",
          "MechJeb2/MechJebModuleAscentSettings.cs"
        ],
        "commitId" : "62b9399ff4cb664f34b87e87724f621e395032fe",
        "timestamp" : 1746079283000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "simplify+fix classic ascent corrective steering\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-04-30 23:01:23 -0700",
        "id" : "62b9399ff4cb664f34b87e87724f621e395032fe",
        "msg" : "simplify+fix classic ascent corrective steering",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentSettings.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentClassicAutopilot.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleGuidanceController.cs"
        ],
        "commitId" : "6a0dcb085eef719e44934d4928f032db6bf67a3c",
        "timestamp" : 1746377522000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "fix staging during terminal properly\u000a\u000athis check actually fires at the start of the next stage, so\u000aneeds to be gated by current < last.\u000a\u000athis makes me think we really need a check that we don't\u000astage past the last stage ever, if i didn't already add that\u000asomewhere, mostly making this check redundant now.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-05-04 09:52:02 -0700",
        "id" : "6a0dcb085eef719e44934d4928f032db6bf67a3c",
        "msg" : "fix staging during terminal properly",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleAscentPVGAutopilot.cs",
          "MechJeb2/MechJebModuleAscentClassicAutopilot.cs",
          "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
        ],
        "commitId" : "07f7f2cc1aa57136859a9b29f562a9bfd91f1613",
        "timestamp" : 1746378728000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Fix PVG roll wiggles on vertical ascent\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-05-04 10:12:08 -0700",
        "id" : "07f7f2cc1aa57136859a9b29f562a9bfd91f1613",
        "msg" : "Fix PVG roll wiggles on vertical ascent",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentClassicAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/AttitudeControllers/BetterController.cs",
          "MechJebLib/Control/PIDLoop2.cs"
        ],
        "commitId" : "1b951575c91f7eef41cde01949458ab7d5fcfbb1",
        "timestamp" : 1746414922000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Update BetterController to have a real PID for the position\u000a\u000aThis will allow adding an integral term to the pos PID, and\u000apossibly a 2DOF PID there.\u000a\u000aThis shouldn't change much behavior, all the PID settings are\u000athe same.\u000a\u000aI snuck in a TorqueSmooth tunable which is a low pass filter over\u000athe torque from VesselState which can help with wiggles from\u000acontrol surfaces near the edge of the atmosphere (KSP and/or\u000aFAR is doing something weird).\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-05-04 20:15:22 -0700",
        "id" : "1b951575c91f7eef41cde01949458ab7d5fcfbb1",
        "msg" : "Update BetterController to have a real PID for the position",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BetterController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Control/PIDLoop2.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MuUtils.cs",
          "MechJeb2/AttitudeControllers/BetterController.cs"
        ],
        "commitId" : "827317b0d5a0c30a9180ee809fb29819b7d4c2b9",
        "timestamp" : 1746418697000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Make some BetterController output more readable\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-05-04 21:18:17 -0700",
        "id" : "827317b0d5a0c30a9180ee809fb29819b7d4c2b9",
        "msg" : "Make some BetterController output more readable",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MuUtils.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BetterController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleAscentClassicAutopilot.cs",
          "MechJeb2/MechJebModuleGuidanceController.cs",
          "MechJeb2/MechJebModuleAscentPVGAutopilot.cs",
          "MechJebLib/PVG/Solution.cs",
          "MechJeb2/MechJebModuleAscentBaseAutopilot.cs",
          "MechJeb2/AttitudeControllers/BetterController.cs"
        ],
        "commitId" : "e76b3233ba7217214e716196039de5f374a575da",
        "timestamp" : 1746470262000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Launch Ascent tweaks\u000a\u000a- flushes the pos pid state now in better controller on reset\u000a- flushes state if we have no axis control or actuation\u000a- sets actuation to zero under conditions when we flush\u000a- adds angular deviation to \"Stable Guidance\" message\u000a- fixes some bugs i introduced in the roll control on ascent\u000a- bypasses the AoA limters for the pitchover maneuver\u000a  (allows Qα-limit of zero again)\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-05-05 11:37:42 -0700",
        "id" : "e76b3233ba7217214e716196039de5f374a575da",
        "msg" : "Launch Ascent tweaks",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleGuidanceController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/PVG/Solution.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BetterController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentClassicAutopilot.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleAttitudeController.cs"
        ],
        "commitId" : "f02077c9deaca6a3593a83d524909b5435d081c2",
        "timestamp" : 1746675509000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Don't constantly reset the BetterController PID\u000a\u000aAttitude changes are resetting the PID and dumping the integrator.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-05-07 20:38:29 -0700",
        "id" : "f02077c9deaca6a3593a83d524909b5435d081c2",
        "msg" : "Don't constantly reset the BetterController PID",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAttitudeController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2.sln.DotSettings",
          "MechJeb2/AttitudeControllers/BetterController.cs",
          "MechJebLib/Control/PIDLoop2.cs"
        ],
        "commitId" : "cfc5e8df88491033eb2234e47ab2ad8a8197cf26",
        "timestamp" : 1746813939000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "code cleanup and a couple comments\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-05-09 11:05:39 -0700",
        "id" : "cfc5e8df88491033eb2234e47ab2ad8a8197cf26",
        "msg" : "code cleanup and a couple comments",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2.sln.DotSettings"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BetterController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Control/PIDLoop2.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/AttitudeControllers/MJAttitudeController.cs",
          "MechJeb2/MechJebModuleAttitudeController.cs",
          "MechJeb2/AttitudeControllers/KosAttitudeController.cs",
          "MechJeb2/AttitudeControllers/BetterController.cs",
          "MechJeb2/AttitudeControllers/HybridController.cs"
        ],
        "commitId" : "3de2f785eb270138f734992b8e87335db270a57e",
        "timestamp" : 1746814000000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Convert attitude controllers to QuaternionD\u000a\u000adoubt it makes a difference, though, when the spacecraft attitude has\u000ato be a Quaternion in KSP...\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-05-09 11:06:40 -0700",
        "id" : "3de2f785eb270138f734992b8e87335db270a57e",
        "msg" : "Convert attitude controllers to QuaternionD",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/KosAttitudeController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/MJAttitudeController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BetterController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/HybridController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAttitudeController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleAttitudeController.cs",
          "MechJeb2/MathExtensions.cs",
          "MechJeb2/AttitudeControllers/KosAttitudeController.cs",
          "MechJeb2/AttitudeControllers/BetterController.cs",
          "MechJeb2/AttitudeControllers/HybridController.cs"
        ],
        "commitId" : "ecedc86bd9403b06429409b0e2b964d9c6726e83",
        "timestamp" : 1746814708000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "implement still-missing QuaternionD functions\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-05-09 11:18:28 -0700",
        "id" : "ecedc86bd9403b06429409b0e2b964d9c6726e83",
        "msg" : "implement still-missing QuaternionD functions",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/KosAttitudeController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BetterController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MathExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/HybridController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAttitudeController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/AttitudeControllers/MJAttitudeController.cs",
          "MechJeb2/AttitudeControllers/KosPIDLoop.cs",
          "MechJeb2/MechJebModuleAttitudeController.cs",
          "MechJeb2/AttitudeControllers/KosAttitudeController.cs",
          "MechJeb2/AttitudeControllers/HybridController.cs"
        ],
        "commitId" : "8856a35220c8cf557fb40f07f2190559afd13e54",
        "timestamp" : 1746816061000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Reformat and cleanup of attitude controllers\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-05-09 11:41:01 -0700",
        "id" : "8856a35220c8cf557fb40f07f2190559afd13e54",
        "msg" : "Reformat and cleanup of attitude controllers",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/KosAttitudeController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAttitudeController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/HybridController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/MJAttitudeController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/KosPIDLoop.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebCore.cs"
        ],
        "commitId" : "5e920def6bdf12e4d6832948e277ee283704b969",
        "timestamp" : 1747606284000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/mrev1995",
          "fullName" : "mrev1995"
        },
        "authorEmail" : "mrev1995@gmail.com",
        "comment" : "Fix saving and loading of vessel-specific settings\u000a\u000aWhen loading a craft file in the Editor, there's no vessel name\u000aavailable; thus, all vessel-specific settings (those with persistent\u000apass TYPE) get loaded at their default values. A few seconds later,\u000athose get saved (with the ship name at the top of the screen),\u000aoverwriting any previously vessel-specific settings with their default\u000avalues.\u000a\u000aSince there's no way to get a ship name in the OnLoad method (it gets\u000acalled before the Editor has set the name from the .craft file), the\u000abest option is to simply not save the settings from inside the editor at\u000aall.\u000a",
        "date" : "2025-05-19 00:11:24 +0200",
        "id" : "5e920def6bdf12e4d6832948e277ee283704b969",
        "msg" : "Fix saving and loading of vessel-specific settings",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebCore.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MathExtensions.cs",
          "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
        ],
        "commitId" : "dd5be240fbd3b0195083cb841b252024c4dfc512",
        "timestamp" : 1747611811000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Add Vector3d Slerp/Lerp methods\u000a\u000aFixes #1970 and the errors that are in that report\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-05-18 16:43:31 -0700",
        "id" : "dd5be240fbd3b0195083cb841b252024c4dfc512",
        "msg" : "Add Vector3d Slerp/Lerp methods",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MathExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/AttitudeControllers/LQRController.cs",
          "MechJeb2/MechJebModuleAttitudeController.cs",
          "MechJeb2/AttitudeControllers/DirectionTracker.cs",
          "MechJebLib/Primitives/M3.cs",
          "MechJebLib/Control/MultiVariableGrid.cs",
          "MechJebLib/MechJebLib.csproj",
          "MechJebLib/Control/LQRLoop1.cs",
          "MechJeb2.sln.DotSettings",
          "MechJebLib/Control/MultiVariableInterpolator.cs",
          "MechJeb2/MechJeb2.csproj",
          "MechJeb2/AttitudeControllers/BetterController.cs",
          "MechJeb2/MechJebModuleAttitudeAdjustment.cs"
        ],
        "commitId" : "f527fad64d7825df829e6402cb9049bbcce558e1",
        "timestamp" : 1749071501000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Add DirectionTracker and wire it up to BetterController\u000a\u000aThe DirectionTracker is my attempt to solve the problem of splitting\u000aup desired vs current pitch/yaw/roll so that I can implement LQRs and\u000a2DOF PID controllers.  It attempts to track small tick-to-tick\u000adeltas and use them to accumulate a value which will not suffer from\u000agimbal lock issues or 2pi wraparound issues.  When the controller axis\u000ais reset then in addition to clobbering the PID integral states, it also\u000azeros the DirectionTracker.  Since the error calc is still mathematically\u000aidentical at the end of the day it really shouldn't change the\u000aBetterController much (i hope).\u000a\u000aThis also adds an LQR based controller which is just a proof of concept\u000athat I can actually wire up an LQR controller.  It also uses the\u000aDirectionTracker.  It does not usably fly a rocket in its current form.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-06-04 14:11:41 -0700",
        "id" : "f527fad64d7825df829e6402cb9049bbcce558e1",
        "msg" : "Add DirectionTracker and wire it up to BetterController",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2.sln.DotSettings"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJeb2.csproj"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/AttitudeControllers/LQRController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAttitudeController.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Control/LQRLoop1.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BetterController.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJeb2/AttitudeControllers/DirectionTracker.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Control/MultiVariableGrid.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLib/Control/MultiVariableInterpolator.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAttitudeAdjustment.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/MechJebLib.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Primitives/M3.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleAscentPVGAutopilot.cs",
          "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
        ],
        "commitId" : "29791bdfb8ada8cee42da88df5fd39f5021bb5df",
        "timestamp" : 1750366829000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Run Qα limiter during pitch program again\u000a\u000aThis reverts to previous behavior.\u000a\u000aI tried fixing it so that zero Qα would work, but that would\u000atake more detailed patch to bypass Qα during initiation, but\u000anot pitchover, being careful that it would be smooth and not\u000aratchet (so it would initiate by 3 degrees or so, but\u000athen not apply a zero Qα limit and try to go back to nearly vertical,\u000aetc).\u000a\u000aDidn't have an actual bug to fix that behavior, so the bugs the\u000afix introduced and got reported were worse.\u000a",
        "date" : "2025-06-19 14:00:29 -0700",
        "id" : "29791bdfb8ada8cee42da88df5fd39f5021bb5df",
        "msg" : "Run Qα limiter during pitch program again",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentPVGAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleAscentBaseAutopilot.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/AttitudeControllers/BetterController.cs"
        ],
        "commitId" : "9373fb9bf2d7ac6d70acdd92f9ed0adb478a08f7",
        "timestamp" : 1750651219000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "remove some logspam\u000a\u000adebugging got committed\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-06-22 21:00:19 -0700",
        "id" : "9373fb9bf2d7ac6d70acdd92f9ed0adb478a08f7",
        "msg" : "remove some logspam",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BetterController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleStagingController.cs"
        ],
        "commitId" : "ac1eac4ff4793a5a74c6f785712e33df9f0831e7",
        "timestamp" : 1754147850000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/mrev1995",
          "fullName" : "mrev1995"
        },
        "authorEmail" : "mrev1995@gmail.com",
        "comment" : "Ignore un-stageable parts\u000a\u000aParts like aerodynamic fins and fuel tanks are never stageable, but they\u000astill have an assigned `inverseStage`. Those parts should be ignored\u000awhen checking whether all parts in a stage have some particular\u000aproperty.\u000a\u000aWill probably fix fairings \"randomly\" failing to stage correctly on some\u000avessels.\u000a",
        "date" : "2025-08-02 17:17:30 +0200",
        "id" : "ac1eac4ff4793a5a74c6f785712e33df9f0831e7",
        "msg" : "Ignore un-stageable parts",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".github/ISSUE_TEMPLATE/new-ksp-version-support.md",
          ".github/ISSUE_TEMPLATE/help-using-mechjeb-or-ksp.md",
          ".github/ISSUE_TEMPLATE/bug-report.md",
          ".github/ISSUE_TEMPLATE/localization-issues.md"
        ],
        "commitId" : "43f504159377358294a370f4070907e3abecfffc",
        "timestamp" : 1754287683000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update issue templates\u000a\u000aGithub randomly broke the template. #1987\u000a",
        "date" : "2025-08-04 08:08:03 +0200",
        "id" : "43f504159377358294a370f4070907e3abecfffc",
        "msg" : "Update issue templates",
        "paths" : [
          {
            "editType" : "add",
            "file" : ".github/ISSUE_TEMPLATE/bug-report.md"
          },
          {
            "editType" : "add",
            "file" : ".github/ISSUE_TEMPLATE/new-ksp-version-support.md"
          },
          {
            "editType" : "add",
            "file" : ".github/ISSUE_TEMPLATE/localization-issues.md"
          },
          {
            "editType" : "add",
            "file" : ".github/ISSUE_TEMPLATE/help-using-mechjeb-or-ksp.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".github/ISSUE_TEMPLATE/BUG_REPORT.md"
        ],
        "commitId" : "2c93915945086c2f93558a4461dac75927de2998",
        "timestamp" : 1754287763000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Delete .github/ISSUE_TEMPLATE/BUG_REPORT.md\u000a",
        "date" : "2025-08-04 08:09:23 +0200",
        "id" : "2c93915945086c2f93558a4461dac75927de2998",
        "msg" : "Delete .github/ISSUE_TEMPLATE/BUG_REPORT.md",
        "paths" : [
          {
            "editType" : "delete",
            "file" : ".github/ISSUE_TEMPLATE/BUG_REPORT.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".github/ISSUE_TEMPLATE/HELP_REQUEST.md"
        ],
        "commitId" : "21c297359a3ca756dbadd53d2f2970aa695adebc",
        "timestamp" : 1754287775000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Delete .github/ISSUE_TEMPLATE/HELP_REQUEST.md\u000a",
        "date" : "2025-08-04 08:09:35 +0200",
        "id" : "21c297359a3ca756dbadd53d2f2970aa695adebc",
        "msg" : "Delete .github/ISSUE_TEMPLATE/HELP_REQUEST.md",
        "paths" : [
          {
            "editType" : "delete",
            "file" : ".github/ISSUE_TEMPLATE/HELP_REQUEST.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".github/ISSUE_TEMPLATE/LOCALIZATION_SUPPORT.md"
        ],
        "commitId" : "860cef861d870778265e2c0228288e24c8a2f3cd",
        "timestamp" : 1754287784000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Delete .github/ISSUE_TEMPLATE/LOCALIZATION_SUPPORT.md\u000a",
        "date" : "2025-08-04 08:09:44 +0200",
        "id" : "860cef861d870778265e2c0228288e24c8a2f3cd",
        "msg" : "Delete .github/ISSUE_TEMPLATE/LOCALIZATION_SUPPORT.md",
        "paths" : [
          {
            "editType" : "delete",
            "file" : ".github/ISSUE_TEMPLATE/LOCALIZATION_SUPPORT.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".github/ISSUE_TEMPLATE/NEW_KSP_VERSION_SUPPORT.md"
        ],
        "commitId" : "cf60419cb220a91610cbec4978647eda93b15aff",
        "timestamp" : 1754287792000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Delete .github/ISSUE_TEMPLATE/NEW_KSP_VERSION_SUPPORT.md\u000a",
        "date" : "2025-08-04 08:09:52 +0200",
        "id" : "cf60419cb220a91610cbec4978647eda93b15aff",
        "msg" : "Delete .github/ISSUE_TEMPLATE/NEW_KSP_VERSION_SUPPORT.md",
        "paths" : [
          {
            "editType" : "delete",
            "file" : ".github/ISSUE_TEMPLATE/NEW_KSP_VERSION_SUPPORT.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModulePVGGlueBall.cs"
        ],
        "commitId" : "79fd6eab81a8e9ac7e5ee47cc7b1065ce46e51c1",
        "timestamp" : 1754607274000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/mrev1995",
          "fullName" : "mrev1995"
        },
        "authorEmail" : "mrev1995@gmail.com",
        "comment" : "Some more stage numbering fixes\u000a\u000aSimilar to #1922\u000a",
        "date" : "2025-08-08 00:54:34 +0200",
        "id" : "79fd6eab81a8e9ac7e5ee47cc7b1065ce46e51c1",
        "msg" : "Some more stage numbering fixes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModulePVGGlueBall.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/AttitudeControllers/BetterController.cs"
        ],
        "commitId" : "7533747f3c482b23b24b52cb6e27502bc2c62f65",
        "timestamp" : 1754848504000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Update bettercontroller tuning\u000a\u000a- velocity pid now outputs angular accel instead of actuation\u000a- removed buggy compensation for higher warp [KSPs own crazy tweaking of\u000a  gimbal rate seems to compensate fairly well for higher warp]\u000a- tuned bandwidth of the PIDs down significantly (4 rad/sec for inner, 1\u000a  rad/sec for outer) with reference-tracking focus and highest phase\u000a  margins [which produces minimal overshoot for snappy RCS, while\u000a  keeping the PIDs from being too snappy for slow gimbals]\u000a- design was done against a no-actuator-delay/no-gimbal system (RCS/RW),\u000a  with the slow bandwith being the tuning for possible delay.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-08-10 10:55:04 -0700",
        "id" : "7533747f3c482b23b24b52cb6e27502bc2c62f65",
        "msg" : "Update bettercontroller tuning",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BetterController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/AttitudeControllers/BetterController.cs",
          "MechJeb2/VesselState.cs"
        ],
        "commitId" : "6bfabbb19f7563c38da15ad367b827bc91d3908c",
        "timestamp" : 1754861410000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Get the gimbal rate into the vessel state\u000a\u000aPIDs don't use it yet.\u000a\u000aI'm very uncertain that I'm doing this correctly for the control\u000asurface, but it works correctly for gimbals, RCS, and RW.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-08-10 14:30:10 -0700",
        "id" : "6bfabbb19f7563c38da15ad367b827bc91d3908c",
        "msg" : "Get the gimbal rate into the vessel state",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BetterController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/VesselState.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/AttitudeControllers/BetterController.cs"
        ],
        "commitId" : "badd66c31f1a7b0777049fe272a15cc42cffc619",
        "timestamp" : 1754866590000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "better controller better ui\u000a\u000alayout the pid controller tunables in a grid to save some\u000avertical space.\u000a\u000afirst order reset element tunable went away, i just couldn't\u000aquite be bothered to figure out the layout\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-08-10 15:56:30 -0700",
        "id" : "badd66c31f1a7b0777049fe272a15cc42cffc619",
        "msg" : "better controller better ui",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BetterController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/ControlTests/PIDLoopTests.cs",
          "MechJeb2/AttitudeControllers/BetterController.cs",
          "MechJebLib/Control/PIDLoop2.cs"
        ],
        "commitId" : "999de9e42063f76852e8b9650888e3f30407cf04",
        "timestamp" : 1754946095000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Minor BetterController tweaks\u000a\u000a- remove the deadband, i don't think it was necessary\u000a- remove the FORE support and just go back to clegg\u000a- enable clegg for position\u000a- other minor menu tweaks\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-08-11 14:01:35 -0700",
        "id" : "999de9e42063f76852e8b9650888e3f30407cf04",
        "msg" : "Minor BetterController tweaks",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/ControlTests/PIDLoopTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/AttitudeControllers/BetterController.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Control/PIDLoop2.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/LandingAutopilot/DecelerationBurn.cs",
          "MechJeb2/LandingAutopilot/FinalDescent.cs"
        ],
        "commitId" : "6aef8332f614d65055bd09c2a0dd74eccf4aefbc",
        "timestamp" : 1755070914000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/stijnreclame",
          "fullName" : "stijnreclame"
        },
        "authorEmail" : "stijnreclame@xs4all.nl",
        "comment" : "Prevent DecelerationBurn from setting the throttle to 0 after PDI\u000aPrevent FinalDescent from warping (this kills the craft)\u000a",
        "date" : "2025-08-13 09:41:54 +0200",
        "id" : "6aef8332f614d65055bd09c2a0dd74eccf4aefbc",
        "msg" : "Prevent DecelerationBurn from setting the throttle to 0 after PDI",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/DecelerationBurn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/FinalDescent.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleLandingAutopilot.cs",
          "MechJeb2/LandingAutopilot/KillHorizontalVelocity.cs",
          "MechJeb2/LandingAutopilot/DecelerationBurn.cs"
        ],
        "commitId" : "a30d52a1785f6ddf0f36df1792a9e76504796b88",
        "timestamp" : 1755073867000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/stijnreclame",
          "fullName" : "stijnreclame"
        },
        "authorEmail" : "stijnreclame@xs4all.nl",
        "comment" : "Change braking burn end altitude to 200m\u000aChange various throttle settings to 0.01F to prevent full engine shutdown.\u000a",
        "date" : "2025-08-13 10:31:07 +0200",
        "id" : "a30d52a1785f6ddf0f36df1792a9e76504796b88",
        "msg" : "Change braking burn end altitude to 200m",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/KillHorizontalVelocity.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/DecelerationBurn.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/LandingAutopilot/LowDeorbitBurn.cs",
          "MechJeb2/LandingAutopilot/FinalDescent.cs",
          "MechJeb2/LandingAutopilot/PlaneChange.cs",
          "MechJeb2/LandingAutopilot/DecelerationBurn.cs"
        ],
        "commitId" : "94dbb19c33539234845d8639ff4f5a52877097e5",
        "timestamp" : 1755077688000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/stijnreclame",
          "fullName" : "stijnreclame"
        },
        "authorEmail" : "stijnreclame@xs4all.nl",
        "comment" : "Deceleration burn warp fixes\u000aPlane change and deorbit burn throttle fixes\u000a",
        "date" : "2025-08-13 11:34:48 +0200",
        "id" : "94dbb19c33539234845d8639ff4f5a52877097e5",
        "msg" : "Deceleration burn warp fixes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/PlaneChange.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/DecelerationBurn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/FinalDescent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/LowDeorbitBurn.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/LandingAutopilot/LowDeorbitBurn.cs",
          "MechJeb2/LandingAutopilot/FinalDescent.cs",
          "MechJeb2/LandingAutopilot/PlaneChange.cs"
        ],
        "commitId" : "8f6728bc835b19832697ade8d3f11f50ce6aa8c8",
        "timestamp" : 1755083414000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/stijnreclame",
          "fullName" : "stijnreclame"
        },
        "authorEmail" : "stijnreclame@xs4all.nl",
        "comment" : "Only warp when angular velocity is near zero\u000aTry to prevent final descent from commanding zero throttle\u000aAdded idea about skipping deorbitburn step.\u000a",
        "date" : "2025-08-13 13:10:14 +0200",
        "id" : "8f6728bc835b19832697ade8d3f11f50ce6aa8c8",
        "msg" : "Only warp when angular velocity is near zero",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/FinalDescent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/LowDeorbitBurn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/PlaneChange.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/LandingAutopilot/FinalDescent.cs"
        ],
        "commitId" : "ea9a5639eabef8262ba43b4c51b458b32f3b58c2",
        "timestamp" : 1755086550000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/stijnreclame",
          "fullName" : "stijnreclame"
        },
        "authorEmail" : "stijnreclame@xs4all.nl",
        "comment" : "Attempt to prevent full engine shutdown during vertical final descent.\u000a",
        "date" : "2025-08-13 14:02:30 +0200",
        "id" : "ea9a5639eabef8262ba43b4c51b458b32f3b58c2",
        "msg" : "Attempt to prevent full engine shutdown during vertical final descent.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/FinalDescent.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/LandingAutopilot/FinalDescent.cs",
          "MechJeb2/LandingAutopilot/PlaneChange.cs",
          "MechJeb2/LandingAutopilot/DecelerationBurn.cs",
          "MechJeb2/LandingAutopilot/LowDeorbitBurn.cs",
          "MechJeb2/MechJebModuleLandingAutopilot.cs",
          "MechJeb2/MechJebModuleLandingGuidance.cs",
          "MechJeb2/LandingAutopilot/KillHorizontalVelocity.cs"
        ],
        "commitId" : "8d974b484d5b13e7cdbbc79af2bf576ea44edd0f",
        "timestamp" : 1755089396000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/stijnreclame",
          "fullName" : "stijnreclame"
        },
        "authorEmail" : "stijnreclame@xs4all.nl",
        "comment" : "Make min throttle limiter follow global min throttle limiter\u000aRequired helper function to keep the code neater.\u000a",
        "date" : "2025-08-13 14:49:56 +0200",
        "id" : "8d974b484d5b13e7cdbbc79af2bf576ea44edd0f",
        "msg" : "Make min throttle limiter follow global min throttle limiter",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/PlaneChange.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/DecelerationBurn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/FinalDescent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/LowDeorbitBurn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingAutopilot.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingGuidance.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/KillHorizontalVelocity.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/LandingAutopilot/FinalDescent.cs"
        ],
        "commitId" : "d23e55e46c758dbd19c5504b6e09b3dbcd9c3db1",
        "timestamp" : 1755091111000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/stijnreclame",
          "fullName" : "stijnreclame"
        },
        "authorEmail" : "stijnreclame@xs4all.nl",
        "comment" : "Fix for attitude excursion in vertical descent\u000a",
        "date" : "2025-08-13 15:18:31 +0200",
        "id" : "d23e55e46c758dbd19c5504b6e09b3dbcd9c3db1",
        "msg" : "Fix for attitude excursion in vertical descent",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/FinalDescent.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/VesselState.cs"
        ],
        "commitId" : "424d5ed3ae2180e1b25f4b08f4f25a055d7f1f67",
        "timestamp" : 1755362600000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Add a fudge factor for control surface response\u000a\u000aStill not using these factors yet.  This makes the effective\u000agimbalResponseSpeed of a typical flap about 16.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-08-16 09:43:20 -0700",
        "id" : "424d5ed3ae2180e1b25f4b08f4f25a055d7f1f67",
        "msg" : "Add a fudge factor for control surface response",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/VesselState.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/Primitives/V3Tests/MagnitudeNormalizationTests.cs",
          "MechJebLibTest/MechJebLibTest.csproj",
          "MechJebLibTest/Primitives/V3Tests.cs",
          "MechJebLibTest/Structs/Q3Tests.cs",
          "MechJebLibTest/Primitives/M3Tests.cs",
          "MechJebLibTest/Structs/V3Tests.cs",
          "MechJebLibTest/Primitives/Q3Tests.cs",
          "MechJebLibTest/Structs/HTests.cs",
          "MechJebLibTest/Primitives/V3Tests/ConstantDirectionalVectorTests.cs",
          "MechJebLibTest/Structs/M3Tests.cs",
          "MechJebLibTest/Primitives/HTests.cs",
          "MechJebLibTest/Primitives/V3Tests/ConstructorAccessorTests.cs",
          "MechJebLib/Primitives/V3.cs"
        ],
        "commitId" : "f8b777dac084920d27da4af12dca1ac5fec40a94",
        "timestamp" : 1755371184000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Better Test for V3 APIs\u000a\u000a- fixes overflow bug in ClampMagnitude()\u000a",
        "date" : "2025-08-16 12:06:24 -0700",
        "id" : "f8b777dac084920d27da4af12dca1ac5fec40a94",
        "msg" : "Better Test for V3 APIs",
        "paths" : [
          {
            "editType" : "add",
            "file" : "MechJebLibTest/Primitives/V3Tests/ConstructorAccessorTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/Primitives/V3Tests/ConstantDirectionalVectorTests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/Structs/V3Tests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/Structs/M3Tests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/Primitives/V3Tests/MagnitudeNormalizationTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/Primitives/Q3Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MechJebLibTest.csproj"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/Structs/Q3Tests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/Primitives/V3Tests.cs"
          },
          {
            "editType" : "delete",
            "file" : "MechJebLibTest/Structs/HTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Primitives/V3.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/Primitives/HTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/Primitives/M3Tests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/AssertionExtensions.cs",
          "MechJebLibTest/MechJebLibTest.csproj",
          "MechJebLibTest/Primitives/V3Tests.cs",
          "MechJebLibTest/Primitives/V3Tests/ComponentAnalysisTests.cs",
          "MechJebLib/Primitives/V3.cs"
        ],
        "commitId" : "439096b9288ac12c6c21c1bad85076c479fc1aa2",
        "timestamp" : 1755374142000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Add V3 tests for the component analysis APIs\u000a\u000aFixes a slight ordering issue and now on a tie the lowest\u000aindex is always returned.  Shouldn't affect any existing\u000aconsumers.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-08-16 12:55:42 -0700",
        "id" : "439096b9288ac12c6c21c1bad85076c479fc1aa2",
        "msg" : "Add V3 tests for the component analysis APIs",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/Primitives/V3Tests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/AssertionExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MechJebLibTest.csproj"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/Primitives/V3Tests/ComponentAnalysisTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Primitives/V3.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleThrustController.cs"
        ],
        "commitId" : "d39820dfafbb9ba7110d92e24676ca741950c951",
        "timestamp" : 1755375609000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Add RequestActiveThrottle() API to ThrustController\u000a\u000aThis is intended to be used by consumers when they want to\u000ahave a \"burn\" segment which can throttle down, but for RO/RF\u000athe throttle must be kept over the minimum throttle at all\u000atimes to not waste an ignition.\u000a\u000aThe exiting min throttle setting only applies to the throttle\u000alimiters, which limit max throttle (limiting how much the\u000athrottle limiters can limit the throttle).  This API sets\u000aa min limit on the requested throttle.\u000a\u000aIf the minimum throttle is set to zero, or if `allowZero` is\u000aset to true then an explicit request of zero will cut the\u000athrottle (e.g. for stock).  It would generally be better\u000ato call `ThrustOff()` explicitly though rather than to use\u000a`RequestActiveThrottle(0, allowZero: true)`.\u000a\u000aAt some point the codebase should probably have all uses\u000aof `TargetThrottle = 0` changed to `ThrustOff()` and then\u000aall remaining uses of `TargetThrottle = x` changed to\u000a`RequestActiveThrottle(x, enforceMinimum: false)`.  Then the\u000alatter could be tweaked as RO/RF bugs are found.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-08-16 13:20:09 -0700",
        "id" : "d39820dfafbb9ba7110d92e24676ca741950c951",
        "msg" : "Add RequestActiveThrottle() API to ThrustController",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleThrustController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/LandingAutopilot/LowDeorbitBurn.cs",
          "MechJeb2/MechJebModuleLandingAutopilot.cs",
          "MechJeb2/LandingAutopilot/KillHorizontalVelocity.cs",
          "MechJeb2/LandingAutopilot/FinalDescent.cs",
          "MechJeb2/LandingAutopilot/PlaneChange.cs",
          "MechJeb2/LandingAutopilot/DecelerationBurn.cs"
        ],
        "commitId" : "e227003cd12282e5695632967522894a61c4b20b",
        "timestamp" : 1755378191000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/stijnreclame",
          "fullName" : "stijnreclame"
        },
        "authorEmail" : "stijnreclame@xs4all.nl",
        "comment" : "Attempt to implement new RequestActiveThrottle API.\u000aStill had to bodge transspdact\u000a",
        "date" : "2025-08-16 23:03:11 +0200",
        "id" : "e227003cd12282e5695632967522894a61c4b20b",
        "msg" : "Attempt to implement new RequestActiveThrottle API.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/LowDeorbitBurn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/PlaneChange.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/KillHorizontalVelocity.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/FinalDescent.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/DecelerationBurn.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleLandingAutopilot.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/LandingAutopilot/LowDeorbitBurn.cs"
        ],
        "commitId" : "834f8c5a4eb2e5ee3fb5dba2928ee87258ce6ac7",
        "timestamp" : 1755378749000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/stijnreclame",
          "fullName" : "stijnreclame"
        },
        "authorEmail" : "stijnreclame@xs4all.nl",
        "comment" : "Small untested fix attempt\u000a",
        "date" : "2025-08-16 23:12:29 +0200",
        "id" : "834f8c5a4eb2e5ee3fb5dba2928ee87258ce6ac7",
        "msg" : "Small untested fix attempt",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/LowDeorbitBurn.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/Primitives/V3Tests/OperatorTests.cs",
          "MechJebLibTest/AssertionExtensions.cs",
          "MechJebLibTest/MechJebLibTest.csproj",
          "MechJebLib/Primitives/V3.cs",
          "MechJebLibTest/Primitives/V3Tests/VectorMathOperationTests.cs",
          "MechJebLibTest/Primitives/V3Tests/ComponentOperationsTests.cs"
        ],
        "commitId" : "b52c75288b7406c3650091f16c2159173d51587d",
        "timestamp" : 1755406964000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Add more V3 API tests\u000a\u000aAlso fixes some edge cases in Angle() and SignedAngle().\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-08-16 22:02:44 -0700",
        "id" : "b52c75288b7406c3650091f16c2159173d51587d",
        "msg" : "Add more V3 API tests",
        "paths" : [
          {
            "editType" : "add",
            "file" : "MechJebLibTest/Primitives/V3Tests/OperatorTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/AssertionExtensions.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/Primitives/V3Tests/ComponentOperationsTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MechJebLibTest.csproj"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Primitives/V3.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/Primitives/V3Tests/VectorMathOperationTests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/LandingAutopilot/LowDeorbitBurn.cs"
        ],
        "commitId" : "b6e72388d6913d0cd3fdcf6ce9b7d3a48934a18e",
        "timestamp" : 1755416110000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/stijnreclame",
          "fullName" : "stijnreclame"
        },
        "authorEmail" : "stijnreclame@xs4all.nl",
        "comment" : "That's what I get for not even test compiling. Optional arguments don't work that way in C#\u000a",
        "date" : "2025-08-17 09:35:10 +0200",
        "id" : "b6e72388d6913d0cd3fdcf6ce9b7d3a48934a18e",
        "msg" : "That's what I get for not even test compiling. Optional arguments don't work that way in C#",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/LowDeorbitBurn.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/LandingAutopilot/LowDeorbitBurn.cs"
        ],
        "commitId" : "32265bd8f2f7bf9b58c457f31f2d36ee405cbed0",
        "timestamp" : 1755417414000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/stijnreclame",
          "fullName" : "stijnreclame"
        },
        "authorEmail" : "stijnreclame@xs4all.nl",
        "comment" : "Actually fix engine shutoff\u000a",
        "date" : "2025-08-17 09:56:54 +0200",
        "id" : "32265bd8f2f7bf9b58c457f31f2d36ee405cbed0",
        "msg" : "Actually fix engine shutoff",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/LowDeorbitBurn.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/Primitives/V3Tests/CoordinateConversionTests.cs",
          "MechJebLibTest/MechJebLibTest.csproj",
          "MechJebLib/Primitives/V3.cs"
        ],
        "commitId" : "50f9af505ab0d57fff6a98589073f4f49c7d2ec0",
        "timestamp" : 1755455237000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Add tests for V3 sph2cart cart2sph and xzy\u000a\u000aFixes edge conditions in cart2sph\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-08-17 11:27:17 -0700",
        "id" : "50f9af505ab0d57fff6a98589073f4f49c7d2ec0",
        "msg" : "Add tests for V3 sph2cart cart2sph and xzy",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLib/Primitives/V3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MechJebLibTest.csproj"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/Primitives/V3Tests/CoordinateConversionTests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLib/Utils/Statics.cs",
          "MechJebLibTest/MechJebLibTest.csproj",
          "MechJebLibTest/Utils/StaticsTests/TrigonometryTests.cs"
        ],
        "commitId" : "891713d40d482e0c44590b92ba7d153240f2b183",
        "timestamp" : 1755539479000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "add some invalid value checking around SafeAsin/Acos and tests\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-08-18 10:51:19 -0700",
        "id" : "891713d40d482e0c44590b92ba7d153240f2b183",
        "msg" : "add some invalid value checking around SafeAsin/Acos and tests",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJebLib/Utils/Statics.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MechJebLibTest.csproj"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/Utils/StaticsTests/TrigonometryTests.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJebLibTest/AssertionExtensions.cs",
          "MechJebLibTest/Primitives/V3Tests/UtilityTests.cs",
          "MechJebLibTest/MechJebLibTest.csproj",
          "MechJebLibTest/Primitives/V3Tests/StringRepresentationTests.cs",
          "MechJebLib/Primitives/V3.cs",
          "MechJebLibTest/Primitives/V3Tests/EqualityHashingTests.cs"
        ],
        "commitId" : "e63426be234bea2901f5f9400e400d2957b4fdf2",
        "timestamp" : 1755619765000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Add more tests around V3 class\u000a\u000aShould be 100% coverage now.\u000a\u000aAlso modifies the equality test to be real equality, NearlyEquals() is\u000athe API that should be used for fuzzy testing.\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-08-19 09:09:25 -0700",
        "id" : "e63426be234bea2901f5f9400e400d2957b4fdf2",
        "msg" : "Add more tests around V3 class",
        "paths" : [
          {
            "editType" : "add",
            "file" : "MechJebLibTest/Primitives/V3Tests/StringRepresentationTests.cs"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/Primitives/V3Tests/UtilityTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLib/Primitives/V3.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/MechJebLibTest.csproj"
          },
          {
            "editType" : "add",
            "file" : "MechJebLibTest/Primitives/V3Tests/EqualityHashingTests.cs"
          },
          {
            "editType" : "edit",
            "file" : "MechJebLibTest/AssertionExtensions.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/LandingAutopilot/FinalDescent.cs"
        ],
        "commitId" : "6a986a7fa08d723aac1abbc6677a6c030f610eb3",
        "timestamp" : 1755712207000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/stijnreclame",
          "fullName" : "stijnreclame"
        },
        "authorEmail" : "stijnreclame@xs4all.nl",
        "comment" : "Changes to final descent guidance and throttle logic to fix attitude excursions.\u000a",
        "date" : "2025-08-20 19:50:07 +0200",
        "id" : "6a986a7fa08d723aac1abbc6677a6c030f610eb3",
        "msg" : "Changes to final descent guidance and throttle logic to fix attitude excursions.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/FinalDescent.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "alglib/alglib.csproj",
          "alglib/linalg.cs",
          "alglib/dataanalysis.cs",
          "alglib/alglibinternal.cs",
          "alglib/fasttransforms.cs",
          "alglib/specialfunctions.cs",
          "alglib/alglibmisc.cs",
          "alglib/diffequations.cs",
          "alglib/minlp.cs",
          "alglib/optimization.cs",
          "alglib/statistics.cs",
          "alglib/integration.cs",
          "alglib/ap.cs",
          "alglib/solvers.cs",
          "alglib/interpolation.cs"
        ],
        "commitId" : "f2ae9142160587ef3b09226a53f1b8ce0fe8e777",
        "timestamp" : 1760904749000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
          "fullName" : "lamont"
        },
        "authorEmail" : "lamont@scriptkiddie.org",
        "comment" : "Update alglib to 4.06\u000a\u000aSigned-off-by: Lamont Granquist <lamont@scriptkiddie.org>\u000a",
        "date" : "2025-10-19 13:12:29 -0700",
        "id" : "f2ae9142160587ef3b09226a53f1b8ce0fe8e777",
        "msg" : "Update alglib to 4.06",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "alglib/alglibmisc.cs"
          },
          {
            "editType" : "add",
            "file" : "alglib/minlp.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/interpolation.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/dataanalysis.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/alglibinternal.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/alglib.csproj"
          },
          {
            "editType" : "edit",
            "file" : "alglib/optimization.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/fasttransforms.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/integration.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/linalg.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/solvers.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/diffequations.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/specialfunctions.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/statistics.cs"
          },
          {
            "editType" : "edit",
            "file" : "alglib/ap.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/MechJebModuleStagingController.cs"
        ],
        "commitId" : "d40ca8abc8ba97ebfd7f47d5e8f427bb3cb7779f",
        "timestamp" : 1762380248000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/mrev1995",
          "fullName" : "mrev1995"
        },
        "authorEmail" : "mrev1995@gmail.com",
        "comment" : "Fix hotstaging without Δv window open\u000a",
        "date" : "2025-11-05 23:04:08 +0100",
        "id" : "d40ca8abc8ba97ebfd7f47d5e8f427bb3cb7779f",
        "msg" : "Fix hotstaging without Δv window open",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/MechJebModuleStagingController.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/LandingAutopilot/FinalDescent.cs"
        ],
        "commitId" : "571fe4fa3f7d41d1c976139b980c5604ec6f072f",
        "timestamp" : 1763493306000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/stijnreclame",
          "fullName" : "stijnreclame"
        },
        "authorEmail" : "stijnreclame@xs4all.nl",
        "comment" : "Change the logic for speed control when in final descent below 300m with more than 5 m/s horizontal velocity.\u000aNow actually keeps the engines on correctly instead of spamming them so hard they produce no thrust.\u000a",
        "date" : "2025-11-18 20:15:06 +0100",
        "id" : "571fe4fa3f7d41d1c976139b980c5604ec6f072f",
        "msg" : "Change the logic for speed control when in final descent below 300m with more than 5 m/s horizontal velocity.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/FinalDescent.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/LandingAutopilot/FinalDescent.cs"
        ],
        "commitId" : "ed19fe756c326f54ea6dbeae857d13e4fb1cdeb6",
        "timestamp" : 1763661904000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/stijnreclame",
          "fullName" : "stijnreclame"
        },
        "authorEmail" : "stijnreclame@xs4all.nl",
        "comment" : "Remove all throttling logic and just burn at full until the horizontal speed is sufficiently reduced.\u000a",
        "date" : "2025-11-20 19:05:04 +0100",
        "id" : "ed19fe756c326f54ea6dbeae857d13e4fb1cdeb6",
        "msg" : "Remove all throttling logic and just burn at full until the horizontal speed is sufficiently reduced.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/LandingAutopilot/FinalDescent.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "MechJeb2/Properties/AssemblyInfo.cs"
        ],
        "commitId" : "7e9ed8a71e187062ed0c88522e6714216d2c4a7b",
        "timestamp" : 1763981999000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/sarbian",
          "fullName" : "sarbian"
        },
        "authorEmail" : "sarbian@sarbian.com",
        "comment" : "Update version to 2.15.0\u000a",
        "date" : "2025-11-24 11:59:59 +0100",
        "id" : "7e9ed8a71e187062ed0c88522e6714216d2c4a7b",
        "msg" : "Update version to 2.15.0",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "MechJeb2/Properties/AssemblyInfo.cs"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/vinceguichard04",
      "fullName" : "vinceguichard04"
    },
    {
      "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/454857+lamont-granquist",
      "fullName" : "454857+lamont-granquist"
    },
    {
      "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/stijnreclame",
      "fullName" : "stijnreclame"
    },
    {
      "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/siim.aaver",
      "fullName" : "siim.aaver"
    },
    {
      "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/lamont",
      "fullName" : "lamont"
    },
    {
      "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/mrev1995",
      "fullName" : "mrev1995"
    },
    {
      "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/noreply",
      "fullName" : "noreply"
    },
    {
      "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/sarbian",
      "fullName" : "sarbian"
    }
  ]
}