Skip to content

Releases: TannerMidd/elite-trader

v1.10.1

Choose a tag to compare

@github-actions github-actions released this 09 Jul 20:42

Elite Trader v1.10.1 — security hardening

A small, focused release: GitHub's CodeQL security scan was run against the
whole codebase and every finding (19) is fixed. No features changed —
everything from v1.10.0 works exactly as before.

🔒 What was hardened

Elite Trader serves its UI to your whole LAN (that's how the tablet panel
works), so the API deserves the same care as a public web app:

  • Error messages can never leak internals. Only messages written for the
    player are ever sent back by the API; anything unexpected is logged on the
    machine running the app and the client just sees a generic error.
  • No more path probing via the journal-folder check. The live "is this
    folder right?" validation in Settings now only inspects places a journal
    folder can plausibly live (your user profile / Saved Games / the
    auto-detected folder). Anything else shows as "can't check from here" —
    SAVE still works for exotic setups.
  • A search-query regex could be made slow on purpose (a classic
    denial-of-service trick); it now runs in linear time no matter what's
    typed into module search.

🐛 Also

  • Update-check errors now say what went wrong by name (e.g. ConnectTimeout)
    instead of dumping a wall of connection internals into the Settings panel.

Run from source (run.bat / run.sh) or grab the attached EliteTrader.exe
(no Python needed). On the packaged app, updates install in place — click
Update & restart when it appears.

Full Changelog: v1.10.0...v1.10.1

v1.10.0

Choose a tag to compare

@github-actions github-actions released this 09 Jul 18:03

Elite Trader v1.10.0 — engineering, combat, price history & station intel

The biggest feature release yet — the first wave of the all-in-one roadmap.

🔧 Engineering planner

Pin a blueprint (say, FSD Increased Range → G5) and get a live checklist
of every material the full upgrade needs, checked against your inventory:
exact shortfalls, where each material comes from (hover), material-trader
swap suggestions
from your surplus, and the nearest raw/manufactured/encoded
traders one tap from plotting. A voice callout tells you the moment your list
completes. Includes a built-in "New to engineering?" primer — no wiki tab
required. (wiki)

⚔️ Combat tracker & massacre stacks

Massacre-stack bookkeeping without the spreadsheet: stacks grouped per target
faction with the correct math (kills count for every giver at once — the
largest giver sets the target), progress bars, payouts, and a callout when the
stack completes. Plus session kills / bounty / bond claims, and a rebuy
safety net
— amber under 2× rebuy, red (and spoken) when you can't cover
one. (wiki)

📈 Price history

Stations you dock at (and watched routes) now build price history: a
sparkline column in the station market, and tap any sparkline for a full
price chart
. WATCH alerts survive restarts and re-anchor after firing,
so a collapsing price alerts you once per further 10% step.

🛰️ System stations viewer

Every station in any system — orbital and surface — with pads, economy,
faction, services, and a one-tap expand into its full EDDN-fresh market table.

🐛 Fixes

  • Wide-radius searches (3000+ ly — deep-space life) no longer crash commodity
    search, mining and sell-cargo ("too many SQL variables").
  • Outfitting/module search works from systems Spansh doesn't index (fresh
    discoveries) by falling back to your coordinates.
  • REBUY shown on the location card and flight panel.

Also: the README got a full rewrite (short + sharp, wiki carries the depth)
and the wiki gained Engineering and Combat & Missions pages.


Run from source (run.bat / run.sh) or grab the attached EliteTrader.exe
(no Python needed). On the packaged app, updates install in place — click
Update & restart when it appears.

Full Changelog: v1.9.0...v1.10.0

v1.9.0

Choose a tag to compare

@github-actions github-actions released this 09 Jul 14:32

Elite Trader v1.9.0 — cockpit everywhere, arrange mode & painless setup

🖥️ Every flight-panel page is a cockpit display now

Panel mode used to look right only on the status screen. Now all eight pages
share the same MFD design language — orange rails, glowing letter-spaced
labels, solid chunky controls, touch-sized tables — so the whole app looks like
it belongs on your dashboard.

🧩 Arrange mode

Tap ⇅ ARRANGE (next to the tabs, or the floating ⇅ in panel mode) and every
card collapses to a compact header with a drag handle. Drag pages into the
order that suits how you play — bio signals on top of Explore, jump history
first in Local. Layouts are remembered per page, per device. (Explore now
defaults to bio signals first, too.)

