Signed in? No need to type your email again

When you're signed in and you request a tuning review — either on the upload page or from a results page — we now use your account's email address automatically instead of asking for it again. You can still send a review to a different address if you're uploading on someone else's behalf.

Sign-in links now ask you to confirm

Opening a sign-in link now shows a short page with a "Confirm sign-in" button instead of signing you in immediately. This stops spam filters and link scanners from silently using up your one-time link before you get to it — the main cause of "this link expired" when you'd only just received the email.

Optional sign-in: find all your past uploads in one place

You can now sign in with just your email address (we send you a link — no password) and see every upload you've made under My uploads, including any that already have a tuning review. Analysis results and reviews in your account are kept until you delete them; the raw datalog and config files are still removed after 90 days. Uploading without signing in works exactly as before.

Three scorecard items no longer give a confident verdict they can't back up

The IAC / Throttle Stop card could report a near-zero idle air reading — and tell you to move the throttle stop — off a brief low stretch of an otherwise normal idle; it now checks the whole warm idle first and asks for a steady idle capture instead of handing out a direction. Idle AFR now says how far off the mixture actually is against the target your ECU commanded, with "noticeably" and "significantly" tiers above "slightly", and flags the large uncorrected ones. And the CL / Learn Limits card will no longer call a very tight Closed Loop limit "nothing to change" when your own datalog shows the correction running into it.

New diagnosis: lean hesitation after a throttle move that isn't an accel-enrichment problem

The classic "lean on tip-in" complaint often isn't the accel-enrichment tables at all: if the mixture holds target while the throttle is actually moving and only goes lean a beat later — recovering as the ECU's self-tuning correction rebuilds — the base fuel table is what's running short, and the corrections were quietly covering for it until the throttle movement reset them. The analyzer now recognizes that exact pattern on both Sniper and Terminator X datalogs and points the fix at the base fuel table, with the before-and-after numbers from your own log as evidence.

Fixed false alarms on some Terminator X datalogs

Some Terminator X logs contain a few corrupted samples that could poison the analysis — producing false "oil pressure very low" warnings, nonsense durations and averages, and hiding real throttle-transient events. The analyzer now detects and excludes these samples, and notes on the results page when it did. If an older upload of yours showed an implausible reading, a re-upload will now analyze cleanly.

A major analysis upgrade: new diagnoses, fewer false alarms

The analyzer gained roughly twenty new diagnoses — including misfire detection that can arithmetically prove a "lean" reading false, checks for a charging system that isn't charging, hard-start and hot-start analysis, and a family of idle-control diagnoses that pinpoint throttle-stop, IAC hold, and heat-soak problems. Dozens of existing checks now verify their own evidence before giving advice, so you'll see far fewer wrong suggestions (like fuel-pressure gauge tests on a healthy fuel system) and no more "Healthy" verdicts on a log that ends in a stall. Config reviews also dig deeper — hand-edited closed-loop limit grids, accel-enrichment table interactions, and temperature-curve details the previous version missed — and many more checks now run on Terminator X uploads.

"Ready to transfer" now reads your own Learn limit

The Transfer Learning recommendation used to judge your Learn table against a fixed number, so anyone running a tighter Learn limit could never be told their transfer was overdue — even with the table pinned at its ceiling and everything else on the log clean. It now measures Learn against the limit your tune actually sets. It also stays quiet while an active fuel fault is being diagnosed, instead of suggesting you bake a bad correction into the base table.

Fewer false lean flags when you get back on the throttle after coasting

When you lift off and then reapply throttle, the wideband is still reading the tail of the lean coasting mixture for a moment — which used to get counted as the engine running lean on tip-in. The analyzer now recognizes those readings (fuel was clearly already being added, and the mixture swings rich immediately after) and leaves them out, so the accel-enrichment diagnosis no longer inflates its confidence on them.

Older Sniper datalogs decode more channels

Datalogs from older Sniper firmware now recover their base-table channels — base fuel, base timing, target AFR, and injector output — verified against Holley's own software rather than guessed from position. The playback chart on these logs gains a Base Timing lane, and exported data now carries correct names for every recovered channel.

Verified against Holley's own software

A bench session with the Holley tuning software confirmed two things our analysis previously hedged on. The progressive-linkage diagnosis now says definitively that secondary injectors begin delivering at about half the configured switch point, and tells you how to plan around it. Config reviews also grade TPS rate-of-change blanking against the correct factory values — the shipped base calibrations and the touchscreen Wizard use different ones, and the old copy treated one number as "the default" for everything.

Tidier results page

Config Review cards are now a consistent height — click any card's note to read the rest of it. The explanations behind the longest notes were shortened, the Config Cross-References section was retired (everything it flagged already appears in the diagnoses and scorecard), and the vehicle nickname box on the upload page now only appears when you request a tuning review.

Rich coasts no longer look like excessive acceleration fuel

Reopening the throttle after a closed-throttle coast could be scored as an overly rich acceleration event even when the mixture was already rich before the pedal moved. Those pre-rich readings no longer count as acceleration-enrichment overshoots, while genuine rich dives from an on-target baseline remain visible.

Cold enrichment corrections get their own diagnosis

A large closed-loop correction during warm-up could be mistaken for unstable hot-idle fueling even when the correction disappeared at operating temperature. The analyzer now keeps that signal out of idle-control advice and identifies the cold enrichment shortfall separately, with a coolant-sensor check before table changes.

Stall recoveries no longer masquerade as steady-load fuel pressure sag

Catching a falling engine with the throttle can produce a brief lean, high-MAP trace that resembles fuel pressure loss once RPM starts recovering. The analyzer now keeps those stall-and-rescue windows out of the steady-load diagnosis while preserving genuine low-RPM pulls.

One-direction Learn corrections no longer look fully tuned

A long drive could be labeled accurate when every part of the fuel table it visited was still correcting in the same direction, simply because the average stayed inside five percent. Tune Accuracy now recognizes that broad, consistent pattern while leaving short clips and freshly transferred near-zero tables alone.

Repeated lean tip-ins get clearer confidence

Two confirmed acceleration-enrichment undershoots now receive medium confidence when the broader tip-in record is consistently lean, never rich, and contains no competing pressure-sag evidence. Mixed unclassified events alone no longer send the review toward a fuel-pressure test.

Cold-start test clips no longer count as temperature faults

A short log recorded specifically during a cold start could be marked down simply because the engine had not yet reached operating temperature. Cold captures up to five minutes now explain that temperature and Learn readiness cannot be judged from the clip, while longer runs that fail to warm up still receive attention.

Older datalogs no longer expose mislabeled channels

Some older 832-byte logs could display changing analog data under unrelated A/C, warning, or status labels. Those logs now expose only the channel range that has been verified, so unsupported tail data cannot be mistaken for a real signal.

Frozen dynamic channels are now visible during review

A timing trace pinned to one non-zero value could pass unnoticed even while engine speed and load changed substantially. The analyzer now records dynamic-channel activity and calls out that observation for review without guessing whether the cause is a control limit, temporary lock mode, or an external-control setup.

A freshly transferred Learn table is no longer called unused

Transfer Learning To Base deliberately clears the saved corrections, but a newly cleared table could be reported as proof the engine had never run under load. On an established tune, the analyzer now recognizes the post-transfer shape, explains that the empty history is expected, and waits for the next log before judging coverage or limit changes.

A stuck-high idle no longer needs to cross the normal idle range

When a warm engine spent the entire log idling above 1,000 RPM, the analyzer could miss the idle because it never passed through the normal range. A steady closed-throttle high idle now reaches Idle Stability, Idle AFR, the idle-target check, and Drive Playback even when there are no lower-RPM idle samples.

