What's New

Features, fixes, and improvements shipped to Foil.tools. Found something broken? Tell us — reported issues get fixed and land here.

September 2026

NewWingAPI

Trim an aircraft: /trim and analyze_trim

The level above the wing. /trim places a main wing and a stabiliser from your saved designs or the templates, sets a centre of gravity in x and z, and solves the trim on a lifting line that meshes every surface into one wake — so the stabiliser flies in the wing's downwash rather than in free air, which is the difference between a stabiliser that adds what it adds alone and one that adds about half of it. The page draws the balance as a free-body diagram to scale, reports the trim angle, the stabiliser setting, the load on every surface, the thrust the x-balance demands and the static margin in millimetres and chords, and refuses a speed the craft cannot fly with a reason rather than trimming it silently. Masts, pods and fuselages enter as drag elements with a height. Three templates open it: a hydrofoil with the rider a metre up on a mast, an RC trainer, and the Cessna-class light single. The same solve is the analyze_trim connector tool. Paid-only, with no free allowance; the closed-form tail-volume estimate stays free beside it.

Try it →
NewSelector

A mission point can be a stall check instead of a target

Every operating point on /input and the find_airfoil tool has been a weighted target — a speed and an importance you assigned it. Some points aren't preferences, though; they're loads a section either survives or doesn't. Mark a point Constraint and give it a load in Newtons, positive or negative, and the selector checks that a section actually reaches it with margin instead of scoring it, excluding and naming any section that can't. This is the real fix for a stabiliser's trim load, which previously had to be back-solved into an equivalent mass on the whole-craft field; enter the load directly instead, in either direction.

Try it →
ImprovedSelector

The airfoil selector can weigh more than drag

The selector has always ranked sections by one number: drag at each operating point, weighted and summed. It still does by default, and the default ranking is unchanged. A new Selection criteria panel on /input adds the other things a designer weighs when choosing a section — Clmax at the operating Reynolds number, how abruptly lift falls past the peak, pitching moment, the ratio of Clmax to minimum drag, and how far the best-L/D angle sits from the main operating angle — each scaled across the candidates and weighted as you choose, in the manner of the decision matrix in Gudmundsson's design text. Every result now shows where it stands on each criterion, so the ranking explains itself, and a textbook preset weights stall gentleness highest because a lower peak with a gentle stall is usually the better section. The find_airfoil connector tool takes the same weights as criteria_weights.

Try it →
NewWing

Size a stabiliser before you solve it

The wing designer's Design tab has a Stabiliser card: enter a tail's area, arm and aspect ratio and it returns the tail volume coefficient, the wing-plus-tail neutral point and the static margin for a CG you choose — closed form, no solver, saved with the design. It says what it leaves out: no fuselage, tube or mast, and a textbook downwash rather than a solved one, so read the margin as an upper bound until the trim solver lands. It will compare your tail volume against the site's own rigs once enough of them carry a stabiliser; aircraft figures are deliberately not shown as targets.

Try it →
NewWing

A Checks card closes out wing analysis

Wing analysis now ends with a requirements re-check instead of just a set of numbers to compare: a Checks card reads whether the wing stalls root-first, whether every station stays inside the airfoil library's measured Reynolds range, and whether the pitching moment at cruise means a large trim load, each with a pass, warn, or fail and a link back to the methodology page. Three checks — whether the Stabiliser card's static margin sits in a reasonable band, stabiliser Cl headroom, and cavitation or free-surface effects — are marked not available yet rather than skipped, so the requirement is visibly asked even before the site can answer it. The Design tab also gains inline notes by the taper and twist controls: a taper ratio near 0.35 gives close to the least induced drag, an untwisted taper can stall all at once, and washout is worth adding only after the Checks card says the wing stalls at the tip. The workflow's fifth step is renamed "Check & decide" to match.

Try it →
NewWing

Wing analysis now says where the wing stalls first

3D wing analysis reports a stall-progression block alongside the polars: the span station where local Cl(y) first reaches the local section's Clmax, and a verdict of root-first, mid, or tip-first. The spanwise-loading chart overlays the local Clmax as a dashed curve over Cl(y), so the station where the two lines meet is visible directly rather than left to a separate number. This is the method the design textbooks use for stall progression — a wing that stalls root-first keeps lift and control at the tip past the break, while tip-first is the pattern to design out with washout or a higher-lift tip section. Analyses saved before today still render with the older alpha-margin estimate.

