Update channel

Updates

Specter updates itself. This page is the channel — every build published here is verified, signed and delivered automatically to every installed copy.

v1.8.1 Latest release
Bug fixes and improvements are published here as they ship.
Installed copies update automatically on launch.
Read the changelog ↓

How updating works

Every installed copy of Specter ships with a small companion, specter-updater.exe. On launch the app quietly checks this channel for a newer build; when one exists it offers it in the title bar.

  1. You see a green "Update to vX.Y.Z" button in the top bar (hover it for the release notes).
  2. Click it. Specter closes, the updater downloads the new build, verifies it, swaps it in, and relaunches you on the new version — settings and licence untouched.
  3. Manual check: double-click specter-updater.exe in your Specter folder to check and apply updates at any time.

Every update is signed. The manifest on this channel is signed with the same key that mints licences, and the updater checks the signature before downloading and the file's SHA-256 before installing. Someone who took over the hosting could not make you install anything they did not publish.

What an update touches

Replaced Only the executable. The updater never touches recordings, terrain files, models or your licence.
Preserved Your settings (stored in your profile), your activated licence, and all your data folders.
Recorded Every updater run is logged to %APPDATA%\Specter\updater.log, alongside the app's own specter.log.

If the update button never appears

You are already on the latest build — the app only offers something newer. If you believe a newer version exists, run specter-updater.exe by hand; it prints exactly what it finds and why. A record of the check is in updater.log.

Changelog