Cruise hunting no longer blames a normally parked idle valve

A steady IAC position while cruising does not show that the valve caused an RPM hunt—the throttle blade is carrying the airflow. Cruise findings no longer use that reading to raise confidence or recommend IAC Hold changes unless the dedicated config check can compare a genuinely high setting with the log.

Normal start-up timing changes no longer look like interference

Timing can jump normally as the ECU hands control from cranking to running. The interference check now ignores that brief start-up handoff while continuing to report timing jumps that occur after the engine has settled.

Cruise IAC readings no longer inflate loop-switching diagnoses

A steady IAC position is normal while cruising because the throttle blade is carrying the airflow. The analyzer no longer presents that normal behavior as a second symptom or uses it to strengthen a closed-loop switching diagnosis; genuine loop switching remains visible in the Cruise CL Stability card.

Manual-transmission IAC Hold settings get the right context

A higher IAC Hold Position can be deliberate anti-stall margin when the clutch goes in, but the config scorecard judged it by the same narrow range used for automatics. When your upload identifies a manual transmission, settings in the documented 10-30% range are now recognized instead of being flagged for reduction.

Throttle tip-ins are no longer assumed to be gear shifts

A lean stumble after opening the throttle could be labeled a post-shift problem even when no shift occurred. The analyzer now reserves that wording for events with a matching RPM drop and recovery while the throttle stays open; other events are reported as ordinary tip-in lean spikes at a lower confidence.

Stall findings no longer assume an automatic transmission

A warm closed-throttle stall could be explained as torque-converter engagement even when the log never established an automatic transmission. Converter-specific wording and advice now require positive transmission evidence; other logs keep the measured stall evidence without guessing the cause.

Near-stalls no longer masquerade as failed hot starts

A hot engine dipping through cranking-range RPM and recovering could be reported as multiple failed start attempts even when the recording began with the engine already running. The Hot Start check now requires evidence that the engine was actually off before it calls the recovery a cranking attempt.

Fewer reviews lost to a mistyped email address

The review queue now flags likely one-character email typos, and an address can be corrected before a review or question is sent. Corrections are recorded so follow-up messages keep going to the intended inbox.

Keep multiple vehicles separate with an optional nickname

Shops and owners uploading logs from more than one car can now add a vehicle nickname. It travels with the upload so each review stays tied to the right vehicle.

Throttle stop is now judged on a fully warmed-up idle, whatever your engine runs at

The IAC / Throttle Stop card was only willing to call an engine fully warmed up above 195°F. Plenty of healthy engines settle below that, so on those logs the card averaged in the whole warm-up instead — reading high on a correctly-set stop, and sometimes missing an idle air valve that had closed completely by the end of the log. It now uses the temperature your engine actually holds.

The scorecard no longer assumes you have an automatic

The In-Drive Idle card told every car with a loaded idle that it was seeing "converter load" — including manual-transmission cars, and the many logs where we have no idea what's behind the engine. It's now Idle Under Load, and it only mentions a torque converter when your description or your config actually establishes an automatic. Ratings are unchanged; only the wording and the suggested fixes moved.

Drive Playback now colours a stuck-high idle

On a log where the engine sat at a high idle with the throttle closed, the playback timeline left that whole stretch uncoloured — often the most important part of the log. It's now shown as idle time, and the deceleration cards no longer count a held idle as coasting.

An idle that's stuck high is now recognised as an idle

If your engine settles at a high idle with the throttle closed — say 1,400 RPM against an 800 RPM target — the analyzer used to treat it as coasting and report that your log contained no idle to rate. Idle Stability, Idle AFR and the idle-target check now measure where the engine is actually sitting, and say how far that is from the target in your config.

Timing Mode now shows your actual table's range

On tunes running the 2D timing table, the Timing Mode card showed a range built from the simple timing screen's idle and cruise numbers — values your ECU ignores in that mode, which on some configs printed backwards (like "27-25.5°"). It now reports the lowest and highest timing in the table you're actually running.

No more false "cruise timing isn't higher than WOT" warning

If your tune runs the 2D timing table, the Config Cross-References list could warn that your cruise timing wasn't higher than your wide-open-throttle timing — comparing two numbers from the simple timing screen that your ECU ignores in that mode. The warning now only appears on tunes actually running simple timing, where those numbers are live. The shape of a 2D table is already judged by the timing checks on your scorecard.

Accel Fueling now compares against your own target

The Accel Fueling check was measuring your acceleration mixture against a fixed 12.5 AFR instead of the target your ECU actually commanded — so tunes that were dead on target were being flagged as lean. It now reads the commanded target straight out of the datalog, needs a decent stretch of throttle before it will say anything at all, and will tell you when your acceleration fuelling looks right instead of only speaking up when something is wrong.

Sniper 2 scorecards no longer mention Terminator X

Newer Sniper 2 firmware records datalogs in the same file format Holley uses for Terminator X. A few scorecard checks that stay unrated on that format were explaining themselves with "Not yet validated for Terminator X" — on Sniper 2 cards, which read like we'd mis-identified your ECU. Those cards now say what's actually going on, and the same wording fix applies to the message you'd see if we couldn't read a log's layout.

Tuning reviews are much easier to read

Reviews used to arrive as one wall of plain text. They now render properly on your results page — headings, bulleted and numbered steps, bold callouts, setting names in monospace, and action checklists as real checkboxes. The content is unchanged; it's just laid out the way it was written.

Lean tip-ins: it now checks whether your base fuel table is the real cause

If your fuel table is lean and Learn has been quietly covering for it, that shortfall shows up during a throttle roll-on — and the old advice, "raise your accel enrichment", stacks a correction on top of a correction. The finding now looks at how much Learn is holding in the RPM zones where the tip-ins happened, and where it's substantial it tells you to transfer Learn into the base table first and re-log instead. It also stops naming a fixed throttle-rate range and quotes the speeds your throttle actually moved at, measured from the throttle trace rather than the logged rate channel, which reads low.

"Transfer Learning" is no longer recommended while fuelling is faulty

Transferring Learn into your base fuel table is permanent and cumulative, so it's the wrong move while something is still feeding bad numbers into Learn — doing it during a fault is what corrupts a base table. Findings that used to recommend a transfer now check first, and when a lean fault is live on the same log they say to fix that and clear Learn instead, naming what held it back. They also check whether your base table already shows damage from an earlier transfer. Where nothing is wrong, the advice is unchanged.

Cranking speed is now measured while the engine is actually cranking

The cranking-speed reading used the highest RPM seen during the start, which includes the moment the engine catches — so a start that cranked at 164 RPM was reported as 443. It now shows the steady speed while the starter is turning the engine, and says nothing at all when the start was too quick to measure one. A related flag that was meant to mean "took a long time to start" was silently switching itself off whenever an attempt failed first, which is exactly when it should have spoken.

Boosted setups no longer get told to add timing

On a boosted engine the timing figure at the top of the table is a full-boost number, and it is supposed to be low. The scorecard was comparing it to a naturally-aspirated range and telling owners they were leaving power on the table — advice that could hurt an engine. It now reports that figure descriptively instead of rating it, says how much the table pulls back as boost rises, and explicitly says not to raise it toward a naturally-aspirated number. Naturally-aspirated tunes are unaffected, including the "leaving power on the table" note where it is genuinely true.

Three scorecard rows now judge you on the right part of the log