Try it →

August 2026

NewAPI

Connect foil.tools to Claude, ChatGPT or Grok

Add https://foil.tools/api/mcp as a connector in your assistant, sign in, and it can search the library, pull stored polars, run 2D analysis, optimize sections, analyze 3D wings and save the results to your account — no API key to paste. Previously the MCP server only accepted a key typed into a config file, which none of the three assistants let you do. Sign-in goes through Clerk; foil.tools never sees your password, and you disconnect from your assistant's own settings. Two things worth knowing before you connect: the grant covers your whole account, including the ability to spend credits on optimization and wing analysis and to save designs into it, and there is no read-only connection to choose instead. API keys keep working exactly as before and remain the route for scripts and clients that cannot sign in.

Try it →
NewAPI

An assistant can save its work to your account

Anything an assistant designs for you can now be filed rather than left in the chat: optimized sections land under Dashboard → Foils, wing station tables under Wings, and analysis runs under Wing Analyses, the same places the site's own Save buttons write to. This closes a real gap — an optimization costs credits and produced something that vanished when you closed the tab. Saving is free and only ever adds: nothing an assistant does can delete or overwrite work you already have, and removing things stays something you do yourself in the dashboard. A free account holds ten of each. If your assistant does not offer the save tools yet, disconnect and reconnect the connector — clients cache the tool list from when they connected.

Try it →
ImprovedOptimize

2D polar analysis is now free

NeuralFoil 2D analysis no longer costs a credit per run. It is free and rate-limited instead, at 120 runs an hour. The change is because of how assistants use the tools: a single conversation about choosing a section can run ten or twenty analyses while it narrows the field, and metering that per call would empty a month's free allowance in one sitting and make the connector useless for the thing it is best at. Optimization and 3D wing analysis are unchanged — they are genuinely expensive to run, and they stay on credits at 3 and 1–3 respectively. If you bought credits expecting to spend them on 2D analysis, they do not expire and remain good for the metered tools.

Try it →
NewGallery

Publish a wing design, and build on someone else’s

Designs you save can now be published to a public gallery, with the geometry and the analysis that produced them attached — so a reader sees the actual planform, the actual station table and the actual polars, not a screenshot of them. You choose per design how far that goes: showcase publishes the shape, the numbers and the curves, while open additionally releases the editable geometry so anyone can load it into the designer and spin a variation. That choice is enforced on the server, not by hiding a button, and you can change it or unpublish at any time from your dashboard. Forks keep their lineage, so a design shows what it came from and what came from it, and any two wings can be put on shared axes with a table of exactly what differs. Discussion happens on the design itself rather than in a thread that gets buried.

Try it →
Legal

Terms, Acceptable Use and Privacy updated for publishing

All three policies take effect August 18, 2026, superseding the June 16 versions. Terms §5.1 adds the licence that publishing grants — public display and distribution, and for designs published as open, the right for others to download them and create derivative designs. You keep ownership, and none of it applies to anything you have not published: saved designs stay private by default and nothing changed retroactively. Acceptable Use §3a covers conduct between users, and §3b describes how comments are screened and how to appeal a decision you think is wrong. Privacy §3.1 spells out exactly what a published design makes public, including your handle, bio and avatar.

Try it →

July 2026

FixedWing

Wing analysis credit pricing corrected

VLM wing analyses were being overcharged in three ways: the run-cost shown before you clicked Analyze was one credit lower than what was actually billed; panel counts above 16 cost up to three times more despite the solver capping there and producing an identical result; and a constant-lift sweep was billed at VLM rates even though that mode always computes with AeroBuildup. Cost is now derived from the work actually performed, in one place shared by the estimate, the pricing page, and the bill. A VLM run now costs 2–3 credits.

Try it →
ImprovedWing

Wing analysis tells you when it changes method

Constant-lift trim always runs on AeroBuildup, and an alpha sweep falls back to it whenever the vortex-lattice solution comes out non-physical. Both were happening silently. The results panel now says so, and names the engine that produced your numbers. The panel-count selector and preview also stop at the resolution the solver actually uses instead of offering fidelity that was being discarded.