Every published build, newest first. Installed copies pick these up automatically.

  1. v1.8.1

    27 August 2026

    Aircraft you can tell apart, and pilots you can name.

    Added
    • Airframe liveries. Ten schemes — Ghost Grey, Aggressor Splinter, Desert Sand, Naval Low-Viz, Tiger Meet and the rest — assigned by aircraft type, so a recording reads as a flight line rather than a bag of identical grey darts. They are painted in the shader, so they cost no frame time and no download. Which side a contact is on is untouched: the rim light close in and the blend to full coalition colour at range both stay exactly as they were, and the whole thing switches off in Settings → Aircraft Skins.
    • Wireframe view. Airframes as bright unlit edges, under View → Wireframe. Attitude, planform and what sits behind an aircraft all read at a glance — which is exactly what a dark aircraft over dark terrain normally costs you. Terrain and everything else is left alone.
    • A sidebar that folds away. The navigation column collapses to a rail and remembers the choice, giving the viewport back nearly two hundred pixels on a laptop.
    Changed
    • Contacts are named by their pilot. The scoreboard, the after-action report, the roster and the analysis tabs now lead with the callsign and keep the airframe beside it as context. A four-ship used to appear as four identical rows reading F-16C_50, which could not tell you which Viper took the shot. It can now.
    • The toolbar keeps every control reachable. On a narrow or high-DPI display the action group moves to its own row rather than sharing width that is not there.
    • No Visual C++ Redistributable. The C runtime is linked into the binary, so a fresh machine runs Specter without installing anything else first.
  2. v1.8.0

    24 August 2026

    A second opinion on the fight you are watching: the Engagement Lens states what happened and shows the evidence for it — including when the recording is too sparse to be sure.

    Added
    • The Engagement Lens. A plan view over the Kill Cam, on the same clock, with an account of the fight beside it. It does not only say a notch happened — it says whether anyone flew one, and shows the heading change that settles it: “47° held 3.2 s, aspect 84°, closing rate down to 12 m/s.” Or, on the next shot, “aspect passed through the beam, but the defender did not turn to put it there.” A miss is attributed to the last thing that took the target, so a weapon notched, regained and then decoyed is credited to the chaff that actually beat it.
    • It says when it cannot tell. Recordings sample anywhere from 20 Hz down to 1, and proving a notch needs samples to prove it with. A shot too sparse to reconstruct reports insufficient data and offers no verdict.
    • Top-down and side views. Plan answers where; the profile answers how high, which is the question a lofted shot and a ridgeline are actually about. With a darkened basemap, a range-to-target chart coloured by what the seeker was doing, and course and altitude on every contact.
    • Routes in the Sensor Sandbox. Draw a route on the 2D map and fly it with the turn performance the airframe really has — a faster aircraft turns worse, and the turn circle shows whether the racetrack you drew is one it can hold. Waypoints carry their own altitude and speed, and a route can hold a station instead of running off the map.
    • Shot opportunity, live. For every pair, whether the shot is there and why not: inside the no-escape zone with no track because the target is notching, or a clean track at forty miles with a missile good for twenty. The binding constraint is named. Envelopes scale with altitude, speed and aspect through the same model the debrief uses.
    • Four prepared scenarios, each built so the obvious read is the wrong one: a merge where the envelope collapses as the target turns away, an ingress invisible at any range until it climbs, a defender who cannot be shot at from inside the no-escape zone, and a CAP racetrack drawn tighter than the aircraft can fly.
    Fixed
    • Ground contacts stand on the terrain in the Kill Cam, at the elevation the theatre puts them at.
    • The toolbars are one View menu each, grouped by what the controls do. Twelve toggles in a row left no room for anything else and made the two that matter as hard to find as the ten that do not.
  3. v1.7.5

    22 August 2026

    Specter now opens without a licence key, so a flight can be replayed before anything is bought.

    Added
    • Runs without a key. The 3D Kill Cam, Global 3D, the Action Briefing and the Sensor Sandbox all open on an unlicensed copy, and both recorders stay available — so a mission can be captured, replayed and looked at end to end before deciding. The analysis suite is what a licence unlocks, and every screen it covers stays visible in the sidebar rather than being hidden, so nothing about the product is a surprise later.
    Fixed
    • The unlicensed notice describes what is actually open. It claimed visual features were held back, which was never what a key controlled.
  4. v1.7.4

    21 August 2026

    The Kill Cam stops replaying a fight and starts explaining it: real ground you can see through, the sight line terrain breaks, and how close the shot actually came.

    Added
    • The geometry of the fight, drawn in it. A line between the two aircraft carrying the range between them and how fast it is closing; the sight line itself, solid while it holds and broken where terrain breaks it; and, once a weapon has passed, how close it came. Every figure is measured from the tracks rather than annotated, and where the recording is too sparse to resolve one it says so instead of printing a number nobody should trust.
    • Terrain in the Kill Cam, and you can see through it. The same elevation Global 3D draws, at the same exaggeration, sampled far denser over the engagement — a ridge that broke a lock is only evidence if it is the shape it really was. Drawn translucent so the aircraft behind it stay visible, with elevation contours giving the surface form you can read height from. The opacity is yours to set.
    • Play every fight as one reel. One button runs the whole recording end to end — fight to fight, moment to moment — instead of picking engagements by hand first.
    • Player names from a War Thunder replay. Load a .wrpl and the roster, clan tags and vehicles come with it. The game's telemetry publishes a coloured dot and never a name, so this is the only way to know who anyone was.
    Fixed
    • Recordings from an older export script open properly. An early version of the DCS script wrote the object class as a bare number, so a capture with twelve thousand objects in it contained no aircraft, no vehicles and no weapons as far as any reader could tell — and replayed as an empty sky. The number is DCS's own hierarchy and is now read as such: one such recording came back with 701 aircraft, 645 vehicles, 77 weapons and 7 ships. Sides cannot be recovered the same way, so update the script in dcs-export for anything recorded from here.
    • Playback is smooth. The clock advanced by a smoothed frame time read one frame late, so every frame moved by an averaged amount and was then shown at its own real moment — right on average and a little wrong every single frame, which is what stutter is. It steps by the time that actually passed now. The status bar reports frame time, so a slow machine can be told from a bug.
    • A missile that has its target stops hunting for it. The seeker cone decided whether it had a lock from the angle between the weapon's body and its target — which is the lead angle, and largest on a good intercept. A missile a second from a kill therefore swept for a target it had held all the way in. It now takes what the recording proves.
    • A crowded title bar no longer draws over itself. An update message could run straight through the controls beside it. The simulator switch is a single dropdown now, and it finally includes War Thunder.
  5. v1.7.3

    19 August 2026

    Sides that match your mission, a settings panel that opens on its settings, a pilot search you can type in, and a replay that says when it skips.

    Fixed
    • Blue is your side again. A recording carries the side twice — as a colour and as a name — and Specter believed the name. One server exporter writes Color=Blue alongside Coalition=Enemies for every object it records, so a squadron flying blue watched its own flight drawn as the enemy for a whole debrief. The colour is what tracks the mission, and it is what Tacview draws, so it is what Specter reads now. Checked against the reporting squadron's own 62 MB recording: all 2,627 sided objects come back on the side they actually flew.
    • The settings panel opens on its settings. Every group's Reset button was claiming the entire height of the panel and centring itself in it, so the window opened as an empty box with one button floating in the middle and every control pushed below the fold.
    • The pilot search accepts typing. Clicking into the search box over the pilot list closed the list, because the dropdown treated a click on its own contents as a click somewhere else. Picking a name still closes it; clicking the search field, or scrolling, no longer does. On a server roster this was the difference between finding a pilot and hunting for one.
    Added
    • Essentials, at the top of Settings. The questions people actually arrive with — which side am I, why did the clip jump, what units — were answered in three different groups and one hardcoded constant. They are now the first thing in the panel, and the rest is ordered by how often it is reached for rather than by how the code is arranged.
    • “My squadron flies red.” For squadrons who fly red: their own aircraft would read as hostile however faithfully the recording was parsed. This draws red as friendly, and flips the whole recording rather than only the paint, so the roster counts and the threat logic agree with the picture. Applies immediately — no reload.
    • Replay skip is a setting, and says when it fires. Fight replay jumps the quiet stretches, which is what makes a fight watchable and also why a 45‑second engagement can finish in ten. The strip now says “skipped 38s of quiet” when it happens, and the threshold is adjustable — at its maximum nothing is skipped and fights play in real time.
    • A guide to every panel, in the Walkthrough. What each surface is for, phrased as the question it answers, and how to work the parts that are not obvious — including that per‑pilot analysis lives in My Fights, and that the Sensor Sandbox is a standalone teaching tool that is deliberately not wired to your recording. Every card opens the panel it describes.
  6. v1.7.2

    18 August 2026

    A Kill Cam you can watch without the app around it, one strip that drives the whole replay, and a camera that follows the moment being played.

    Added
    • Cinematic mode. A 🎬 toggle in the Kill Cam clears the navigation, the side panels, the insight rail, the legend and the settings, leaving the fight and nothing else. Grid, trails, labels and sensor vision stay switchable, because those are what you are watching rather than what is in the way, and labels narrow to the aircraft actually in the current moment. Your panel and filter layout is put back exactly as it was when you leave — Esc leaves.
    • One replay strip. The controls that were spread around the window are together along the bottom: previous and next moment, play and pause, playback speed, a continuous scrub through the fight, previous and next fight, and a timeline of the fight's moments you can click straight into. It reads out which fight of how many you are in, which moment of how many, that moment's time and description, and where the playhead is.
    Changed
    • The camera follows the moment that is playing. It framed the fight's headline moment for the whole clip, so a long engagement was watched from wherever it ended. It now moves with the replay, and takes its distance from how far apart the aircraft in that moment actually are — a merge is framed close, a thirty-mile shot is framed wide. Cinematic mode opens from behind the aircraft the moment belongs to. Zooming by hand holds until the next moment begins, and putting the camera on a specific aircraft still overrides all of it.
    • Camera, view and controls agree on which fight is on screen. Framing, rendering, labels, filters and the replay strip now read one shared answer to “which fight, which moment”, so nothing lags a frame behind while you move between fights. The aircraft in the fight you are watching stay drawn even when a filter would otherwise hide them, which is what a filter is for everywhere except the clip you deliberately opened.
    • My Fights filters through the same test as everything else. Filtering by pilot or participant asks the engagement itself, rather than a second copy of that logic kept alongside it. The lists are unchanged.
    • The recording indicator reads the recorder. The War Thunder recording state shown in the tab comes from the recorder's own answer to whether it is running.
    Fixed
    • Transport keyboard shortcuts no longer freeze after clicking Play/Pause. Clicking the transport button gave it keyboard focus, which caused subsequent Space or arrow key presses to fire twice — once globally and once on the focused button — cancelling each other out. Global transport hotkeys now yield when a widget owns focus, and transport buttons surrender focus after being clicked.
    • Events recorded live survive a save and reopen. Native ACMI carries events as Message lines, and those written by the live recorder were not read back, so a mission recorded in Specter, saved, and opened again came back without them. They are read again. A message is attached to an aircraft only when the file names one or when exactly one is airborne at that instant; otherwise it stays a mission-wide event rather than being pinned on whoever happened to be closest.
  7. v1.7.1

    16 August 2026

    Radar that the ground can hide from, aircraft named by who is flying them, and a fight strip you can read.

    Added
    • Terrain blocks radar. Detection was tested against a smooth earth, so an aircraft sitting behind a ridge at twenty miles was seen anyway — which is most of what flying low is for. The line between two aircraft is now sampled against real elevation. On a mission with no terrain data loaded it reports no obstruction rather than inventing one from a noise field, so nothing is ever hidden behind a ridge that does not exist.
    • Radar cross-section. Every aircraft used to be equally visible: a stealth fighter and a tanker were detected at the same range. Detection range now follows the fourth root of the target's radar cross-section, which is a far smaller spread than the spread in size itself — but enough that a Flanker and an F‑16 are no longer the same contact.
    Changed
    • Contacts are labelled with the pilot, not the airframe. The tag over a contact read the DCS type name — so a session between two pilots in F‑16s produced thirty‑eight identical “F-16C_50” tags that identified nobody. It now reads the callsign, falling back to the type on missions that carry no pilot names.
    • The fight strip is legible, and follows the replay. It was set in the caption face used for dense panels, which is too small to read while watching. It is also scrolled to keep the current moment centred — the queue skips quiet stretches and moves between fights on its own, so the moment you are on used to walk off the end and have to be chased with the scrollbar. It re-centres when the moment changes and otherwise leaves the strip where you put it.
    Fixed
    • The window title shows the version you are running. It read “SPECTER v1.0” through every release, because it was written out by hand rather than taken from the build. It comes from the build now, so it cannot drift again.
    • A notch is judged the same way whenever it is judged. The test that classifies why a shot missed derived the target's motion from its attitude readings, while the one watching the fight as it happened used the flight path itself. The two could reach different verdicts about the same manoeuvre seconds apart. Both use the flight path now.
  8. v1.7.0

    16 August 2026

    A sidebar that answers your job first, and a reel of fights that plays itself.

    Specter has grown a deep toolset, and the whole of it arriving at once is its own kind of unhelpful. Workspaces put the tools for one job in front, and nothing is removed — Advanced is one click away and still lists everything.

    Added
    • Workspaces. Four ways to arrange the sidebar. Quick Debrief is the core flow: Action Briefing, My Fights, Kill Cam, Map, Scoreboard, AAR. Instructor brings the teaching tools forward — WEZ, Kill Chain, pursuit, defensive reactions, energy, formation, radar. Creator leads with My Fights, Kill Cam, Global 3D, Map, Highlights and the Upsampler. Advanced is the full navigation, unchanged. Your choice is saved. Existing installs stay on Advanced; new ones start in Quick Debrief.
    • Replay several fights as one reel. Tick any fights and play them in order. Each keeps its own Kill Cam scene, its own camera framing and its own event pacing — Specter swaps between them rather than flattening several separate engagements into one clip that belongs nowhere. Select all visible takes the current filter in one action.
    • Reel position, in the strip. “Fight 2 of 4 · Event 3 of 7”, with previous and next fight controls beside Stop.
    Changed
    • The Insight rail explains the event you selected. Browsing contacts no longer overwrites the explanation you were reading. It leads with the event — type, time, severity, what happened — then the participants and their roles, each with their altitude, speed and heading at that moment and a control to put the camera on them. The general telemetry is still there when no event is selected.
    • Event-specific detail. Shot range, envelope and aspect for a launch; the geometry of a merge; the state of an overshoot; timing and defensive state for an impact; confidence for a kill.
    • Replaying a single fight uses the same path as a reel, so the two behave identically rather than diverging quietly.
    • Selecting a different pilot clears the ticked fights, so a reel cannot end up mixing two people's engagements without you noticing. Loading a new recording clears any reel in progress.
    Fixed
    • Upgrading no longer resets customised colours. Every schema migration re-applied the theme palette, so a config upgrade overwrote any colour changed since. It now runs only for the migration it belongs to.
    • An unrecognised workspace name keeps the full navigation rather than dropping to the smallest one — relevant if you move a settings file between builds.
    • A fight starts where it says it starts. Two different lead-in values were in play and the one belonging to the fight queue was discarded, so every fight began a second earlier than intended.
  9. v1.6.0

    15 August 2026

    Sensors that behave like sensors: a seeker that tracks what it was fired at, radar that reaches as far as the radar reaches, and a notch you have to actually fly.

    Three things in Specter decided what a sensor could see, and each of them was measuring the wrong quantity. All three are rebuilt against the recording rather than against an assumption, and every threshold in them is checked against real files.

    Added
    • Missile follow camera. A Ride control lists every shot in an engagement by name. The camera flies with the weapon — behind, slightly above, looking where it is going rather than at it, so the target grows in frame. The horizon stays level whatever the missile does, and your orbit comes back exactly as you left it when the ride ends.
    • Weapon size now goes to 10×. An AIM‑120 is 3.65 m against an F‑16's 15, so a weapon drawn true to scale is a speck at any useful viewing distance. The slider stopped at 4.
    • Flares that fall like flares. They light as they catch, burn, and die away over their own recorded lifetime rather than holding full brightness and vanishing — and each carries a short ember streak, so a flare reads as dropping instead of as a point that moves. Chaff blooms rather than igniting, because it does not burn. The number of streaks drawn per frame is capped: one recording carries 7,966 countermeasures.
    Changed
    • A missile's seeker tracks what it was fired at. The seeker view followed whichever contact you had selected, so a missile's sensor pointed wherever you clicked. It now follows the weapon's own target, taken from the shot itself.
    • A weapon that killed something is shown tracking it. Sensor state was derived from the angle between the missile's airframe and its target — which is the lead angle, and largest on a good intercept. The better the shot, the more lost the seeker appeared. A shot that hit now reads locked the whole way and terminal at the end; a shot that missed reads locked until the thing that beat it, then names it.
    • Radar reaches as far as the radar reaches. Detection was fixed at five miles for every aircraft in every recording, so an F‑14's AWG‑9 and an F‑16's APG‑68 behaved identically and a BVR engagement produced no contact until the merge. Range now comes from the airframe, inside the arc the antenna covers, above the horizon, and adjusted for the target's aspect. A contact must be held across several sweeps to count as a lock — touching one for a single sweep is a return, not a track.
    • A notch has to be flown. It was reported the instant the geometry looked right, which cannot tell a defensive turn from two aircraft crossing. It now requires the seeker to have had the target, the closing rate to fall inside the clutter filter with ground in the beam, the position to be held, and the defender to have turned from the heading they were shot at on. Each one states what was measured: the turn, the hold, the closing rate.
    • Beaming a heat-seeking missile no longer counts as anything, and neither does chaff against one. An infrared seeker has no doppler filter to hide in. One rule for every weapon credited defenders with beating missiles that were never susceptible to it.
    Fixed
    • Recordings made by Specter's own C2 capture are correct. Three separate faults in the export: every object was written as Neutral — including your own aircraft, which meant nothing in the file could ever be an engagement; object types were written as numbers instead of ACMI tags, so no reader saw any aircraft, ground unit or weapon in it; and every object reported a speed of zero, which every analysis downstream divides by. Speed is now derived from the track for the objects the exporter cannot measure. Copy the updated SPECTER_Export.lua into DCS — the fix is in the script, and existing captures cannot be repaired.
    • Captures are a fraction of the size. Objects that had not moved still wrote a full line every sample: on a five-minute capture, 46,682 of 57,577 lines said nothing at all. An object with nothing to report is no longer written.
  10. v1.5.0

    15 August 2026

    A fight plays itself, and the things that burn look like they are burning.

    v1.4.0 made a mission a list of fights. This one makes a fight something you watch rather than something you scrub through — and gives the picture the tonal range it was missing.

    Added
    • Play a fight through, moment by moment. Replay on any fight now walks its events in order. Long quiet stretches — a missile in flight, a target running — are skipped, landing a few seconds before the next thing happens; short gaps are played, because that is the manoeuvring which connects two moments. A strip along the bottom of the Kill Cam shows every moment in the fight, marks the one you are on, and jumps to any of them.
    • A play button on every moment. Inside a fight, each event has its own ▶. Clicking the row scrubs the clip you are watching; the button builds a clip for that one moment. A four-minute engagement no longer has to be replayed whole to study one shot.
    • A report from the fights you choose. Tick any fights and export the full debrief over just those — scoreboard, narrative, pilot table, weapon tallies, every shot with its launch parameters, and kill attribution. The title and filename record what was chosen, so a partial report cannot be mistaken for the mission.
    • Flares, chaff and tracer light themselves. Countermeasures were being shaded as though they were tiny aircraft — lit by the sun, and so nearly invisible at dusk, which is when they matter. They emit light now, at brightnesses ordered the way the real things are: burning magnesium, then tracer, then foil catching the sun, then a rocket motor seen side-on. Bright enough to pick up the bloom already in the render chain.
    • A tone-curve control in Settings. A filmic curve that rolls highlights off instead of clipping them and deepens the low end. Exposure alone brightens everything equally; this is what gives a wide shot range between sky, terrain and aircraft rather than one band of mid-grey. Blended, not switched, so it can be dialled to taste.
    Changed
    • A missile looks like a missile. Weapon trails were drawn at the same width as an aircraft's wake, so a busy engagement read as a bundle of identical strings. A weapon's trail is now narrow, with the last seconds of motor burning hot and white at the nose and spreading into smoke behind it. The full flight path is unchanged — a shot still reads from the rail to the impact.
    • Salvo rows say how many, and over how long. “S‑8KOM launch (x14)” becomes “14 × S‑8KOM launch over 9s”. Fourteen rockets in nine seconds is one attack run; fourteen spread across the window is something else entirely, and the old form could not tell them apart.
    • Mi‑8 fire is attributed to the Mi‑8. The Mi‑8MTV2 carries rocket pods and door guns, and its shots now trace back to it — over a thousand unguided rockets on a single Syria recording that previously had no shooter against them.
    Fixed
    • The pilot filter in My Fights lists every pilot. It could open holding only “Everyone”. It now lists the full roster, and searches it once there are more than a handful — a public-server recording runs to dozens of names.
    • Large recordings stay responsive. Several panels were re-deriving the same answers from the whole recording on every frame: resolving names by scanning all ninety-one thousand objects, re-classifying every one of them to decide what to draw, re-running a tactics sweep that had already found nothing, and projecting every sample of every track including the ones past the playhead. All of it is now computed once and reused. The 3D energy view, the 2D map, the reconstruction view and every panel that names a contact are the ones you will notice.
    • Long tracks draw at full detail without the cost. Flight paths spanning tens of thousands of samples were drawn point-for-point into a few hundred pixels. They are sampled to what the screen can actually show — the same cap the Kill Cam's trails already used.
  11. v1.4.0

    15 August 2026

    Specter stops presenting a mission as a list of moments and starts presenting it as a list of fights.

    A six-hour public-server recording produced 48,365 separate events. The same recording now opens as 4,263 engagements, and a pilot looking for their own afternoon finds six or seven of them typically, thirty at most. Nothing was discarded to get there — every event is still present, inside the fight it belongs to.

    Added
    • My Fights. A new tab listing every engagement in the recording: who was in it, how long it lasted, what was fired, and how it ended — kill, hit, miss, unresolved. Pick a pilot to see only theirs. Each row expands to the moments that make it up, any of which jumps the playhead straight there, and each has a Replay that opens the whole fight in the Kill Cam as one clip. Fights where nobody fired sit behind a checkbox rather than filling the list.
    • Engagements. Events belonging to the same fight are grouped: a launch, the impact it caused and the kill that followed are one thing rather than three unrelated rows. A rocket salvo is one attack carrying a count — “42 × S-8” — instead of forty-two entries.
    • Engagement gap, in Settings. How long a lull may be before the next exchange counts as a separate fight. Two minutes by default.
    • A camera control for each participant. The Kill Cam frames the whole engagement; these put the camera on either aircraft without leaving the clip.
    Changed
    • The Kill Cam shows a whole fight, not a single moment. A shot is a launch and, half a minute later, an impact — and a clip built around one event gave you the shooter with the target forty miles off camera, or the victim after the missile had already gone. A clip now spans the engagement, contains everyone in it, and is centred between the participants.
    • The coaching card describes the event you selected, rather than whichever was nearest the playhead.
    • Contacts are named by callsign throughout — in the event list, the 3D labels and the Insight rail, not only in Highlights.
    Fixed
    • Loading a second compressed recording no longer fails. Every zipped ACMI was unpacked to the same filename, so opening one while another was in use refused to load with nothing on screen to explain why. Tacview writes compressed files by default, so this affected most recordings.
    • Missiles are drawn leaving the aircraft that fired them. A weapon keeps its whole flight path now, so a shot reads from rail to impact instead of a streak appearing in open sky.
    • Ground units appear in the Kill Cam. A stationary vehicle or air-defence site reports its position once and then stays quiet, and anything that had not moved recently was left out of the clip — a ground attack showed the weapons and nothing they were aimed at.
    • Weapons are credited to a launcher that could have fired them. Ground and naval launchers are candidates now, the launcher has to be able to carry the weapon, and where nothing fits Specter says nothing rather than guessing.
    • Shots are matched to targets a weapon could actually reach, and air-to-ground weapons can name what they were aimed at.
    • Notching counts when a missile was guiding on you, instead of any time one passed nearby.
    • Repeated events are recorded once, with a duration. Two aircraft holding a merge produced a fresh entry twice a second for as long as they stayed close — more than half of everything in a long recording.
    • Trails are continuous and fade over the length set in Settings.
    • Radar and seeker cones can be switched off, and the camera keeps tracking what you selected even when a filter would have hidden it.
    Performance
    • Large recordings stay responsive. Several surfaces were doing work proportional to the whole mission on every frame rather than once per recording. The pilot picker, the theatre roster, the Highlights grouping, the event list and the fight list are all built once and reused; object lookups are constant-time throughout; and a Kill Cam clip now costs the same whether it covers thirty seconds or twelve minutes.
  12. v1.3.5

    14 August 2026

    Contacts stay on screen, trails run continuously, and Global 3D is markedly faster on a long recording.

    Fixed
    • Contacts stay on screen. A long interval between samples was read as a dropped track and drawn as nothing. Aircraft holding a steady heading only report when something changes, so tankers, AWACS and anything else on station arrived minutes apart and blinked in and out for most of a mission. Across a five-hour recording two fifths of all aircraft track-time was blank; it is now under two per cent, and what is left is the genuine respawns that should be.
    • Trails are continuous. Every second segment was being dropped in the Kill Cam, and in Global 3D each piece was drawn on its own so the joints showed. Trails are now one band that bends through a turn and fades over the length set in Settings.
    • Radar and seeker cones can be switched off. A contact removed by a filter kept its cones and coverage dome on screen with nothing able to clear them. Global 3D also has its own toggle for them now.
    • The camera keeps tracking what you selected, even when a filter would otherwise have excluded it.
    • Selecting players filters the event list, not only the 3D scene.
    • Every event is named. Misses, gun tracking, terrain warnings and radar events were all listed as “Tactical Event”.
    • The Highlights filter panel stays put instead of growing across the page.
    Performance
    • Global 3D is substantially faster with a large recording open. The theatre roster was rebuilt from scratch every frame — millions of comparisons per frame for a list that does not change. It is built once now, and only the live counts follow the clock. The Highlights page no longer regroups every event in the mission on every frame either.
  13. v1.3.4

    14 August 2026

    A rebuilt After-Action report, and four filters that now do what they say.

    Changed
    • The After-Action HTML export is a dashboard. It was one scroll several thousand pixels long, which put the mission's result below six tables. The overview now opens on the headline figures and five charts — kill momentum by side, mission activity, weapon effectiveness, why shots failed, and the force comparison — with every table behind a tab. One filter row scopes all of it, by side and by pilot, and the headline figures recompute to match what you are looking at. Printing still produces the whole report in one pass.
    • The two sides are BLUE and RED. The report printed the mission editor's own words, "Allies" and "Enemies" — a description written from one seat, in a debrief watched by both.
    Fixed
    • The Players filter lists people. DCS writes a pilot name for ground units too, so a Levant mission filled the list with several hundred SAM launchers, radars and trucks. It now holds aircraft and helicopters — the things someone was sitting in.
    • The global filters reach the Kill Cam. Isolate and the Players filter were read only by Global 3D, so toggling either while watching an engagement changed nothing. Both now apply, and the Kill Cam toolbar carries the same Grid, Domes and Isolate controls. Whatever you filter, the engagement's own participants stay on screen.
    • The right theatre loads, every time. The map was inferred from where the aircraft were, and the theatre boundaries overlap — Normandy sits almost entirely inside The Channel — so a mission could open over the wrong terrain. Specter now reads the theatre the recording itself names.
    • Highlights search finds a pilot. The search box matched the aircraft type, so your own callsign returned nothing. It now matches pilot, callsign, group and airframe on both sides of an event, so your name finds your deaths as well as your kills — with a pilot list beside it for names you cannot spell from memory.
    Faster
    • The pilot roster is built once per recording instead of on every frame the picker is open, the Highlights tab stopped copying every matching event each frame to draw a hundred of them, and theatre detection no longer walks every frame of every object.
  14. v1.3.3

    13 August 2026

    Five fixes to things that behaved differently from the way they read.

    Fixed
    • Replay in Highlights goes to the moment it names. It opened the Kill Cam but left the playhead where the scrubber happened to be, so the button looked like it only changed tabs. It now seeks to five seconds before the event, so you see the run-up rather than dropping in at the impact.
    • The Legend can be moved and closed. It was pinned to the corner and grew with the number of weapons in the air, until the content pushed its own close button off the top of the screen — which reads as a freeze, because there is nothing left to click. It is now movable and scrolls inside a fixed height however busy the fight gets.
    • Sensor Vision no longer changes how the camera steers. It ran a second camera of its own alongside the normal one, so a drag moved the view twice in disagreeing directions. It is a rendering mode, and now behaves like one: the camera works the same everywhere.
    • Trails follow the aircraft and fade. A trail could freeze in place while the aircraft flew on without one. They now fade over the window length set in Settings — which the Kill Cam had been ignoring.
    • The Players list shows names. It appended each pilot's airframe to their name, making the roster twice as wide to scan. The aircraft is on hover.
  15. v1.3.2

    12 August 2026

    Sharper missile and manoeuvre analysis, measured from the recording rather than estimated from it.

    Changed
    • Notching is judged on speed, not angle. What a missile's seeker actually rejects is a target whose speed along its line of sight is near zero, and it can only do that when it is looking down into ground clutter. Both now count. A target holding a textbook beam while diving is no longer called notched — a missile above it reads that descent and keeps the track.
    • A missile that ran out of energy is identified by measuring it. The weapon's own speed is tracked through its flight, so a shot is called kinematic when the round was genuinely slowing rather than when a stopwatch ran out. Long-range shots were the ones this got wrong, and they are the ones most worth reviewing.
    • G is measured in three dimensions. A break into the vertical, a split-S, or any hard pull that does not swing the nose across the horizon now reports what it was.
    • Impact detection scales with the recording. How close a weapon has to pass now follows your file's own sample rate and the weapon's measured speed instead of one fixed distance for every recording, and a weapon that disappears before its fuze could arm is no longer counted as a hit.
    • Energy state reads speed, not height. Two aircraft at the same altitude and three hundred knots apart no longer read identically.
    • Flying advice is reserved for aircraft someone was flying. AI manoeuvring is not a person's decision-making, so it is no longer coached as though it were. Everything factual about an engagement — who shot whom, from where, with what — is still reported for them.
    Fixed
    • Energy figures on kill and merge cards. Some cards reported a victim's energy as zero and drew conclusions from it. Where a figure genuinely is not in the recording, the card now says so instead.
  16. v1.3.1

    12 August 2026

    Flight Simulator flights get real terrain under them, streamed along the route.

    Added
    • Terrain for MSFS flights. An airliner can depart anywhere on Earth, so there is no theatre file to ship. Specter streams a corridor of real elevation along the flight's own track and caches it, so a route needs a connection only the first time. DCS recordings are unaffected — they still load their pre-built theatre.
    • A second MSFS demo: Lukla → Kathmandu. A Cessna Caravan on the morning run down the Dudh Koshi, out of an airfield at 9,334 ft with a 527 m runway cut into a Himalayan valley — 74 nm of flying between ridges that stand higher than the aircraft. It exists to show what terrain does for a debrief.
    • Civil aircraft draw as aeroplanes. The model library was built for combat types, so airliners and turboprops used to render as plain blocks.
    Fixed
    • Terrain arrived and changed nothing. The ground is built once when the scene is created and the download finishes seconds later, so the heightmap was stored and never drawn. Specter now rebuilds the scene when terrain lands, and tells you either way.
    • The Lukla demo flew through a mountain. Its waypoints cleared the ground but the legs between them crossed a 3,986 m ridge. Every leg is now checked against the same elevation data the viewport uses.
  17. v1.3.0

    12 August 2026

    Shot grading told a pilot to close to six miles before firing a sixty-mile missile. That is fixed, and the model behind it rebuilt.

    Fixed
    • Shot grading was giving dangerous advice. The envelope estimate matched names like AIM-120, but DCS writes AIM_120C with an underscore — so nearly every Western weapon fell through to a 5 nm fallback. A real AIM-54 Phoenix shot taken at 68 nm was graded "low probability" with advice to close to 6.2 nm, which would fly the shooter deep inside the threat's own envelope.
    • Aspect angle was inverted. It was measured from the target's nose instead of its tail, so cards printed "stern" for a head-on shot and "head-on" for a stern chase — the opposite of the truth about the most important geometry in an engagement.
    Added
    • A real engagement-zone model. Three ranges instead of one — Rmax, the no-escape zone, and minimum range — scaled for aspect, altitude and speed. A shot between Rne and Rmax is now called what it is: a pressure shot that a hard turn defeats, with the range you needed to close to.
    • Unrecognised weapons get no verdict. Specter says it has no envelope for them rather than inventing one. Every graded card also states that its envelope is a modelled profile — a guide, not a firing table.
  18. v1.2.3

    12 August 2026

    A key to the 3D views, and missiles no longer hang in the sky waiting to be launched.

    Added
    • A legend for the 3D views. A new Legend toggle in the Global 3D and Kill Cam toolbars explains what every shape means — the trail and why it widens, the velocity vector, the altitude stem and ground ring, the threat dome — and lists the weapons in the air right now with when each was fired, from what altitude and speed, and at what range.
    Fixed
    • Weapons were drawn before they were launched. A missile sat motionless at its launch point for the whole clip and only set off when its launch time arrived — it looked like it was waiting for the aircraft to collect it. It also lingered at the impact point afterwards. Weapons now exist only while they are actually flying.
  19. v1.2.2

    12 August 2026

    Corrections: the 1.2.1 tracers are gone, support aircraft no longer get credited with kills, and speeds read properly again.

    Fixed
    • The 1.2.1 cannon tracers are reverted. Each round was drawn as a full muzzle-to-impact beam, so a burst piled up into what looked like a solid gold cone in the sky, and vehicle machine-gun fire crawled along the ground. The 3D view looks as it did in 1.1.2 again. The gun analysis is unaffected.
    • AWACS, tankers and transports no longer score kills. Nothing in a DCS recording says who fired a weapon, so attribution falls back on the nearest aircraft — which credited an E-2C with launching an AMRAAM. Support aircraft are what get shot down, not what shoots.
    • Speed no longer reads 0 kt for everything. DCS often omits airspeed entirely, so labels showed a confident zero under jets at altitude. Ground speed is now derived from the track when the recording states none.
    • The 2D map falls back to OpenStreetMap when its usual imagery host is unreachable — a single blocked domain used to leave the map permanently blank.
  20. v1.2.1

    11 August 2026

    Gun engagements are finally worth watching: tracers in the Kill Cam, and every burst graded.

    Added
    • Cannon fire is drawn as tracers. Rounds used to arrive in the Kill Cam as ordinary aircraft-like objects, so a two-second burst filled the scene with a hundred of them. They are now a single fading line batch, with a warmer colour and a small spark on the rounds that stopped on an aircraft — the only impact evidence the recording actually contains.
    • Gun employment grading in WEZ Shot Quality: rounds fired, rounds on target, hit rate, and the range and aspect at trigger-down, with a verdict against the standard critique — inside 0.15 nm is debris range, past 0.6 nm is wasted ammunition.
  21. v1.2.0

    11 August 2026

    Kills are counted — including gun kills — and you can narrow a whole mission down to the pilots you care about.

    Fixed
    • Specter was counting no kills at all. The Scoreboard only credited a shooter when the recording named one, and DCS's Tacview export never does — a real 285 MB mission file contains zero kill records. Every Kills column has been zero since the feature shipped, for guns and missiles alike.
    Added
    • Kills are reconstructed from the recording itself. DCS writes no shooter on anything — not on cannon rounds, not even on missiles — so Specter now traces each weapon back to where its first sample was written, which is the rail or the muzzle, and credits whoever was standing there. On a five-hour server recording that attributes 50 of 52 missile kills, where the count used to be zero.
    • Gun kills are counted. Cannon rounds are individually tracked in the export, so a burst that ends on its victim is traced back the same way and the rounds vote on the shooter. There is a Guns column on the Scoreboard, and the Kill Chain names the weapon on every kill.
    • Every kill shows a confidence — Confirmed, Probable or Inferred. In a tool you use to judge your own flying, a guess presented as fact is worse than an honest one.
    • Deaths are told apart from disconnects. A track also ends when a pilot leaves, changes slot, or lands and despawns. On that same recording, 83 of 135 endings had nothing near them — counting those would have hung a fictitious loss on 83 pilots.
    • Gun burst analysis. Rounds are grouped into bursts with rounds fired, rounds on target, hit rate, and the range and aspect at trigger-down, graded against the standard critique: inside 0.15 nm is debris range, past 0.6 nm is wasted ammunition.
    • Filter the mission by pilot. A multi-select picker in the Global 3D and Kill Cam toolbars narrows the scene to the people you care about. A pilot who respawns gets a new object id each time, so the roster groups by name and stitches their session together. It keeps whoever they fought and the weapons they fired by default — a 1v1 filtered to one side is a jet manoeuvring against nothing.
  22. v1.1.2

    11 August 2026

    The Upsampler runs without Python, and the MSFS Record tab tells you the truth about its connection.

    Changed
    • The Upsampler no longer needs Python installed. It used to generate a script and shell out to python, so anyone without it met "Failed to execute python" after clicking Execute and waiting. The interpolation now runs inside Specter, over the same splines the 3D view uses — nothing to install, and it works offline. One-click presets for 30, 60, 90 and 120 Hz, or anything up to 144 Hz by hand, with the source's own rate and the resulting multiplier shown next to it.
    Fixed
    • The MSFS Record tab froze its connection status. Specter only redraws on input, and the tab asked for repaints only while recording — so Flight Simulator could start, the connection could succeed, and the screen would still read "Not connected" until you moved the mouse.
    • A clearer message when the sim is not running. "I/O error: The system cannot find the file specified. (os error 2)" described a perfectly normal state in the language of a broken install. The missing "file" is the SimConnect pipe that MSFS creates on startup.
    • A failed upsample no longer reports success. The write result was discarded, so a full disk looked exactly like a finished export.
  23. v1.1.1

    10 August 2026

    Specter now records and debriefs Microsoft Flight Simulator, alongside DCS — and the 2D map works offline.

    Added
    • Microsoft Flight Simulator support. Specter records MSFS 2020 and 2024 itself, over SimConnect, with nothing to install on the simulator side — no SDK, no add-on, no SimConnect.dll. Open Record from MSFS, press Start, fly, press Finish, then Load in Specter. The capture is written continuously, so it stays valid even if the simulator crashes mid-sector.
    • Flight Report and Coaching. An MSFS recording opens into its own tabs: altitude and speed profile, fuel burn, engine N1/N2 and EGT, and a taxi-to-rollout phase breakdown; plus approach coaching against the stabilised gates at 1,000 ft and 500 ft, touchdown load, and the 250 kt limit below 10,000 ft.
    • A DCS / MSFS switch in the top bar and on Getting Started. Each mode shows only the tabs that make sense for it, and you can move between them at any time — loading a recording switches for you.
    • A bundled demo flight. Heathrow to Manchester in an A320neo, gate to gate, so MSFS mode can be seen working before Flight Simulator is even installed. It carries two deliberate teachable moments for the Coaching tab.
    Fixed
    • The 2D map no longer looks broken offline. Its satellite imagery comes from an online service; without a connection the tab was a black rectangle. It now draws a labelled lat/lon graticule and says so, and every track, scale and measurement on the screen works with no connection at all. A tile whose download failed is also retried instead of being left blank for the rest of the session.
    • The map frames the flight when you open it, instead of keeping whatever centre and zoom were last saved — which showed empty ocean for any flight outside the last theatre you looked at.
    • Long warnings stay inside their panel. Notification text was painted through a fixed-size box, so anything longer than about forty characters ran outside the coloured background and became unreadable. Panels are now sized to their message.
  24. v1.1.0

    9 August 2026

    The updater now maintains the whole installation, not just the executable — and downloads only the parts that actually changed.

    Added
    • Component-wise updates. A release is now a set of signed parts — the app, the updater, the model library, the demo recordings, the DCS export script, the documents, and each theatre's terrain. The updater hashes what you have, compares it against the release, and fetches only what differs. A documentation fix is kilobytes; it no longer means re-downloading half a gigabyte.
    • Repair. Because it compares contents rather than trusting a version number, the updater can also put right an installation that has been damaged — a deleted model, a half-extracted zip, a file an antivirus quarantined. --repair reinstalls everything regardless.
    • The updater updates itself. It cannot overwrite its own running image, so it parks the new copy alongside and Specter installs it on the next launch.
    • Pick what you want. --check lists every component and its state; --component <name> fetches one; --all includes optional parts. Terrain is optional and left alone unless you already have a theatre installed or ask for it.
    Changed
    • The component list carries its own signature, separate from the manifest's. A list of download URLs and install paths is a way to write files onto your machine, so it is refused outright if unsigned or altered — and every install path is checked to be inside your Specter folder before anything is written.
    • Everything is downloaded and verified before anything is installed, so a failure partway through leaves the previous version intact rather than a half-replaced installation that reports no error.
    • Updaters from v1.0.3 and earlier keep working against the new releases. The manifest's original fields are unchanged and signed exactly as before.
  25. v1.0.3

    9 August 2026

    Fixes the standalone updater failing to reach the update channel at all when its own settings file was sitting beside it.

    Fixed
    • "Could not reach the update server" when the updater was copied in with its settings file. The optional update-channel.txt that ships beside the standalone updater is entirely commented out, so it should do nothing. It was written with a byte-order mark, which meant its first line no longer began with # — so the file's own heading was read as the update address and every check failed. The mark is now stripped, only real https:// addresses are accepted, and anything else falls back to the built-in channel with a note in the log. A file whose purpose is to rescue a broken update channel should never be able to create one.
  26. v1.0.2

    9 August 2026

    Fixes the standalone updater closing the instant you opened it.

    Fixed
    • The updater vanished the moment you double-clicked it. It is a console program, and Windows destroys the console it creates for one the instant the process exits — so everything it printed, including the reason it could not do anything, appeared and disappeared inside a single frame. It now waits for you to press Enter, but only when it owns a window you can actually see: run from a terminal, or launched by Specter itself, it still exits straight away.
    • Running the standalone updater on its own said almost nothing. With no specter.exe beside it there is nothing to update, and it reported that as a bare "not found". It now explains the two ways to fix it — move it next to Specter, or pass --exe — and stays on screen while you read.
  27. v1.0.1

    9 August 2026

    A rebuilt C2 Live. Live sessions are now recorded to disk continuously from the first packet, so what you save is the whole sortie rather than whatever was still in memory.

    Fixed
    • A live session saved only its last few seconds. The replay was being built from the in-memory window instead of the session, so a long flight came back as a fragment. Every frame is now written to an ACMI file as it arrives.
    • A mission restart corrupted the capture. DCS restarts its mission clock at zero on a rotation, rejoin or slot change. Two timelines ended up interleaved in one buffer and the saved file jumped backwards mid-recording. Specter now closes the capture and starts a clean one.
    • Every loaded recording contained a phantom object. The ACMI parser read the FileVersion header line as an object declaration, adding a contact with no track to every file ever opened.
    • Stale tracks were kept forever. Objects that had left the live window were trimmed of their frames but never dropped, so a busy server slowly accumulated thousands of empty entries.
    • A telemetry port already in use failed silently. A second Specter, or another tool on 34380, meant no live feed and no explanation. It now says so and tells you what to do.
    Added
    • Continuous capture. Sessions stream to Documents\SPECTER\Recordings\, flushed about once a second and valid without being closed — if DCS exits or the server drops you, the file is already playable.
    • Link health you can actually read. Feed rate, packet loss from the exporter's own sequence counter, and a warning when the exporter hits its per-packet entity cap. UDP has no delivery guarantee, so a lossy feed used to look identical to a perfect one.
    • A sortable object list. Filter by name, side or domain; sort by altitude or speed; click to select and follow. Your own aircraft is marked.
    • An inferred event log — launches attributed to the nearest shooter, losses attributed to a nearby detonation, spawns and departures. It reports what was observed and does not claim kills it cannot see.
    • Theatre detection from the reported coordinates, and mission time-of-day carried into the capture so a dawn sortie replays at dawn.
    • Scale bar and selection reticle on the live map.
    • Settings → Command & Control Live for the capture toggle, the live-window length and the telemetry port.
    Changed
    • Captures write ACMI 2.2 with proper removal records, so destroyed aircraft no longer sit frozen at their last position for the rest of the replay.
    • The DCS export script now reports the mission start time and your own aircraft's id. It is backwards compatible — update the app and the script independently.
    • Documentation now covers servers that delay their own Tacview feed, and what to do if yours prohibits client-side export.
  28. v1.0.0

    First release

    Specter's first public build: ACMI parsing and indexing, the Kill Cam, Global 3D with hypsometric terrain, the analysis tabs, AAR reports, offline licence activation and the signed update channel.

Questions about updating? See the Updating section of the user guide or email support.