Engine Temp said "not fully warm" on logs that finished at over 200°F, because a five-minute warm-up dragged the average down — it now looks at where the log ended up. WOT Fueling could say "slightly lean" while your average was actually rich of target; that contradiction is gone, and it now separates a sustained lean pull from a momentary blip at a shift. The IAC / Throttle Stop row judges from your fully hot idle rather than a merely warm one, drops the "Park" wording on logs it can't confirm were out of gear, and no longer tells you which way to turn the screw when the reading says the opposite.

Throttle blips no longer count against your accel fueling

A quick blip — throttle open and shut again inside about a third of a second — goes rich after the throttle has already closed, so that's decel mixture, not an accel-fueling error. Those were being counted as failed tip-ins, which on some logs produced a confident "most of your tip-ins went rich" from nothing but clutch and shift blips. They're now excluded and disclosed, and a log made up entirely of blips says so instead of being rated. The same fix stops a single tip-in being counted twice when its start was recorded 20 milliseconds apart.

New: catches air/fuel readings jumping faster than the sensor can respond

A wideband can't follow a real mixture change from one reading to the next, so when the number jumps several AFR while throttle, load and engine speed all hold steady, that isn't your mixture. The analysis now finds those bursts and gives you the causes in order — rule out fuel actually arriving uncommanded first, then the harness, connector and any splice, and only then the sensor itself. That order matters: one owner replaced the sensor and afterwards found a broken wire. Lean findings whose worst moment lands inside one of these bursts are now marked as suspect instead of being reported as real.

New scorecard row: your Closed Loop and Learn limits

There's now a row for your Closed Loop and Learn compensation limits — and it judges them against how far your tune has actually got, not against a fixed number. Wide limits on a tune whose full-throttle cells have never been corrected are the right setting, so it says so plainly, because you'll find advice telling you to clamp them to 20%. The state worth worrying about is the opposite one: limits already tightened before those cells were ever validated, which stops the ECU correcting exactly where it matters most. It also flags a Learn table that has run away, and is explicit that tightening the limits is the last step there, not the first.

Config-only uploads now get real findings from your Learn table

If you upload a config without a datalog, the analysis used to have very little to say. Your saved Learn table is a record of where the engine has actually run and what the base fuel table got wrong there, so it now reads it: whether the file came back off your ECU or is a fresh Wizard calibration, how lean or rich the base table is at idle, roughly what idle vacuum that implies, and which parts of the table your engine has never visited. That last one matters — never-visited cells are exactly why tightening the Learn limits can be the wrong move.

New: catches closed loop switching off for no configured reason

Sometimes closed loop stops correcting while you're holding a steady throttle, with nothing in your settings to explain it — coolant is up to temperature, no limits apply, the throttle isn't moving, and the mixture was already on target. While it's off, the base fuel table alone decides the mixture and it drifts until closed loop takes over and hauls it back, which is what "runs rich for a few seconds at a time" feels like from the driver's seat. The analysis now finds those moments and, deliberately, does not guess the cause — it gives you two things to test in order.

New: checks how fast a boosted tune pulls timing back

On a boosted engine, timing needs to come out as boost comes up — Holley's manual gives one degree per pound as the starting point. A table that pulls back too slowly looks fine at low boost and gets worse the harder you lean on it, which is the version that's easy to miss. The analysis now measures that rate on boosted setups, checks the table against what your log shows was actually delivered, and says how many seconds you've spent up there — so it reads as something to fix before you raise boost, not an alarm about damage already done. It won't comment on your zero-boost timing, which is a separate question.

New: spots Learn propping up full throttle while cruise is fine

If your fuel table is short only at wide-open throttle, Learn quietly makes up the difference up there while cruise stays untouched — so the tune looks healthy on average and the only symptom is a lean moment at the start of each pull, before Learn catches up. The analysis now looks at Learn separately at full throttle and at cruise instead of averaging them together, and Tune Accuracy no longer calls a fuel table accurate when it's only accurate at cruise. On a short log it asks you for one more full-throttle pull before recommending a transfer, since that change is permanent.

New: names a coolant sensor that reads high when cold

A coolant sensor that reads 15–20°F high when cold makes the ECU think the engine is warmer than it is, so warm-up gets less fuel than it needs — which is what stalling or stumbling before the engine is hot usually turns out to be. There was already a note that the sensor and air temperature disagree at startup; there's now a proper finding that shows the consequence in your own log, and separates a genuinely bad sensor from a restart of an engine that was simply still warm. It also tells you to replace the sensor before touching any warm-up fuel settings, and the warm-up-lean finding now nests underneath it rather than giving you contradictory advice.

New: tells you when your throttle never actually opened all the way

A blade resting against its stop reads 90–93%. If your log shows the engine pulling hard while the throttle reading stops well short of that, something is limiting travel — a cable, a bracket, a floor mat, a stop screw. The analysis now checks for it, and is careful about what one log can prove: a single push can't tell a linkage limit from a driver lifting early, so that's flagged to check rather than called a fault, while a pedal stopping at the same place on several pushes is called what it is. It also explains why your full-throttle tune isn't wrong — Sniper fuel and spark follow manifold pressure, not pedal position.

New: catches a System Type set for more injectors than you have

If System Type is set to a bigger unit than the one on your engine, the ECU calculates fuel for injectors that aren't there and your Learn table quietly doubles itself trying to cope — which then shows up as rich acceleration, closed loop that never settles, and scattered air/fuel readings all at once. The analysis now works out the injector capacity your ECU is actually calculating with, straight from your log's own fuel readings, and compares it to the injectors your config says you have.

Cold-start logs now get a real warm-up breakdown

Upload a log that starts cold and you'll now get a table of what your engine did at each coolant temperature on the way up — enrichment, air/fuel against target, closed-loop correction, idle speed and timing. Previously this only appeared if your warm-up was running lean in a specific way, so most cold-start uploads showed nothing at all. It also flags two things that were invisible before: a warm-up that's actually fine because closed loop is quietly adding a lot of fuel, and fuel corrections learned when hot being replayed while the engine is still cold. When a log has no warm-up in it, it now says so instead of staying blank.

New: catches a fuel cliff your two tables only create together

Your base fuel table and your saved Learn table can each look fine on their own while the fuel actually injected — the two multiplied together — falls off a cliff at one manifold-pressure line. Opening the throttle sweeps straight through it, which feels like a stumble, hesitation or backfire on tip-in. The analysis now multiplies the two tables and reports any step like that, including the warning not to run Transfer Learning To Base while it's there, since that would bake the step permanently into your base table.

Terminator X: timing-table checks now actually run, and boosted WOT timing reads correctly

The timing table from a Terminator X config was being loaded in a shape the analysis couldn't read, so every timing-table check quietly skipped it — including the new ones. That's fixed, and they now run on Terminator X configs. One consequence matters if you're boosted: WOT timing was being read from the naturally-aspirated part of the table and could report a healthy number while your actual full-boost cells were far lower. It now reads the boost cells and flags them.

New: flags a timing table that was never built for your engine

The setup Wizard writes a placeholder spark table, and on a lot of tunes it never gets replaced — whole blocks of load rows sit identical, so timing barely changes as load comes on. The analysis now says so, and tells you whether that table is live today or only becomes live if you switch timing to the 2D Table type. Two scorecard items that used to praise those tunes have been corrected too: "timing is shaped per cell" is no longer claimed for a table that isn't, and rock-steady cruise timing is no longer scored as good control when it's really just a flat table.

New: spots closed loop quietly giving up at cruise

A new check compares moments where your engine is doing the same job — same RPM, load and throttle — and looks for the fuel command sitting still while the mixture drifts away from target. Working closed loop can't do that; it either corrects the error or moves trying to. The finding says plainly that it can't tell you why from the log alone and lists what produces it, including a drifting oxygen sensor, which looks identical in a datalog. It works on the newer log format where the closed-loop and Learn readings aren't recorded at all.

