We are pleased to offer EdgeTX "Providence" v2.9.0-RC1. As this is a release candidate, there may still be some minor issues that still need work before release. We need your help in testing these builds to ensure there are no major bugs or faults that will cause problems during flight. Please ensure you back up your model and radio settings before updating, fully bench-test your models after updating, and report any issues you encounter.
Migration Information
This version removes support for direct "on radio" migration from versions before v2.6
This version of EdgeTX removes the ability to upgrade on-radio directly from OpenTX 2.3.15 or EdgeTX versions prior to 2.6 (which used the BIN format for storage of model and radio settings). It will however still be possible to migrate settings from older versions of OpenTX and EdgeTX via EdgeTX Companion. In some instances, particularly with some older OpenTX configurations, this is the more reliable mechanism for upgrading.
Highlights of this release include:
- LVGL re-write for the color screen interface is now complete. In doing so, there have been numerous improvements to the curves, special functions, logical switches and telemetry screens. Many thanks to @philmoz for doing a lot of the heavy lifting here.
- Various tabs can be turned on or off globally or on a per-model basis on both colorlcd and B&W radios. Have a helicopter that needs the heli tab, but don't want it showing on all your models? Or don't want to see it at all? The new "Enabled Features" button in the radio setup and model setup screens has got you covered! It looked like this during development.
- Numerous improvements to USB joystick support (allowing for greater control of how your radio controls are presented to the computer), as well as the ability to use your radio in conjunction to the radio simulator that is part of EdgeTX Companion.
- Support added for the Flysky FRM303 AFHDS3 RF module for some radios (NV14/EL18 native, TX16S with a mod, others to be documented). More information about the FRM303 here.
- Support added for the Multiplex MLink JR type module. See #3352 for more information.
- Numerous DSM telemetry fixes thanks to @frankiearzu via #3615, #3366, #3126 and #3690
- B&W screen radios: The time is now shown on the main screen between the horizontal trim sliders.
- B&W screen radios: Some of the longer and less commonly used sections in the model settings are now collapsed by default - i.e. timers, throttle settings, preflight checks, greatly reducing the amount of scrolling necessary.
- Support for Hebrew was added to radio firmware for color lcd radios and a voice pack is also available.
- If you have noise or buzzing when using high RF power outputs and no audio is playing, there is now a mute option for most radios - see #3703, #3710
- For those using the FrSky R9M 2019 in ACCESS mode in conjuction with the hardware mod, a seperate firmware is no longer required. Simply choose the "External Module" option in Radio Settings -> Hardware against the relevant Serial / AUX port. #2562
UI/UX behavioral changes and/or new capabilities:
- Prior to 2.9, when you connected the radio to the computer, two drives would be shown - a firmware drive, and the SD card. As of 2.9, only the SD card drive is shown, since updating the firmware via the firmware drive is extremely unreliable on Windows systems, and only lead to confusion.
- B&W screen radios with haptic vibration motors gave a momentary buzz when the power-on delay has completed. Color lcd radios now also do the same.
- Another layout was added for color radios - 4+2B right side 3QRT+1QRT by @daniel-snowsurf in #3315
Known Limitations and Issues
TBD
Supported radios
The full list of supported radios and their support status can be viewed here on the EdgeTX website.
Installation Guide
https://github.com/EdgeTX/edgetx.github.io/wiki/EdgeTX-Installation-Guide
Flash firmware via Chrome based browser
https://buddy.edgetx.org/#/flash?version=v2.9.0-rc1&filters=includePrereleases
Unofficial builds
Not during the release candidate phase. Multilingual and custom builds will be available after 2.9.0 is released. In the meantime, you can still build your own firmware online following this guide, or ask on Discord for someone to build one for you.
New Contributors
- @padcom made their first contribution in #3006
- @adelton made their first contribution in #3224
- @Xy2019 made their first contribution in #3325
- @pault4r made their first contribution in #3437
- @daniel-snowsurf made their first contribution in #3315
- @Pat6874 made their first contribution in #3447
- @mixMugz made their first contribution in #3575
- @Pancronos made their first contribution in #3505
- @stavfx made their first contribution in #3506
- @alteman made their first contribution in #3699
Full Changelog: v2.8.4...v2.9.0-rc1
What's Changed
- Minor changes to remove compiler warnings when building companion and libsimulator. by @philmoz in #2864
- Changes after using QtLinguist (Danish) by @HThuren in #2738
- fix(ui): check if there is an object to access before accessing it by @gagarinlg in #2886
- Changes to date/time setting on color LCD radios. by @philmoz in #2884
- Add a natural sort order for SD card file browser on color LCD radios. by @philmoz in #2870
- fix(ui) - increase the maximum menu height to better fit some menus (color LCD landscape layout) by @philmoz in #2896
- feat(ui) - Change dialog background color to make buttons more visible. by @philmoz in #2903
- fix(cpn): Fix the size of the YamlStickConfig struct in companion. by @philmoz in #2891
- fix(ui) - UI is not updated when using the 'Add trims to subtrims' button on the Outputs page. by @philmoz in #2908
- fix(cpn): Ignore 'Quit' event in main window on MacOS simulator running by @philmoz in #2874
- fix(color) - Fix file handle leak in theme manager. by @philmoz in #2911
- chore(cpn): Run Qt Linguist updater by @pfeerick in #2685
- More translated by @HThuren in #2907
- Fix source selection for curve display by @eshifri in #2894
- feat(ui): Revised color picker by @philmoz in #2909
- fix(color): Display of model notes when selecting model by @philmoz in #2922
- fix(color): Ouputs tab wrong value used for min/max highlighting by @mha1 in #2926
- fix(color): Center flight mode text and 6Pos numbers by @mha1 in #2893
- feat(color): Quick Model Select, keep active model in view when changing labels by @philmoz in #2895
- fix(ui) - Fix flight mode color on startup, or when theme is edited or active theme is changed. by @philmoz in #2928
- fix(ui) - Ignore hidden file when iterating SD card contents. by @philmoz in #2925
- chore: remove support for binary storage format by @raphaelcoeffic in #2900
- chore: convert RTC to HAL by @gagarinlg in #2866
- fix(translation): Add SpaceMouse/External Module and other minor translation catchups by @pfeerick in #2940
- fix(color): Clear Lua lcd buffer and display 'Loading...' by @philmoz in #2916
- feat: Add Radiomaster Boxer by @3djc in #2877
- fix(ui) - Fix layout size issue (#2961) and improve code readability. by @philmoz in #2962
- Fix display of 6POS display. (#2943) by @eshifri in #2947
- fix(ui) - Make button colors consistent by @philmoz in #2944
- feat(color): Confirm before duplicate or saving model as template by @pfeerick in #2931
- Fix precision for V2 in TIMER LS (#2966) by @eshifri in #2969
- fix(color) - Add missing translations for earlier PR's. by @philmoz in #2971
- fix(lua) - Add missing switch and countdownStart properties to timer functions by @philmoz in #2979
- chore(ui): convert gvars window to LVGL by @gagarinlg in #2945
- fix(ui) - Adjust model setup layout to better fit on portrait LCD screen. by @philmoz in #2956
- fix(color) - Layout updates and bug fixes for curve editor. by @philmoz in #2973
- freeRTOS task stack diagnostics using freeRTOS function by @mha1 in #2976
- lua: fix drawHudRectangle for roll = 0 by @yaapu in #2978
- Fix carryTrim in LUA by @3djc in #2995
- Added turning the red LED before RTC data and blue LED afterwards by @padcom in #3006
- fix(ui) - Update date & time in top bar on model and radio setup pages. by @philmoz in #3037
- Fixed overlapping strings due to line breaks by @ToshihiroMakuuchi in #3004
- Translate OFF in external module setup by @HThuren in #2998
- Danish translation - minor changes by @HThuren in #3053
- fix(cpn): Enforce file extensions on models and settings save and model export by @elecpower in #3025
- fix(cpn) - Delete old models from radio before saving new models by @philmoz in #3020
- fix (ui) - Fix crash on model inputs and model mixes pages if limit on mixes/expos reached. by @philmoz in #2985
- fix(ui,cpn) - Fix error in value conversion when loading logical switch data. by @philmoz in #3026
- fix(ui) - Fix update of V3 when V2 is modified whilst editing a logical switch. by @philmoz in #3049
- chore(bw): fix doubled CRC table in flash by @raphaelcoeffic in #2990
- chore: fix constness to avoid having constants in data segment by @raphaelcoeffic in #2993
- chore(audio): remove legacy ULAW/ALAW audio codecs by @raphaelcoeffic in #2991
- Cleanup title display logic on various pages. by @philmoz in #3059
- Redo PR2583 by @pfeerick in #3064
- feat(fw): Allow using Segger RTT as Debug Output by @dlktdr in #3052
- Seconds count down for timer show elapsed option and Voice/Haptic support by @eshifri in #2711
- Revised Special & Global Functions layout. by @philmoz in #2992
- feat(ui) - New model curves page layout. by @philmoz in #3041
- fix(ui) - Prevent infinite loop and crash in popups. by @philmoz in #3068
- fix(ui) - Prevent multiple instances of the main menu popup being loaded. by @philmoz in #3067
- fix(ui) - Close menu popup on main view when switching to other views. by @philmoz in #3090
- feat(ui) - Add long press handler for new model curves page. by @philmoz in #3091
- fix(ui) - Center align the text in the number input boxes for the curve editor. by @philmoz in #3094
- fix(cpn) - Fix joystick slider mappings in companion. by @philmoz in #3093
- feat(ui) - Add long press for SYS button on main screen. by @philmoz in #3092
- fix(ui) - Button and touch handling for throttle / switch alert screen. by @philmoz in #3061
- fix(ui) - Inputs - curve line is offset by @philmoz in #3099
- feat(mpm): remove FrSky special treatment madness by @raphaelcoeffic in #3032
- feat(cpn): Status dialog when writing models and settings to radio by @elecpower in #3043
- feat(fw): Only attach SD card in USB storage mode by @rotorman in #3045
- fix: B&W MPM protocol offset, subprotocol lists too long by @pfeerick in #3112
- fix(color) - Make new curve handling work like special functions. by @philmoz in #3103
- Update UI for SD log period settings by @mha1 in #3058
- Revised Logical Switches layout by @philmoz in #3019
- fix(ui) - LVGL flex conversion for the theme details edit dialog. by @philmoz in #3078
- fix(ui) - LVGL flex conversion for model template selection pages. by @philmoz in #3076
- fix(ui) - LVGL flex conversion for spectrum analyser footer. by @philmoz in #3077
- fix(color) - Fix flight mode name display in global variables overview. by @philmoz in #3115
- fix(ui) - Convert theme save and delete dialogs to use ConfirmDialog popup. by @philmoz in #3062
- feat(color) - Change global variables layout to better match other pages. by @philmoz in #3116
- fix(color) - Fix footer layout in logical switch monitor page. by @philmoz in #3137
- chore: fix STM32 HAL headers by @raphaelcoeffic in #3123
- fix(color) - Update translations for theme save and delete strings. by @philmoz in #3129
- Companion and radio: Qt changes and aligment in da.h by @HThuren in #3128
- fix(ui) - LVGL conversion for telemetry. by @philmoz in #3070
- fix(ui) - LVGL flex conversion for statistics and debug pages. by @philmoz in #3072
- fix(cpn): Save set main view screen number for special/global function by @elecpower in #3132
- fix(ui) - LVGL flex conversion for custom mixer scripts. by @philmoz in #3071
- PR2995 carryTrim cleanup by @pfeerick in #3121
- fix(color): Duplicate selected theme, update color list by @pfeerick in #3122
- Updated SE translations by @ulfhedlund in #3148
- chore: new module/serial API by @raphaelcoeffic in #3055
- feat(lua): port of NodeMCU Lua53 read-only tables by @raphaelcoeffic in #2994
- Remove obsolete language defines and translations, single source for telemetry sensor names by @mha1 in #3119
- chore: move __global_locale to FLASH by @raphaelcoeffic in #3169
- feat(cpn): Initial RM Boxer support by @pfeerick in #2910
- Hal tick fix by @gagarinlg in #3178
- fix(color) - Use two rows for buttons when translation text is long (CZ) by @philmoz in #3183
- fix(ui) - Trainer setup layout by @philmoz in #3104
- fix(cpn): Update firmware mapping of firmware id to repo by @elecpower in #3160
- fix(b&w): missing timer labels by @raphaelcoeffic in #3173
- Se translation updates by @ulfhedlund in #3194
- chore: remove useless files by @raphaelcoeffic in #3191
- fix: sort mixer lines after loading model by @raphaelcoeffic in #3172
- fix: various issues related to IMU sensor by @raphaelcoeffic in #3171
- fix: enable AUX1 power on TX16S with IMU_LSM6DS33 by @rotorman in #3156
- translation to telemetri plot (DK) by @HThuren in #3166
- feat: MSYS2 build script enhancements by @offer-shmuely in #3165
- fix:
loadRadioSettingsYaml
not honoring checks flag by @pfeerick in #3197 - fix(boxer): Power LED sequence by @pfeerick in #3201
- fix(gh): Mac Cpn action dependency reorder by @pfeerick in #3203
- Fix CRSF GPS heading precision by @3djc in #3177
- fix: logs not written to SD card and SpaceMouse not working by @mha1 in #3208
- fix(yaml): the string compare only matched the number of characters f… by @gagarinlg in #3215
- fix(lua) - Store and update the 'zone' rectangle for Lua widgets. by @philmoz in #3060
- feat(LUA): adds delete command to filesystem API by @rotorman in #3181
- feat(ui): Value widget text alignment options by @rotorman in #3080
- Shmuely/enhance msys2 build script by @offer-shmuely in #3216
- Addressing error: 'uint32_t' has not been declared by @adelton in #3224
- fix(build): packaged openssl files by @elecpower in #2935
- Convert simu/simulator/companion to SDL2 by @gagarinlg in #3085
- fix(yaml): potential unaligned access when reading and writing switch… by @gagarinlg in #3232
- fix(color) - Fix scroll wheel behaviour on inputs, mixes and outputs pages. by @philmoz in #3189
- #3125 Changes to DSM Telemetry to allow LUA scripts to do TextGen by @frankiearzu in #3126
- feat(color) - Update long press handler on model select page. by @philmoz in #3237
- fix(color) - Fix telemetry checks not running in simulator due to inverted logic. by @philmoz in #3246
- feat(cpn) - Companion startup changes by @philmoz in #3210
- Flysky gimbal support for Boxer by @richardclli in #3139
- fix(color) - Fixes and layout updates for theme pages. by @philmoz in #3135
- fix(color,fr) - Fix missing comma in FR translation. by @philmoz in #3270
- fix(cpn): hardware and internal module antenna parameters by @elecpower in #3050
- Translate bootloader by @HThuren in #2946
- Added support for FRM303, enhancement 2863 by @richardclli in #2875
- chore(color) - Add 'title2' to Page class to manage 2nd header title line. by @philmoz in #3238
- feat(color) - Generate layout icon bitmap at runtime to account for screen orientation. by @philmoz in #3282
- fixes hex2char() returning wrong characters for 0xa..0xf by @mha1 in #3302
- Companion configure AUX serial port as "External module" by @elecpower in #2854
- fix(cpn): Model print global and special functions by @elecpower in #3075
- chore(color) - Convert analog debug pages to lvgl. by @philmoz in #3240
- Fixes #3304 - Wrong case used for units of time by @Eldenroot in #3314
- fix(color) - Fix GVAR edit page to show GV value in header on first load. by @philmoz in #3311
- Update danish translation in Companion by @HThuren in #3308
- chore(color) - LVGL update and translation strings for theme file carousel. by @philmoz in #3278
- Translated pots slider warnings by @ulfhedlund in #3281
- fix(b&w) - Fixes for B&W radio UI screens. by @philmoz in #3299
- fix(color) - Fix update of 'end' value in ChannelRange class. by @philmoz in #3239
- Translated curve types by @ulfhedlund in #3319
- feat(b&w) - Show time on the main screen and telemetry screen. by @philmoz in #3306
- Fix the BUG that unplugs the USB and automatically power on by @Xy2019 in #3325
- fix:EL18 power-on backlight before screen content. by @Xy2019 in #3206
- fix(cpn) - Fix handling of the 'show splash' setting for B&W radios in Companion. by @philmoz in #3336
- fix(color) - Adjust page padding for pre-flight checks, trims and throttle setup pages. by @philmoz in #3291
- fix(color) - Make radio and model setup UI more responsive when switching tabs. by @philmoz in #3345
- feat(color) - Make Inputs page '+' button work like other pages. by @philmoz in #3332
- Check MCU type at start by @3djc in #3272
- fix(simulator) - Fix simulator crash introduced in PR #3272 by @philmoz in #3347
- fix(color) - Only create a new model if the user actually selects a template. by @philmoz in #3323
- feat(color) - Implement DISPLAY_TRIMS_CHANGE option for color LCD trim widget. by @philmoz in #3288
- Fix trainer mode translations for BW screens by @3djc in #3354
- feat(ui): elevates the max possible telemetry screens count on color radios by @rotorman in #3073
- fix(B&W): Include gvars in input sources by @elecpower in #3102
- fix(cpn): Add gvars to input sources by @elecpower in #3097
- Created tts_jp.cpp and added "TR_VOICE_JAPANESE" to the *.h file. by @ToshihiroMakuuchi in #3261
- fix(ui): Main view numbering #3073 by @rotorman in #3357
- fix(color) - Adjust the column sizes for the logical switches by @philmoz in #3295
- feat(lua): added serial[Get|Set]Power() to LUA API. by @rotorman in #3265
- fix(cpn) - Joystick preferences in Companion. by @philmoz in #3105
- fix(radio) - Change output value calculation to 'round away from 0' instead 'floor'. by @philmoz in #3292
- chore(cpn): Refactor component updates by @elecpower in #3218
- feat(cpn) - Joystick - connect switches on radio to switches in the simulator. by @philmoz in #3111
- Fix MPM XK shows invalid protocol by @richardclli in #3369
- fix INRM301 failsafe BUG by @Xy2019 in #3298
- DA Companion update by @HThuren in #3379
- fix: Companion X10s Express, ISRM receiver name missing by @mha1 in #3355
- fix: UI - not all detected sensors displayed at detection time by @mha1 in #3328
- fix(cpn) - Fix throttle initialisation in Companion after changes in PR 3111. by @philmoz in #3394
- fix(DSM Tel) Fix for Spektrum GPS Sensor by @frankiearzu in #3366
- Page header unification by @pfeerick in #3326
- Fix the BUG when switching models in EL18. by @Xy2019 in #3385
- Build CN & TW font library, and complete missing Chinese characters by @zyren in #3395
- fix(color) - Improve responsiveness of the model outputs tab. by @philmoz in #3361
- Se translation updates by @ulfhedlund in #3397
- feat(color) - Add LVGL scroll bar where needed. by @philmoz in #3268
- fix(color) - Fix telemetry ID display when 'Ignore instances' is set. by @philmoz in #3399
- fix(pxx1): pulse length should be 8us by @raphaelcoeffic in #3231
- Fix attempt for boot issue by @raphaelcoeffic in #3349
- Various soft serial fixes by @raphaelcoeffic in #3382
- fix: flashing X10E internal module and via S.PORT connector by @raphaelcoeffic in #3374
- fix(cpn) - Fix handling of logical switch 'Edge' parameters in Companion. by @philmoz in #3322
- fix(color) - Some radio settings not triggering an update to the radio.yml file. by @philmoz in #3404
- fix(build) - Fix for yaml generator on MacOS by @philmoz in #3402
- Replace StaticText with LVGL labels. by @philmoz in #3310
- fix: BT not working by @mha1 in #3405
- feat(color) - Change Flight Mode list and edit views. by @philmoz in #3344
- fix(cpn) - paste model to empty slot on B&W radios by @elecpower in #3371
- fix(cpn) - load models into slot based on filename for B&W radios by @elecpower in #3373
- DA radio and companion update 🇩🇰 by @HThuren in #3416
- better debug names on statistics page by @offer-shmuely in #3245
- DA translation bug corrected by @HThuren in #3420
- fix(color) - Adjust portrait layout for debug view. by @philmoz in #3422
- fix (cpn): fw simulator crashes on loading MPM protocol list by @mha1 in #3426
- Win64 Companion build, fix for "Cannot handle non anonymous unions" exception by @pault4r in #3437
- fix: X10access - no PPM output on CPPM pin by @mha1 in #3419
- Fixed IRM301/FRM303 channels scaling problem. by @richardclli in #3449
- feat(color) - Use generic YAML parser to save/load Theme yaml files. by @philmoz in #3346
- fix(color) - Fix issue where top menu bar still active when widget popup menu is opened by @philmoz in #3417
- feat(color) - Show the 'Press any key to skip' message on alerts that currently have no message. by @philmoz in #3433
- feat(radio) - Add 'repeat' option to 'Lua Script' special function. by @philmoz in #3338
- Add layout 4+2B right side 3QRT+1QRT by @daniel-snowsurf in #3315
- Update fr.h by @Pat6874 in #3447
- fix(radio) - Fix crash when editing multi module type on 212x64 LCD B&W radios. by @philmoz in #3459
- fix: undesired MPM protocol selection changes by @mha1 in #3444
- fix(X9lite): Chan. monitor, other display glitches by @pfeerick in #3452
- fix(color) - Fix for custom failsafe settings not being saved to SD card on color LCD radios. by @philmoz in #3463
- Fix the BUG of V0 receiver setting IBUS SBUS; add the setting item of… by @Xy2019 in #3443
- Fixed EL18 failsafe only have 4 channels functioning by @richardclli in #3465
- Work out a dynamic splash screen that fits all screen sizes. by @richardclli in #2764
- chore(color) - Fix TX16S firmware build when DEBUG=YES and INTERNAL_MODULE_PXX2=OFF. by @philmoz in #3460
- fix(color) - Fix memory leak when disconnecting USB in SD card mode. by @philmoz in #3453
- Fix configurable port, solved R9M Access problem and support FRM303 via mod by @richardclli in #3442
- feat(color) - Sort the widget list by display name. by @philmoz in #3476
- feat(color) Add haptic startup buzz for radios with no startup animation by @CapnBry in #3478
- fix(color): Rework rotary encoder acceleration calculation removing double handling by @philmoz in #3441
- fix(radio) - Fix direction detection for rotary encoder on startup. by @philmoz in #3445
- fix(color) - Fix issue where popup telemetry warning can crash radio. by @philmoz in #3439
- Update it.h by @robustini in #3485
- feat(color,cpn) - Updates to the model telemetry page. by @philmoz in #3401
- fix CPN: LUA no debug printout possible by @mha1 in #3472
- feat(color) - Skip model switch delay if mixer not running (e.g. on startup). by @philmoz in #3454
- fix(color): Scroll order for 'FlySky' module options by @philmoz in #3479
- fix: Explicitly list 12-bit ADC resolution by @rotorman in #3488
- fix: corrupt data using soft serial driver by @mha1 in #3329
- Added symbol \u5b57 to CN/TW font conversion. by @richardclli in #3489
- Fix the bug that some sensor values are displayed incorrectly by @Xy2019 in #3386
- fix(radio) - Announce timer value as hours and minutes when played from special function. by @philmoz in #3293
- feat(radio,cpn) - Updates for new joystick system. by @philmoz in #3400
- fix: Building TX16s firmware with -DDEBUG=YES -DCMAKE_BUILD_TYPE=Debug fails by @mha1 in #3510
- fix(color) - Fix '!1x' repeat option broken in PR 3338. by @philmoz in #3520
- chore: add basic stuff for LSP (clangd) by @raphaelcoeffic in #3516
- fix: FLASH overflow detection by @raphaelcoeffic in #3556
- Formating the sd card is a bad idea with EdgeTX by @3djc in #3549
- fix: signal polarity for soft-serial & timer based protocols by @raphaelcoeffic in #3513
- fix(color) - Update GV value in header when precision changes. by @philmoz in #3544
- fix: LUA ignoring GVAR precision by @mha1 in #3540
- fix(radio) - Fix key names for Boxer. by @philmoz in #3536
- fix(color) Fixes for GVAR edit page. by @philmoz in #3563
- Workaround for 'lastopened' value not loaded on startup if stored hash not up to date. by @philmoz in #3521
- feat(color) - Return actual free memory available from 'malloc/new' calls in the 'availableMemory' function. by @philmoz in #3512
- fix(color) - Fix incorrect Lua memory usage values. by @philmoz in #3548
- chore(color) - Fix minor layout issues arising from libopenui PR 89. by @philmoz in #3481
- feat(cpn) Radio types can reference any libsim and/or firmware download id by @elecpower in #3432
- Added default contrast settings for Zorro by @mixMugz in #3575
- fix(color) - Fix 'Custom Mixer Scripts' filter not shown is source selection menu. by @philmoz in #3577
- TLite F4 by @3djc in #3254
- chore: Update French translations by @Pat6874 in #3461
- Review IT by @Pancronos in #3505
- Hebrew audio pack - selection support by @offer-shmuely in #3511
- fix(cpn): T-Lite F4 board capability logic test by @elecpower in #3585
- feat(cpn): Add Hebrew voice to radio settings by @elecpower in #3586
- feat(cpn): update supported radio ui languages by @elecpower in #3587
- Companion + radio - DA update by @HThuren in #3581
- Hebrew radio translation 🇮🇱 by @stavfx in #3506
- Translation of range test by @ulfhedlund in #3584
- fix(cpn): simulate from model only yml file by @elecpower in #3566
- chore(cpn) - Fix compiler warnings when building Companion. by @philmoz in #3383
- fix(radio) - Fix SF 'Play Sound' not working on startup. by @philmoz in #3567
- Support for external Multiplex MLink JR type module by @mha1 in #3352
- RX stat type "Rqly %" for PPM MLINK by @mha1 in #3605
- fix(color) - Fix memory leaks when using 'USB Storage (SD)' connection. by @philmoz in #3547
- fix(radio) - Include internal module type in backup data for EM so radio re-connects to receiver. by @philmoz in #3603
- feat(ui): "Missing or bad radio data" by @rotorman in #3589
- FrSky BT support on B&W RM radio with BLE port by @3djc in #3607
- fix: single and updated source of Multi protocol definitions by @mha1 in #3435
- feat(radio) - Add options to disable radio and model menu tabs. by @philmoz in #3484
- fix: MPM protocol options missing in various protocols by @mha1 in #3504
- chore: Re-enable HELI since now runtime option by @pfeerick in #3616
- fix(color) - Fix window sizes where the ComboChannelBar is displayed. by @philmoz in #3610
- fix(color) - Fix colors when theme is changed. by @philmoz in #3608
- fix(cpn): write sort order and selected labels by @elecpower in #3580
- Build CN & TW font library, and complete missing Chinese characters. by @zyren in #3618
- Fix: first channel omitted in PPM stream by @mha1 in #3598
- fix (telemetry): DSM Telemetry fix for ESC sensor, Binary GPS, RX Battery Sensor Capacity metter by @frankiearzu in #3615
- fix: Auto adjust PPM frame length by @mha1 in #3622
- fix: Remove double
cli
option text by @pfeerick in #3620 - fix(color) - Show/hide the 'Delete All' button on the telemetry page. by @philmoz in #3631
- fix(color) - Fix layout scroll issue with MPM protocol option settings. by @philmoz in #3663
- fix: Create
THEMES
dir if missing when creating a new theme by @pfeerick in #3647 - Robustness measure: HoTT telemetry gps latitude sign may be wrong by @mha1 in #3649
- Solve the messy display after Boxer shutdown by @zyren in #3654
- Translation catchup by @pfeerick in #3619
- SPORT power handling by @3djc in #3636
- fix(el18): Audio output should be OFF if no audio playing by @richardclli in #3670
- fix CPN: simulator crashes on selection of SBUS external module by @mha1 in #3683
- Fix BT sending crc non "byte stuffed" by @3djc in #3685
- Translated theme text by @ulfhedlund in #3664
- fix(color) - Only reset Lua if changing PLAY SCRIPT special function by @philmoz in #3698
- fix(cpn): Add read/write for trainer multiplier in radio.yml by @elecpower in #3694
- fix(telemetry-DSM): Fix for Flight Pack Monitor Sensor by @frankiearzu in #3690
- fix(AFHDS3): Sync UI with Flysky AFHDS3 module stored settings by @richardclli in #3501
- fix: external MPM flash by @mha1 in #3671
- Support changing module type from LUA model.setModule() by @alteman in #3699
- Add EL18 specific build for v2.9 by @richardclli in #3539
- fix: 3POS switches on certain radios not detecting all switch positions by @richardclli in #3568
- fix(radio) - Fix rounding errors in ADC value calculation for 6POS switch. by @philmoz in #3713
- feat: User configurable audio mute by @3djc in #3703
- CPN: user configurable audio mute in radio settings. Supports PR #3703 by @mha1 in #3710