What's Changed
New Feature 🎉
- MobiFlight 11 - New UI by @DocMoebiuz in #1935
- Remember window size, location and zoom level by @DocMoebiuz in #2180
- Winwing CDU font support with included fonts and auto switching by @Koseng in #2208
- Add support for ProSim in MobiFlight by @tristanmcpherson in #2068
- Drag & Drop between profiles (tabs) by @DocMoebiuz in #2348
- General notification mechanism by @DocMoebiuz in #2380
- Project Dashboard with quick access to recent projects by @DocMoebiuz in #2411
- Community feed by @DocMoebiuz in #2429
- Filter output and input config options based on selected sim from project settings by @DocMoebiuz in #2519
- Smart Auto-Binding for Controllers & improved UX for missing controllers by @DocMoebiuz in #2556
- Add zoom controls to new View menu with keyboard shortcuts by @Copilot in #2586
- New Controller Bindings Dialog by @DocMoebiuz in #2634
- MobiFlight User Login by @DocMoebiuz in #2723
New Hardware Support 🕹️
- WinWing CDU Support by @Koseng in #1947
- Add WinWing PFP7 support by @Koseng in #2098
- Add basic Winwing Pap3 support based on FCU code by @FeikoWielsma in #2131
- Add midi controller profile for AKAI MPK mini MK3 by @DocMoebiuz in #2201
- Add Winwing PFP4 Display support by @Koseng in #2231
- Support for WingFlex FCU Cube by @DocMoebiuz in #2334
- Add support for WinWing 3N PDC and 3M PDC by @Koseng in #2350
- Add basic support for WinWing Airbus Throttle and Sidestick by @Koseng in #2353
- Add Honeycomb Sierra support to MobiFlight by @UntoldForce in #2414
- Add support for AuthentiKit Board by @DocMoebiuz in #2447
- Add WinWing ECAM support by @Koseng in #2544
- Support WinWing AGP without clock display by @Koseng in #2549
- WINCTRL AGP Chrono display support by @Koseng in #2660
- Improved support for Leo Bodnar boards by @DocMoebiuz in #2761
Firmware & Profile Updates 🚀
- added thrustmaster airbus stick right sidestick mode button names by @tigert in #1929
- Add winwing mcdu joystick configs by @Koseng in #1936
- Add WinWing PFP3N configs by @tristanmcpherson in #1938
- Add FBW A32NX CDU Script by @tracernz in #2062
- Add Fly the Maddog X CDU script by @dmarras68 in #2085
- Add WinWing PAP3 display support by @Koseng in #2135
- Fix WinWing PFP7 button labels by @Koseng in #2136
- add supportwinwing mcdu screen for headwind A339x by @belgiumflightsimpilot in #2121
- Fixed issue in Maddog winwing script, now working with dual CDU by @dmarras68 in #2133
- Add Aerosoft CRJ Winwing CDU support by @Koseng in #2174
- Add support for ProSim for the A322 / B737 by @tristanmcpherson in #2042
- [X-Plane 12] Add CDU support for Zibo 737 by @ColinM9991 in #2204
- Add CDU scripts for FlightFactor and ToLiss by @ColinM9991 in #2246
- [X-Plane] Map size correctly in 777v2 and use Boeing font by @ColinM9991 in #2257
- Fix Lowercase lettering in PMDG CDU by @Qowy in #2226
- Kav Simulations Rudder Trim Fix by @Jak-Kav in #2269
- Update coreflighttech_adf_nano.mfmc by @coreflighttech in #2412
- Added Winwing script for the Rotate MD11 in XPlane 12 by @Brutarul in #2316
- Add iniBuilds A340 WinWing CDU display support by @Koseng in #2428
- Add Rotate md80 WW MCDU Script by @pierr3 in #2397
- miniCOCKPIT MobiFlight firmware update v1.0.5 by @KennethKo0312 in #2454
- Added new Prototyping Board files by @DocMoebiuz in #2459
- Add python script for Wingwing PFP3N for CL650 by @heyphets in #2390
- Fix Lowercase lettering in PMDG 737 CDU by @Qowy in #2567
- FSLabs add support for FO MCDU by @Koseng in #2559
- Add Python script for WinWing MCDU for Microsoft EC135 by @BJ-Hawk in #2391
- tfdi MD-11 Replace white up-pointing triangle with delta symbol by @Qowy in #2633
- ini a340: Add special character mapping for 'p' by @Qowy in #2632
- Complete refactor of original script, adding EC135 CPDS to Copilot MCDU by @BJ-Hawk in #2629
- Adds WinWing (WingCtrl) PTO2 LED's, backlight control and Button Labels by @whist007 in #2661
- Support iFly 737 NG Series in Winwing CDU by @ghingres in #2574
- Move MiniOverhead Toliss mcc profile to "xplane" folder by @tigert in #2779
Improvement ✨
- Ensure MIDI devices show in connected devices dropdown by @neilenns in #1945
- Update documentation menu item by @neilenns in #1948
- Set Outputs via DeviceID by @elral in #1950
- Fix the bundled protoyping board configs by @DocMoebiuz in #2001
- Better dark mode startup screen by @DocMoebiuz in #2021
- Improve table information by @DocMoebiuz in #2057
- Performance improvements & refactoring by @DocMoebiuz in #2067
- Fix column overlap by @DocMoebiuz in #2090
- Update URL to Python install docs by @neilenns in #2079
- Support microsoft store python by @Koseng in #2118
- Multi-Select delete and toggle by @DocMoebiuz in #2122
- Auto open new config item after adding by @DocMoebiuz in #2128
- Support multi-select drag-n-drop by @DocMoebiuz in #2130
- Multiple "config files" in project by @DocMoebiuz in #2139
- Remove duplicate guids by @DocMoebiuz in #2143
- Show correct default project name in window title bar by @DocMoebiuz in #2172
- Improve selection colors by @DocMoebiuz in #2177
- Replace Main Menu and Toolbar with new UI components by @DocMoebiuz in #2182
- Use the WinWing CDU screen for error messages and user info by @Koseng in #2200
- Adjust support button graphically by @DocMoebiuz in #2213
- Add save option in File menu by @DocMoebiuz in #2218
- Implement keyboard shortcut mechanism by @DocMoebiuz in #2228
- Ignore FSUIPC aircraft name change events when directly connected to sim by @ColinM9991 in #2192
- Reset filter on project change by @DocMoebiuz in #2263
- Add save button to project toolbar by @DocMoebiuz in #2265
- Rework execution toolbar icons by @DocMoebiuz in #2266
- Update tab styles for better visual consistency by @Seeyuuuuuu in #2256
- Configs are executed with NO controllers connected. by @DocMoebiuz in #2320
- MobiFlight window shows in top after restore and update by @DocMoebiuz in #2322
- Consistent way of inline-editing text labels by @DocMoebiuz in #2328
- Send Keep Awake Packages when running in Test Mode by @DocMoebiuz in #2330
- Controller definitions are organized in sub-folders by @DocMoebiuz in #2335
- Provide notification when new config item is not visible by @DocMoebiuz in #2346
- Add version and migration to Project file by @DocMoebiuz in #2370
- Add missing WinWing PAC trim display support by @Koseng in #2399
- Truncate value for final and raw value by @DocMoebiuz in #2446
- Tabs can scroll horizontally when not enough space available by @DocMoebiuz in #2456
- User can now remove items from project list by @DocMoebiuz in #2460
- Adjust colors for slightly increased pleasantness by @tigert in #2443
- Suppress migration logs while only fetching ProjectInfo by @DocMoebiuz in #2488
- Remove non-existing files from recent project list automatically by @DocMoebiuz in #2489
- Update vJoy libraries to local Win32 build of Brunner library by @cbrauers in #2514
- Reduce logging of VKB encoder events. by @cbrauers in #2516
- display selected simulator name below the thumbnails by @tigert in #2541
- Auto save project settings change by @DocMoebiuz in #2566
- Improve Python script runner by @Koseng in #2570
- Use Embedded Python in MobiFlight by @Koseng in #2572
- [Project Card] Improve Controller Icons & Binding Status visualization by @DocMoebiuz in #2596
- Replace TimeoutDialog error notifications with toast notifications by @Copilot in #2601
- Add scroll buttons for tabs by @DocMoebiuz in #2611
- Fix: Allow execution to continue when individual config items fail by @Copilot in #2619
- Handle unsaved changes on project dashboard by @DocMoebiuz in #2640
- Add error boundaries by @DocMoebiuz in #2658
- For Winctrl FCU and PAP 3 do not retrigger on connect by @Koseng in #2666
- Improve Project List behavior by @DocMoebiuz in #2711
- Show file path in window title bar by @DocMoebiuz in #2714
- Make donation button solid in dark mode for consistency by @tigert in #2536
- Make "add config" buttons solid also in dark mode for consistency by @tigert in #2537
- Remove gray background from "meta" cells (re: #2440) by @tigert in #2441
- Use "profile" for new tabs by @DocMoebiuz in #2739
- ControllerBindings update when Profiles change by @DocMoebiuz in #2743
- Show "input action" in name column by @DocMoebiuz in #2763
- Display extended pin information by @DocMoebiuz in #2789
- Disable suggested text for project name by @DocMoebiuz in #2790
- Context menu for rows on Right-Click by @DocMoebiuz in #2795
- Improved support for Bodnar Boards by @DocMoebiuz in #2800
- Minor fixes for release v11 by @DocMoebiuz in #2813
- Add i18n to main menu by @DocMoebiuz in #2815
Bug Fixes 🐛
- Use uint and TryParse when converting custom device pins by @neilenns in #1918
- Prevent crash when UserCfg.opt can't be opened by @neilenns in #1922
- Handle exception in DeviceMonitor from corrupt WMI registry by @neilenns in #1957
- Fix crash with MSFS2024 SU2 by @neilenns in #2061
- Fix hang at 98% when downloading with no internet connection by @benmcclintock in #2120
- LCD panel doesn't trigger wrong pending changes alert by @DocMoebiuz in #2313
- Prevent possible crash on scan for input by @DocMoebiuz in #2314
- FirmwareExtension value is not overwritten by "hex" by @DocMoebiuz in #2376
- ProSim: Fix reading String, writing Boolean, and input panel not populating by @tristanmcpherson in #2396
- Fix FormatException when adding output config with connected modules by @Copilot in #2598
- Fix crash when device name contains invalid characters by @Copilot in #2617
- Fix crash in WasmModuleUpdater.CalculateMD5 when file access fails by @Copilot in #2618
- Fix Output InputAction placeholder replacement for FSUIPC string offsets by @tristanmcpherson in #2765
- #2651 - Add thread-safe FSUIPC integration by @ghingres in #2655
Bug Fixes (BETA) 🐛
- Truncate long config item
Nameto prevent overlap by @DocMoebiuz in #2008 - Correct behavior when filters have no matches by @DocMoebiuz in #2010
- Fix test mode execution by @DocMoebiuz in #2019
- Merge is working again by @DocMoebiuz in #2020
- Fix WinWing PFP3N last line issue and erroneous display when multiple CDUs are connected by @Koseng in #2017
- Fix FSUIPC in Output Config items by @DocMoebiuz in #2040
- Fix PMDG and MD-11 multi MCU and add PMDG ini config modification by @tristanmcpherson in #2033
- Fix PMDG 777 variants 3rd CDU, multi MCU, and add PMDG ini config modification by @tristanmcpherson in #2035
- Improve fenix winwing cdu logging by @Koseng in #2038
- Precondition type "Config Item" can be used with input configs by @DocMoebiuz in #2041
- Changes in Input Configs are effective without stopping MobiFlight by @DocMoebiuz in #2039
- Display Precondition state for Input Config Items by @DocMoebiuz in #2045
- Change in filename doesn't show as unsaved change by @DocMoebiuz in #2047
- Fix filters for Input Config Devices and Names by @DocMoebiuz in #2050
- Add FlyByWire python script to project file by @Koseng in #2103
- A32NX MCDU: Request Initial Update, Improve Logging by @tracernz in #2108
- fix: unhandled exeption for python version check by @goyzhang in #2077
- Initialize the empty project correctly by @DocMoebiuz in #2142
- Input log shows correctly with multiple configs by @DocMoebiuz in #2146
- Fix missing input events by @DocMoebiuz in #2149
- Save button disabled with new project by @DocMoebiuz in #2155
- Fix the modifier status update by @DocMoebiuz in #2156
- InputExecutor exception: Add try/catch and additional logging for troubleshooting by @DocMoebiuz in #2154
- Fix minimum Python version check by @Nezz in #2162
- Fix backspace event handling by @DocMoebiuz in #2175
- Display variables for current config file only by @DocMoebiuz in #2176
- Winwing CDU: More robust parsing of SimConnect ClientDataArea by @Koseng in #2179
- Fix displayed input line size for Winwng CDU on CRJ by @Koseng in #2186
- Prevent exception in AutoLoadMenu() method by @DocMoebiuz in #2188
- Show correct labels for Joystick and Midi devices by @DocMoebiuz in #2211
- Fix MobiFlight startup error with Winwing CDU by @Koseng in #2217
- Community buttons in toolbar are working correctly by @DocMoebiuz in #2223
- Prevent accessing CoreWebView in case null by @DocMoebiuz in #2225
- Fix python scripts do not start automatically in run mode by @Koseng in #2243
- Fix headwind detection snippet for Winwing CDUs by @Koseng in #2244
- Fix Winwing PFP4 support by @Koseng in #2251
- ProSim: Fix some panels not initializing ProSim datarefs by @tristanmcpherson in #2252
- Improve input event logging by @DocMoebiuz in #2268
- Change threading concept in Winwing CDU ScriptRunner by @Koseng in #2272
- Fix React performance issues by @Nezz in #2281
- ProSim: Keep Alive WebSocket by @tristanmcpherson in #2280
- Refactor code to prevent exception by @DocMoebiuz in #2289
- Resolve Python versioning validation issue in ScriptRunner by @ColinM9991 in #2296
- Make Winwing scripts compatible to python package gql v4 by @Koseng in #2302
- Fix Winwing MCDU screen alignment by @Koseng in #2301
- Fix issue setting font and sending display data at the same time by @Koseng in #2303
- Tab rename activates save button by @DocMoebiuz in #2312
- Fix "link current config" in status bar menu by @DocMoebiuz in #2318
- Import all tabs from project by @DocMoebiuz in #2325
- Scan for input: Only use onPress for InputMultiplexer and InputShiftRegister by @DocMoebiuz in #2329
- Prevent exception by ensuring thread-safe access to updatedValues dictionary by @Leonscape in #2323
- Make sure that space toggles config items consistently by @DocMoebiuz in #2344
- Fix Scan For Input for non-Button devices by @DocMoebiuz in #2364
- Fix vibration WinWing airbus sidestick left and turn off led and vibration on stop by @Koseng in #2367
- Load midiBoard definitions from subfolders by @jamvanderloeff in #2371
- Bugfix - Set LED status via boolean or numerical value by @ColinM9991 in #2372
- Fix setting WinWing device brightness with double values by @Koseng in #2374
- Restore default pointer cursor for buttons by @DocMoebiuz in #2377
- Save will always use mfproj as file extension by @DocMoebiuz in #2431
- Empty properties are not saved to project file by @DocMoebiuz in #2432
- Fix hover color for sponsor icon by @DocMoebiuz in #2436
- Use ellipsis for long project names by @DocMoebiuz in #2437
- Fix ProSim data reference handling by setting type for string values by @tristanmcpherson in #2453
- Fixed missing keyboard inputs in project settings dialog by @DocMoebiuz in #2451
- Controller definition loading messages are now DEBUG level by @DocMoebiuz in #2475
- ProSim: Fix GraphQL boolean by using GraphQL variables by @tristanmcpherson in #2476
- ProSim: Fix boolean write part 2... by @tristanmcpherson in #2497
- Power Saving Mode Fix by @DocMoebiuz in #2502
- Fix vjoy exception by @DocMoebiuz in #2513
- [WingFlex FCU] Fix altitude bug by @DocMoebiuz in #2526
- Fix config exception for old projects where no sim can be auto-detected by @DocMoebiuz in #2588
- Output Input Action correctly displays only sim specific options by @DocMoebiuz in #2589
- Open controller settings dialog if controller not connected by @DocMoebiuz in #2599
- Fix: Clear stale config objects when changing input device types and respect DeviceType during runtime execution by @Copilot in #2600
- Downgrade Newtonsoft JSON to 13.0.3 by @DocMoebiuz in #2603
- Fix issue with always using Fenix Script for CDU by @DocMoebiuz in #2606
- Don't serialize preconditions with only empty precondition entries by @DocMoebiuz in #2607
- Fix unhandled IOException when Wingflex FCU disconnects during operation by @Copilot in #2609
- Update the name of the MobiFlight module in status bar and frontend by @DocMoebiuz in #2697
- Refactor controller bindings by @DocMoebiuz in #2710
- Insert duplicated config item AFTER existing item by @DocMoebiuz in #2712
- Fix exception in OutputConfig Input Actions by @DocMoebiuz in #2746
- Publish frontend message when Auto Run changes, added integration test. by @DocMoebiuz in #2754
- Show Arcaze correctly in Controller Binding Dialog by @DocMoebiuz in #2784
- Prevent drag n drop while editing by @DocMoebiuz in #2791
- Fix "source not set " edge case by @DocMoebiuz in #2794
- Controller Icons are only displayed once per controller. by @DocMoebiuz in #2822
- New default window height prevents clipping. by @DocMoebiuz in #2824
Development 💻
- Make pull request build test more precise by @neilenns in #1956
- Create dependabot.yml configuration by @DocMoebiuz in #1960
- Add frontend build to publish.yml by @DocMoebiuz in #1999
- Add websocket-sharp to list of used components by @Koseng in #2029
- Exclude dependabot PRs from Release Notes by @DocMoebiuz in #2101
- Add translation stats (i18n) by @DocMoebiuz in #2127
- More robust python package parser by @Koseng in #2166
- Add CI check for Python scripts by @Nezz in #2163
- Refactor MapNamesToLabel by @DocMoebiuz in #2210
- Fix broken PR comment artifact link by @DocMoebiuz in #2234
- Update playwright browser list by @DocMoebiuz in #2241
- Improve file filter for Winwing CDU font loader by @Koseng in #2248
- Pin node version in image to 22.17.x by @DocMoebiuz in #2288
- Update to Vite 7 by @Nezz in #2291
- Upgrade Tailwind to v4.0 by @DocMoebiuz in #2326
- Pin windows runner to 2022 by @DocMoebiuz in #2360
- Bump npm packages and fix playwright tests by @DocMoebiuz in #2383
- Bump react npm packages by @DocMoebiuz in #2385
- Update lucide and react-i18next to latest versions by @DocMoebiuz in #2387
- add npm install to postcreatecommand, add poststartcommand by @tigert in #2435
- Update target paths for dependabot by @DocMoebiuz in #2466
- Update @playwright/test to 1.57.0 by @DocMoebiuz in #2503
- Use latest LTS version and only run on PRs to main by @DocMoebiuz in #2518
- Upgrade Test Framework to 4.0.2 by @DocMoebiuz in #2520
- Remove dependency to lucide icons by @DocMoebiuz in #2547
- Delete duplicate files differ only in casing by @eFloh in #2539
- Manual update of some deps 2025/01/01 by @DocMoebiuz in #2562
- Refactor JoystickManager to use factory pattern for controller instantiation by @Copilot in #2551
- Winwing refactor - Introduce WinwingBaseController by @Koseng in #2577
- Add copilot instructions to repository by @DocMoebiuz in #2583
- App.tsx - Refactor Backend State Updates and Progress Bar by @DocMoebiuz in #2729
- Use latest v11 npm and set git safe.directory on build by @DocMoebiuz in #2738
- Show window size debug info only for development by @DocMoebiuz in #2740
- Add new hardware support category to release.yml by @DocMoebiuz in #2817
- Add 'code-cleanup' label to Development section by @DocMoebiuz in #2818
Other Changes ⚡
- Update feed with new news 2026-02-23 by @DocMoebiuz in #2744
- Display "-" when no controller is selected by @DocMoebiuz in #2828
New Contributors
- @tristanmcpherson made their first contribution in #1938
- @tracernz made their first contribution in #2062
- @goyzhang made their first contribution in #2077
- @dmarras68 made their first contribution in #2085
- @benmcclintock made their first contribution in #2120
- @FeikoWielsma made their first contribution in #2131
- @belgiumflightsimpilot made their first contribution in #2121
- @Nezz made their first contribution in #2162
- @ColinM9991 made their first contribution in #2192
- @Qowy made their first contribution in #2226
- @Seeyuuuuuu made their first contribution in #2256
- @Leonscape made their first contribution in #2323
- @jamvanderloeff made their first contribution in #2371
- @Brutarul made their first contribution in #2316
- @UntoldForce made their first contribution in #2414
- @pierr3 made their first contribution in #2397
- @heyphets made their first contribution in #2390
- @eFloh made their first contribution in #2539
- @Copilot made their first contribution in #2551
- @BJ-Hawk made their first contribution in #2391
- @whist007 made their first contribution in #2661
- @ghingres made their first contribution in #2574
Full Changelog: 10.5.3...11.0.0