Releases: microsoft/msfs-avionics-mirror
Releases · microsoft/msfs-avionics-mirror
MSFS Avionics Framework v2.3.3
SDK
- [Breaking Change] Changed the
invalidateClimbConstraintandinvalidateDescentConstraintoptions forSmoothingPathCalculatorto take functions that acceptUncomputedVNavConstraintobjects instead ofVNavConstraintobjects. AutopilotDrivernow supports defining a custom output to which it sends pitch and bank commands.- Deprecated the
resetServoparameters forAutopilotDriver::setPitch()andAutopilotDriver::setBank(). - Fixed an issue where the pitch up/down limits for
AutopilotDriver::setPitch()andAutopilotDriver::drivePitch()were reversed. - Fixed an issue where the
zeroRollHeightoption forAutopilotDriverwas effectively ignored if auto coordination was disabled. - Added new
activeSimDurationandapMasterOnproperties toAPValues. Autopilotnow updates thesimRateprop inAPValuesevery update cycle.GPSSatComputercan now be configured to have split non-SBAS/SBAS receiver channels.- Added the ability to manually inhibit satellites by PRN code in
GPSSatComputer. GPSSatComputernow exposes the full covariance matrix calculated from satellite geometry.- Added support to
GpsSatComputerfor simulating predicted satellite geometry and reception state for arbitrary receiver positions (spatial and temporal). - Added new
ContactPointSimVarPublisherclass. - Added new
hyd_actuator_pressuretopic toHydraulicsEvents. - Added new
DataItemUtilsutility class. BingComponentnow supports custom field of view for 3D maps via the new optionalfovprop.SynVisComponentnow supports custom field of view via the new optionalfovprop.- Added a new
HorizonSyntheticVisionLayerclass. - Added a new
getOffset()method toHorizonProjection. - Added an option to
TrafficInstrumentto sync traffic data between primary and replica instances. - Added a new
FlightPlanUtils.isInterceptLeg()method. - Fixed an issue where
Tcascould sometimes not publish thetcas_intruder_removedevent after removing an intruder. - Added a new
FlightPlanUtils.getTerminatorIcaoValue()method. - Deprecated
FlightPlanUtils.getTerminatorIcao(). - Fixed a bug where
Vec3Math.distance()was returning the incorrect value. - Added a new
dmeBiasproperty toFacilityDme. - Created a new
LatLonAltInterfaceinterface. - Added a new option to
CasSystemto allow customization of message sorting. - Added support to
Tcasfor defining a custom data provider for the own airplane. - Deprecated the
Tcas::ownAirplaneSubsproperty. - Added a new option to
Tcasto define whether active surveillance is available. - Deprecated the
lateralModeFailedproperty inAutopilot. - Added new
handleLateralActiveModeReversion()andhandleVerticalActiveModeReversion()methods toAutopilot. - Added a new optional
deactivateMode()method toVNavManager. GenericFlcComputernow provides a null pitch target when it cannot compute one due to lack of data.- Added an overload of the
APVNavPathDirectorconstructor that accepts anAPValuesargument and deprecated the old overload that accepts an event bus instance. - Updated all autopilot director classes (those that implement the
PlaneDirectorinterface) to prevent arming or activation when they do not have access to valid data required for their function. - Fixed all autopilot director classes (those that implement the
PlaneDirectorinterface) to correctly call theonDeactivate()callback. - Added new
DegreesPerSecondSquaredandRadiansPerSecondSquaredmembers toSimVarValueTypeenum. - Added a new
DataItemSubjectclass. - Fixed an issue where
DefaultFlightPathAnticipatedDataCalculatorgenerated data that could cause the calculated flight path to become unstable over successive rounds of calculation. - Added a new
FlightPlan::forEachLeg()method. - Added a new optional
alongTrackOffsetproperty toVerticalData. - Added a new
VNavUtils.planLegs()method. - Added support for along-track (ATK) offsets for constraints in the vertical flight plan.
- Fixed an issue where
SmoothingPathCalculatorwas not correctly updating some vertical leg properties after recomputing the path in certain circumstances. - Added a new option to
SmoothingPathCalculatorthat allows you customize how the minimum and maximum altitudes of a constraint are defined. - Deprecated the
forceFirstApproachAtConstraintoption forSmoothingPathCalculator. - Added a new option to
SmoothingPathCalculatorthat allows you to customize how the calculator selects a target altitude for descent target constraints where the altitude is not constrained to a single value. FlightPathCalculatornow passes a reference to the facility cache to the anticipated data calculator.- Added a new
nameproperty toTrafficContact. - Added new optional
facilityForIcaoprop toMapNearestWaypointsLayer. - Added new optional
airportFacilityDataFlagsprops toMapSystemWaypointsLayerandMapSystemFlightPlanLayer. - Added new
MapSystemKeys.WaypointRendererAirportDataFlagsconst. MapSystemBuilder.withNearestWaypoints()andMapSystemBuilder.withFlightPlan()now pass in the value of theMapSystemKeys.WaypointRendererAirportDataFlagscontext property to theairportFacilityDataFlagsprop of the waypoints/flight plan layers.- Changed various methods in
ArrayUtilsto acceptArrayLike<T>instead ofArray<T>where appropriate. - Added new
FullGridLerpLookupTableandFullGridLerpVectorLookupTableclasses. - Deprecated the
insertBreakpoint()methods inLerpLookupTableandLerpVectorLookupTable. - Added new
MapIndexedScaleFactorModuleclass. - Changed the type of the
deadZoneprop ofMapSystemComponenttoReadonlyFloat64Array | Subscribable<ReadonlyFloat64Array>. - Fixed an issue where
MapSystemController::onDeadZoneChanged()was never called. - Added new
MapSystemSharedFlightPlanLayercomponent. - Added new
withOnAfterRender(),withSharedFlightPlans()andwithSharedFlightPlanDefinition()build steps toMapSystemBuilder. MapSharedCanvasLayerandMapSharedCachedCanvasLayernow respect theclassprop.- Added new
getRoleGroup()method toWaypointDisplayBuilder. - Applied performance optimizations to
MapWaypointRenderer. - Applied performance optimizations to
MapCullableTextLabelManager. - Added a
destroy()method toMapCullableTextLabelManager. MapSystemBuilder.withTextLayer()andMapSystemBuilder.withWaypoints()now include a destroy step to destroy theMapCullableTextLabelManageradded to the map context.- Added new
altproperties toNdbFacilityandVorFacility. - Fixed an issue where
FlightPlannerdid not correctly sync leg user data between different instruments.
GarminSDK
- Updated
HorizonDisplayto use a more realistic field of view for SVT by default. - Fixed a bug in
PitchLadderwhere it could sometimes fail to switch between SVT and non-SVT styles when SVT was toggled. - Added a new option to
TrafficInfoServiceto define whether TIS-A is supported. - Added new optional
airportFacilityDataFlagsprops toMapWaypointsLayerandMapProcedurePreviewLayer. - Added new optional
airportFacilityDataFlagsparameters to the constructors ofFixIcaoWaypointsRecordandProcedureTurnLegWaypointsRecord. - Added new
airportFacilityDataFlagsoptions toMapDefaultFlightPlanWaypointRecordManagerandProcMapTransitionWaypointRecordManager. GarminMapBuilder.waypoints()andGarminMapBuilder.procPreview()now pass in the value of theMapSystemKeys.WaypointRendererAirportDataFlagscontext property to theairportFacilityDataFlagsprop of the waypoints/proc preview layers.- Added a new
airportFacilityDataFlagsoption to all the pre-assembled next-gen map builders. - Fixed
MapSharedFlightPlanLayerto respect theshowprop for flight plans exposed byMapGarminFlightPlanModule. - Added new
TrafficMapFlightPlanVisControllerclass. TrafficMapBuilder.build()now configures the map to hide the display of flight plans when position data is unavailable, if both flight plan display and data integrity are supported.- Fixed a potential out of bounds array access in
FmsUtils.checkForCourseReversal().
G3000
- Added new parameters to the model behaviors
WT_G3000_Knob_Speed_Templateto allow customization of animation sound triggers.
G3X Touch
- Added a new
G3XMapUtils.AIRPORT_DATA_FLAGSconst. - All pre-assembled G3X map builders now build maps that use airport data flags equal to
G3XMapUtils.AIRPORT_DATA_FLAGSwhen requesting facilities for waypoint rendering.
WT21
- Fixed issues with the project setup that prevented the project from being built successfully with the provided build scripts.
MSFS Avionics Framework v2.2.3
All
- Updated Typescript to 5.8.
SDK
- [Breaking Change] Refactored typings on
UserSettingManager. This change was necessary to work around a Typescript compiler issue introduced in Typescript 5.4. - [Breaking Change] Fixed an incorrect declared type on the second parameter of the mapping function accepted by
Subscribable::pipe(). (NOTE:the only change is in the type declarations. Runtime behavior is not changed with this fix.) - Added new utility types.
- Added new
GlidePathCalculator2class. - Added support for the new JS shared global API via the
SharedGlobalclass. - Added support to
FacilityLoaderfor using a facility cache that is shared across instruments. MapAirspaceLayer,MapNearestWaypointsLayer,MapSystemFlightPlanLayer, andMapSystemWaypointsLayercan now take a facility loader as an optional prop.- The following
MapSystemBuildersteps now pass the facility loader saved to the map context under theMapSystemKeys.FacilityLoaderkey (if one exists) to the appropriate layers added by these steps:withNearestWaypoints(),withFlightPlan(),withAirspaces(). - Added support to
MapProjectionfor setting a constant nominal scale factor instead of a constant range. - Added a new overload of
MapFieldOfViewCalculator::calculateFov()that calculates a scale factor instead of a range. APGSDirectornow uses geometric vertical speed instead of barometric vertical speed for its calculations.- Added support for defining custom event sync implementations when creating an
EventBus. BingComponentnow emits a console warning when attempting to set a radius that exceeds the maximum supported value (5000000 m).- Added new
useGreatCirclePathForDiscontinuityoption toFlightPathCalculatorInitOptions. - Added new
ExistingUserWaypointsArrayclass. - Added new
GeoCylindricalClippedPathStreamclass. - Fixed some improperly worded error messages emitted by
GeoProjectionPathStream. MapSystemFlightPlanLayernow supports geographical cylindrical clipping. The new optional propsgeoClipAntiMeridianGapandgeoClipLatitudecan be used to configure the clipping bounds.- Added support to
FlightPathLegToLegCalculatorfor calculating the correct transition when the FROM leg is coded as terminating in a flyover fix. FlightPathLegToLegCalculatorno longer attempts to calculate transitions with turn radius less than 10 meters.- Added a new flight path vector flag:
FlightPathVectorFlags.LegToLegFallback. This flag is written to vectors that belong to a leg-to-leg transition where a fallback path was used because the desired path was not possible. - Added new
ingressBase,ingressBaseJoinIndex,egressBase, andegressBaseJoinIndexproperties toLegCalculations. - Added additional overloads to
GeoCircle::closest(),GeoCircle::offsetDistanceAlong(), andGeoCircle::offsetAngleAlong()that accept anoutargument of typeFloat64Array | GeoPoint. - Added an optional tolerance parameter to
GeoCircle::intersection()andGeoCircle::intersectionGeoPoint(). - Added a new
InterceptCircleToPointVectorBuilderclass. - Deprecated
InterceptGreatCircleToPointVectorBuilder. - Added new
getTangentPointBetweenCircles()anddeepCopyVectorArray()methods toFlightPathUtils. FlightPathLegToLegCalculatornow supports calculating anticipated turns between all vector types.- Added new
FlightPathCircleToCircleTurnclass. - Added support for defining the following types of anticipated data via
FlightPathAnticipatedDataCalculator: altitude, climb rate, ground speed, turn anticipation limits. FlightPathAnticipatedDataContextnow exposes additional data.- Fixed some cases where
FlightPathCalculatorwas not respecting anticipated speed data provided byFlightPathAnticipatedDataCalculator. - Added new
ReadonlyGeoCircletype. - Added new
MapModulePropsControllerclass. MapOwnAirplanePropsControllerandMapAutopilotPropsControllernow support binding props to subscribables and SubEvents.- Added new
SubEventInterfaceSenderTypeandSubEventInterfaceDataTypeutility types. - Fixed declared return types on various methods in
SubscribableMapFunctionsto accurately describe the functions being returned. - Optimized retrieving center and radius from
GeoCircle. - Optimized retrieving latitude and longitude values from
GeoPoint. - Changed the lat and lon properties on
GeoPointInterfaceto readonly properties. This brings the type declaration in line with the original intent as well as the actual implementations ofGeoPointandGeoPointReadOnly. - Changed various uses of the
LatLonInterfacetype to instead useReadonly<LatLonInterface>where a mutable type was not actually needed. - Added support for defining a custom provider of data for
Autopilotvia the newAPDataProviderinterface. - Added a new
CachedValueclass. - Added a new
TimeUtilsclass. - Fixed an issue where
UserSettingSaveManager::stopAutoSave()did not actually stop autosave. - Deprecated the event bus parameter in the constructor of
UserSettingSaveManager. TrafficInstrumentcan now function on a view that does not have a bound Bing map instance.- The Promises returned by
ChartsClient.getIndexForAirport()andChartsClient.getChartPages()will now reject with error codes on data request failure. ChartViewno longer throws an error whenshowChartImage()is called before the view is initialized.- Passing the empty string to
ChartView::showChartImage()no longer crashes the sim. - Extended the charts API to add support for retrieving chart data from arbitrary sources.
- Added new
ChartUtilsclass. RegisteredSimVarUtils.create()no longer infers its first type parameter from its return value. This will help catch mistakes such asconst simVar: RegisteredSimVar<number> = RegisteredSimVarUtils.create(name, 'string');at compile time.- Added new
isViewOwnerproperty toSharedGlobalObjectRef. - Added
typeproperty toIntersectionFacility. BingComponentandSynVisComponentnow support setting a custom camera lat/lon position, offset and rotation when using the 3D mode ("synthetic vision").- Implemented performance and accuracy optimizations for the
GeoCircle::offsetAngleAlong(),GeoCircle::offsetDistanceAlong(), andGeoCircle::rotate()operations.
GarminSDK
- Added new
loadDeparture()andloadArrival()methods toFmsand deprecated the oldinsertDeparture()andinsertArrival()methods.
Added a new option toFmsto specify the facility loader to use.
MapWaypointsLayerandMapProcedurePreviewLayercan now take a facility loader as an optional prop.
The followingGarminMapBuildersteps now pass the facility loader saved to the map context under theMapSystemKeys.FacilityLoaderkey (if one exists) to the appropriate layers added by these steps:waypoints(),procPreview().
NextGenConnextMapBuilder,NextGenHsiMapBuilder,NextGenNavMapBuilder,NextGenNearestMapBuilder,NextGenProcMapBuilder,NextGenWaypointMapBuilder, andTrafficMapBuildernow support an option to specify the facility loader to use when building a map. - Added new
CdiAutoSlewManagerclass. - Updated
GarminAPConfigto create a glideslope director with tracking logic defined by the newGarminAPUtils.glideslopeVsTarget()method. MapSharedFlightPlanLayerandMapProcedurePreviewLayernow use geographical cylindrical clipping to fix cases where flight plan paths could be improperly rendered.- Fixed an issue where
FlightPathDefaultLegRendererdid not correctly render leg-to-leg course reversals. MapGarminAutopilotPropsControllernow support binding props to subscribables and SubEvents.- The various "pre-assembled" map builders now support uncapped data update frequency (via the
dataUpdateFreqoption). - Changed various uses of the
LatLonInterfacetype to instead useReadonly<LatLonInterface>where a mutable type was not actually needed. - Updated
GarminChartDisplayto support custom chart image suppliers via the newcreateChartImageSupplierprop.
G3000
- Deprecated the
ObsAutoSlewclass. - Added support for plugins to define custom chart providers.
- Added a new
terrainSystemStateDataProviderproperty toG3000GtcViewContext.
G3X Touch
G3XNavMapBuilder,G3XNearestMapBuilder,G3XProcPreviewMapBuilder,G3XTrafficMapBuilder, andG3XWaypointMapBuildernow support an option to specify the facility loader to use when building a map.- Deprecated the
CdiAutoSlewManagerclass. - The various "pre-assembled" G3X-specific map builders now support uncapped data update frequency (via the
dataUpdateFreqoption). - Plugins can now import previously missing types related to the electronic charts feature.
- Added support for plugins to define custom chart providers.
WT21
- Added new
loadDeparture()andloadArrival()methods toWT21Fmsand deprecated the oldinsertDeparture()andinsertArrival()methods.
Epic 2
- Added new
loadDeparture()andloadArrival()methods toEpic2Fmsand deprecated the oldinsertDeparture()andinsertArrival()methods.
MSFS Avionics Framework 0.9.0
SDK
- Made
Autopilot::apDriverprotected rather than private. - Added new
AutopilotDriver::getAdjustedPitch()method. - Added new
dynamic_pressuretopic toAdcEvents. - Added new
AeroMath.thrustCorrectionFactor()method. - Added new
jet_net_thrusttopic toEngineEvents. - Added new
accelDampeningPeriodoption toInputAcceleration. - Made the
cdi,loc,obs, andnavSourceproperties ofAPNavDirectorprotected. - Added new
PerSecondmember toSimVarValueTypeenum. - Added new
load_factorandload_factor_ratetopics toAircraftInertialEvents. - Fixed a bug in
NumberFormatterwhere themaxDigitsoption was not always respected when thepadoption was set to a value other than1. - Added option for
PluginSystem::callPlugins()to iterate through plugins in reverse order. - Added new
UnitType.CENTIMETERunit. - Added new
Inchesmember toSimVarValueTypeenum. - Added additional options to
APTogaPitchDirectorto configure whether the director should drive the commanded pitch toward the target value instead of setting it and the rate at which the commanded pitch should be driven. - Added new
driveLinear()anddriveExp()methods toMathUtils. - Added new
deactivateAutopilotOnGaoption toAPConfig. - Added new
Roundingenum.
Changed the type of the precision parameter ofSubscribableMapFunctions.withPrecision()fromnumber | Subscribable<number>tonumber | Accessible<number>. - Added a new optional
roundparameter toSubscribableMapFunctions.withPrecision(). - Added new
SubscribableMapFunctions.withPrecisionHysteresis()method. - Added new
hysteresis,posInfinityString, andnegInfinityStringoptions forNumberFormatter.create(). - Fixed a bug where the caching logic of
NumberFormatterwas ignoring sign. - Fixed the rounding behavior of
NumberFormatterfor negative numbers when round down or round up is chosen. - Added new
Position,Position16k, andPosition32kmembers toSimVarValueTypeenum. - Added new
AccessibleUtilsclass. - Added new
setConsumerWithDefault()andreset()methods toConsumerValueandConsumerSubject. - Fixed a bug where
ArrayUtils.fillRange()would fill incorrect values ifstartIndexwas not zero. - Added new
eng_firetopic toEngineEvents. - Added new
publishAutopilotModesAsLvarsoption toAPConfig. - Added new
at_overspeed_prot_is_engagedandat_underspeed_prot_is_engagedtopics toAutothrottleEvents. - Added new
SubscribableMapFunctions.average()method. APNavDirector,APGSDirector, andAPBackCourseDirectorno longer depend onAPRadioNavInstrumentto function correctly.- Added
canArm,canActivateandcanRemainActiveoptions toAPNavDirector,APGSDirector, andAPBackCourseDirector. - Added
canArmoption toAPGPDirector. - Made Autopilot::monitorEvents() protected.
- Deprecated
Autopilot::isLateralModeActivatedOrArmed()in favor ofdeactivateArmedOrActiveLateralMode(). - Added guards in
JetFadecto prevent writing invalid SimVar values. - Added new
SubscribableMapFunctions.sum()method. - Added new
turbine_inlet_temptopic toEngineEvents. - The
track_deg_trueandtrack_deg_magnetictopics inGNSSEventsnow default to the previous value if the current ground speed is too low (<=0.1 knots) to calculate an updated value. If no previous value is available, then airplane heading is used as the default. - Added new raw ground track topics to
GNSSEvents. - Added an optional ground speed threshold parameter to
GNSSPublisher.getInstantaneousTrack(). - Added a new
realTimeHiFreqtopic toClockEvents. - Added additional parameters to
AbstractAutothrottleacceleration targeting functions to allow them to correct for changes in target indicated airspeed. - Added option in
AbstractAutothrottleto apply smoothing to throttle position corrections. - Added options in
AbstractAutothrottleto arbitrarily transform PID outputs of the selected speed, overspeed, and underspeed controllers. - Added an optional latch function to
AbstractAutothrottle. - Fixed an issue where the
xlink:hrefattribute was not being set correctly in SVG<image>elements. - Added new
altitudeproperty toAirportFacility. - Added new
FlightPlanUtils.convertLegRunwayIcaosToSdkFormat()method. - Added new
FlightPlanUtils.isToFixLeg()method. - Added additional fuel-related units to
UnitType. - Added new
UnitType.createFuelWeightUnit()method. - Added a new
Kilogramsmember to theSimVarValueTypeenum. - Deprecated the
valuegetter/setter onUserSetting. - Added the ability to define validation logic when loading values into settings using
UserSettingSaveManager.
GarminSDK
- [Breaking Change] Changed the return type of
AirspeedDefinitionFactoryto be an object implementing the newAirspeedDefinitioninterface. - [Breaking Change] Added additional approach- and glideslope/path-related properties to
TerrainSystemData. - Added new
CasDisplay2component. - Added API for working with electronic checklists.
- Fixed an issue where
MapWindVectorLayerarrow would not update the rotation of its arrow correctly. - Added an event bus property to the
AirspeedDefinitionContexttype. - Added new options to
AoaSystemfor defining custom stall/zero-lift angle of attack values. - Fixed an issue where
DefaultAoaDataProvidercould get stuck providingNaNfor thenormAoaIasCoefvalue. - Added new props to
AoaIndicatorto customize: warning and caution range thresholds, visibility of digital readout, position and visibility of reference tick (simple gauge only), visibility of minor ticks (advanced gauge only), and position and visibility of donut cue. - Added support to
AirspeedIndicatorfor displaying the approach cue. - Added support to
AirspeedIndicatorfor customizing the color of V-speed bugs. - Added new
vnav_track_alerttopic toVNavDataEvents. GarminVNavComputerwill now issue vertical track alerts by publishing to the newvnav_track_alertevent bus topic.- Added new
trackAlertproperty toVNavDataProvider. - Added new
verticalTrackAlertproperty toNavStatusBoxDataProvider. - Added an optional parameter to the
DefaultNavStatusBoxDataProviderconstructor that takes aVNavDataProvider. If this parameter is defined, then the data provider will provide vertical track alert data. NavStatusBoxnow supports vertical track alert annunciations.UnitFormatternow supports inch and centimeter unit types.- Added additional options to
GarminAPConfigto configure the target pitch angles commanded by the TO and GA directors. - Added new
deactivateAutopilotOnGaoption toGarminAPConfigOptions. GarminLowBankManagernow supports enforcing auto-toggle state.- Added support for ESP (electronic stability and protection).
- Added new
AglSystemclass. - Fixed various issues with the power logic of
AdcSystem,AhrsSystem,AoaSystem, andRadarAltimeterSystemwhen they are initialized with an undefined power source. AoaSystemnow publishes the newaoa_data_validtopic.- Added new
PitchLimitIndicatorcomponent. - Updated
HorizonDisplayto support rendering a pitch limit indicator. - Fixed an issue with
TcasRaPitchCueLayerwhere cues were incorrectly positioned if the clipping bounds were not symmetrical around the projection center. RollIndicatornow supports rendering an arbitrary number of additional components on the roll scale using the newRollIndicatorScaleComponentinterface.- Added new
RollLimitIndicatorscomponent. HorizonDisplaynow supports configuration options for roll limit indicators.GarminAutopilotnow handles approach mode and NAV mode logic in a manner that is more consistent with real-world G3X and GFC autopilots.GarminAutopilotnow publishes approach mode and NAV mode state to LVars.- Added new
GarminAPEventsinterface and newGarminAPSimVarPublisherclass. GarminAPConfignow creates VOR/LOC, GS, and GP directors with arming/activation logic that is more consistent with real-world G3X and GFC autopilots.- Improved support for inhibiting alerts in the terrain system API.
- Deprecated
activateAlert()anddeactivateAlert()inTerrainSystemAlertController. - Added new
FmsUtils.createEmptyFlightPhase()andFmsUtils.createEmptyApproachDetails()methods. - Added new
GarminGlideslopeDeviationModuleclass, which implements the TAWS glideslope/glidepath deviation (GSD) alert. - Added options to terrain system modules for configuring debounce and hysteresis for triggering alerts.
- Fixed an issue with loading published approaches using
Fmswhere it sometimes would incorrectly connect the approach transition to final approach segment. - Fixed an issue where
DynamicList::forEachComponent()was not providing correct indexes to the iterator when only iterating through visible items and there were hidden items in the list. - Added a new
GarminUnitTypeutility class. - Added additional members to the
UnitsFuelSettingModeenum to cover more fuel types.
G1000
- [Breaking Change] Refactored
NumericConfigto resolve to factory functions that return objects implementing the newNumericConfigResultinterface. - Added support for defining the value of a
SpeedConfigusing an arbitrary event bus topic.
G3000
- [Breaking Change] Refactored
NumericConfigto resolve to factory functions that return objects implementing the newNumericConfigResultinterface. - Added new
G3000CASDisplay2,G3000CASMessageCount2,G3000CASScrollBar, andG3000FullCASDisplay2components. - Deprecated
G3000CASDisplay,CASMessageCount, andG3000FullCASDisplay. - Added
panel.xmlconfiguration options to render the new CAS displays ("Version 2") to the PFD. - Adjusted the default PFD CAS display positionin...
MSFS Avionics Framework v2.1.1
SDK
- Added new
TerrainProfileLoaderclass. - Added additional PI constants to
MathUtils. - Added a new
LambertConformalConicProjectionclass. - Fixed an issue where
ApproachUtils.toEmptyIdentifier()did not reset the suffix to the empty string. - Added new methods
ApproachUtils.getIdentifier()andApproachUtils.identifierEquals(). - Reduced the likelihood of
ChartsClient.getIndexForAirport()andChartsClient.getChartPages()returning incorrect data. ChartsClientno longer inappropriately spams the console with messages about unknown requests.- The Promise returned by
ChartsClient.initializeChartView()now only resolves once the chart view is fully initialized. - Added support to
FlightPathCalculatorfor defining a custom data provider for retrieving data such as airplane state. - Deprecated
AirportUtils.tryGetRegionCode()andAirportUtils.getElevation(). - Added new area units
UnitType. - [Breaking Change] When constructing flight path leg calculators, a
FlightPathCalculatorFacilityCacheis now required instead of aMap<string, Facility>. FlightPathCalculatorand associated classes now support the use of facilities with ICAO values that cannot be converted to V1 strings.- Fixed an issue where
HeadingToAltitudeLegCalculatorandHeadingToManualLegCalculatorwere writing incorrect heading values to calculated flight path vectors. - Fixed several issues in
SmoothingPathCalculatorthat caused it to inappropriately overwrite the FPA values of direct and manual constraints. - Fixed the syncing of vertical data by
FlightPlannerso that the act of removing an FPA value from flight plan leg vertical data is not lost during the sync. - Added additional fuel-related units to
UnitType. - Added new
UnitType.createFuelWeightUnit()method. - Added a new
Kilogramsmember to theSimVarValueTypeenum. - Deprecated the
valuegetter/setter onUserSetting. - Added the ability to define validation logic when loading values into settings using
UserSettingSaveManager. - Fixed an issue where
DefaultUserSettingManagerwould still sync setting values from other instruments when thekeepLocaloption was set to true. - Deprecated
UserSettingManager::whenSettingChanged(). - Added new
KgPerCubicMetermember toSimVarValueType. CasSystemnow supports activating alerts that are initially acknowledged.- Deprecated the old form of
CasAlertTransporter.create()in favor of a new overload that takes an options object. - Added new
RegisteredSimVarinterface andRegisteredSimVarUtilsclass. - Added new
LLA_PBH,PBH,PIDStruct, andXYZmembers toSimVarValueType. - Added support to
FacilityLoaderfor using a facility cache that is shared across instruments. MapAirspaceLayer,MapNearestWaypointsLayer,MapSystemFlightPlanLayer, andMapSystemWaypointsLayercan now take a facility loader as an optional prop.- The following
MapSystemBuildersteps now pass the facility loader saved to the map context under theMapSystemKeys.FacilityLoaderkey (if one exists) to the appropriate layers added by these steps:withNearestWaypoints(),withFlightPlan(),withAirspaces(). - Added a new
liveViewproperty toChartView. - [Breaking Change]
ChartView'sisAliveandidproperties are now readonly. - Added support to
HEventPublisherfor parameterized H events. ThrottleLeverManagernow supports theTHROTTLE_IDLEkey event (and related single-engine variants).ThrottleLeverManagerwill now by default treat all single-engine throttle key events as if they applied to all engines when theVR GROUP INTERACTION ONSimVar is true.- Added new
isVrGroupInteractionOn()methods toThrottleLeverManagerandThrottleKeyEventHandlerController. - Added a new
AtomicSequenceUtilsclass, which can be used to get a generator of sequential integers that is safe from race conditions.
GarminSDK
GarminHeadingSyncManagernow properly handles theAP_HDG_CURRENT_HDG_SETkey event.- Added support for TAWS flight into terrain (FIT) alerting. This type of alerting is handled by the new
GarminFlightIntoTerrainModuleclass. - Added a new
GarminChartDisplaycomponent that displays charts. WaypointInfoStorenow provides the correct region text for all airports.- Deprecated the
useRegionFallbackForAirportoption inWaypointInfoStoreOptions. - Added new
BaroTransitionAlertManagerclass, which manages the state of a set of barometric transition alerts. - Added support to
Altimeterfor barometric transition alerts. - Fixed an issue where
DynamicList::forEachComponent()was not providing correct indexes to the iterator when only iterating through visible items and there were hidden items in the list. NavdataComputernow publishes whether the LNAV is nominally tracking a constant heading instead of a track for the current and next legs. These data are published to thelnavdata_is_steer_headingandlnavdata_next_is_steer_headingevent bus topics.- Added a new
isCourseHeadingproperty toNavReferenceBase. - Added a new
GarminUnitTypeutility class. - Added additional members to the
UnitsFuelSettingModeenum to cover more fuel types. - Added new
allowRnpArApproachesoption toGarminPrimaryFlightPlanRouteLoader. - Added a new option to
Fmsto specify the facility loader to use. MapWaypointsLayerandMapProcedurePreviewLayercan now take a facility loader as an optional prop.- The following
GarminMapBuildersteps now pass the facility loader saved to the map context under theMapSystemKeys.FacilityLoaderkey (if one exists) to the appropriate layers added by these steps:waypoints(),procPreview(). NextGenConnextMapBuilder,NextGenHsiMapBuilder,NextGenNavMapBuilder,NextGenNearestMapBuilder,NextGenProcMapBuilder,NextGenWaypointMapBuilder, andTrafficMapBuildernow support an option to specify the facility loader to use when building a map.
G3000
- Added
panel.xmlsupport for configuring TAWS FIT alerting. - An instance of
G3000BacklightPublisheris now added to the backplane of all instruments by default. - Changed default map airplane icon to a more appropriate generic airplane icon.
GtcList'sclassprop now supportsToggleableClassNameRecord.- Fixed a memory leak in
GtcWaypointButton. - Added a
panel.xmlconfiguration option to specify the label text for the FMS navigation source as either "FMS" (default) or "GPS". - Fixed the index assigned to the FMS position system instance created for PFD 2.
- Adjusted the default split mode message count limits for the PFD CAS display to guarantee that the display will not encroach upon other PFD elements.
- Added a new
renderWindowproperty toGtcList. - Added
data-checklistattributes to various elements of the PFD AFCS status box. - Fixed the
WT_G3000_ESP_Adjust_Input_Incr_Param_From_TASmodel behavior template to be compatible with version 2 model behaviors. - Added
panel.xmlconfiguration support for a double-OAT display in the PFD bottom info panel.
G3X Touch
- Added
panel.xmlsupport for configuring the fuel type used by the G3X. By default, the G3X will now use the fuel density given by theFUEL WEIGHT PER GALLONSimVar. - An instance of
ElectricalPublisheris now added to the backplane on every instrument. - Added a new
radiosDataProviderproperty to the plugin binder. - Adjusted the styling of focused
UiTouchSlidercomponents to have a thicker highlighted border by default. - Added logic to
UiListItemto ensure that its designated focusable child component (if one exists) is always focused when the list item is focused and the child can be focused. UiListDialognow supports programmatically setting the width of the dialog via the newdialogWidthoption inUiListDialogParams.- Added a new
G3XLoadingIconcomponent. G3XNavMapBuilder,G3XNearestMapBuilder,G3XProcPreviewMapBuilder,G3XTrafficMapBuilder, andG3XWaypointMapBuildernow support an option to specify the facility loader to use when building a map.
MSFS Avionics Framework v2.0.7
MSFS Avionics Framework v2.0.7
SDK
- Adjusted the timeout for facility requests through
FacilityLoaderto be more lenient. FlightPlan::openBatch()is now guaranteed to return a UUID when a batch is opened (previously it could fail to return a UUID if a runtime error was encountered).- Added new
FaaChartTypeandLidoChartTypeenums. - Added new
ChartViewLambertConformalConicProjectionclass. - Added
IcaoValueoverloads toUserFacilityUtils.createFromLatLon,UserFacilityUtils.createFromRadialDistance, andUserFacilityUtils.createFromRadialRadial. - Deprecated ICAO string overloads of
UserFacilityUtils.createFromLatLon,UserFacilityUtils.createFromRadialDistance, andUserFacilityUtils.createFromRadialRadial. - Added new
ObjectUtilsclass. - Fixed an issue where
SmoothingPathCalculatordid not correctly refresh theisPathEndflag on constraints after previously invalidated constraints were added back to the vertical plan. ApproachUtils.isRnpAr()now uses the newly added RNP AR flags in the facility data instead of the previous heuristic that relied on absence of LNAV/LNAV-VNAV/LP/LPV minima.- Added new
FlightPlanUtils.isToFixLeg()method. - Added a new
targetChangeInhibitTimeoption toAPAltCapDirector.
GarminSDK
- Fixed an issue where
GarminAutopilotwould sometimes incorrectly report that approach mode was active when it should not be. - Fixed an issue with loading published approaches using
Fmswhere it sometimes would incorrectly connect the approach transition to final approach segment. Fmsnow uses the speed restriction type available in the published procedure legs when designating speed restrictions in loaded procedures.
Epic 2
- Fixed an issue where the
getAutothrottleOptions()plugin function was ignored.
MSFS Avionics Framework 2.0.5
Initial framework release for Microsoft Flight Simulator 2024. This release includes the V2 updates for the G1000 NXi, G3000/5000, GNS430W/530W, G3X Touch, and WT21, as well as adds the Epic 2/Apex and UNS-1 FMS.
MSFS Avionics Framework 0.7.1
SDK
- Fixed some incorrect package dependency versions in various project.json files
SR22T G1000 Plugin
- Release of the source of the SR22T plugin for the G1000
MSFS Avionics Framework 0.7.0
SDK
- [Breaking Change] The
createRawTextInput()method ofTextInputFieldhas been removed. - Improved fidelity of
GPSSatComputersimulation and added additional configuration options. - Added new
range()andfillRange()methods toArrayUtils. - Added new
AccelerometerPublisherclass. - Added new
above_ground_heighttopic toGNSSEvents. - Added new
DistancePerWeightandDistanceRatiomembers toUnitFamily. - Added new
NMILE_PER_GALLON_FUELandFOOT_PER_NMILEunit types. - Added new
DefaultMapLabeledRingLabelclass. - Added new
GenericMapSharedCanvasSubLayerclass. - Added new
MapLabeledRingCanvasSubLayerclass. Tcasnow supports dynamic max intruder count and update frequencies.- Added new
MapSharedCanvasLayerclass. - Added support for adding on-destroy callbacks to
MapSystemBuilder. - Errors thrown in
MapSysteminit callbacks will now be caught instead of interrupting the rest of the map build process. - Fixed a bug where
MapMultiLineAirspaceRendererwould incorrectly render offset lines at the beginning of a shape. - Added new
elevation_positiontopic toControlSurfacesEvents. Autopilotnow uses the sim's maximum bank angle value when none is set usingAPConfig.- Added new optional
independentFdsparameter toAPConfig. - The
MappedSubscribableinterface now extendsSubscription. ConsumerSubjectandConsumerValuenow implementSubscription.- Added new
hideSignoption toNumberFormatter. - The
optionsargument inNumberFormatter.create()is now optional. - Added new
SubscribableMapFunctions.count()method. - Added new
MBandMILE_PER_GALLON_FUELunit types. - Fixed incorrect values being published to the
fuel_usable_total_weighttopic. - Fixed a bug when
undefinedwas explicitly passed as theoptionargument toNumberFormatter.create(). - Fixed a bug where
BingComponentwas sending too many params toSET_MAP_PARAMSCoherent calls. - Added new
indicated_mach_number,indicated_tas,tas_to_ias_factor,indicated_mach_to_kias_factor, andindicated_tas_to_ias_factortopics toAdcEvents. - The type of
APConfigis now parameterized inAutopilot. APFLCDirectornow supports using indicated mach number.AbstractAutothrottlenow supports using indicated mach number.- Added new color interpolation methods to
ColorUtils. FSComponentnow supports the SVGtspanelement.Formatternow optionally takes a second type parameter (defaulting tostringfor backwards-compatibility) that specifies the output type of the formatter.- Introduced the new
FmcFormattertype which wrapsFormatterand allows it to return astring | FmcRenderTemplate. DisplayFieldnow accepts formatters whose output type isFmcRenderTemplate, by takingFmcFormatteras the formatter type in the options object.- The
memorizedComponentsproperty ofAbstractFmcPageis now public. - Added new
takeTextInput()method toTextInputField. - Fixed type errors in the
onPrefixedEvent()method ofFmcScreen. AltitudeSelectManagernow supports filtering events that trigger input accelerationAltitudeSelectManagernow supports locking selected altitude to the small increment step on SET events.
GarminSDK
- [Breaking Change] Added additional type safety to
BearingDisplayto prevent runtime errors. - Added additional members to
NavDataFieldType. - Added new
NavDataBarFieldTypeModelFactoryinterface. NavDataNumberUnitFieldandNavDataBearingFieldnow support custom unit formatters.- Added new generic nav data field type renderers.
TrafficInfoServicenow supports ADS-B integration and additional configuration options related to ADS-B.- CDI scaling label is now an optional parameter when selecting a sensitivity level from
AdsbSensitivityParameters. - Fixed a potential runtime error in
MapRangeCompassLayer. - Added new
runwayLabelShowproperty toMapWaypointsModuleto control visibility of runway labels separately from outlines. - The
GarminMapBuilder.waypointsbuild step now passes in the map system context to theconfigurefunction. - Factored
MapPanningModuleandMapPanningRTRControllerout of the map pointer code. - Fixed a bug in
TouchPadwhere the incorrect previous mouse position was being passed to theonDragMovedcallback. MapWaypointsVisControllernow supports options to customize declutter thresholds.MapWaypointsVisControllerno longer controls the visibility of runway outlines.GarminMapBuilder.waypointVisSettingsnow supports options to customize declutter thresholds.- Added new
NextGenGarminMapBuilderclass. - Added support for
HDDD° MM.MMM'format toLatLonDisplay. - Added new optional
splitPrefixprop toLatLonDisplay. - Added new
runwayproperty toApproachDetails. - Added support for custom unit formatters to
NumberUnitDisplayandBearingDisplay. BearingDisplay,NumberUnitDisplayandTimeDisplaynow supportToggleableClassNameRecordfor theirclassprops.- Added new
suffixFormatterandhideSuffixWhenNaNprops toTimeDisplay. - Added new
hideUnitWhenNaNprop toNumberUnitDisplay. - Added new
mapGroundNorthUpActivesetting toMapUserSettingTypes. MapOrientationModule,MapOrientationSettingsController, andMapDesiredOrientationControllernow support north up on ground logic.ScrollListnow automatically snaps back to item when item length, item spacing, or item count per page props change.DateTimeUserSettingsnow supports retrieving an instrument-local setting manager.- Fixed a bug in
Fmswhere removing the entry leg of an airway would corrupt the flight plan if the airway only had one leg in it. MapTerrainControllernow supports custom default terrain mode.- Fixed a bug where
MapWaypointHighlightIconwas still rendering zero-width strokes. ArtificialHorizonnow supports either solid color or gradient for both ground and sky.- Added new
GarminAPConfigInterfaceinterface. - Added option to use indicated mach number to
GarminAPConfig. AdcSystemnow publishes mach and true airspeed values derived from indicated airspeed in lieu of "true" values.- Added new
tasToIasproperty toAirspeedIndicatorDataProvider. - Added new
tasToIasproperty toAirspeedDefinitionContext. AirspeedIndicatorno longer takes in the event bus as a prop.AirspeedIndicatornow supports adding additional CSS classes via prop.AirspeedIndicatornow optionally supports zero-valued V-speeds.DefaultAirspeedIndicatorDataProviderno longer requires an instance ofAirspeedAoaDataProviderto be passed to the constructor. If no AOA data provider is specified, thenDefaultAirspeedIndicatorDataProviderbehaves as if AOA data is always unavailable.- Various methods in
VSpeedUserSettingUtilsnow optionally support zero-valued V-speeds.
G1000
- [Breaking Change] Replaced the
AirspeedIndicatorcomponent with the newG1000AirspeedIndicatorcomponent. - Added support for hardware keybord with new AS1000_CONTROL_PAD_ H events.
- Added support for LVL and TO/GA modes.
- Added support for knob-based XPDR code entry using H events.
- Added
panel.xmlsupport for configuring V-speeds. - Added
panel.xmlsupport for configuring the airspeed indicator. - Added new
ArrowControlcomponent. G1000UiControlWrappernow supports wrappingG1000ControlListcontrols.NumberInputnow takesMutableSubscribableobjects for itsdataSubjectprop.ArrowTogglenow takesMutableSubscribableobjects for itsdatarefprop.- Exported
NavSystems's classFrequencyItemand its props interfaceFrequencyItemProps. - Added
panel.xmlsupport for enabling/disabling selected altitude input event compatibility. Enable to treatAP_ALT_VAR_SETevents as increment/decrement events. Used for airplanes whose ModelBehaviors interceptAP_ALT_VAR_INC/AP_ALT_VAR_DECevents and forward them as SET events instead. - Added
panel.xmlsupport for configuring autopilot lateral director (ROL, HDG, VOR, LOC, GPS) bank angle limits. - Added a
scrollToMostRecentlyAddedprop toHardwareControlListPropsto allow autoscrolling to the most recently added item of the list. - Added support for control pad entry on number entry components under
UiControls2:GenericNumberInput, and the newly addedTimeNumberInputandCourseNumberInput. TheGenericNumberInputcomponent supports keypad entry through single digit DigitInputs. - Made all methods in PFD and MFD plugins optional.
- CAS messages may now be assigned associated Alerts messages via JS and/or plugin code
- Added support for styling the Com selection based on the radio selected to transmit, and for both Nav and Com standby frequencies selected to edit.
G3000
- Added new
CharInputandCharInputSlotcomponents. - Added new
Keyboardcomponent. - Added new
GtcWaypointDialogview, which allows a user to select a waypoint. This new dialog should be used where possible instead ofGtcKeyboardDialog. GtcWaypointDisplaynow supports bindingToggleableClassNameRecordto itsclassprop.- Fixed memory leaks in
GtcWaypointDisplay. - Added
panel.xmlsupport for defining airspeed indicator color ranges using TAS.
MSFS Avionics Framework 0.6.0
SDK
- [Breaking Change] Fixed various typing errors in the FMC framework which could allow binding to incorrect data.
- [Breaking Change] Removed
Binding<T>andTwoWayBinding<T, U>. - [Breaking Change] The
format()method ofFormatter<T>now takes a non-nullable type for itsvalueparameter. - [Breaking Change] The
nullValueStringproperty ofFormatter<T>is now optional. - Added support for associating flight plan modifications with batches using
FlightPlanandFlightPlanner. - Added new
ColorUtilsclass. - Added new
AvionicsSystemPowerEventstype. - Added a protected
onPowerValid()callback toBasicAvionicsSystem. - Added new
Wait.awaitFrames()method. - Added new
selectedHeadingproperty toMapAutopilotPropsModule. MapAutopilotPropsControllernow supports binding props to custom event bus topics.- Added new
ReadonlyConsumerValuetype. - Added utilities for SimBrief OFP download and route/winds extraction.
- Fixed a bug where
APFLCDirectorcould target the wrong speed in rare circumstances. - Added support for per-leg user data in
FlightPlan. APNavDirectorandAPBackCourseDirectornow support tracking VOR/LOC signals in two phases: intercept and tracking. Certain director behaviors can now be configured independently for each phase.AltitudeSelectManagernow allows passing undefined to thesettingsManagerconstructor parameter if metric mode is not supported.- All director and manager factories in
APConfigare now optional. - Fixed a bug with
FSComponentwhere text and subscribables added directly as children of fragments would not be rendered to the DOM. - Fixed an incorrect return type on one of the overloads of
FSComponent.bindCssClassSet(). - Added new
FilteredMapSubjectclass. - Added new overload of
FSComponent.bindCssClassSet(). - Fixed rare runtime errors and memory leaks in
AbstractSubscribable,AbstractSubscribableArray,AbstractSubscribableSet, andAbstractSubscribableMap. - Applied memory optimizations to
ObjectSubject. Subject.apply()no longer throws an uncaught runtime error if the subject value is not an object.- A function can now be passed in as a shorthand for a formatter object in
DisplayFieldOptions. - Added new
cg_percenttopic toWeightBalanceEvents. - Added JSX support for binding an intrinsic element's style attribute to a
SubscribableMap<string, string>.
- Added new
n1_uncorrectedandn2_uncorrectedtopics toEngineEvents.
GarminSDK
- [Breaking Change] Fixed a bug where the ISA nav data field was displaying ISA temperature instead of delta ISA.
- Adjusted
NextGenmap and SVT absolute terrain colors to better match the real units. - Added new
MapWindVectorModule,MapWindVectorLayer, andMapWindVectorControllerclasses. - Added
mapWindVectorShowtoMapUserSettingTypes. - Added support for the display of the wind vector to
GarminMapBuilder,NextGenNavMapBuilder,NextGenNearestMapBuilder, andNextGenConnextMapBuilder. - Added new
WeatherRadarAvionicsSystemclass. - Added new
wxrCalibratedGainandwxrGainsettings toWeatherRadarUserSettingTypes. TouchSlidernow supports rendering an optional inset child node.- Added new
GarminHeadingSyncManagerclass. - Added new
MapGarminAutopilotPropsModuleandMapGarminAutopilotPropsControllerclasses. - Added new
GarminMapBuilder.autopilotProps()method. MapRangeCompassLayernow supports drawing the selected heading line in Track Up orientation, and no longer hides the line when the selected heading is out of the compass's heading bounds (the heading bug is still hidden).- Added new
NavDataBarFieldConsumerValueModelandNavDataBarFieldConsumerValueNumberUnitModelclasses. - Deprecated the
NavDataBarFieldConsumerModelandNavDataBarFieldConsumerNumberUnitModelclasses. - Added new configurable
GarminAutopilotclass. - Added a new NavReference API.
- Added new
TouchListcomponent. - Added new
ScrollListcomponent. - Added support for new
onTouchedcallback toTouchButtonand related button components. - Added support for a button held state to
TouchButtonand related button components. - Added new
simulatePressed()method toTouchButtonand related button components. - Added new
DynamicListclass. - Fixed a bug where
TouchButtonwould immediately enter the drag-inhibited state when primed ifinhibitOnDragwas set to true andfocusOnDragwas set to false. - Added new
getRootElement()method to all touchscreen button components. GarminVNavManager2no longer uses the climb or missed approach tracking phases if advanced VNAV is not supported.GarminVNavManager2now publishes appropriate flight phase, tracking phase, and current/active constraint data when ground speed is less than 30 knots.
G3000
- [Breaking Change]
NavReferenceSourcesis now an interface. Use the newNavReferenceSourceCollectionclass ingarminsdkto access an implementation of the interface. - Added new
panel.xmlweather radar options for min/max user-selectable gain and electrical circuit for power draw when the radar is actively scanning. - Added support for autopilot selected heading sync behavior.
- Added
panel.xmlconfiguration option for HDG sync mode support. - Added new
GarminTouchListandGarminTouchListPropsexports to themsfs-wtg3000-gtcpackage, which are aliases forTouchListandTouchListPropsfrom themsfs-garminsdkpackage. - Added
panel.xmlsupport for configuring GTC default control mode.
MSFS Avionics Framework 0.5.0
SDK
- [Breaking Change]
isFlightDirectorOnandisFlightDirectorCoPilotOnare now read-only outsideAPStateManager. Use thesetFlightDirector()method instead. - [Breaking Change] Added new
FMS_LOCmember toAPLateralModesenum and newcreateFmsLocLateralDirector()method toAPConfiginterface. - [Breaking Change]
NavComInstrumentno longer creates its own instance ofNavComSimVarPublisher. - [Breaking Change]
NavProcessorno longer creates its own instance ofNavProcSimVarPublisher. - [Breaking Change]
APRadioNavInstrumentno longer creates its own instance ofNavProcSimVarPublisher. - [Breaking Change]
APLvlDirectornow requires anAPValuesobject to be passed to its constructor. - [Breaking Change] The
isToGaModeoption forAPLvlDirectoris now specified via an options object. - [Breaking Change] Changed the
ap_master_[engage/disengage]andap_yd_[engage/disengage], and topics toap_master_[on/off]andap_yd_[on/off], respectively. - [Breaking Change]
AbstractAutothrottlenow usesMultiExpSmootherfor smoothing speed and engine power. - [Breaking Change] Added new cross-track error parameter to
APNavDirectorInterceptFunc. - Added new
getCurrentClimbConstraint(),getNextDescentConstraintIndex(),getNextClimbConstraintIndex(), andgetNextMaprConstraintIndex()methods toVNavUtils. - Added new
AuralAlertSystemWarningAdapterclass. - Added new
autoEngageFdandinitializeStateManagerOnFirstFlightPlanSyncoptions toAPConfig. - Added new optional
drivePitchanddriveBankproperties to thePlaneDirectorinterface. - Added new
AutopilotDriverclass. - All autopilot directors now directly consume SimVar values for performance-critical data instead of using the event bus. This ensures that they are using the most up-to-date data accessible from the JS environment.
- Added new
GenericFlcComputerclass. - Added new
ambient_densitytopic toAdcEvents, providing ambient air density in slugs per cubic foot. - Added
SLUGandKNOT_PER_SECunits toUnitType. - Added density and force units to
UnitType. - Added
asUnitutility toNumberUnitSubjectfor creating a constant conversion to another unit. BasicAvionicsSystemnow supports binding power state to subscribables.- Added new
MathUtils.SQRT3andMathUtils.SQRT1_3constants. - Added new
MathUtils.diffAngleDeg()method. - Fixed a bug in
Vec3Math.setFromSpherical()where the vector length was not being applied. - Added support for pitch and heading angle scaling factors in
HorizonProjection. - Added new
projectCameraRelativeAngular(),invertToCameraRelativeAngles(),projectRelativeCoordinates(), andprojectCameraRelativeCoordinates()methods toHorizonProjection. - Added additional CSS classes to the digits of
DigitScrollerso that each digit can be selected and styled independently. - Fixed a bug in
ClippedPathStreamwhere it was sometimes not generating the correct clipped endpoints for lines. - Added
isFinite()methods to the variousVecMathclasses. - The various
VecSubjectclasses now considerNaNto be equal to itself. - Added new
HPA,PercentOver100,MetersPerSecondSquared, andMillimetersWatermembers toSimVarValueTypeenum. - Added new
autobrake_switch_posandautobrake_activetopics toBrakeEvents. - Added new
simRatetopic toClockEvents. - Added JSX support for binding the
classattribute of native HTML elements to objects containing key-value pairs where the keys are class name strings and the values arebooleanorSubscribable<boolean>. - Added JSX support for binding the
styleattribute of native HTML elements to objects containing key-value pairs where the keys are style property names and the values arestring, orSubscribable<string>. - Added type checking for JSX
ref,style, andclassprops on native HTML elements. - Fixed a bug where
AbstractNearestSubscriptionwould notify removals with the incorrect array index. - Added new
nav_radial_errortopic toNavProcSimVars. - Fixed a bug where
SmoothingPathCalculatordid not write target altitudes to smoothed flat constraints. - Added new
SubscribableMapFunctions.or(),SubscribableMapFunctions.and(), andSubscribableMapFunctions.nor()methods. - Added new
MathUtils.ceil()andMathUtils.floor()methods. - Added new
vectorAnticipationBankRateanddisableAutoSuspendAtMissedApproachPointoptions toLNavDirectorOptions. - Added new
verticalAngleproperty toFlightPlanLegtype. - Fixed a bug in
CasSystemwhere deactivating a suffixed alert when it was not active (or was scheduled to be active) and another suffix was active would corrupt the system state. - Added option to cache output strings to
DurationFormatter,DmsFormatter2, andDateTimeFormatter. DateTimeFormattercan now format hour/minute/second fragments to include decimals.DateTimeFormatternow outputs '12' instead of '0' for 12-hour fragments.- Console warnings are now emitted when invalid fragment syntax is given to
DurationFormatter,DmsFormatter2, orDateTimeFormatter. - Added new
copyFrom()method toFlightPlan. - Added new indexed
payload_station_weighttopic toWeightBalanceEvents. AbstractAutothrottlesupports new options to set a threshold for changing speed target, overspeed limit, and underspeed limit values to ignore the contribution to the PID derivative term from the changing target value.- Added new
getPreviousError()method toPidController. PidControllerno longer calculates an infinite/NaN derivative term whendtis 0.NavComSimVarPublishernow publishes all the topics that are published byNavProcSimVarPublisher.- Deprecated
NavProcSimVarPublisher,NavProcSimVars, and other related types. SimVarPublishernow supports defining custom valid index ranges and default index for indexed simvars.- Added various new topics to
FuelSystemEvents. - Added new topics to
GNSSEventsrelated to inertial data. Autopilotnow setsAPValues.lateralActivetoAPLateralMode.NONEandAPValues.verticalActivetoAPVerticalMode.NONEwhen the lateral and vertical directors assigned to theNONEmodes are active, respectively.BacklightLevelControllernow takes horizon angle into account.- Fixed index out of bounds errors when calling plugin component handlers.
- Added an overload of
FSComponent.bindCssClassSet()that binds a set to aToggleableClassNameRecord. - Added new
FSComponent.addCssClassesToRecord()function. SmoothingPathCalculatorOptionsnow has all optional properties.- Fixed an issue where
GNSSPublisherwas publishing incorrect values to thezulu_timetopic. FlightPlannerno longer tries to change the active flight plan index to a non-existent flight plan after receiving a flight plan sync response.- Added new
HorizonSharedCanvasLayercomponent. - Fixed an issue where
FlightPlan.setProcedureDetails()would sometimes incorrectly update the flight plan's internal procedure details data. LinearServo'sdrive()method now takes in optional args to override timestamp and servo rate.- Added new
simRateproperty toAPValues. - All lateral autopilot directors now use
driveBank()instead ofsetBank()and support custom bank rates. APHdgDirectorandAPTrkDirectornow support locking turn direction.- Fixed a bug in
ClippedPathStream.arc()where arc segments were improperly drawn. ClippedPathStream.arc()now clamps the angular width of arcs to2 * Math.PI. This brings it in line with the behavior ofCanvasRenderingContext2D'sarc()method.- Added new
AiPilotEventsinterface andAiPilotPublisherclass. - Added new
ap_disengage_statustopic toAPEvents. - Added arbitrary index support to the
ap_heading_selected,ap_altitude_selected,ap_vs_selected,ap_fpa_selected,ap_ias_selected, andap_mach_selectedtopics inAPEvents. - The
keyEventManagerproperty inAPStateManageris now protected instead of private. - Added new
SubscribableMapinterface andMapSubjectclass. - Fixed bugs where
CasRegistrationManagerandAuralAlertRegistrationManagerwere inappropriately caching registration events. FlightPathTurnCalculatorno longer attempts to compute turn anticipation if the from leg ends in a discontinuity or either the from/to leg is a discontinuity leg.FlightPathTurnCalculatorwill now generate anticipated turns for AF/RF legs that don't exactly end on the same point as the connecting leg (within a certain tolerance).- Fixed a bug where
FlightPathTurnCalculatorwould sometimes generate an anticipated arc/track turn whose anticipation distance was too large. VNavUtils.getFpa()now always returns zero when altitude is zero.- Improved flight path calculation for CF legs in certain cases involving approach procedures that direct you to fly an outbound VOR radial before turning you back toward the final approach course.
- Added new
FlightPathUtils.getGreatCircleTangentToPath()andFlightPathUtils.getGreatCircleTangentToVector()methods. - Fixed
SwitchLabelso that the caret won't turn green when on the left side. - Added new
lskNotHandledThrowValue,textInputFieldDisallowedDeleteThrowValueandtextInputFieldParseFailThrowValueoptions toFmcScreenOptions. - Added new
MultiExpSmootherclass. - Added new
AmbientPublisherclass. - Added new
anti_ice_structural_ice_pcttopic toAntiIceEvents. - Added new
lnav_is_awaiting_calctopic toLNavEvents. - Added new
getNextDescentConstraintIndex(),getNextClimbConstraintIndex(), andgetNextMaprConstraintIndex()methods toVNavUtils. - Added a pitch limit to
APVNavPathDirector. - Added new optional
showTerminalWaypointsparameter toNearestIntersectionSearchSession.setIntersectionFilter(). - Fixed an issue where `Map...