New: checks when your secondary injectors actually start

If you run Progressive Throttle Linkage, the analysis now reports the throttle position where your secondary injector set really begins delivering, measured from the log, and compares it to the switch point in your config. Across the uploads we can check, the two don't agree — the secondaries come in around half the configured figure — so the check reports what your log shows rather than assuming either number is wrong, and tells you how to measure the mechanical opening point yourself. It matters because fuel going into barrels whose blades are still shut spreads unevenly between cylinders, which shows up as fast air/fuel scatter just above that point.

New: two timing-table shape checks for engines that ping

Timing advance should climb with RPM under load and back off as load rises. Two new checks flag tables that don't: one where the high-load rows hold a single value from idle to redline, and one where advance actually increases as load comes on. Both describe the shape rather than the peak number — a 34° reading can sit inside Holley's published range and still be wrong for low-RPM, high-load driving. The second check is aimed at a common half-fix: lowering your wide-open-throttle number while the part-throttle cells that were also too high stay where they are.

New: catches a warm-up setting that silently switches Learn off

Your Sniper won't save fuel corrections while the coolant warm-up enrichment is still adding fuel — so a warm-up curve that doesn't come back down to 100% until the thermostat opens leaves Learn switched off for most of every drive, and your tune never settles. Nothing on the site could see this before. The analysis now reports the temperature your Learn actually switches on at, how much of the log ran with it off, and the fuel correction the ECU was making but could never save. Tune Accuracy also stops claiming your fuel table is accurate on a log where Learn barely ran.

Coasting to a stop no longer counts as idle

When you lift off and roll to a stop, RPM is still falling and the idle air valve is shut — the engine isn't idling yet, it's being driven by the wheels. Those samples were being averaged into the idle readings, which made steady idles look unstable and produced a "your idle trim is swinging" finding on engines that idle fine. They're now excluded from the settled-idle window, so idle stability, idle mixture and the idle-trim finding all describe your actual idle. Throttle-stop readings are deliberately unaffected.

"Ready to transfer Learning" is now withheld when the tune isn't ready

The transfer-readiness check looked at one log at a time, so a calm idle log could recommend transferring Learning into the base table while the attached tune showed clear signs of an earlier bad transfer — advice that would have made things worse. It now checks the fuel table's condition first and says which finding blocked it, and when Learning has already converged it says "no transfer needed" instead. Separately, low idle timing is no longer reported when the ECU is deliberately pulling timing to bring a high idle down.

Interference results now show the full set of detected events

The interference panel on logs without usable RPM data was missing three of its readings — RPM glitches, throttle-position spikes and timing scatter — along with the short explanation under each number. All three views now show the same complete set. Terminator X users also get corrected cell locations in the fuel-table check.

Terminator X no-start logs are analyzed instead of rejected

If you logged a crank that never caught, the analyzer used to reject the whole file as an unrecognized log variant — the exact log a no-start complaint produces. Those logs now read normally, cranking speed, battery, coolant and air/fuel included, so a hard-start problem can actually be diagnosed from it.

Sharper idle and closed-loop diagnoses

Several diagnoses have been tightened so they only appear when the data can actually support them. The throttle-stop finding now quotes your warm idle rather than a whole-log average, and when your idle target is simply set below what the closed throttle delivers it says so instead of blaming the stop screw. Findings that depend on readings your ECU's log format doesn't include no longer fire on that missing data, and logs with no out-of-gear idle no longer get a confident throttle-stop verdict.

Idle AFR is now judged on your warmed-up idle, not the whole log

On a log that starts cold, idle runs deliberately rich-then-lean while the engine warms, and averaging that in made the Idle AFR card read "too lean" on tunes that idle fine once hot. It now rates the settled, fully-warm idle and mentions the warm-up separately, and a log whose idle never reaches operating temperature says so instead of guessing. A genuinely lean warm idle still gets flagged.

Fixed a false "engine breaks up under load" warning

The RPM-interference check could report that your ECU was losing its crank signal when the datalog only contained a few brief, harmless RPM readings that the engine never reacted to — and it described those readings as dropping when they were actually rising. Both problems are fixed: the check now needs a genuinely large RPM excursion before it flags anything, and it correctly tells you which direction the reading moved, which points at a different cause. Logs with a real interference problem are unaffected.

Terminator X: tip-in analysis, direct-injection stumble detection, and a flex-fuel safety check

Throttle tip-in analysis is now active for Terminator X datalogs — including a new diagnosis for direct-injection engines (Gen V LT swaps) where a stab of throttle from coasting goes lean because rail pressure needs a moment to recover; the analyzer now spots this from the rail-pressure channel and explains why adding acceleration enrichment won't fix it. The config review also warns if a flex-fuel sensor is enabled but the tune has no ethanol compensation — a setup that would run dangerously lean on E85.

No more nagging about the soft rev limiter

If your main rev limiter is set at a sensible RPM, the config review no longer suggests enabling Rev Limiter #1 — the main limiter already protects your engine, and the soft limiter is an optional comfort feature, not a requirement. The suggestion now only appears when the main limiter itself looks off.

Fixes: accurate Target AFR readout and no more nagging about disabled AC Kick

The config review was reading your idle/cruise/WOT Target AFR values slightly off in some tunes — it now reports exactly what your tune commands, and config comparisons no longer show phantom AFR changes. Also fixed: if you've disabled AC Kick, the analyzer no longer suggests turning it down. Analysis is now also accurate for tunes where the fuel or timing table's RPM/MAP ranges were customized.

Config review catches two more root causes

Config review now flags a base fuel table where light-throttle cells carry more fuel than full-load cells at the same RPM — a physically impossible shape for a naturally aspirated engine that usually means bad corrections got baked in during an old misfire or exhaust leak. And a new diagnosis catches cold-idle roughness caused by the timing-vs-coolant table still being at its all-zero factory default, so the engine gets no extra timing when cold — complete with a temperature-by-temperature breakdown from your own log.

Two new diagnoses for AFR signal problems at steady throttle

The analyzer now catches violent AFR swings during otherwise-steady cruising — the "mostly smooth with periodic freakouts" pattern that the cruise-quality check couldn't see — and separately flags when commanded fuel doubles at constant load while the wideband barely moves, which means the AFR reading itself can't be trusted (misfire or sensor trouble). Both work on newer Sniper 2 logs that record fewer channels.

Better detection of ignition signal dropouts

The RPM-breakup detector now catches shorter signal dropouts that the original check missed — on one real log it found all six episodes the owner was feeling as an intermittent misfire, where previously only one was reported. The diagnosis also now says whether the pattern points to a wiring/connector dropout or radiated interference, and lean readings caused by the dropout itself no longer trigger a separate misleading fuel-delivery warning.

New diagnosis: correction limits maxed out

The analyzer now detects when both of the ECU's self-tuning systems — Learn and closed-loop compensation — are pinned at their configured ceilings across the RPM range while AFR still runs lean of target. That combination means the base fuel table is short on fuel and the correction limits are too tight for the ECU to cover it; the diagnosis walks through widening the limits, re-learning, and transferring to the base table.

Smarter tune-accuracy and timing advice

Tune Accuracy no longer reports your VE table as accurate when the self-learning is actually pinned at its correction limit while AFR misses target — that now flags that learn limits may be masking a fueling error. Config review reads wide-open-throttle timing from your actual timing table when you're in table mode (it previously read a setting that's inactive in that mode). And idle-timing advice now matches your ignition setup — HyperSpark and Dual Sync users get table-based fixes instead of vacuum-advance-canister suggestions that don't apply to their hardware.