🛠️ Journal setup that just works

  • Auto-detection now resolves a relocated Saved Games folder via the
    Windows known-folder API.
  • New Settings → Journal folder field with live validation ("✓ 60 journal
    files found") — applies immediately, no restart, no environment variables.
  • If the folder doesn't exist yet (app installed before the game's first run),
    the app recovers by itself the moment it appears.
  • The "journal not found" banner now has an OPEN SETTINGS button instead of
    telling you to set an env var.

📄 Release notes in the app

Clicking release notes on the update banner now opens the notes right in
the app instead of your browser (this text you're reading, for instance).

🐛 Fixes

  • SRV / Nomad no longer triggers false "low fuel" callouts — Status.json
    reports the vehicle's tiny tank while you're driving; the app now keeps the
    ship's reading until you're back aboard (fixes the fuel gauge during SRV
    trips as well).

Run from source (run.bat / run.sh) or grab the attached EliteTrader.exe
(no Python needed). On the packaged app, updates install in place — click
Update & restart when it appears.

Full Changelog: v1.8.0...v1.9.0

v1.8.0

Choose a tag to compare

@github-actions github-actions released this 08 Jul 23:35

Elite Trader v1.8.0 — vital voice callouts (fuel scooping & more)

Voice callouts now warn you about the things that actually end deep-space trips.
Toggle them with 🔊 VOICE in the flight panel; every callout also flashes a
banner or toast so it works with sound off.

⛽ Fuel-scoop planning along your route

The app reads your plotted route (NavRoute) and each star's class, learns your
real fuel-per-jump from your last jumps, and watches for the classic strander —
a run of non-scoopable stars (brown/white dwarfs, neutron stars…) your tank
can't clear:

  • "Scoop now" (critical) — you're sitting on a fuel star but the next one
    is farther than your fuel can reach. Top off before you leave.
  • "Top off, N dry jumps ahead" — leaving a scoopable star into a stretch
    with no fuel stars.
  • "Strand risk / no fuel star ahead" — already low with no reachable
    scoopable star; time to replot.
  • Low-fuel warning at 25% (route or not). Quiet while docked.

Scoopable = the KGB-FOAM classes (O B A F G K M) plus proto-stars.

🚨 Other vital callouts

  • Interdiction — "Interdiction detected. Evade or submit." the instant
    you're pulled from supercruise.
  • Hull damage — spoken at 75% / 50% / 25% as your hull drops.
  • First discovery — "…is undiscovered." when you jump into a system no
    commander has scanned before.

Run from source (run.bat / run.sh) or grab the attached EliteTrader.exe
(no Python needed). On the packaged app, updates install in place — click
Update & restart when it appears.

Full Changelog: v1.7.0...v1.8.0

v1.7.0

Choose a tag to compare

@github-actions github-actions released this 08 Jul 19:17

Elite Trader v1.7.0 — filter the Exobiology route by genus

⬡ Pick the genera you actually want

The Exobiology Route now has a row of genus chips (Stratum, Bacterium,
Osseus, …). Tap one or more before you plot, and the route only returns
landable worlds that host those genera — no more wading past every signal on
the way to the species you're farming.

  • Select any combination of genera; the route restricts to bodies hosting at
    least one of them.
  • The genus pick is treated as an explicit choice, so it's never quietly
    relaxed — only the value/gravity filters loosen as a fallback, and the search
    scans further out because a single genus is sparser than "any bio".
  • Matching genera are highlighted in each body's list, and the status line
    shows which filter is active.
  • No chips selected = every genus, exactly as before.

Run from source (run.bat / run.sh) or grab the attached EliteTrader.exe
(no Python needed). On the packaged app, updates install in place — click
Update & restart when it appears.

Full Changelog: v1.6.1...v1.7.0

v1.6.1

Choose a tag to compare

@github-actions github-actions released this 08 Jul 17:04

Elite Trader v1.6.1 — cancel a plot in progress & a real auto-update relaunch fix

⏹ Cancel a plot in progress

Accidentally hit PLOT? While a route is being plotted the PLOT button turns
into a CANCEL button
(in both the main view and the tablet flight panel).
Tapping it stops the sequence within a moment and cleanly releases any keys it
was holding, so a mis-tap no longer types into the galaxy map for ~10 seconds.

🔄 Auto-update now relaunches itself

Fixed the long-standing issue where an update installed correctly but the app
didn't reopen on its own. Root cause: the relaunched onefile exe was inheriting
the old process's PyInstaller bootloader environment (_MEIPASS2), so it tried
to load Python from a temp folder that no longer existed. The updater now
relaunches with a clean environment, which resolves it.

Note: because the installed app is what runs an update, this one update
(from an older build to v1.6.1) may still need you to reopen EliteTrader.exe
once. Every update from v1.6.1 onward will relaunch on its own.


Run from source (run.bat / run.sh) or grab the attached EliteTrader.exe
(no Python needed). On the packaged app, updates install in place — click
Update & restart when it appears.

Full Changelog: v1.6.0...v1.6.1

v1.6.0

Choose a tag to compare

@github-actions github-actions released this 08 Jul 02:41

Elite Trader v1.6.0 — logo, app icon & smarter exobio routes

🎨 A proper logo and app icon

Elite Trader now has a real brand mark — an Elite-style HUD hexagon with an
ascending trade-route glyph — so the app gets a proper taskbar/window icon and a
matching logo and favicon.

🧬 Exobiology route: closest results, however far — never empty

The Guides tab's exobiology route finder no longer stops at a small radius. It
now searches outward as far as needed to find the nearest qualifying worlds, so a
route can span well beyond the old ~20 ly reach. And if nothing nearby meets your
value/gravity filters, it relaxes them and shows the closest bio worlds anyway
(with a note) instead of returning no results.


Run from source (run.bat / run.sh) or grab the attached EliteTrader.exe
(no Python needed). On the packaged app, updates install in place — click
Update & restart when it appears.

Full Changelog: v1.5.1...v1.6.0

v1.5.1

Choose a tag to compare

@github-actions github-actions released this 07 Jul 21:47

Elite Trader v1.5.1 — auto-update relaunch fix

Fixes the one remaining auto-update glitch: after installing an update the app
could close but fail to reopen ("Failed to load Python DLL"), because it tried to
relaunch the new exe a split-second too early. The updater now waits briefly for
the old process to finish tearing down before relaunching, and keeps a one-file
backup so a bad launch is recoverable.

The v1.5.0 → v1.5.1 update itself predates this fix, so it may still need you
to open EliteTrader.exe once by hand after it swaps. Every update from v1.5.1
onward reopens on its own.


Run from source (run.bat / run.sh) or grab the attached EliteTrader.exe
(no Python needed).

Full Changelog: v1.5.0...v1.5.1

v1.5.0

Choose a tag to compare

@github-actions github-actions released this 07 Jul 21:19

Elite Trader v1.5.0 — the Guides hub

The Guides tab is now a proper hub of curated routes, planners and references,
led by a new flagship.

⬡ Exobiology Route — the live "Billionaire's Boulevard"

Finds the nearest landable, low-gravity worlds packed with high-value biology
(Stratum Tectonicas and friends) from wherever you are, ranked by distance with
an estimated exobiology payout, the genera on each body, and one-tap plot plus
route tracking. Because it's built from live Spansh data around your position,
it beats a fixed system list — it works anywhere in the galaxy. Adjustable max
gravity and minimum value.

📚 Reference guides & ship builds

Quick pointers to the community's best resources — engineering unlocks, material
traders, Guardian sites, tech-broker modules — plus ship-build starting points
by role
(exploration, exobiology, mining, trading, combat) that open straight
in EDSY / Coriolis.

Road to Riches and the neutron plotter are still there, alongside the new
additions.


Run from source (run.bat / run.sh) or grab the attached EliteTrader.exe
(no Python needed). On the packaged app, updates install in place — click
Update & restart when it appears.

Full Changelog: v1.4.1...v1.5.0

v1.4.1

Choose a tag to compare

@github-actions github-actions released this 07 Jul 17:50

Elite Trader v1.4.1 — reliable auto-update

🔧 Auto-update now actually installs

The in-app updater in v1.3.0/v1.4.0 could download the new version, close the
app, and then fail to swap it in or relaunch — leaving EliteTrader.new.exe
behind. That's fixed: the installer now retries the swap until the old exe is
fully released and relaunches reliably, and update checks are more robust (they
re-check every 30 minutes instead of every 6 hours, retry on transient errors,
and there's a "Check for updates now" button in Settings).

One-time manual step: because the broken installer is baked into
v1.3.0/v1.4.0, updating from those versions in-app will still hit the old
bug. Please download this EliteTrader.exe manually one more time and
replace your copy. From v1.4.1 onward, updates install themselves in place.

🧹 No leftover processes

Launching a second copy no longer starts a competing server that fights over the
port, and the app now always shuts its server down cleanly on close or error —
so nothing is left running in the background.


Run from source (run.bat / run.sh) or grab the attached EliteTrader.exe
(no Python needed). First run: build the market database from the Database tab.

Full Changelog: v1.4.0...v1.4.1