X-Plane 12.4.4 Release Notes

Welcome to X-Plane 12.4.4 – The SDK Update
NOTAMs
⚠️ Danger: This is an UNSTABLE release (Beta)
This release CAN and WILL contain VISUAL ERRORS and may cause INSTABILITY or CRASHES. The purpose of this release is to help us discover them and fix them. Please report those using the Bug Reporter. Social media or forum reports will be ignored.
This release CAN and WILL contain VISUAL ERRORS and may cause INSTABILITY or CRASHES. The purpose of this release is to help us discover them and fix them. Please report those using the Bug Reporter. Social media or forum reports will be ignored.
⚠️ Please remove XA-Snow and other related snow plugins before using 12.4.4
X-Plane 12.4.4 now features persistant and regional snow placement in live-weather mode!
This means by default, you can visibly see different variations of snow-depth throughout the landscape. However existing snow-addons tamper with this, by setting the whole scene to draw snow, thereby obscuring the realtime placement of snow.
X-Plane 12.4.4 now features persistant and regional snow placement in live-weather mode!
This means by default, you can visibly see different variations of snow-depth throughout the landscape. However existing snow-addons tamper with this, by setting the whole scene to draw snow, thereby obscuring the realtime placement of snow.
Downloads & Documentation
XLua 2.0.0 – Beta 3
X-Plane SDK 440 – Beta 3
Version History

Release Date: October 1, 2026
General
- Fixed the broken installation for Steam users on macOS
Graphics Core Engine
- Fixed numerous errors to improve stability
Graphics
- Fixed trees behind the camera being drawn at full detail in the shadow pass, which cost GPU time for shadows the user couldn’t see
VR
- Fixed lights appearing in a different spot in each eye in VR. This affected the built-in flashlight and plugin lights placed with
xplm_CoordSpace_Camera(XPD-18465)
SDK
- Breaking change:
XPLMDrawCallsno longer applies a hidden window origin. Vertices and scissors are now plain panel coordinates under the current transform, like every other Panel Graphics primitive. Plugins must applytranslate(left, top)andscale(1, -1)before drawing, the inverse of what their mouse handling already does. This also fixes retained ImGui drawings staying where the window was when they were recorded. XLua applies the transform itself inEndFrame, so XLua scripts need no changes. The SDK sample plugins have been updated
Panel Graphics and ImGui
- Nested scissors now work: an ImGui draw call’s scissor combines with any clip already in force, such as an enclosing
XPLMScissorSet, instead of replacing it - ImGui textures can now be created and destroyed at any time, including during a draw callback, and retained drawings can be recorded outside a draw callback
- Fixed a crash when drawing a retained drawing and destroying it with
XPLMDestroyRetainedDrawingin the same callback - Fixed ImGui windows ignoring all clicks after a click on empty space. ImGui windows now claim every click. This affected the SDK sample plugins and XLua ImGui windows, including avionics screens
Browser functions
- Fixed a crash when a browser callback returned its result other than through
XPLMReturnString, for example as a string literal orNULL. The error is now reported to the plugin’s error callback and Log.txt, and the JavaScript Promise resolves tonull - Fixed valid results being rejected when a plugin reused a pointer from an earlier
XPLMReturnStringcall. The result must now be returned during the current call - Invalid JSON from a browser function is now reported to the plugin instead of silently becoming
null. Parsing is stricter: trailing content, comments and trailing commas are rejected, while bare strings, numbers and booleans still work. Very deeply nested JSON resolves tonullrather than failing the Promise - Lua browser callbacks that raise an error now resolve to
nullinstead of crashing. The error appears only in the Lua error log - Corrected the docs: browser callback results must go through
XPLMReturnStringand must not beNULL. Registering anAddBrowserFunctionname a second time is rejected and reported; the old docs said it replaced the earlier callback, which it never did

Release Date: September 28, 2026
General
- Fixed duplicates in translation files
- Fixed an issue when using the Thrustmaster Warthog HOTAS on Linux (XPD-18428)
- Fixed a rounding issue in the Data Output graph
Avionics
G1000
- Pixelate inset map’s NEXRAD like the main map (XPD-18423)
- ADF radio now cycles through STBY/ANT/ADF/BFO modes on the PFD with new softkey text and arrows (supported on planes equipped with an ADF antenna)
- Softkey bar now automatically reverts to the top-level softkeys after 45 seconds of inactivity
- The “fly course reversal?” popup on the approach-transition page now only appears after pressing ENT, not while scrolling through transitions
GNS430 / GNS 530
- Pixelate NEXRAD view to match real world device
Graphics
- Fixed a seaming artifact in the sky dome (XPD-18228)
Graphics Core Engine
- Fixed stutter caused by the defragmenter holding the main pool VMA lock
- Fixed a Zink assertion message during startup (XPD-18413)
- Disabled async compute on macOS which should reduce stutters and frame pacing issues
- Improved the DXGI adapter matching logic (XPD-18418)
- Fixed a crash when using some AMD GPUs on Linux – the Vulkan device advertised sparse features without a sparse queue (XPD-18430)
Systems
- Fixed a power loss when rapidly reducing prop RPM on PT-6 turboprops: the fuel topping governor now shares the prop governor’s RPM trend instead of reacting to the setpoint change alone
User Interface
- Improved screen for sound settings to better guide the user setting the radio volume
Weather Radar
- Clouds in the path of the aircraft are drawn solid now instead of hatched (XPD-18421)
SDK
- Fixed an error in XLua 2.0 where syntax errors didn’t trigger corresponding error messages (XPD-18444)
XPLMLinesStippleno longer ignoresXPLMSetLineCatat the first endpoint (XPD-18441)- Fixed enter key handling when using XLua and ImGui
- Fixed a crash when using array datarefs with XLua
- New API function to return if X-Plane is running in professional mode