Fewer false alarms on the health scorecard

Three checks were flagging healthy cars: MAP readings during a normal throttle lift could be counted as electrical interference (especially on boosted engines), a warm restart could be mistaken for a bad coolant temp sensor, and a split-second starter-motor voltage dip could be reported as a weak battery. Each now tells the harmless case apart from the real problem — genuine noise, stuck sensors, and truly weak batteries still get flagged.

Holley Dual Sync setups now get the full timing checks

Configs set up with a Holley Dual Sync distributor were being labeled as a different ignition type, which quietly disabled several idle-timing diagnoses for those cars. The label is corrected and the timing checks now run — including on previously uploaded logs, no re-upload needed.

Scorecard consistency fixes

The EMI/RFI health card could report "No interference detected" on a log where an RPM-breakup-under-load episode had actually been found — those episodes now count toward the noise total and flag the card for attention. Also, Idle Stability no longer shows a "good" rating when a log doesn't contain enough settled idling to judge.

Clearer wording for a brief lean blip at wide-open throttle

When a full-throttle pull is on-target overall but shows one or two momentary lean flickers — the kind caused by a quick throttle transition, not a real fueling shortfall — the WOT fueling check now labels them as harmless transients instead of suggesting you review your fuel table. The stronger "review your WOT cells" wording is now reserved for pulls that actually run lean on average.

Config Cross-References are back on the results page

The section that cross-checks your config file against what the datalog actually shows — including the warning that the attached config doesn't appear to be the tune the log ran on — had stopped appearing after the multi-log redesign. It now renders for every log, and the same flags are visible during tuning reviews again.

Upload reliability fixes

A batch of fixes from an internal audit: a file that fails to process now shows an error banner instead of silently disappearing from the results, uploading more than 5 files now warns you instead of silently dropping the extras, results links with a trailing slash load correctly, and uploads no longer show a false "processing failed" during busy stretches or get stuck on the processing spinner forever.

More honest readings on sparse logs and configs

Drive Playback gauges no longer invent a reading (like an alarming "0.00V") for sensors a log simply doesn't record — they now show "--" as intended. The Config Summary no longer states "No" for settings it couldn't actually read from an older config format, and fuel-only Sniper 2 installs logging in the newest firmware format no longer get false idle-timing warnings.

Smarter cruise-surge detection on noisy RPM signals

Some ignition setups (CD boxes especially) put a lot of electrical noise on the RPM signal, and the analyzer was reading that noise as "cruise surge" — one user saw the warning on six uploads in a row with a genuinely smooth-driving car. Surge detection now separates real slow RPM oscillation from signal noise, and actually catches gentle surges the old check missed. Also fixed: the Timing Mode health card now reads the mode from your attached config instead of guessing from the datalog, and rich tip-in reports now show how deep the rich dip actually went.

Detects when the attached config isn't the tune your log ran on

On Terminator X uploads, the analyzer now compares the self-tuning history saved in your config file against what the datalog actually reports, and warns you when they don't match — for example when an older config file is attached after a new tune was loaded into the ECU. Also fixed two false alarms on automatics: an idle warning that mixed in-gear idle with Park idle, and an "IAC wide open" warning that could fire during the normal settle-down after a hot restart.

Fixed a false "torque collapse" warning on multi-gear pulls

A normal full-throttle run through more than one gear could trigger a false "sudden torque collapse" warning — the analyzer was comparing how fast the engine gained RPM between two pulls without accounting for the fact that a taller gear naturally climbs slower. It now tells a real power ceiling apart from a simple upshift, so ordinary shifted pulls no longer get flagged.

"Show on timeline" now actually zooms to the evidence

Clicking "show on timeline" on a diagnosis card now zooms the Drive Playback chart onto the moment or region the diagnosis is about — previously it only scrolled and highlighted, leaving the chart wherever it was, which could look like a blank graph if you'd accidentally zoomed in. The links now also recover the chart from any stuck zoom, and small mouse twitches while clicking the chart scrub the playhead instead of zooming into a blank sliver.

Terminator X custom outputs and channels

The analyzer now understands Terminator X custom input/output setups — including PWM fan outputs — so cooling advice no longer assumes the built-in fan settings are the whole story. Custom datalog channels you've named in your tuner now show up as their own lanes in Drive Playback, and the knock lane is hidden when knock sensors aren't configured (it always reads zero there).

Results page redesign: easier multi-log navigation, smarter playback chart

Multi-log uploads get a sticky jump-to navigator and clear per-log banners, with the RPM-band views moved up front and the small stat tables grouped into one collapsed “Detailed Stats” section. “Show on timeline” on a diagnosis now turns on the relevant chart lanes, zooms to the evidence, and explains what it focused. The playback chart also picks up every channel your ECU records — including fuel and oil pressure gauges on Terminator X logs — behind a “+ N more” lane toggle.

New diagnosis: real misfire confined to an RPM band

The analyzer now recognizes a genuine misfire that lives in a specific RPM range: the ECU fuels for more airflow than the engine can physically breathe while the oxygen sensor still reads lean, at light load and wide-open throttle alike, with clean readings above the band. The diagnosis points at ignition and mechanical causes, warns against “fixing” it with more fuel, and full-throttle fueling is now judged excluding a detected misfire band — so a clean pull isn’t flagged for a fault it merely drove through.

Power-loss detection, cam-timing checks, and smarter fuel-pressure scoring for Terminator X

On Terminator X logs, the analyzer now compares your full-throttle pulls against each other and can flag a sudden loss of engine power even when fueling looks normal — with a checklist of physical causes to chase. When cam-timing channels are included in the log, it also verifies the cams are actually following their targets. And fuel-pressure scoring now recognizes vacuum-referenced regulators, so a rail that correctly tracks manifold pressure is no longer flagged as a pressure swing.

Results page now speaks driver language

Diagnosis cards lead with the one reading that matters and tuck the rest behind "all readings". Internal metrics like sample counts and statistical jargon are gone from the scorecard and stats sections — timestamps now read as minutes into the drive, and every number left on the page is one you can act on.

Smarter verdicts and better-matched fix suggestions

Very short logs now show "Not Enough Data" instead of judging your tune off a handful of readings. Fix suggestions now match the direction of the finding (rich vs lean) and your hardware, several health cards that previously showed no fixes now include them, and the over-rev check now catches RPM excursions past an enabled Rev Limiter #1.

Smarter analysis when your logs and config come from different days

When an upload bundles older datalogs with a newer config, the analyzer now notices the mismatch and frames its config warnings as forward-looking instead of misreading the logs. Also fixed three false alarms: hot-restart "not enough fuel" warnings based on oxygen-sensor readings taken before the sensor had warmed up, wide-open-throttle fueling judgments made while closed loop was chasing a bad reading, and fuel-pressure "sag" warnings triggered by a single glitched sample.

New diagnosis: closed loop chasing a false lean reading

The analyzer now detects when closed-loop correction maxes out at light load chasing an oxygen-sensor reading that won't respond to the added fuel — the classic signature of a false lean (an exhaust leak near the sensor, a leaky sensor bung, or big-cam overlap dilution), which quietly contaminates the Learn table and causes real over-fueling. Also fixed two false alarms: fuel-pressure warnings triggered by the normal pressure drop when you shut the engine off at the end of a log, and cold warm-up idle being mistaken for in-gear idle.

Fixed a backwards warning about high idle targets

The config review used to warn that a higher-than-typical warm idle target could cause stalling when decelerating to a stop. That was backwards — it's a low idle target that risks a decel stall, while a higher target actually gives idle control more room to catch the engine as RPM falls. The item now describes the real trade-offs of a high target: fuel economy and, on automatics, firmer engagement into gear.