Try it →
FixedOptimize

Optimizer no longer rejects perfectly smooth airfoils

The optimizer bounds how much curvature it will add relative to your starting shape. For a section whose CST weights are evenly spaced — easy to produce in the Kulfan canvas — that budget worked out to zero, making the problem unsolvable before any aerodynamics ran, and reporting only 'IPOPT did not converge'. The budget now has a floor, so a smooth starting airfoil optimizes normally.

Try it →
ImprovedWing

Wing analysis explains why a setup won't fly

If a wing can't carry the load you asked for at any speed in range, the analysis now tells you the lift coefficient it would need, the one the wing actually stalls at, and roughly what speed would work — instead of a generic failure. Same for the opposite case, where the wing makes too much lift to trim.

Try it →
ImprovedAPI

API rate limits now point to the free key

Hitting the 40/hour anonymous limit used to return a bare "rate limit exceeded." It now tells you a free API key raises it to 600/hour and where to create one. If you build against the API, you shouldn't have to guess that a higher tier exists.

Try it →
New

Feedback button on every page

If something breaks, there's now a Feedback button in the corner of every page. It takes one sentence and no account — the page you're on is attached automatically. This exists because the optimizer bug below went unreported for two months; reporting it should never require hunting for a contact form.

FixedOptimize

Optimizer no longer discards successful runs

A converged optimization that overshot a geometry constraint by a negligible margin (thousandths of a chord) was being reported as a hard failure, throwing away a valid airfoil and a real drag improvement. The solver's constraint tolerance is now pinned and graded consistently, so these runs return their result — with a note telling you exactly which bound was marginal. This affected roughly 40% of optimization attempts through June and July.

ImprovedOptimize

Clearer messages when an optimization can't be satisfied

Requests that genuinely can't be solved — CL targets above the airfoil's stall, or mutually contradictory constraints — now explain what went wrong and what to change, instead of showing a generic failure with a raw diagnostic dump.

ImprovedAPI

Free API key raises the rate limit to 600 requests/hour

Creating an API key from your dashboard is free and lifts the developer API from 40 to 600 requests per hour. The same key works with the MCP server.

Fixed

Contact form reliability fix

The contact form was failing silently for some visitors. It now sends server-side, so messages actually arrive.

NewAPI

MCP server: use foil.tools from your AI agent

Search airfoils, pull polars, run 2D analysis, optimize, and analyze wings directly from Claude or any MCP-compatible agent. Nine tools, backed by the same NeuralFoil and AeroSandbox engines the site uses.

Try it →
New

Pay-as-you-go credits

Compute credits for optimization, 2D analysis, and wing analysis beyond the free monthly allowance. No subscription — buy what you need.

Try it →

June 2026

FixedWing

Corrected wing drag prediction

The 3D wing analysis was under-predicting drag. Induced drag now uses a Glauert correction with an AeroBuildup profile-drag component, plus a validity fallback when the vortex-lattice solution is out of range.

May 2026

Improved

Queue feedback for long-running analysis

Analysis and optimization runs now show their queue position instead of appearing to hang under load.

April 2026

NewAPI

Public developer API

Query the airfoil database, fetch stored polars, search by operating point, and pull raw geometry over HTTP. Free tier, no key required to start.

Try it →
ImprovedOptimize

Gradient-based optimizer (IPOPT)

Airfoil optimization moved from SLSQP with penalty terms to AeroSandbox's Opti/IPOPT with analytic gradients. Constraints are enforced properly, multi-point cases honor per-point Reynolds, and runs converge in seconds.

Try it →
Improved

Unified operating envelope

Define your operating points once — as (Reynolds, CL) pairs with weights — and reuse them across analysis and optimization.

NewWing

3D wing analysis

Analyze full wings with AeroSandbox's vortex-lattice method: lift distribution, induced drag, and a constant-lift sweep across a velocity range.

Try it →
NewOptimize

NeuralFoil-powered airfoil optimization

Inverse-design over CST parameters to minimize drag across your operating points, with thickness, camber, pitching-moment, and trailing-edge-angle constraints.

Try it →