Release Date: September 10, 2026
Known Issues
- In case you are experiencing stutters or bad performance, try running X-Plane with the command line option
--gfx_no_defragment - If you see a Zink Assertion Error when starting the sim, try clicking on Retry or Ignore – if that doesn’t help, just disable Zink for the time being
General
- Fixed missing data output windows in certain multi-monitor setups: outputs now appear correctly on every 3-D monitor regardless of where the IOS is placed, and no longer disappear when monitors are stacked vertically
- Improved French translation (XPD-18184)
- New failure called “Random engine failure”
- New feature to allow variants for joystick profiles in case a joystick can have different configurations
- Support for the new rotAIR panels from Flightsim Services
- Support for additional MOZA hardware, including the MTQ Throttle Quadrant and MRP Rudder Pedals
- Added EXIF data for location, altitude, direction, and sim time to screenshots
- Improved Raptor Lake warning for mobile Intel CPUs (XPD-18364)
- General stability improvements (XPD-18143)
Aircraft
RV-10
- Added a new livery
King Air C90
- Fixed autofeather test (XPD-18030)
ATC
- Updated to AIRAC 2609
- When filing a flight plan, the system will set additional data such as alternate airport and cruise altitude in the FMS
- Improved parsing of routes when filing a flight plan
- Limit max altitude while filing a flight plan to 59,000 ft
- Fixed spelling error for MRN – Missions Gouvernementales Francaises (XPD-18184)
- Added new dataref
sim/atc/transponder_assignedto return the assigned transponder code
Avionics
General
- Fixed a crash when trying to create a hold-here in an empty flight plan
Weather Radar
- Improved the sweep animation (the display now updates exactly between the antenna’s position last frame and this frame). This avoids shimmer around the antenna position, which was caused by updating a larger wedge than necessary
- Improved the noise pattern: noise is now applied to the radar sample before the color mapping step. This means noise manifests as some pixels being one color band higher or lower than the surrounding ones, like IRL, rather than all noise pixels being black as before
- Added a smear effect to match IRL, by adding small disturbances to the sampling location in the shader
- Updated the default weather radar color scale to be four-color (green, yellow, red, magenta) like most radars use IRL (removes dark green, dark yellow)
- Changed the NEXRAD color scale to be discrete color bands rather than a linear gradient. The colors themselves, and their matching levels, are unchanged
G1000
- The CLR button will now clear the APR selector (XPD-18144)
- Pixelate NEXRAD display to match IRL depictions
- The yaw damper button on the bezel is now wired to the yaw damper toggle command
- The CDI now shows the double pointer when VOR2/LOC2 is selected
- The turn rate indicator now indicates turn rate in the airplane frame, the only thing the gyro can actually feel
- Load magnetic variation for holding waypoints
- Added an ADF remote tuning function for aircraft equipped with one
- Improved the altitude hold function, as the current altitude should be captured to the nearest 10 ft (XPD-18141)
Graphics
- Updated Zink to the version in Mesa 25.3.4
- Added a new “no FXAA” checkbox in Plane Maker to exclude an OBJ from FXAA
- Improved nighttime lighting performance and accuracy in dense scenes such as large airports, using a new hybrid tiled lighting system. Most lights are processed through the faster tiled path, while any extras are handled separately rather than being dropped
- Improved the clarity of cockpit panels and instruments (reduced instrument blurriness)
- FSR upscaling now applies AMD’s recommended texture LOD bias for a sharper image at all quality levels
- Fixed stutters and performance hitches that could occur when rebaking shared textures, particularly noticeable in scenery-heavy setups
- Improved V-Sync handling on macOS by using Metal’s native mechanism, for smoother frame pacing
- Fixed flashing jetways when looking through glass objects (XPD-18029)
- Improved VRAM usage and load times with high-detail (UHD) meshes, reducing memory pressure from large scenery
- Sparse residency for LIT textures: tiles containing nothing but opaque black are no longer backed by graphics memory, reducing VRAM usage in dense scenery and at large airports. Enabled by default on Windows and Linux; on macOS it remains opt-in and requires Apple GPU family 6 or newer
- Fixed incorrect detection of eligible regions in sparse LIT textures (XPD-18393)
- Fixed holes being punched into areas of LIT textures that should have remained fully opaque black
- Fixed BC2 and BC4 decoding when determining which texture regions can be left unbacked
- Introduced a texture cache to store pre-processed textures on disk so they load faster and scenery streams in more quickly while you fly. The cache size can be configured in the graphics settings, from 0 to 10 GB
- Fixed an error where HITS instruments didn’t work correctly when using more than one (XPD-18253)
- Fixed a crash when using decal masks for detailed textures (XPD-18224)
- Fixed an issue where random black flickering appeared in parts of the screen (XPD-18268)
- Improved device loss diagnostics
Scenery
- Added new static aircraft: A359 (Airbus A350-900), A35K (Airbus A350-1000), C30J (Lockheed Martin C-130J Super Hercules), EUFI (Eurofighter Typhoon), GLF6 (Gulfstream 650), E55P (Embraer Phenom 300)
- Added 70 new liveries for existing static aircraft
- Added overhead powerline facades
- Added accessible passenger boarding ramps
- Added draped letters in black, blue, green, red, and yellow
- Fixed an error where the datarefs to control the aircraft carrier and frigate didn’t work as expected (XPD-18048)
- New enhanced airport Farnborough (EGLF)
- Updated Global Airports, including 535 refreshed airports from the X-Plane Scenery Gateway
Sounds
- Fixed an issue where switching to the copilot’s viewpoint could silence the radios with no way to restore volume in aircraft without a second audio panel; whether a copilot audio panel exists is now configurable per aircraft (with sensible defaults for existing aircraft) and a copilot radio volume slider has been added to the sound settings
Systems
- Fixed an issue where dataref sim/cockpit2/radios/indicators/gps_xtk remains zero even if it should be indicating a cross track (XPD-18159)
User Interface
- Improved display of the NEXRAD overlay on the map window
Weather
- Improved placement of precipitation and thunderstorms
- Improved display of precipitation on the weather radar
- Improved temperature fluctuations at altitude
- Improved weather data to prevent altitude fluctuations while on cruise level (XPD-17982)
- Fixed an issue where the clouds were drawn with lines between them (XPD-17677 & XPD-18003)
- Made high-confidence cloud-type detection stronger and protected against upstream data errors
- Use GRIB data to determine snow coverage
- Snow coverage is now persistent and regionalized: snow remains on the ground after snowfall has passed, and varies between areas instead of applying uniformly across the surrounding region. Different areas can carry different snow depths at the same time
- Persistent snow is available in live and historical weather. In historical weather, if no snow data is available on the server for that date, X-Plane falls back to a model of average annual snowfall
- Persistent snow works with ortho-imagery
- Snow variation is horizontal only (latitude and longitude), not vertical, and does not freeze bodies of water
- Known conflict: XA-Snow and the snow control in Active Sky override the global snow parameters and should be disabled
- Fixed the striped, scrolling cloud and precipitation pattern seen when flying at high latitudes (above roughly 75°N/S) by sampling forecast data over a fixed physical area instead of a fixed number of degrees of longitude
- Fixed weather being discarded near the 180° meridian, a pair of points 10 nm apart straddling the date line measured as 15,000 nm, so METARs and forecast samples on the far side were thrown away. Weather now blends correctly across the date line.
- Fixed local weather variation being applied at full strength everywhere instead of ramping up over the first few miles from the reference point (an inverted cosine inflated the distance by 1/cos²(lat), a factor of 131x at 85°N). Visibility and cloud layers now change more gradually as you fly.
- Visibility now fades from the ground-reported value to clear-air visibility over a physically derived altitude band, estimated from the temperature/dewpoint spread, cloud layers, latitude and season, instead of a fixed 5,000 to 15,000 ft ramp. Low-visibility conditions such as fog, mist and haze now stay in a realistically shallow surface layer rather than hazing the view all the way to cruise altitude.
Plane Maker
- Made additional strings translatable (XPD-18242)
SDK / Web Server API
- New Panel Graphics API, allowing plugins to draw directly in the simulator without going through OpenGL, Cairo or NanoVG. Works across all graphics backends and is available to both C/C++ plugins and XLua scripts
- Added native rendering for Dear ImGui: your plugin brings its own Dear ImGui and X-Plane renders it natively, instead of you routing the output through a drawing path by hand. X-Plane does not ship the bindings themselves
- Added CEF (Chromium Embedded Framework) to the SDK, allowing interfaces to be built with HTML, CSS and JavaScript. Full integration including mouse input and interaction
- Released XLua 2.0, with full support for the Panel Graphics API and native Dear ImGui bindings. XLua now has close to full parity with C/C++ for the rest of the X-Plane SDK: with the exception of a few deprecated functions, the whole API is available to Lua. A single plugin runs both existing, unchanged XLua scripts and new XLua 2.0 scripts
- New API to allow an object to be attached to an aircraft or observer (XPD-17296)
- Improved web server port handling (XPD-18392)
- Improved error messages for the web server
- Click-enabled FBO screens will no longer consume mouse clicks when hidden (XPD-18347)
- Fixed an error where XPLMGetMETARForAirport did not return an empty string with real-world weather disabled (XPD-18355)