New check: running lean while warming up

The analyzer now flags when your engine runs leaner than the computer is asking for during warm-up, before it reaches operating temperature. A lean warm-up mixture is a common cause of cold-start and not-fully-warm stalling, and it points you at the coolant-temperature enrichment as the fix. The check is careful to ignore the first few seconds after start (while the oxygen sensor is still warming up), so it only fires on a real, sustained lean warm-up.

Deeper Terminator X config analysis

Uploading a Terminator X config on its own now gives you a rated health scorecard — timing, rev limiter, idle, fueling and AFR targets — instead of just a plain summary. The summary also shows more of what tuners care about: target air/fuel ratios, fuel pressure and injector size, closed-loop and Learn status, and where your tune is in its learning cycle. Older config versions now show a clear note about what's available.

Terminator X: catches a misfire-baked fuel table on its own

When an ignition misfire fakes a lean reading, auto-tune can keep piling fuel into the same cells until the fuel table takes on a physically impossible shape. The analyzer now spots that shape in a Terminator X config by itself — even if your log never went wide-open — and warns you not to transfer Learn into the table until the misfire is fixed, which would otherwise bake the bad correction in for good.

Support for newer Sniper 2 datalogs

Some newer Sniper 2 setups record datalogs in a different internal format that the analyzer couldn't read before — those uploads came back as an unrecognized file. They now decode and analyze like any other log, with the full health scorecard, AFR-vs-target accuracy, and diagnoses.

Drive Playback graph now keeps every line in view

When a log had a tall spike — like the AFR pegging lean on decel, common on wideband Terminator X logs — the line could run off the top or bottom of the playback graph. The graph now expands its scale to fit the whole trace so you can see the full spike instead of a flat-topped clip.

New: detects an ignition misfire faking a lean condition

The analyzer now flags an intermittent ignition misfire that fools the wideband O₂ into reading lean — which can trick Closed Loop and Learn into piling fuel into those cells. When a band is commanded far over-fueled yet still reads lean at light-to-moderate load, the analyzer points you at the ignition (coil, plug, gap, wire, cap) instead of chasing it with more fuel. Works on Sniper and Terminator X.

Terminator X: detects boost, nitrous, trans & DBW

Terminator X config summaries now show which power-adder and control features your build runs — boost control, nitrous, transmission control, and drive-by-wire throttle.

Terminator X: rev limiter & 2-step in the config summary

Terminator X config summaries now show your rev limiter mode (soft, spark cut, etc.) and your 2-step launch RPM when one is set.

Smarter cranking-voltage checks on cold starts

A cold battery cranks at a lower voltage, which was tripping false weak-battery and pink-wire warnings on clean cold starts. Those checks now tell a genuinely low crank apart from the normal dip of a cold start, and they run on Terminator X results too.

More accurate CL Comp & Cruise IAC health cards

The CL Comp Rail-to-Rail and Cruise IAC health cards no longer raise a flag for a brief closed-loop correction or a normally-parked idle air valve at steady cruise — they now only fire on sustained issues, and they show ratings on Terminator X results too.

Terminator X: more scorecard ratings

Terminator X results now also rate Decel Fueling and Cruise Timing Stability on the engine health scorecard, where they previously showed as not-yet-supported.

Terminator X: full results page

Terminator X results now show the same complete layout as Sniper logs — drive playback, the engine health scorecard, and the overview, idle, cruise, AFR, and voltage sections — with your configuration summarized once at the bottom. The old beta readout has been retired.

Terminator X: rev limiter check

Terminator X results now flag a rev limiter set high enough to offer no real over-rev protection, with a suggestion to set it near your peak RPM.

Terminator X: cruise & decel scorecards

Terminator X results now rate Cruise Quality and Decel AFR — both previously shown as not-yet-supported — and flag RPM hunting at steady cruise.

Terminator X: Tune Accuracy scorecard

Terminator X results now rate Tune Accuracy — how far your Learn table has moved from the base fuel calibration — instead of showing it as not-yet-supported, and can flag when a tune has settled and is ready to transfer into the base table.

Terminator X: hot-start, WOT & timing checks

Terminator X results now flag more datalog issues — flooded or lean hot restarts and rich after-start flares, injectors maxing out or a fuel-pressure shortfall at wide-open throttle, and dangerously low cruise timing.

Terminator X: more automated diagnoses

Terminator X results now run a broad set of additional checks from your datalog — idle stalls and big-cam idle signatures, coolant-sensor noise, electrical/RFI resets, low-voltage ECU confusion, and several closed-loop and cruise air/fuel issues.

Terminator X: closed-loop tuning checks

Terminator X results now flag closed-loop fueling issues read against your config — trim limits set too tight, wide trim swings at idle, a stay-in-closed-loop throttle threshold set too low, and a too-short decel re-entry delay.

Terminator X: A/C compressor check

Terminator X results now flag a common A/C setup gap — A/C Kick enabled with no A/C Shutdown configured, which leaves the compressor engaged at wide-open throttle and during heat-soak.

Terminator X: idle checks

Terminator X results now flag idle-tuning issues read against your config — idle RPM that's off the target curve, idle-spark correction running at its limits, and a throttle held cracked open with the idle air valve stuck at its hold position.

Terminator X: fuel and cranking checks

Terminator X results now flag a too-lean wide-open-throttle target air/fuel ratio and cranking-fuel problems (a flooded hot restart, or too little cold-start fuel), and the health scorecard now rates WOT fueling, hot start, and cranking voltage.

Terminator X: timing mode now shown

Terminator X results now show whether your ignition is running the load-based 2D timing table or Simple mode, with a short note on what that means for your tune.

More reliable uploads under load

Fixed an issue where an upload could occasionally be reported as failed when several uploads were being processed at the same time. Uploads that hit the processing time limit now report an error instead of appearing stuck on "analyzing" indefinitely.

Analysis accuracy improvements

Restored a decel-popping (overrun backfire) diagnosis that wasn't being surfaced, and stopped over-confidently flagging a healthy, steady-cruise wideband as a "dead sensor" — that case is now reported with appropriate confidence. Health ratings and config values no longer display "NaN" when a log contains corrupt channel data.

Terminator X: no more false low-pressure warnings on cold-start logs

Cold-start datalogs were incorrectly flagging low oil and fuel pressure because the analyzer counted the brief key-on/cranking moment before the engine catches, when those pressures are naturally near zero. The analyzer now judges oil and fuel pressure only while the engine is actually running, so a healthy cold start no longer triggers a scary warning.

Terminator X: fixed impossibly long log durations

Some Terminator X datalogs were reporting nonsensical run times — a short cold-start log showing up as days long — which also threw off timing-based readings like temperature minimums. The analyzer now ignores the placeholder record at the very start of these logs, so durations and the values derived from them read correctly.

Terminator X: Learn-table progress check

When you upload a Terminator X config, the results now report how far your Learn table has converged — whether every cell is settled within a healthy band, or some areas are still asking for noticeably more or less fuel. If you're partway through a drive-and-transfer cycle, it points out which RPM range still needs work so you know whether to keep going.

Cleaner results page: detail sections start collapsed

The results page now opens with the verdict up front — diagnoses, the health scorecard, and the drive playback — while the detailed stat sections (overview, idle, cruise, voltage, and the rest) start collapsed. Tap any section header to open it, or use "Expand all," especially handy on phones where the full page used to be a very long scroll.

Fixed garbled readings on some Sniper config files

