## Changes Introduced in V4.4

The following describes the most significant changes which occurred in the AST library between versions V4.3 and V4.4:

1. The astFindFrameastFindFrame function can now be used to search a CmpFrameCmpFrame for an instance of a more specialised class of FrameFrame (SkyFrameSkyFrame, TimeFrameTimeFrame, SpecFrameSpecFrame, DSBSpecFrameDSBSpecFrame or FluxFrameFluxFrame). That is, if an instance of one of these classes is used as the “template” when calling astFindFrame, and the “target” being searched is a CmpFrame (or a FrameSetFrameSet in which the current Frame is a CmpFrame), then the component Frames within the CmpFrame will be searched for an instance of the supplied template Frame, and, if found, a suitable MappingMapping (which will include a PermMapPermMap to select the required axes from the CmpFrame) will be returned by astFindFrame. Note, for this to work, the MaxAxesMaxAxes and MinAxesMinAxes attributes of the template Frame must be set so that they cover a range that includes the number of axes in the target CmpFrame.

2. The SkyFrame, SpecFrame, DSBSpecFrame, TimeFrame and FluxFrame classes now allow the MaxAxes and MinAxes attributes to be set freely to any value. In previous versions of AST, any attempt to change the value of MinAxes or MaxAxes was ignored, resulting in them always taking the default values.

3. The DSBSpecFrame class has a new attribute called AlignSB that specifies whether or not to take account of the SideBandSideBand attributes when aligning two DSBSpecFrames using astConvertastConvert.

4. The Frame class has a new attribute called Dut1Dut1 that can be used to store a value for the difference between the UT1 and UTC timescales at the epoch referred to by the Frame.

5. The number of digits used to format the Frame attributes ObsLatObsLat and ObsLonObsLon has been increased.

6. The use of the SkyFrame attribute AlignOffsetAlignOffset has been changed. This attribute is used to control how two SkyFrames are aligned by astConvert. If the template and target SkyFrames both have a non-zero value for AlignOffset, then alignment occurs between the offset coordinate systems (that is, a UnitMapUnitMap will always be used to align the two SkyFrames).

7. The PlotPlot class has a new attribute called ForceExterior that can be used to force exterior (rather than interior) tick marks to be produced. By default, exterior ticks are only produced if this would result in more than 3 tick marks being drawn.

8. The TimeFrame class now supports conversion between angle based timescales such as UT1 and atomic based timescales such as UTC.