## Changes Introduced in V1.4

The following describes the most significant changes which have occurred in the AST library between versions V1.3 and V1.4 (not the most recent version):

1. A new MathMapMathMap class has been introduced. This is a form of MappingMapping that allows you to define coordinate transformations in a flexible and transportable way using arithmetic operations and mathematical functions similar to those available in C.

2. WARNING—INCOMPATIBLE CHANGE. Transformation functions used with the IntraMapIntraMap class (see, for example, astIntraRegastIntraReg) now require a “this” pointer as their first parameter. Existing implementations will not continue to work correctly with this version of AST unless this parameter is added. There is no need for existing software to make use of this pointer, but it must be present.

   This change has been introduced so that transformation functions can gain access to IntraMap attributes.

3. A new IntraFlagIntraFlag attribute has been added to the IntraMap class. This allows the transformation functions used by IntraMaps to adapt to produce the required transformation on a per-IntraMap basis (§20.9).

4. The PlotPlot attributes MajTickLen and MinTickLen, which control the length of major and minor tick marks on coordinate axes, may now be subscripted using an axis number. This allows tick marks of different lengths to be used on each axis. It also allows tick marks to be suppressed on one axis only by setting the length to zero.

5. The value of the Plot attribute NumLab, which controls the plotting of numerical labels on coordinate axes, no longer has any effect on whether labelling of a coordinate grid is interior or exterior (as controlled by the LabellingLabelling attribute).

6. The FitsChanFitsChan class now provides some support for the IRAF-specific “ZPX” sky projection, which is converted transparently into the equivalent FITS “ZPN” projection (see the description of the EncodingEncoding attribute for details).

7. The FitsChan class now recognises the coordinate system “ICRS” (International Celestial Reference SystemSystem) as equivalent to “FK5”. This is an interim measure and full support for the (exceedingly small) difference between ICRS and FK5 will be added at a future release.

   Note that “ICRS” is not yet recognised as a coordinate system by other classes such as SkyFrameSkyFrame, so this change only facilitates the importation of foreign data.

8. A bug in the FitsChan class has been fixed which could result in longitude values being incorrect by 180 degrees when using cylindrical sky projections, such as the FITS “CAR” projection.

9. A bug in the FitsChan class has been fixed which could result in the FITS sky projection parameters ProjP(0) to ProjP(9) being incorrectly named PROJP1 to PROJP10 when written out as FITS cards.

10. A bug in the FitsChan class has been fixed which could cause confusion between the FITS-IRAF and FITS-WCS encoding schemes if both a CD matrix and a PC matrix are erroneously present in a FITS header.

11. Some minor memory leaks have been fixed.

12. A small number of documentation errors have been corrected.