Some Sniper config files — typically ones saved straight from the setup wizard — store their settings in a different internal arrangement, which made the Config Review show nonsense values like impossible cylinder counts and unknown ignition types. The analyzer now detects this variant and reads these configs correctly.

Terminator X Max datalogs now supported

Datalogs from Terminator X Max systems (the variant with transmission control) previously came back as "log variant not recognized." The analyzer now reads this format — including ignition timing, knock retard, and oil and fuel pressure channels — so these logs get the full health scorecard.

Smarter pressure and idle checks

If no oil or fuel pressure sensor is wired to your Terminator X, the scorecard now says "no sensor" instead of warning about dangerously low pressure. Idle logs labeled "in gear" in the filename are now scored as in-gear idle — where higher IAC is normal converter load, not a throttle-stop problem — and the cruise mixture check shows N/A when a log contains no cruise driving to grade.

More Terminator X health checks

The Terminator X health scorecard now rates oil pressure and fuel pressure, and the charging and idle-MAP checks that were previously marked "not yet validated" now get real ratings tuned for this platform. The Terminator X config summary also shows your target fuel pressure, injector size, and rev limiter.

Health scorecard & diagnoses for Terminator X

Terminator X datalogs now get a health scorecard and automated diagnoses, the same kind of analysis Sniper logs receive. We start with the checks we've verified for this platform — idle stability, AFR accuracy, idle mixture, IAC/throttle stop, engine temperature, and electrical-noise detection — and clearly mark the rest "not yet validated for Terminator X" while we confirm them, so you only ever see results we trust.

Verified Terminator X readings + Drive Playback

Terminator X datalogs now decode a full set of channels — ignition timing, MAP, TPS, IAC, learn, injector duty, oil and fuel pressure, and more — all confirmed against the Holley software so the numbers are trustworthy. They also get the interactive Drive Playback chart with the correct log timing, so you can scrub or play through the log and watch every channel move over time, the same timeline view Sniper logs have.

Terminator X support (beta)

The analyzer now accepts Holley Terminator X uploads — datalogs (.dl and .dlz) and global configs (.terx). For now you'll get decoded readings (RPM, AFR, coolant and intake temps, voltage, target idle, fuel pressure) plus a configuration summary, while we finish verifying the full health analysis for this platform. Thanks to the community members who contributed sample files.

Calmer, better-aimed advice on several health cards

A batch of results-page refinements: rich deceleration is now described as the normal Sniper behavior it is instead of "unusual", brief lean blips during hard-throttle transitions no longer raise a fuel-delivery alarm when your wide-open fueling is on target, cranking-voltage notes only escalate when the dip actually approaches the problem threshold, and a few recommendations that pointed at the wrong fix — like suggesting more accel fuel on rich tip-ins, or telling a finished tune to widen its closed-loop limits — now point at the right one.

A fresh look for the site

The upload, results, and changelog pages have a new visual design. Everything works the same — same analysis, same links — it just reads better.

Fewer false idle-fueling warnings on cold-start logs

Logs that start cold and warm up could trigger an idle fueling-stability warning even when the warmed-up idle was right on target — the rich warm-up minutes were dragging down the numbers. The analyzer now judges idle fueling from the warmed-up portion of the log, so a healthy tune recorded from a cold start no longer gets flagged.

Fewer false idle warnings on automatic-transmission engines

On automatics, the torque converter naturally raises the idle air-valve position when you're in gear — which is normal, not a problem. The analyzer no longer reads that in-gear idle as a throttle-stop or fueling fault; idle checks now key off your Park idle, so a dialed-in tune stops seeing idle warnings it has already addressed.

Support for another Sniper datalog variant

Some valid Sniper datalogs were being turned away as an unrecognized format. The analyzer now reads this additional variant correctly, so those logs upload and analyze like any other.

Fewer false-positive ratings on healthy logs

Tightened about 30 analysis checks that occasionally flagged healthy, in-spec logs as problems. The rich-decel note now appears only when deceleration is genuinely rich rather than normal sample spread, the idle fueling-stability warning now needs a genuinely wide swing, and the rev-limiter warning only flags settings high enough to actually remove over-rev protection — among other acceleration, idle, and cruise refinements. Across our test logs this cleared about a third of borderline false alarms while still flagging every real problem.

Cleaner ratings on healthy tunes

The results page now hides health cards and warnings that fired as "fair" on well-tuned engines even when nothing was wrong — including the rich-decel warning on current Sniper firmware, where Holley removed the Decel Fuel Cutoff option and rich decel is the expected default. Idle stability and cruise AFR accuracy (previously labeled "AFR Control") also use smarter sample windows, so a clean tune no longer gets flagged just because the log included normal warmup or post-throttle transitions. At the same time, WOT fueling now detects sustained lean periods that a per-sample average can mask — so if your WOT Fueling rating changed, it's flagging a real event, not a regression.

Engine-off logs now recognized

Datalogs captured with the engine off (key-on, engine-off) are now detected and clearly labeled, showing only the readings that are meaningful in that state instead of a misleading all-red health report.

Fewer false-positive diagnoses on the results page

Reviewed the most-fired diagnoses against real logs and tightened four matchers that were over-flagging. Cruise hunting no longer mistakes gentle linear acceleration for engine-side surge, the closed-loop trim diagnosis no longer escalates to high confidence from one transient sample, the rev-limiter warning ignores sub-50-RPM sensor touches, and the engine-stalled card is suppressed when the log simply ends shortly after RPM drops (typically a datalogger disconnect or end-of-drive shutdown rather than a real stall).

Better platform detection for Sniper 1 throttle bodies running V2 firmware

The analyzer was previously mis-identifying Sniper 1 hardware as Sniper 2 when the owner had updated to V2 firmware, which caused some Sniper-1-specific recommendations to be skipped and some Sniper-2-only items to be shown in error. The system now reads the throttle body's hardware identifier directly, so a Sniper 1 running V2 firmware is correctly recognized regardless of firmware version.

Clearer upload errors when files are too big

The upload page now checks total file size before submitting and disables the button with an inline message if you're over the limit, so you find out up front instead of after waiting for the upload to fail. When something does go wrong server-side, the error message now names the actual problem (too large, server unavailable, etc.) instead of the confusing "Unexpected token '<'" message a few users saw recently.

Cleaner diagnosis stack: one issue, one card

