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