Skip to content

Releases: TeaGuild/Telemachus-1

v1.12.0 — Bar-tailed Godwit

03 Jun 18:12
v1.12.0
a9da056

Choose a tag to compare

Bar-tailed Godwit

Bar-tailed Godwit (Limosa lapponica) in breeding plumage — holder of the longest non-stop flight of any bird, crossing the entire Pacific from Alaska to New Zealand without landing. Photo: Andreas Trepte / Wikimedia Commons, CC BY-SA 2.5


Telemachus Reborn v1.12.0 — Bar-tailed Godwit

Features

  • Add a CORS allowlist so browser dashboards on a different origin can read the API. Configure via a new ALLOWED_ORIGINS setting (comma-separated scheme://host[:port] entries) in PluginData/Telemachus/config.xml. Empty by default, which preserves the historical behaviour of never sending CORS headers — existing setups are untouched. Matching origins are echoed back exactly (no wildcard) with Vary: Origin, and the standard OPTIONS preflight is answered with 204. (#82) (Jon Pepler)

Bug Fixes

  • Auto-defer attribute-based action handlers to the main Unity thread, so action endpoints no longer risk touching the game from a worker thread. (#81) (Jon Pepler)
  • Propagate AlwaysEvaluable through ActionAPIEntry so action handlers marked always-evaluable are honoured. (#84) (Jon Pepler)

Miscellaneous

  • Broaden AfterBuild.sh portability — safe empty-array expansion under set -u, and cp -pR instead of the GNU-only cp -ra, so the post-build step works on macOS/BSD. (#87) (Jon Pepler)
  • Repository moved to the TeaGuild organisation; version file, netkan, and README links updated to the new home.

Documentation

  • Document the ALLOWED_ORIGINS CORS configuration in the README.

New Contributors

Bundled Houston (UI)

  • Fixed the surface map's relief base layer. It requested a retired color tile style that 404/403s on every body; it now uses the live biome tiles (the same style Telemachus's own map already uses) and is relabelled Biome. Satellite and Slope layers were unaffected. (The KerbalMaps tile CDN itself is alive and serves over plain <img> — the earlier CORS/dead-server theory didn't hold up under testing.)

Full Changelog: v1.11.0...v1.12.0

v1.11.0

30 Mar 06:49
v1.11.0
b12b2c7

Choose a tag to compare

Kakapo

Kakapo (Strigops habroptilus) — the world's only flightless parrot. Critically endangered, nocturnal, and surprisingly heavy. Photo: Wikimedia Commons


Telemachus Reborn v1.11.0 — Kakapo

Features

  • Add quick save, load, and revert API endpoints (t.quickSave, t.quickLoad, t.revertToLaunch, t.revertToEditor) (#77)
  • Add API scaling for embedded controllers — scale, precision, and int query parameters for integer-only boards (#76)
  • Add scaling support to batch datalink endpoint with global _scale/_precision/_int params and per-key pipe syntax

Bug Fixes

  • Fix HTTP/1.1 Connection: close header not being respected, causing 3-second socket hangs for embedded clients (#79) (Attila Strba)
  • Defer map view API calls (m.toggleMapView, m.enterMapView, m.exitMapView) to main Unity thread (#73)
  • Guard against null webServer in Update() (#75)
  • Enumerate network interfaces directly instead of DNS lookup for LAN address discovery
  • Fix version file URL to use main branch instead of master (#74) (HebaruSan)

Documentation

  • Add theme-aware SVG logo to README
  • Fix FAR link, update mod statuses (FAR, RealChute, Astrogator → Released), add Kerbalism docs
  • Update CONTRIBUTORS.md with verified GitHub profiles and contribution details for all contributors

New Contributors

Houston (bundled UI)

Full Changelog: TeleIO/houston@v2.0.20260310.205418...v2.0.20260310.211146

v1.10.0

10 Mar 20:56
v1.10.0
7385ce6

Choose a tag to compare

Telemachus

[1.10.0] - 2026-03-10

Bug Fixes

  • Use PackageReference for WebSocketSharp instead of vendored DLL
  • Rename AfterBuild target and ensure NuGet DLLs copy to output
  • Resolve CameraCaptureManager memory leak and singleton NullRef
  • Match all RPM camera parts, not just JSIPrimitiveExternalCamera
  • Keep numOpenDisplays bumped for async Astrogator calculations

Documentation

  • Update README with build pipeline and new APIs

Features

  • Add FAR integration and mod discovery endpoint
  • Add RealChute integration with telemetry and remote actions
  • Add VesselView camera integration
  • Add Astrogator integration for transfer planning telemetry
  • OpenAPI codegen pipeline with Starlight docs site
  • Add Mermaid diagram support to Starlight docs
  • Add landing prediction and thermal monitoring telemetry
  • Add science, career, comms, biome, and encounter telemetry
  • Add Principia N-body physics integration via reflection
  • Lazy-trigger Astrogator transfer calculations via reflection
  • Add Kerbalism life support and radiation integration

Miscellaneous

  • Bump version to 1.10.0

Refactoring

  • Migrate to SDK-style project and modernize build

Houston (bundled UI)

Full Changelog: TeleIO/houston@v2.0.20260309.201141...v2.0.20260310.205418

v1.9.0

09 Mar 20:22
v1.9.0
a6d15fa

Choose a tag to compare

Telemachus

[1.9.0] - 2026-03-09

New API Endpoints (177 new endpoints)

Delta-V System (dv.*) — Full stage-by-stage delta-v analysis (new module)

  • dv.ready, dv.stageCount, dv.stages
  • dv.totalDVVac, dv.totalDVASL, dv.totalDVActual, dv.totalBurnTime
  • Per-stage: dv.stageDVVac[n], dv.stageDVASL[n], dv.stageDVActual[n]
  • Per-stage TWR: dv.stageTWRVac[n], dv.stageTWRASL[n], dv.stageTWRActual[n]
  • Per-stage ISP: dv.stageISPVac[n], dv.stageISPASL[n], dv.stageISPActual[n]
  • Per-stage thrust: dv.stageThrustVac[n], dv.stageThrustASL[n], dv.stageThrustActual[n]
  • Per-stage mass: dv.stageMass[n], dv.stageDryMass[n], dv.stageFuelMass[n], dv.stageStartMass[n], dv.stageEndMass[n]
  • dv.stageBurnTime[n], dv.stage[n]

Alarm Clock (alarm.*) — KSP Alarm Clock integration (new module)

  • alarm.count, alarm.list, alarm.nextAlarm, alarm.timeToNext

Vessel Data (v.*) — 80+ new vessel endpoints

  • Acceleration: v.acceleration, v.accelerationx/y/z, v.specificAcceleration
  • Angular: v.angularMomentum, v.angularMomentumx/y/z, v.angularVelocityx/y/z, v.momentOfInertia
  • Atmosphere: v.atmosphericTemperature, v.externalTemperature, v.dynamicPressurekPa, v.staticPressurekPa, v.staticPressure, v.mach, v.speedOfSound, v.indicatedAirSpeed
  • Solar: v.directSunlight, v.distanceToSun, v.solarFlux
  • State: v.situation, v.situationString, v.vesselType, v.landed, v.splashed, v.landedOrSplashed, v.landedAt, v.isEVA, v.isActiveVessel, v.isControllable, v.isCommandable, v.loaded, v.packed
  • Mass/geometry: v.mass, v.CoM, v.perturbation, v.perturbationx/y/z, v.terrainNormal, v.upAxis
  • Speed: v.speed, v.srfSpeed, v.obtSpeed
  • Crew: v.crew, v.crewCount, v.crewCapacity
  • Misc: v.currentStage, v.missionTimeString, v.launchTime, v.pqsAltitude, v.heightFromSurface
  • Action group readback: v.sasValue, v.rcsValue, v.lightValue, v.brakeValue, v.gearValue, v.abortValue, v.ag1Valuev.ag10Value

Orbital Mechanics (o.*) — 30+ new orbit endpoints

  • Apsides: o.ApR, o.PeR
  • Anomalies: o.meanAnomaly, o.eccentricAnomaly, o.orbitPercent
  • Vectors: o.vel, o.pos, o.radius, o.orbitNormal, o.eccVec, o.anVec, o.h
  • Energy/speed: o.orbitalEnergy, o.orbitalSpeed, o.orbitalSpeedAt[t], o.orbitalSpeedAtDistance[d]
  • Geometry: o.semiMinorAxis, o.semiLatusRectum, o.radiusAtTrueAnomaly[deg], o.trueAnomalyAtRadius[m], o.referenceBody
  • Transitions: o.patchStartTransition, o.patchEndTransition, o.StartUT, o.EndUT, o.UTsoi, o.closestEncounterBody, o.closestTgtApprUT
  • Maneuver nodes: o.maneuverNodes.count, o.maneuverNodes.deltaV[id], o.maneuverNodes.deltaVMagnitude[id], o.maneuverNodes.UT[id], o.maneuverNodes.timeTo[id], o.maneuverNodes.burnVector[id], o.maneuverNodes.orbitPatches[id]

Flight Control (f.*) — Expanded control readback

  • Control inputs: f.pitchInput, f.yawInput, f.rollInput, f.xInput, f.yInput, f.zInput
  • Trim: f.pitchTrim, f.yawTrim, f.rollTrim, f.setPitchTrim, f.setYawTrim, f.setRollTrim
  • SAS: f.sasEnabled, f.sasMode, f.setSASMode[mode]
  • State: f.isNeutral, f.killRot

Target (tar.*) — New target actions

  • tar.setTargetBody[index], tar.setTargetVessel[index], tar.clearTarget

Time & Warp (t.*) — New time endpoints

  • t.deltaTime, t.currentRate, t.currentRateIndex, t.warpMode, t.maxPhysicsRate, t.isPaused

Celestial Bodies (b.*) — Expanded body data

  • b.description, b.mass, b.geeASL, b.hillSphere, b.atmosphere, b.ocean
  • b.rotates, b.rotationAngle, b.angularV, b.position
  • b.referenceBody, b.orbitingBodies, b.index, b.timeWarpAltitudeLimits

Mapm.mapIsEnabled

Other Changes

  • Replaced vendored SimpleJSON with KSP's built-in MiniJSON (removes external JSON dependency)
  • Split monolithic DataLinkHandlers.cs into attribute-based handler modules
  • Added thread safety to camera mutex and FlyByWire state
  • Comprehensive API reference in README
  • Modernized C# codebase and fixed latent bugs

Houston (bundled UI)

Bundled latest Houston release with fixed tile servers and dead link cleanup.

1.8.0

08 Mar 10:59
9131647

Choose a tag to compare

"Reports of my death have been greatly exaggerated."
— Telemachus, after a 6-year nap on the launchpad


Breaking Changes

  • Minimum KSP version raised to 1.8.0 — camera system now relies on the single-camera rendering pipeline introduced in KSP 1.8. Maximum tested version is 1.12.5.
  • C# language version bumped from 6 to 9 — compiled DLL still targets .NET Framework 4.7.2 and runs fine on KSP's Mono runtime.

Bug Fixes

  • Camera capture on KSP 1.8+ (#66, #68) — replaced hardcoded camera name whitelist with blacklist-only filtering so the new unified camera is captured. IVA camera now uses InternalCamera.Instance instead of searching by name.
  • Camera crash during PartLoader (#66, #68) — CameraCaptureManager is now lazily created on first HTTP request instead of during plugin loading, fixing a SIGSEGV in FindObjectsOfType.
  • Per-instance antenna state (#9) — toggling one Telemachus antenna no longer toggles all of them. Static fields replaced with per-instance state and static aggregators.
  • Sensor cache key casing (#48) — SensorCache key lookup was case-inconsistent, causing only the last sensor of each type to be kept. Now uses consistent lowercase keys throughout.
  • Sensors report values when PAW is closed (#47) — added FlightGlobals fallback for temperature, pressure, gravity, and acceleration when readoutInfo is stale.
  • Resource refresh throttle (#17) — ActiveResourceCache.refresh() throttled from every frame to every 0.5s to reduce GC pressure.
  • Console map broken (#54) — restored leafletksp.js (accidentally deleted in a prior map rewrite) and added Leaflet marker icon assets.
  • MechJeb SmartASS commands — reflection target attitude updated to Attitude to match modern MechJeb2. Commands now actually steer the vessel instead of silently failing.
  • MechJeb staging info — updated reflection to match modern MechJeb2's PascalCase List<FuelStats> with double fields. RequestUpdate routed through the delayed API queue for Unity thread safety.
  • Partless mode completely brokenTelemachusBehaviour.instance was only set when a physical antenna part existed on the vessel, silently breaking all delayed API calls (MechJeb, throttle, staging, fly-by-wire) in partless mode.
  • Sensor display values — fixed temperature unit (Celsius → Kelvin), pressure unit (kPa), removed excess decimal places (Row-Bear).
  • Latitude/longitude precision — new LATLON unit type with 6 decimal places; other degree values reduced to 2 (Row-Bear).

Features

  • Map layer definitions — added stock and JNSQ satellite/biome/slope maps for all planets, with layer switching (sidrus, Row-Bear).
  • Map zoom limit — capped at zoom level 7 to match tile server coverage (Row-Bear).
  • Map marker popups — altitude shown in km above 10,000m, added units to display (Row-Bear).

Infrastructure

  • GitHub Actions CI — replaced AppVeyor with Ubuntu-based workflow using dotnet msbuild + Mono BCL. Artifacts uploaded automatically; draft releases created on v* tags.
  • Nix dev shellflake.nix provides mono, dotnet-sdk, curl, gitlint, and git-cliff out of the box.
  • Conventional commits — gitlint + CI workflow for enforcing commit message format on PRs.
  • Code formatting — all source files auto-formatted with dotnet format (~200 whitespace fixes across 21 files).
  • README rewrite — full documentation with features, HTTP/WebSocket API reference, build instructions, and contributing guidelines.

Known Issues

  • Console map tiles still reference the defunct ksp.deringenieur.net tile server — needs migration to the CloudFront CDN already used by map.html.
  • MechJeb staging info fields maxAccel and resourceMass always return 0 (removed in modern MechJeb2's FuelStats struct).
  • Resource cache returns -1 on the very first request after loading into flight (cold-start before first cache refresh at 0.5s).

1.7.64

07 Apr 03:09
2d13b5d

Choose a tag to compare

1.7.64

Hotfix for a regression in 1.7.2 (Red Parrot).

Bug Fixes

  • Fixed sensors and resources not working (#45)

1.7.2 - Red Parrot

04 Apr 07:05
0341dfa

Choose a tag to compare

1.7.2 — Red Parrot

Bug Fixes

  • Fixed sensors not reporting values (#6)
  • Removed deprecated MiniAVC

Changes

  • Updated version file for CKAN
  • Readme updates

1.7.45

02 Apr 03:59
a3a5452

Choose a tag to compare

1.7.45

Changes

  • Moved MiniAVC into dependencies folder
  • Moved version information to root level
  • Updated version file URL for CKAN integration

1.7.1 - Dodo Bird

01 Apr 23:11
b4237e5

Choose a tag to compare

Telemachus Reborn v1.7.1 — Dodo Bird

Bug Fixes

  • Fixed Houston and MKON bundled web UIs not loading
  • Updated KSP 1.8 references (UnityEngine.CoreModule, camera.allowHdr)
  • Fixed Windows and Linux post-build scripts
  • Added Linux post-build tasks and OS detection (Martin Schmidt)

Infrastructure

  • Hardened post-build script with set -o errexit and set -o nounset (Fabian Damken)
  • Build documentation for running AfterBuild.sh manually (scripty)
  • Fixed AppVeyor CI extraction paths
  • Updated CKAN version information

Contributors

  • Martin Schmidt — Linux build support
  • Fabian Damken — post-build script hardening
  • scripty — build documentation

Telemachus Reborn v1.7 - Gyrfalcon (KSPv1.7.0)

13 Apr 20:30
353dade

Choose a tag to compare

Gyrfalcon

By Falco_rusticolus_white.jpg: Ólafur Larsen, CC BY-SA 2.0, Wikipedia


Telemachus Reborn v1.7 — Gyrfalcon (KSPv1.7.0)

Features

  • Russian localization (~80%)
  • New index.html landing page
  • Web UI refactor

Bug Fixes

  • Fixed JSON parse errors — default Telemachus page no longer crashes
  • Fixed C# URL handling

Parts

  • Deprecated old antenna parts (FustekAntenna, TelemachusAntenna, TeleBladeAntenna), converted textures to DDS, reorganized part folder structure (StoneBlue)

Other

  • Data rate code documentation and variable renaming (Fabio Regis)
  • Created CKAN netkan metadata
  • Updated for KSP 1.7.0

This is a build for KSP v1.7.0.