When two diagnoses describe the same underlying issue (for example, when a wider-cam idle would trigger both the "big cam" notice and the "high IAC" notice, or when ignition-switch resistance is what's actually causing a cranking voltage dip), the report now leads with the most informative one and tucks the related notices underneath as "downstream effects of this issue." Less visual noise; the same data is still available if you expand it.

Optional tip jar in the footer

Added a small Ko-fi button to the footer. The analyzer stays free; if it has saved you a tuning headache and you want to chip in, the option is there. No tracking, no popups — the button is just a link.

Six new diagnoses for things the analyzer was missing

Added detection for wideband sensors producing impossible single-sample spikes, Target AFR tables left at Wizard defaults that hurt WOT power, acceleration-enrichment curves with the wrong overall shape, the right moment to bake learn corrections into the base fuel table, ignition-switch resistance on the Sniper's switched-12V feed (distinct from a weak battery), and a stronger framing for AC-Kick configurations when no AC use is visible. These came from real review patterns the existing matchers weren't catching.

Sharper diagnoses, fewer false alarms

Tightened several diagnosis thresholds so healthy logs stop getting flagged for normal cruise behavior, and improved the wideband-failure detection to catch sensors that fail at non-standard voltages. Also resolved a couple of cases where two diagnoses were firing on the same engine condition — the more relevant one will surface in those cases now.

Matcher audit cleanup — idle-timing floor and rev-limiter fix

Two follow-ups from a full audit pass on the 52 pattern matchers. The "idle timing too low" matcher now uses 18° as its floor (was 14°), matching the KB-cited Holley-forum recommendation that vacuum-advance-equivalent should be baked into the Sniper timing table — tunes in the 14-17° band now get flagged at medium confidence instead of being silently ignored. And the "rev limiter set too high" diagnosis now surfaces an actionable recommendation in the fix list (set to peak usable RPM + 300-500) instead of leaving the suggestion buried in the prose.

Config scorecard now considers fuel type, induction, and tune intent

Three more health-scorecard ratings got sharpened. WOT timing now scales by fuel type and boost: pump-gas naturally-aspirated stays 26-36°, E85 widens to 30-42° (to credit the octane margin), and boost-enabled configs cap lower at 22-34° (the WOT scalar should be the no-boost peak, with the table pulling timing as manifold pressure rises). Simple timing mode is now flagged "fair" on naturally-aspirated street builds (a missed opportunity, not a fault) but still "attention" when a boost ICF is present (because the 31×31 cells are decorative in Simple mode and can't pull timing under boost). And the AE Correction "flat 100%" reading is now rated "good" — it's the neutral baseline; tapering above 60% TPS is a symptom-driven refinement when datalogs show WOT lean, not a config-only requirement.

Smarter warm-cranking-fuel and idle-target ratings

The config health scorecard's "Warm Cranking Fuel" rating used to claim "most engines need 10-15 lb/hr" universally — but that's the Sniper Wizard's intentionally-rich default, not what engines actually need. Per Holley-staff forum guidance, hot engines typically only need 7-8 lb/hr. The rating now scales by engine displacement and cam aggressiveness (rough rule: lb/hr ≈ displacement / 50 + cam offset), and a 7 lb/hr value on a properly-set-up engine now rates as "good" instead of "attention." The "Warm Idle Target" rating got the same treatment — it now scales by cam type (stock 700-800, street 750-850, street/strip 800-900, race 850-1100) instead of a single threshold that missed the big-cam case. It also now reads the 200°F cell from your idle-target table rather than the 100°F cell, since most engines operate above 180°F.

Quieter diagnoses — four false-positive signatures suppressed

The idle-target-vs-actual matcher now looks up your idle RPM table at the engine's actual coolant temperature instead of always comparing against the 100°F cell — properly-tuned engines no longer fire this warning when running at normal operating temp. The hot-restart lean-crank matcher now ignores brief fuel-vapor purge during clean catches under one second. The rich-decel matcher's recommendations no longer cite a lean-direction fuel-pressure fix. And the warm-cranking-fuel config flag now only fires when an actual warm-start was observed AND the engine didn't catch cleanly.

Config viewer now identifies EFI System Type

Uploaded Sniper configs are now tagged with the EFI System Type they were built for — Sniper 4 Inj, Super Sniper 8 Inj, SniperXFlow 4 Inj, Sniper Quadrajet, MSD Atomic 2.0, and the rest of the 27 hardware variants in the PC software dropdown. Helps disambiguate which hardware family a config targets, which matters because the Sniper PC software shows different tuning controls (MAP Sensor Filter, Closed Loop Advanced Parameters) only on Sniper-2-family configs.

Several Sniper config fields now display correctly

A walkthrough comparing the config parser against the Sniper PC software UI on a real V2 tune turned up several fields that were being read incorrectly. The most visible: After Start Enrichment was showing decay-rate seconds instead of enrichment percentages, the Idle Speed warm target could be off by one temperature bin, and the Closed Loop Compensation Limits grid now surfaces the full 8×8 +/- table instead of just one cell. The Boost and Nitrous sections also surface more fields, including Boost-vs-Time target pressures, Nitrous timing retard depth, and Nitrous Added Fuel Enrichment for Dry-mode setups.

Safer IAC Hold guidance and current-firmware decel analysis

IAC Hold Position recommendations now lead with a 12% target and a documented 10% floor — earlier advice suggesting lower values could trigger stall cascades on some setups. Decel analysis no longer references the older Decel Fuel Cutoff / Decel Wait Time / Reactivation RPM controls that newer Sniper firmware removed; the DIY base-fuel-table workaround is recommended instead. Stall detection now also works on very short clips, and several config cross-reference flags (Simple timing mode, low warm idle target, low warm cranking fuel) that weren't firing previously now do.

Better support for Boost and Nitrous configs

Configs with the optional Boost and/or Nitrous sections enabled are now fully accepted, and their tuning values are surfaced in the analysis output.

More config fields parsed, plus three new diagnostics

The .sniper parser now reads roughly 30 additional config fields — A/C Shutdown, 2nd Fuel Pump, the full Closed Loop / Learn parameter set, and more. Three new diagnostics flag common misconfigurations: A/C Kick enabled without A/C Shutdown, “Stay Closed Loop While TPS is Above” set too low, and a too-short Closed Loop Decel Delay (Lean) that causes lean tip-in stumbles.

More accurate Sniper 1 config parsing

Fixed several Sniper 1 (V1) config parsing bugs that caused Fan, A/C Kick, A/C Override, and CL/Learn limit values to display incorrectly. Sniper 2 (V2) parsing is unchanged.

Smarter cooling-fan diagnostics

The “fan never kicked in” check now only fires when the Sniper actually commanded the fan during the log, so users with externally-controlled fans no longer get false alarms. A new check also flags when Fan #1 or Fan #2 is disabled in your config but the engine still ran hot. Both fans covered.

Smarter rich-decel detection

Samples within 3 seconds of a WOT lift are now excluded, so brief sensor lag from prior rich exhaust no longer triggers false “check for injector leak” flags. When a .sniper config is included, the analysis also compares your Target AFR table against actual decel behavior to distinguish a hardware fault from a tune that’s intentionally rich at cruise.

Smarter “fuel not arriving” diagnosis

The fuel-delivery-loss-under-load matcher fires on a signature shared by three causes: real fuel pressure sag, closed-loop lag on step demand, and AE undershoot on fast tip-ins. The analyzer now clusters the flagged samples into distinct events, classifies each by TPS rate-of-change, and reports the bucket breakdown alongside the diagnosis. When AE undershoot dominates the events, confidence drops and the recommendation flips to the AE table — no more generic “check your fuel pressure” when the data is actually pointing at a tune issue.

Clearer feedback when AI review is missing info

If you check “Request AI-assisted tuning review” but forget the description or email, the Upload & Analyze button no longer just sits there greyed out. A hint under the button tells you what’s missing, and clicking the button highlights the specific field to fill in.

Print-friendly results page

The results page now prints with a clean light background and dark text. Charts still print in the dark theme; everything else (scorecard, diagnoses, cross-references, heatmap) is high-contrast on white paper. Just hit Ctrl+P / File → Print.

Code blocks in tuning reviews

Tuning reviews now display fenced code blocks in monospace, making AFR tables, timing offsets, and parameter lists easier to read.

New diagnoses

Added several diagnosis types: WBO2 open-circuit detection (catches dead wideband sensors), hot-start lean-crank pattern recognition, post-catch rich-flare detection, and fuel-delivery-loss under load.

Improved .dl / .dlz format support

Better auto-detection of Sniper 1 vs Sniper 2 datalog format variants, including edge cases with shorter headers. Fewer "failed to parse" errors on older logs.

Drive Playback

New interactive timeline on the results page — scrub through your drive with synced gauges (RPM, AFR, timing, MAP, voltage, etc.) and click any diagnosis to jump to the exact moment it occurred.

← Back to Sniper Log Analyzer