13-Oct-2016  It is recommended to update CGCOLOR in the Coyote Library to
             fix a problem on X Window systems without backing store.   The problem
             could affect colors on a number of IDLAstro plotting routines.

11-Oct-2016: FXADDPAR - Now works with byte and boolean values

29-Sep-2016: AL_LEGEND - Don't ever modify the current color table

26-Sep-2016: QUERYDSS, QUERYSIMBAD - Rewritten to use IDLNetURL object

10-Nov-2016: SXADDPAR - Allow 'value' to be a one element scalar

19-Sep-2016: DBWRT - Update to allow indexing on the fly
             SXADDPAR - Allow writing of byte or Boolean variables
            FTPRINT, FITS_INFO, TBHELP FORPRINT, FITSDIR - No need to explicitly test for 
            !TEXTUNIT

25-Jul-2016: AL_LEGEND,AL_LEGENDTEST - Implement histogram filling 

24-Jul-2016: ZENPOS - Now has latitude, longitude, time zone keywords for interactive use

18-Jul-2016: PLOTHIST - Use Scott's normal reference rule for bin size

11-Jul-2016: PLOTHIST - Speed up processing of COLOR values

25-May-2016: FXBFINDLUN - Make NHEADER a 64 bit integer for handling a very large FITS file

19-May-2016: FXBREAD, FXBWRITE - Use unsigned pointer to handle very large FITS files

17-May-2016: HASTROM - Test for Degree > 4 usage in POLYWARP

02-May-2016: PLOTHIST - When computing size for integers make sure it is at least 1

19-Apr-2016: PLOTHIST -  Make /NaN,/AUTOBIN and BOXPLOT the default

11-Apr-2016: WRITEFITS - Added /SILENT keyword

30-Mar-2016: F_FORMAT() - fix problem with display of large negative numbers

23-Mar-2016: FILE_LAUNCH - Launch a file using default application of the operating system

10-Mar-2016: TPV_EVAL - Fixed bug in 4th order term, added 5th, 6th and 7th order terms

01-Mar-2016: APER - Avoid integer overflow for very large images

24-Feb-2016: MWRFITS - Abort if a structure with more than 999 tags supplied

08-Feb-2016: MODFITS - Make it optional to supply FITS header, as advertised

21-Jan-2016: WCSSPH2XY - long and lat must have same number of elements, but not necessarily dimensions

11-Dec-2015: MMM - Always return floating point sky mode

03-Dec-2015: PUTAST - RADECSYS was misspelled, also fix possible clash between 
                    TPV distortion and use of LONGPOLE/LATPOLE

24-Nov-2015: HREBIN - Now has /TOTAL keyword to preserve total counts or surface
                    flux (e.g. counts/(arc sec)^2)

9-Oct-2015:  READCOL - Assume file is compressed if its name ends in '.gz'

30-Sep-2015: SXPAR(), SXADDPAR - Now work with null values in a FITS header

22-Sep-2015: FXPAR(), FXADDPAR - Now work with null values in a FITS header

18-Sep-2015: QUERYGSC - Updated for new server format
             FTDELCOL - Columns can now be specified by number as advertised

12-Sep-2015: EXTAST - Make sure CROTA defined for GLS projection

10-Sep-2015: HEXTRACT - Fix problem with GLS projection
             REPSTR() - Use CALL_METHOD() so that it compiles in IDL 7.1 and earlier
             DIST_ELLIPSE - Make POS_ANG optional as documented
             
06-Aug-2015: SXPAR() - 72 character fields were being trimmed to 71 characters

28-Jul-2015: MWRFITS - Fixed bug when checking logical columns that include nulls
             GLACTC_PM - Fixed occasional bug when computing sign of proper motion
             
14-May-2015: SXPAR() - Now has IFound output keyword to report matching 
                  indices when using a keyword* name input

27-Apr-2015: AD2XY, XY2AD - no longer check that CDELT[0] differs from 1

25-Mar-2015: FITS_INFO - Use 64 bit long to deal with huge FITS files

06-Feb-2015: SXPAR() - Return logicals as IDL boolean in V8.4 or later

05-Feb-2015: DBFPARSE - Allow parenthesis within string searches.

29-Jan-2015: DBSEARCH - Nov 2014 fix for "less than" string values was spurious, reverting

             REPSTR() - Use .REPLACE() method for IDL 8.4 or later

19-Jan-2015: DBCREATE- Default maximum # of items is  now 1000 rather than 200

23-Dec-2014: FXHMODIFY - Only issue a warning if keyword EXTEND is missing

04-Dec-2014: RESISTANT_MEAN - Fix problem with use of DIMENSION keyword with
non-square arrays

10-Nov-2014: FITS_OPEN - Allow compressed file names to include spaces

02-Nov-2014: DBSEARCH - Fix problem with string "less than" searches

01-Nov-2014: SXPAR() - Use cgErrorMsg rather than On_error,2

26-Nov-2014: QUERYVIZIER - Add /CFA keyword, remove /CADC keyword

20-Oct-2014: MATCH2 - Fix occasional problem with strings with numerical content

14-Oct-2014: MWRFITS - Avoid LONG overflow for very large files

26-Sep-2014: FXREAD - Fix bug in handling of BSCALE keyword

3-Sep-2014:  HEULER - Now work for  GLS projection
             PUTAST - PV1_3, PV1_4 keywords take precedence over LONPOLE,
	              LATPOLE coordinates

25-Aug-2014: STRN() - Fix truncation problem when used with vector input

9-Aug-2014:  HPRECESS - Now works for GLS projection

 29-Jul-2014: MODFITS - A scalar in the header field means no header
              PLOTHIST - Fix /FILL to work when axes are inverted
 
 21-Jul-2014: SAFE_CORRELATE() - compute the probability that data is uncorrelated 
       while accounting for data uncertainties

14-Jul-2014: XY2AD - Faster evalution of SIP polynomial

9-Jul-2014:  CONVOLVE() - Fix bug where output is double precision even for
                     float input

14-Jun-2014: EQ2HOR - Fix case of scalar position but vector JD 

3-Jun-2014: TSUM() - Added /NaN keyword

30-May-2014:  EXTAST - Fixed bug introduced Jan 2014 where SIP parameters were
                not recognized when NAXIS = 0

07-May-2014: FITS_READ - Fix bug when using /DATA_ONLY

05-May-2014: FITS_OPEN - can now read Unix compressed (.Z) FITS files
             FITS_READ - close unit when reading .fz or .Z compressed files
	     SXADDPAR - Don't allow NaN values to be written to FITS header

25-Apr-2014: MRDFITS(), FITS_OPEN - Use LONG64 for very large tables

24-Apr-2014: SXPAR(), FXPAR() - Don't convert LONG64 values to double precision

24-Apr-2014: TBGET() - Use V6.0 notation
             TBINFO - Use long64 for .numval for very large tables

23-Apr-2014: MWRFITS - Added /No_Copy keyword, fix problem with 32 bit overflow

18-Apr-2014: GSSSADXY - No longer call DELVARX which apparently can be slow 
             QUERYGSC() - Update for new server format.   The names and number
	       of structure tags has now changed.

7-Apr-2014:  SOLVE_ASTRO - Solve for an tangent-plane astrometric plate solution with 
optional distortion terms.   Requires MPFIT, MPFIT2dFUN from the Markwardt Library

            New /markwardt directory contains procedures from the Markwardt
	    library used in the  Astron Library 

7-Apr-2014:  MRDFITS() - Work with LONG64 variable length binary tables

18-Mar-2014: MRDFITS() - Suppress "zero length" message when /SILENT is set

13-Mar-2014: STRN() - Now accepts vector input

12-Mar-2014: TNX_EVAL() - Evaluate distortion correction given IRAF TNX
coefficients (polynomial only) 

             AD2XY, ADD_DISTORT, EXTAST, PUTAST, XY2AD - now support IRAF TNX
	     projection (polynomial only -- not yet Chebyshev or Legendre).

5-Mar-2014:  TPV_EVAL() - Correct several typos for 4th order terms

26-Feb-2014: FITSDIR - Don't let a corrupted file cause an abort

26-Feb-2014: QUERYVIZIER - Updated for new http: syntax if /CANADA is set
             FITSRGB_TO_TIFF - use 24bit display when /Visualize is set 

25-Feb-2014: HASTROM - Now has a /SILENT keyword

05-Feb-2014: MULTIPLOT - Now handles [!X/Y.OMargin]

25-Jan-2014: Removed spurious versions of EXTAST, XY2AD, and SIP_EVAL which
                had been duplicated in the /fits directory.

24-Jan-2014: FM_UNRED - Fix computation of output keyword EXTCURVE

10-Jan-2014: QuerySimbad- Now has optional keywords to get magnitude and
parallax.

9-Jan-2014:  WCS_CHECK_CTYPE - Now recognize when "RA" and "DEC" CTYPE values
are flipped.

3-Jan-2013:  AD2XY, XY2AD, EXTAST, TPV_EVAL() - Now support the TPV model of 
               distortion (used by the SCAMP software) 

14-Dec-2013: AD2XY, EXTAST, SIP_EVAL() - support reverse SIP distortion 
                  calculation when only forward coefficients supplied
	     WCSXY2SPH - Return scalar output for scalar input for ZPN
	     projection	
	     WCSSPH2XY - Polar offset correctly done in radians 

13-Dec-2013: WCS_ROTATE - Avoid roundoff error when longitude = +/- 180

1-Dec-2013: EXTAST - Add warning if astrometry includes SCAMP distortions
                (These are not yet evaluated but will be in the future).

05-Nov-2013:MRANDOMN - Use LA_CHOLDC instead of CHOLDC to enable use of STATUS keyword

            SELECT_W - Add kluge for Unix systems when Y_SCROLL_SIZE  is set.

29-Oct-2013: DBCREATE - .db files no longer need be in current directory

27-Sep-2013: New procedures to query IRSA catalogs and tables
   QUERY_IRSA_CAT - queries IRSA catalogs, returning an IDL structure
   READ_IPAC_TABLE - reads an IPAC Table file into an IDL structure
   READ_IPAC_VAR -   converts an internal variable to an IDL structure
   WRITE_IPAC_TABLE - writes an IDL structure to an IPAC Table file

21-Sep-2013: EXTAST - Fix for converting GLS projection to SLS

19-Sep-2013: MRD_STRUCT - Fix typo when creating LONG64 arrays with 
                   /No_Execute 

17-Sep-2013: XDISPSTR - Now has POS keyword to specify where to display the
                  widget on the screen.

31-Aug-2013: DBSEARCH - Put in a strtrim() prior to sorting
             SELECT_W - Fix SELECTIN keyword problem introduced 20-Aug

28-Aug-2013: AD2XY, PUTAST - Fix bugs introduced 30-Jul-2013

             Library now assumes IDL V6.4 or later.    Look at /old
	     for older versions 

23-Aug-2013: READFITS() - Fix bug when skipping extensions with > 2GB

20-Aug-2013: APER - Don't ever modify input SKYRAD parameter

             SELECT_W - Use CW_BGROUP instead of obsolete XMENU, implement
	       comments parameter as ToolTips
	     DBOPEN - Use tooltips when called without any parameters  

13-Aug-2013: AD2XY - Don't modify shape of input arrays

7-Aug-2013:  UNZOOM_XY - Fix algorithm for non-zero zoom values

30-Jul-2013: Major upgrade to world coordinate procedures including adding
             HealPix "butterfly" (XPH) projection, using the "Version 2" 
	     astrometry structure with 11 new tags, and stricter adherence to 
	     the WCS standard
	     
             AD2XY, ADXY, EXTAST, MAKE_AST, PUTAST, WCS_GETPOLE,
	     WCS_ROTATE, WCSSPH2XY, WCSXY2SPH, XY2AD, XYAD
	     
	     WCS_CHECK_CTYPE - Check that pair of CTYPE parameters conform to
	     WCS format. 

18-Jul-2013: DATE_CONV() = Now has a /BAD_DATE output keyword

             XDISPSTR - Made widget resizeable

17-Jul-2013:  EXTAST - Major rewrite to add AXES, REVERSE, COORD_SYS,
              PROJECTION,, RADECSYS, EQUINOX, DATEOBS, MJDOBS, PV1,
	      and X0Y0 tags to the structure.
	      
	      SKY - Fixed occasional out of bounds problem when /NAN set.
                     
10-Jul-2013:  WRITEFITS - 28 June bug fix introduced error when CHECKSUM is set 
                           and NAXIS = 0

01-Jul-2013: SELECT_W - Added Columns, y_scroll_size keyword inputs,

28-Jun-2013: WRITEFITS - Fixed bug when using /CHECKSUM with unsigned integers

11-Jun-2013: RDPLOT - Added /CURSOR_STANDARD keyword, fix occasional crashes

23-May-2013: EQ2HOR - Fix problem with scalar JD and vector RA,Dec

22-May-2013: CO_NUTATE, CO_ABERRATION - Fix problems when JD is a 1-element 
                 vector and RA,Dec have 2 or more values

17-May-2013: WCSSPH2XY, WCSXY2SPH -- Allow GPL as a synonym for SFL projection

1-May-2013:  Text file idl_stsdas.tex moved to /obsolete since the Library
              no longer supports STSDAS tables.

19-Apr-2013: RESISTANT_MEAN -  Allow a row/column to be all NaN values

10-Apr-2013: RESISTANT_MEAN - fix problem when NaN values present
             PLOTHIST - Fix problems when /XLOG is set 

1-Apr-2013: EXTAST - Work with PARITEL headers with extra quotes

26-Mar-2013: PARTVELVEC - Now work NaN values in input array.

8-Mar-2013: MRDFITS() - Fix problem when ther FITS columns differ only in having
                  a different case.

6-Mar-2013:  AL_LEGEND - Can now use embedded symbols in items string array

26-Feb-2013: WEBGET() -- Allow http_proxy to be upper or lower case

21-Feb-2013: MRDFITS() - Fix problem introduced Nov 2010 when using /FSCALE  

15-Feb-2013: SUNSYMBOL() - Use DejaVuSans true-type font for V8.2 or later

14-Feb-2013; OPLOTERROR - Work with a Coyote resizeable window 

30-Jan-2013: ARCBAR - Fix problem when using /DATA coordinates and not in 
                 postscript.

28-Jan-2013: PUTAST - Spurious error message introduced April 2012 when CD
                 matrix supplied.

15-Jan-2013: Coyote library procedures are no longer included in the Astron 
             library .tar or .zip files and must be downloaded separately from
	     http://www.idlcoyote.com/documents/programs.php.    Alternatively,
	     one can download coyote_astron.tar.gz which contains a subset of 
	     the Coyote library routines needed by the Astronomy library.

11-Jan-2013: FITS_INFO - Fill EXTNAME even when /SILENT is set 

3-Jan-2013:  DBCIRCLE() - Fix occasional problem when crossing 0h

13-Dec-2012: AL_LEGEND -  Fixed bug when linsize, /right called simultaneously

29-Nov-2012: RHOTHETA() - Calculate separation and position angle of a binary star
                    given its orbital elements

26-Nov-2012: AL_LEGENDTEST - Renamed from LEGENDTEST

02-Nov-2012: PUTAST - Don't warn about missing reverse SIP coefficients when 
              forward transformation has order 0

01-Nov-2012: READFITS() - Fixed check that header begins with 'SIMPLE'

             Removed legend.pro because its name conflicts with IDL 8.0
	     intrinsic function.   Use AL_LEGEND instead.

25-Oct-2012: OPLOTERROR - Fixed problem when overplotting a single point.

24-Oct-2012: DBCREATE - Fix occasional problem where item descriptions overlap.

22-Oct-2012: HCONGRID, HREBIN - Allow new CRPIX* values to be double precision

17-Oct-2012: TICLABELS - Bug fixed where degrees (not just hours) would be 
                   forced to be between 0 and 24.

12-Oct-2012: MWRFITS - Bug fixed to set location of column header comments.
             SXADDHIST - Bug fix when finding location to insert a comment
	     
	     **Procedures in  /sdas_table have been moved to the /obsolete 
	     directory http://idlastro.gsfc.nasa.gov/ftp/obsolete/ **

10-Oct-2012: MRDFITS() - Better error checking for FPack compressed files

02-Oct-2012: FITS_OPEN - work with gzip'ed files even if gzip is not available

21-Sep-2012: FITS_INFO - Increase maximum number of file extensions from 400 to
2000.

05-Sep-2012: ADSTRING() - can now convert longitudes >99.99 to sexagesimal

24-Aug-2012: EQ2HOR - use STRICT_EXTRA to flag spurious keywords
             CO_ABERRAtION - fixed case both the Julian Date and RA,Dec are 
	               vectors

09-Aug-2012: MWRFITS - Better documentation, error checking for logical columns

07-Aug-2012: AL_LEGEND - A symbol can now be specified by its cgSYMBOL name

30-Jul-2012: PERMUTE() - Moved from /contrib to the main library

19-Jul-2012: WRITEFITS - Now writes a dummy primary header if user supplies
                    an extension table header.

16-Jul-2012: RESISTANT_MEAN - Use of Dimension keyword yielded transpose of 
                    correct value.
		    
             READCOL- Correctly handle blanks without a conversion error		    

20-Jun-2012: QUERYVIZIER() - Better handling of case when more than one catalog returned

29-May-2012: WCSSPH2XY, WCSXY2SPH -- Added HealCart projection

25-May-2012: EXTAST - Recognize obsolete keywords PC001002, CD001002
             HISTOGAUSS - Better formatting of text output

03-May-2012:MRD_STRUCT - Added more capabilities in /No_execute mode

02-May-2012: HELIO_RV() - Change convergence test from relative to absolute 
                          precision on E

30-Apr-2012: SXPAR(), FXPAR()  - Fixed problem extracting keywordN when N=0

17-Apr-2012: FXBREADM, FXBWRITM - Now use long64 to support files > 2GB

12-Apr-2012: TVBOX - Added /SQUARE keyword to keep box square even when 
                    X and Y plotting scales differ.

04-Apr-2012: PUTAST - Now adds SIP distortion parameters if present

25-Mar-2012: TVELLIPSE - Now has /FILL keyword to draw filled ellipses

21-Mar-2012: MULTIPLOT - Default to use a white background color

20-Mar-2012: TVCIRCLE, TVELLIPSE, TVBOX - Added /DEVICE keyword, fix 04-Jan-2012 
            change.

07-Mar-2012: TICLABELS - Fix problem when a label falls at exactly 0 degrees

07-Feb-2012: MODFITS - now works with a 1 element structure

01-Feb-2012: AL_LEGEND - Fix problems with use with a CG window, and 
                    setting a background color

31-Jan-2012: DELVARX - No longer uses EXECUTE, always frees memory

12-Jan-2012: MRD_HREAD - Now has a  /NO_BADHEADER keyword to abort if any bad
                characters are found in the FITS header.

05-Jan-2012: PLOTERROR, OPLOTERROR - Speed improvement by calling PLOTS
                rather than CGPLOTS internally.

            FITS_HELP - Use V6.0 notation

04-Jan-2012: TVCIRCLE, TVBOX, TVELLIPSE - Default to data coordinates if 
                 !X.CRANGE is set (i.e. plot system defined)
             WEBGET() - Timeout now defaults to 15 seconds and applies to both
	                reading and connecting from the socket
             REM_DUP() - Call BSORT() to ensure original order maintained for
	                 equal values			

03-Jan-2012: TABINV - Faster test for monotonicity, allow double precision 
                      output

02-Jan-2012: ZBRENT - Can now pass parameters to user function via _EXTRA

20-Dec-2011: DBPRINT - Fix problem when displaying linked databases

15-Dec-2011: WEBGET() - Work for web sites with out a MIME type 

14-Dec-2011: AL_LEGEND - Removed call to SYMCAT to avoid symbol problems

10-Dec-2011: LINMIX_ERR - Fix bug when updating MU with Metropolis-Hastings

08-Dec-2011: MMM, APER -- Now have a MINSKY keyword
             PLOTHIST - Plot Keywords now work properly with /ROTATE

03-Dec-2011: AL_LEGEND - Fixed typo that kept BTHICK keyword from working

25-Nov-2011: EXTAST - Give warning if reverse SIP coefficients not supplied

23-Nov-2011: GLACTC_PM - Correct occasional sign error in galactic longitude

02-Oct-2011: QUERYSIMBAD - Display coordinates if /PRINT set, or only 
                    one parameter supplied.

22-Sep-2011: GET_EQUINOX - Added ALT keyword, support RADESYS keyword 

15-Sep-2011: DBOPEN, DB_ENT2EXT, DB_ENT2HOST - Fix Nov 2010 bug that affects 
                      external databases 

25-Aug-2011: GETROT - Fix problem when X and Y rotations have opposite signs
             STARAST - Check for singular matrix (collinear star positions)

19-Aug-2011: PUTAST - Don't add PV2 value to FITS header for WCS types (e.g. 
                  'TAN') for which it is not defined, added PLTSCL, ROTAT
		  keywords
		  
	     PIXCOLOR - Can specify Coyote graphics colors	   

07-Aug-2011: MAKE_ASTR - Fixed bug introduced October 2010 for setting default
                 plate scale.   Affected use of STARAST. 

04-Aug-2011: PLOTHIST - Explictly set XSTYLE,YSTYLE to avoid confusion when
                 _EXTRA keywords are used by both PLOTS and PLOT.

20-Jul-2011: LEGEND - Replace SIZE with CHARSIZE keyword in calls to XYOUTS
                for GDL compatibility

9-Jul-2011: TVBOX - Now has /FILL keyword

25-Jun-2011: AL_LEGEND - Erroneous call to CGQUERY instead of CGCONTROL

01-Jun-2011: HROTATE - Work even if no astrometry present, just update NAXIS*

31-May-2011: SXADDPAR - Fix problem saving comment when slashes present 

16-May-2011: AL_LEGEND - Fixed problem when using resizable graphics window

09-May-2011: AL_LEGEND - Added LINSIZE keyword to control size of line

02-May-2011: MODFITS - Don't try to update CHECKSUM keywords when a structure
                        supplied
	     MRDFITS - Use better defaults for null values for FITS ASCII tables		

23-Apr-2011: FORPRINT - Comments can now be a vector (one per line)

17-Apr-2011: HELIO_RV() - Allow any consistent time system, not just HJD

07-Apr-2011: QUERYVIZIER()- Ignore vector tags, (such as SEDs recently added
                 to the 2Mass catalog)

06-Apr-2011: OPLOTERROR - "Hats" were not being plotted

05-Apr-2011: FILTER_IMAGE() - Keep double precision datatype if using /ALL_PIXELS

28-Mar-2011: MRDFITS() -  Fix bug with ROWS keyword introduced Nov 2010

17-mar-2011  AIRTOVAC - now iterates for even better precision

14-Mar-2011: AIRTOVAC, VACTOAIR - Use more accurate formula, added optional
                 output keyword

13-Mar-2011: SRCOR - Fixed problem when sources separated by more than 180
                   degrees and no critical radius set. 

07-Mar-2011: GETTOK() - Added /NOTRIM to leave input string unaltered

28-Feb-2011: HEADFITS(), MODFITS, WRITEFITS, CHECK_FITS, FITSDIR - Use V6.0 
                         notation 

25-Feb-2011: KSONE, KUIPERONE, KUIPERTWO, AUTOHIST, HISTOGAUSS - now use
                 Coyote Graphics

16-Feb-2011:
            The following 16 procedures now use the Coyote Graphics library 
	    (http://www.idlcoyote.com/graphics_tips/coyote_graphics.html ) --  
	    AL_LEGEND,ARCBAR, ARROWS, 
	    IMCONTOUR,LEGEND_TEST, LINEID_PLOT, MULTIPLOT, ONE_ARROW, 
	    ONE_RAY, OPLOTERRROR, PARTVELVEC, PLOTERROR, PLOTHIST, TVBOX,
	    TVELLIPSE, TVCIRCLE
	    
	    AL_LEGEND - Added BACKGROUND_COLOR keyword

14-Feb-2011: READCOL - Added COMPRESS keyword to read gzip'ed text files

10-Feb-2011: DB_ITEM - Ignore any blank lines in the .items file
             REMOVE - Fix occasional integer overflow problem

02-Feb-2011: READFITS() - First header not necessarily primary header if unit
                      rather than filename supplied

24-Jan-2010: READCOL - Now accepts full FORTRAN format values (e.g. F4.1)

21-Jan-2010: GAL_UVW - Updated to a more recent local standard of rest vector

11-Jan-2010: MRDFITS() - fixed use of /FSCALE from bug introduced 11-Nov-2010

23-Dec-2010: MRDFITS() = Fix reading of complex valued data in variable length
                binary tables

18-Dec-2010: DBOPEN - Fixed bug opening multiple databases

            /fanning directory renamed to /coyote

06-Dec-2010: FITS_READ, FITS_OPEN - Now support Fpack compressed FITS files
                   ( http://heasarc.gsfc.nasa.gov/fitsio/fpack/ )

05-Dec-2010: GET_PIPE_FILESIZE - Determine the number of bytes in a unit opened 
                        as a pipe with SPAWN

20-Nov-2010: TEXTOPEN, FORPRINT - Now have a /WIDTH keyword to pass to OPENW 
                  (and avoid possible problems with 80 character wraparound)

18-Nov-2010: MWRFITS - Fix problem with longword overflow, update to V6.0
                 notation

11-Nov-2010: MRDFITS() - Fixed problem with unsigned integers, update to V6.0
                notation

28-Oct-2010: PLOTHIST - Added FTHICK keyword to control thickness of lines used
               in POLYFILL

14-Oct-2010: DBSEARCH, FITS_OPEN - Use compound operators, slightly faster

             MAKE_ASTR - Default plate scale is now 1"/pixel (not 1 deg/pix)

13-Oct-2010: Database routines now support databases with entry lengths larger
             than 32767 bytes.    This requires some changes in the internal
	     database formating but these changes should be transparent to the
	     user.   Modified routines are 
	     
	     DBCREATE, DBEXT_DBF, DBFIND() DB_INFO(), DB_ITEM, DB_ITEM_INFO(), 
	     DBOPEN
	     
	     DBWRT - Faster byte swapping 

11-Oct-2010: LEGEND - Now has BTHICK keyword to control legend box thickness

04-Oct-2010 COSMO_PARAM - Better error checking.

08-Sep-2010: READCOL - Now has /QUICK keyword for faster (but less flexible)
                       reading
             KSTWO - Fix 32 bit overflow problem when computing N_eff for very
	     large integers		       

19-Aug-2010: CNTRD - Fix bug that would return NaN values rather than -1,-1
                      when centroiding failed
             GCNTRD - Gaussian smooth image prior to finding maximum pixel 
	              (unless /KEEPCENTER is set )
	      DB_ENT2HOST - Fix bug with multidimensional strings 		  
		      		      

18-Aug-2010: DBPRINT - Fix display of multidimensional data
             AL_LEGEND - Duplicate of legend.pro that avoids name conflict with
	            new IDL 8.0 LEGEND() function.

17-Aug-2010:  MRDFITS() - Fix bug with /EMPTYSTRING keyword and multidimensional
                          strings
	      DB_ENT2EXT - Fix bug with multidimensional strings 		  

8-Aug-2010:  READFITS() - Fix possible problem when startrow=0 supplied

3-Aug-2010:  READFITS() - Faster access to FPACK decompression
             MRD_STRUCT - Serious bug introduced 16-Jul fixed.   Could have
	               caused MRDFITS() to fail if short integers present.

30-Jul-2010: GETPRO - Test for .sav file, more robust test for write privilege

24-Jul-2010: READCOL - Free memory used by internal pointers
             DBBUILD - Fix for when first parameter is multi-valued

16-Jul-2010: LEGEND - Make a box with sharper edges 

14-Jul-2010: WFPC2_READ - Fix header when only reading PC chip in MEF format

12-Jul-2010: QUERYGSC - fix case for dec between -1 and 0

11-Jul-2010: QUERYSIMBAD - Added /SILENT keyword

08-Jul-2010  FXPOSIT() - Prompt for file name if supplied as an empty string
                       (same effect for MRDFITS(), HEADFITS() )

02-Jul-2010: DBCIRCLE() - Fields RA_OBJ (degrees) now works correctly

24-Jun-2010: ROBUST_SIGMA() - Correctly handle data with NaN values

20-Jun-2010: FXREAD - Update BLANK keyword when applying BSCALE/BZERO

03-Jun-2010: READFITS() - Use short-circuit operators, correct treatment of 
               BLANK keyword, use dialog_pickfile when filename supplied as an
	       empty string.

24-May-2010: WCS_GETPOLE - Make native pole calculaions ocnsistently in radians
             READFMT - Recognize 'G' format, use SKIP_LUN
	     DBBUILD - Avoid spurious warning message about # of elements

09-May-2010: FXBFIND - Fix potentially serious bug introduced April 2010
             DBFIND_SORT - Fixed occasional out of bounds error
                      
06-May-2010: WFPC2_READ - Can now read multi-extension FITS format

04-May-2010: MATCH - Added EPSILON keyword to get matches within tolerance.

09-Apr-2010: FXBREADM - Add support for columns with TNULLn keywords

07-Apr-2010: DBCREATE - Remove spurious warning that database name is too long

06-Apr-2010: FXBTORM, FXBHELP, FXBFIND, FXBPARSE - Stop using obsolete !ERR
                system variable (and maintain GDL compatibility) 

06-Apr-2010: READCOL - Graceful return even if no valid lines present

05-Apr-2010: FXBCREATE - Fixed rare truncation of FITS header when updating 
                        THEAP keyword

02-Apr-2010: FTAB_PRINT, TBPRINT - Can now print in 'table' format (1 row per
             line by setting the column parameter to '*'; also added a 
	     NUM_HEADER_LINES keyword.

28-Mar-2010: FXBADDCOL - Do *not* force TTYPE* keyword to upper case

23-Mar-2010: Now have a /fanning directory containing procedures from David 
                 Fanning's library ( http://www.dfanning.com/) used with Astron
		 procedures.   Currently contains
		 
	      SETDEFAULTVALUE - Set default value for positional & keyword
	             argument
	      SYMCAT() - 	 a direct graphics symbol catalog

22-Mar-2010: CONVOLVE - Add /No_PAD keyword for better speed and less memory usage 
                     when edge effects are not important

11-Mar-2010: QUERYVIZIER -  Avoid error if output columns but not data returned

10-Mar-2010: MRDFITS() - Fix COLUMN keyword to work as advertised

06-Mar-2010: REMOVE - Can now remove elements from up to 25 vectors

25-Feb-2010: READCOL - Now recognizs LL, UL, and ULL data types
             STRNUMBER() - Now has a /L64 keyword

18-Feb-2010: SXPAR(), FXPAR() - Fix problem with extracting very large negative
                 integers.

             QUERYGSC() - Handle updated server format which now also returns
	          infrared photometry

17-Feb-2010: READ_FMR() - Read a journal (ApJ, AJ) machine-readable table into IDL

09-Feb-2010: CO_REFRACT()  - Allow more than 32767 elements

02-Feb-2010: REPSTR() - Test for empty input string (could cause infinite loop)

01-Jan-2010: VALID_NUM() -- Corrected bug that would treat '124.' as invalid

31-Dec-2009: SRCOR - Return as soon as no matches are found 

17-Dec-2009: SRCOR - Fix RA search to account for cos(Dec)
             RESISTANT_MEAN - Now has DIMENSION keyword to take mean over 1
	        dimension, more consistent double precision 

11-Dec-2009: DBCREATE - Warn if record length exceeds 32767 bytes
             FXBREAD - Fix use of DIMENSION keyword

29-Nov-2009: MWRFITS - Fix /USE_COLNUM for binary tables
             DBFIND_SORT - Fixed 01-Nov update to not use VALUE_LOCATE on single
	              value

25-Nov-2009: READCOL - Use pointers to improve speed and avoid bug with using
                      SCOPE_VARFETCH() in IDL 7.1 workbench. 
             MULTIPLOT - Reinitialize common block if M[X/Y]TITLE set               

03-Nov-2009: LEGEND - PSYM values between 11 and 46 will now use the plotting 
               symbols defined in David Fanning's SYMCAT() function 
	       http://www.dfanning.com/programs/symcat.pro

01-Nov-2009: DBINDEX, DBFIND_SORT -- Now allow string items to be sorted

30-Oct-2009: READFITS() - Ignore degenerate trailing dimensions with NSLICE keyword

29-Oct-2009: CONVOLVE - Pad images prior to FFT to avoid edge effects

23-Oct-2009: GLACTC_PM - Convert between celestial and Galactic (or Supergalactic) proper motion

19-Oct-2009: FITS_READ - Make sure FIRST is long64 for very large files

30-Sep-2009: FXADDPAR - Now has /NOLOGICAL keyword to *not* interpret 'T' and 
                 'F' as logical values 
             MWRFITS - Allow TTYPE values of 'T' and 'F'		 
                         
16-Sep-2009: TAG_EXIST() - June 2009 update wasn't setting INDEX keyword
  
20-Aug-2009: READCOL - Now allows up to 40 output parameters
             FTAB_EXT - Now allows up to 30 output parameters

14-Aug-2009: HPRECESS, PRECESS_CD - Use J/Bprecess for conversion between 
                       J2000 and B1950

11-Aug-2009: FITS_ADD_CHECKSUM - Make sure FITS header has 80 characters/line

10-Aug-2009: FDECOMP - Removed MacOS section (since it is same as Unix)
             BLKSHIFT - MacoS *can* move beyond EOF with POINT_LUN

31-Jul-2009: MRDFITS - Added /EMPTYSTRING keyword to bypass IDL memory bug
                  when reading empty strings

31-Jul-2009: DBFIND - Avoid possible "Illegal Operand" error

30-Jul-2009: MRD_STRUCT - restored 131 character limit for execute()

22-Jul-2009: READFITS() - Fix error using NUMROW,STARTROW with non-byte data, 
            allow these keywords to be used with primary array

21-Jul-2009: SXPAR() - Faster handling of Long String convention

17-Jul-2009: WHERE_TAG(), CREATE_STRUCT(), TAG_EXIST(), SXDELPAR - cleaner and 
               slightly faster coding
		
             Removed NUMLINES() which is superceded since V5.6 by FILE_LINES

16-Jul-2009: Remove N_STRUCT() (now in /obsolete) since it is rinky-dink
                  (and to recapture the namespace)

15-Jul-2009: TABINV - use ARRAY_EQUAL for speed, always internal double 
                precision

14-Jul-2009: FXPOSIT, MRDFITS() - More complete handling of FPACK compressed
               files, including automatic detection of FPACK compression.

11-Jul-2009: KSONE - work for functions that do not accept keywords

03-Jul-2009: RDFITS_STRUCT - Added EXTEN keyword to only read specified 
                     extensions

	     DBSEARCH() - Faster search for large databases	     
             MRD_HREAD - Now has a /SKIPDATA to position at end of HDU

03-Jul-2009: Library now requires IDL V6.1 or later 
             IDL_VALIDNAME - removed since an intrinsic function since V6.0

             ADSTRING - Use new formatting for "+" and "-"
	     CHECKSUM32 - Use TOTAL(/INTEGER)  for faster performance
             DBBUILD - Eliminate use of EXECUTE() and use SCOPE_VARFETCH(), 
	                 accept up to 50 input variables.
             MRD_STRUCT - Assume lmgr() function available

	     
02-Jul-2009: WCSSPH2XY - Check for valid range of nonlinear polynomial in 
                   a ZPN projection.

01-Jul-2009: MRDFITS() - Fixed bug introduced March 2009 when using file unit 
                      (the Unixpipe variable was undefined)

29-Jun-2009: MWRFITS - trim alias, implement logical TFORM 'L', don't add
                      space after TFORM key

28-Jun-2009: DBCREATE - Remove calls to IEEE_TO_HOST

23-Jun-2009: LINMIX_ERR - Fixed bug so the iteration count reset after the burnin 
                          stage when /SILENT

17-Jun-2009: MRDFITS() - Fixed typo giving an error with /FSCALE 
                                  introduced April 2009
             HOR2EQ - Fixed case of scalar Julian date but vector positions
	     CO_ABERRATION - Fix error with vector input
	     SRCOR - Fix case when no matches found with /SPHERICAL

9-Jun-2009:  MODFITS -- allow input data to be an (MRDFITS) structure

27-May-2009: FXPOSIT(), READFITS, MRDFITS, HEADFITS() - can now read FITS files
            compressed with FPACK ( http://heasarc.gsfc.nasa.gov/fitsio/fpack/ )

15-May-2009: CREATE_STRUCT - Now puts "compile_opt hidden" in temporary .pro
                 file to suppress error messages

05-May-2009: CHECKSUM32 - Skip byteswapping for float or longword data

30-Apr-2009: DBCIRCLE() -  Fix problem when RA range exceeds 24h

10-Apr-2009: MWRFITS - Small efficiency update when writing ASCII tables

03-Apr-2009: MRDFITS() - Small efficiency updates in MRD_SCALE

01-Apr-2009: PLOTERROR, OPLOTERROR - Fixed problem when axes are both 
                logarithmic and reversed

19-Mar-2009: TAG_EXIST() - Added a dummy /RECURSE keyword for compatibility 
                  with the Solarsoft version

16-Mar-2009: FXPOSIT() - Now opens files with the /SWAP_IF_LITTLE_ENDIAN keyword
                        for byteswapping on the fly.
	     MRDFITS() - Use new FXPOSIT() for much faster byteswapping. **The
	         new MRDFITS() must be used with the new fxposit.pro **		

13-Mar-2009: GCIRC - Now uses haversine formula for less roundoff error at the
                   milliarcsecond level
	     SRCOR - Now much faster when using spherical coordinates.   Added
	            /SILENT keyword	   

09-Mar-2009: IMDBASE - Addded /SILENT keyword

24-Feb-2009: WEBGET() - Now has TIMEOUT keyword (defaulting to 30s) 

21-Feb-2009: GETROT - Account for rotation introduced by nondefault value
                      of LONGPOLE
             SKY - Avoid possible out of bounds if /NAN set

20-Feb-2009: EXTAST - Fix typo for AZP projection, nonzero longpole 
                   If duplicate WCS keywords, then use the *last* values   

             DBOPEN - Fix typos in keywords passed to BYTEORDER

10-Feb-2009: FXBADDCOL, FXBWRITM - Now work with unsigned integers
             FXADDPAR - Increase formatting precision for double precision 

             RXTE Software in  contrib/rxte directory updated to Version 1.2

06-Feb-2009: TEN(), TENV() - Now accept string inputs

02-Feb-2009: READCOL - Now has STRINGSKIP keyword to skip lines beginning with a
                   specified string

22-Jan-2009: ROBUST_POLY_FIT() - Added /DOUBLE keyword, removed obsolete call
                  to POLYFITW
	     HELIO - Work for more than 32767 positions	  

21-Jan-2009: PLOTHIST - Now has a /ROTATE keyword to switch X and Y axis
                 (put the plot on its side).

18-Jan-2009: WEBGET(), QUERYVIZIER() - Added /SILENT keyword

13-Jan-2009: ASTROLIB - Removed !DEBUG definition (no longer used)

12-Jan-2009: SCREEN_SELECT, SELECT_O, SCR_*.PRO moved to /obsolete directory
             (i.e. widgets are now assumed to be always available).


09-Jan-2009: MWRFITS - Now has output STATUS keyword to indicate success/failure
             JPLEPHINTERP - Now allows base time TBASE to be scalar or vector

22-Dec-2008: KSTWO - Fix bug when maximum difference occurs at the end of the 
                      array

19-Dec-2008: DBCIRCLE() - Added /GALACTIC input keyword and COUNT output keyword

12-Dec-2008: GAL_UVW - Now 10 times faster for large arrays

26-Nov-2008: JPLEPHINTERP - More input checking, SSB and EMB aliases for 
                    solar system and earth-moon barycenter

25-Nov-2008: QUERYSIMBAD - Remove CADC keyword, add CFA keyword, update address
                  of Sesame server

11-Nov-2008  FIND - Now has /MONITOR keyword to control whether to display each
                    individual star
             READCOL - Now has NLINES output keyword 		    

29-Sep-2008: EULER - Now has /RADIAN keyword

06-Sep-2008  FITS_WRITE - Delete BSCALE/BZERO before writing file
             PLOTHIST - Check whether all values are NaN

28-Aug-2008: IMCONTOUR - Work when RA crosses 0 hours
             TICLABELS - Use 0h labeling instead of 24h

19-Aug-2008: ADSTRING() - Fix roundoff error when -1 < dec < 0 , add PRECISION
                          keyword

15-Aug-2008: READCOL - COUNT output keyword added giving number of valid lines
             EXTAST - Now use the *last* values if duplicate astrometry 
	               keywords are present in the FITS header

08-Aug-2008: MRDFITS() - Added OUTALIAS keyword, use vector form of VALID_NUM()

07-Aug-2008: VALID_NUM() - Major rewrite to use STREGEX, accept vector input
             SXPAR() - Use vectorized form of VALID_NUM

05-Aug-2008: QUERYVIZIER() - Use STRCOMRPESS2 for more robust searches using 
	            Constraint string
	            		   
04-Aug-2008: STRCOMPRESS2() - Remove blanks around specified chars in a string

01-Aug-2008: DBCREATE - Fix bug introduced May 2008 when not in ZDBASE dir
             DBGET()  - Fix possible bug when sublist supplied

30-Jul-2008: MODFITS - Now has EXTNAME input keyword
             JDCNV - Now checks for valid day, month ranges
	     CT2LST - Change sign of time zone parameter to match standard
	             Positive East of Greenwich (ahead of GMT).
             QUERYVIZIER() - Allow for possible lower-case returned formats	       

19-Jul-2008: OBSERVATORY - Fix error message for unknown observatory
             MODFITS - Fix bug when adding CHECKSUM changed header size
	     FITS_ADD_CHECKSUM - Don't update DATASUM if not already present
	          and no data array supplied.

             RXTE Software in  contrib/rxte directory updated to Version 1.1

27-Jun-2008: EULER - Use less virtual memory for large arrays

24-Jun-2008: MRDFITS() - More informative error message when EOF encountered.

18-Jun-2008: GAL_UVW - Fix overflow for >32767 elements and update Sun velocity

12-Jun-2008: FITS_ADD_CHECKSUM - Fix error when CHECKSUM is an empty string

07-Jun-2008: QUERYVIZIER - Now recognize 'D' format specification

13-May-2008: FITS_ADD_CHECKSUM - Fix problem with images with multiples of 
                 2880 bytes.

10-May-2008: READFITS() - Now always reset BSCALE/BZERO after applying even for 
                   unsigned integers

03-Apr-2008: HEXTRACT - Added ALT keyword to specify alternate astrometry
             UPDATE_DISTORT - Update SIP nonlinear transformation astrometry
	                 coefficient for a linear transformation

27-Mar-2008: SIZE_STRUCT() - Moved to /obsolete directory becuase it is 
                superceded by LENGTH and DATA_LENGTH keywords to N_TAGS

21-Mar-2008: FIND - Now computes centroids using marginal Gaussian fits
             GCNTRD - Modified centroid algorithm to match IRAF/DAOFIND &
	       allow shifts of more than 1 pixel from initial guess.
	       

19-Mar=2008: FXBREADM, FXBWRITM - Read/write 64 bit integer columns

18-Mar-2008: FITS_INFO, FXBOPEN, FXBPARSE, FXFINDEND, FXBFINDLUN - Update
             integers to LONG64 to deal with very large files.

             HREBIN, HCONGRID - Don't update BSCALE/BZERO for unsigned integer

13-Mar-2008: APER - Allow output of negative fluxes (if /FLUX is set)

10-Mar-2008: READFITS() - Avoid 32bit overflow when using NSLICE keyword

03-Mar-2008: QUERYVIZIER - Update Strasbourg Web address to work correctly

01-Mar-2008: DBCREATE - No longer requires user to be on a ZDBASE directory
             FIND - /SILENT now suppresses *all* output

18-Feb-2008: WRITEFITS - EXTEND keyword is no longer required in the primary
               header of a FITS file with extensions as in proposed new
	       FITS guideline

14-Feb-2008: RESISTANT_MEAN - Use double precision internally
             IMCONTOUR - Make use of the OVERLAY keyword always optional

29-Jan-2008: SKY - Avoid possible out of bounds if /NaN set.

17-Jan-2008: CONS_RA() - Ensure that returned declination is between -90 and 90
             IMCONTOUR - Added OVERLAY keyword to ensure accuracy ot 1 pixel
	            when overlaying an image.   Use FORMAT_AXIS_VALUES()
		    
	     New /contrib/rxte directory contains "IDL Extractor" programs 
	     to extract light curves, spectra and power spectra from RXTE data 
	     (and also Swift and Chandra data).

14-Jan-2008: FXWRITE - Now has /APPEND keyword to append to existing FITS files
             FXHMAKE - Now has /XTENSION keyword to specify header is for an
	               image extension.
	     FXBWRITM - Now allows output table to have TSCAL/TZERO keyword 
	               values, unless new /NOSCALE keyword is set	
             FXBREADM - Now recognizes unsigned integer scalings, and scalings
	               can be either float or double precision.		              

08-Jan-2008: ADD_DISTORT -- Add a SIP distortion astrometry structure into a 
                       FITS header
             HREBIN, HCONGRID  - will now update SIP distortion coefficients
	              when expanding or compressing an image
              MMM - make sure that program never aborts but returns gracefully		      		       

24-Dec-2007  TRANSFORM_COEFF - Compute new polynomial coefficients under a 
                  linear transformation

19-Dec-2007: FITS_INFO - Now has out keyword EXTNAME to return extension names
             QUERYGSC() - Updated Webserver name (sigh)

13-Dec-2007: MODFITS - Ensure that supplied header contains 80 byte lines

11-Dec-2007: QUERYVIZIER(), CREATE_STRUCT() - Use vector form of IDL_VALIDNAME
                   if IDL V6.4 or later

4-Dec-2007:  FXMOVE() - Fix data size calculation for very large files
             FXPOSIT() - Added LUNIT keyword for user-supplied unit number

2-Dec-2007;  QUERYGSC() - major rewrite to use new STScI server & GSC 2.3.2

             QUERYUSNO (to query USNO-A2 catalog) has been removed since the 
	     newer USNO-B1 catalog can be queried with QUERYIVIZIER, e.g.  
             IDL> info = queryvizier('usno-b1','m13',5)

25-Nov-2007: Minimum IDL version is now IDL V5.6
             Updated procedures include RDFLOAT, BLKSHIFT, MEDARR, DBDELETE, 
	     FTAB_DELROW, GETPRO, WEBGET, READCOL, READFMT, READFITS, MRDFITS

             PRODUCT() - removed since intrinsic PRODUCT() is in V5.6

             PLOTHIST - Added AXISCOLOR keyword, fix color problem when 
                 overplotting

20-Nov-2007: ABSCAL() - Moved to /obsolete directory

14-Nov-2007: FXFINDEND, FXMOVE, FXBOPEN, FXREAD,  FXWRITE, FXHMODIFY - Now 
             account for possibility 64bit integers needed for # of bytes.

13-Nov-2007:  CORREL_IMAGES - Always REBIN() using floating pt. arithmetic

27-Oct-2007:  WCSXY2SPH, WCSSPH2XY - Now supports the HEALPIX projection

12-Oct-2007: WRITEFITS - By default, update CHECKSUM keywords if already present

26-Sep-2007: FIND - Fix error message when no local maxima found

13-Sep-2007: HOR2EQ - Avoid integer overflow for more than 32767 points

31-Aug-2007: MODFITS - Fix problem when data size must be extended
             MULTIPLOT - Added /SQUARE keyword, overall (x)(y)title keyword.
             Can now control gaps between plots and overall tick format.

22-Aug-2007: MRDFITS() - Fix problem when both /FSCALE and /UNSIGNED set

8-Aug-2007:  READFITS() - Fix bug introduced Mar 2006 in applying Bzero

6-Aug-2007:  MATCH2 - New procedure to find every matching element in 2 arrays

3-Aug-2007:  LEGEND - 13-Jul update introduced a bug for /NORMAL coords
             FXADDPAR - Bug fix for long string convention
	     OBSERVATORY - Added info for Mount Graham observatory
	     WCSSPH2XY, WCSXY2SPH - Correct treatment of PVi_j parameters

13-Jul-2007: WEBGET() - Partially upgrade to support HTTP 1.1
             LEGEND - Don't modify position keyword
	     DATE_CONV() - Add Julian date capabilities

06-Jul-2007: HPRECESS - Fix for case where CROTA2 is in the FITS header
             PUTAST - Allow PC matrix to updated when CD matrix is supplied

02-Jul-2007: QUERYSIMBAD - Update for parsing new /NED format

24-Jun-2007: WEBGET() - Now has a POST keyword for POST rather than GET queries

22-Jun-2007: FITS_READ - Added /PDU keyword to always inherit primary header 
                      even if INHERIT=T is not present (pre-April 2007 behavior)
             MRDFITS() - Fix for variable length arrays when used with the 
	              virtual machine.

29-May-2007: LINMIX_ERR, MLINMIX_ERR - Improved Bayesian prior for more reliable
   results

25-May-2007: CHECK_FITS - Work again for a null array

17-May-2007: New procedures supplied by Brandon Kelly (Steward U.)

   LINMIX_ERR : Bayesian approach to linear regression with errors in both X 
      and Y
   MLINMIX_ERR : Bayesian approach to  multiple linear regression with errors in
      both X and Y 
   MRANDOMN : Generate random vectors from a multivariate normal density. 
   MULTINOM : Genereate random vectors from a multinomial distribution.
   RANDOMCHI : Generate random numbers from a chi-square density.
   RANDOMDIR : Generate random vectors from a Dirichlet density.
   RANDOMGAM : Generate random numbers from a gamma distribution.
  RANDOMWISH : Generate random matrices from a Wishart density.

15-May-2007: FITS_READ, READFITS(), WRITEFITS - Set data variable to LONG64 
                 for handling very large files

08-May-2007: MEDARR - Added /DOUBLE keyword to force double precision

07-May-2007: PSF_GAUSSIAN() - Do not modify NPIXEL input keyword 

24-Apr-2007: REM_DUP() - Use faster algorithm when flag parameter not given
             FORPRINT - Fix error message when variable is undefined

23-Apr-2007: FXADDPAR - Now has an ERRMSG output keyword to capture error 
                        messages.

14-Apr-2007: FITS_OPEN - Warn user that compressed files cannot be updated

13-Apr-2007: WEBGET - Friendlier error recovery

12-Apr-2007: FITS_READ - Don't inherit the primary header unless INHERIT = T

9-Apr-2007:  GCIRC - Use internal double precision for U=0 mode as advertised
             EXTAST, MAKE_ASTR - .CRPIX tag now double instead of float

6-Apr-2007:  MRDFITS - Convert ASCII table array output to DOUBLE if needed to 
                       preserve precision 

28-Mar-2007: HEXTRACT - Work for dimensions larger than 32767

21-Mar-2007: TBINFO - Now has a /NOSCALE keyword to skip TSCAL, TZERO 
             TBPRINT, TBGET() - Avoid pointer leaks due to TBINFO call
	     TBDELCOL - Use /NOSCALE in call to TBINFO

13-Mar-2007: MODFITS - Update the file control block (FCB) structure if the
                        file size changes

09-Mar-2007: AD2XY, XY2AD - Use CRVAL ref. point for non-WCS transformations

08-Mar-2007: DBDELETE - Fix problem when deleting final entry
             FXMOVE - Use a case-independent search for EXTNAME

06-Mar-2007: QUERYSIMBAD - Update NED query to account for new IPAC format 

05-Mar-2007: SKY - Fix problem for very large (>5000 x 5000) images
             
02-Mar-2007: MWRFITS - fix problem where strings were being right-justified 
                       instead of being written exactly as supplied.

21-Feb-2007: TVELLIPSE - Added /MAJOR, /MINOR keywords to add major, minor axes

16-Feb-2007: FTAB_PRINT - Check for empty extension

15-Feb-2007: LIST_WITH_PATH - Restore pre-Sep 2006 behavior of not searching
                     subdirectories 

12-Feb-2007: PCA - fix bug in computation of attribute projections 

9-Feb-2007:  DBMATCH - Fixed bug where /FULLSTRING was always being set

8-Feb-2007:  CREATE_STRUCT - Added a descriptor type 'K' for LONG64 data

7-Feb-2007:  REMCHAR - Work for string arrays with more than 32767 elements

6-Feb-2007:  QUERYSIMBAD - Now use the more reliable Simbad Sesame name server,
                   added /VERBOSE,/CADC  keywords

20-Jan-2007: TEXTOPEN - Make sure output keyword MORE_SET is always defined 

             EXTAST - Now includes .NAXIS tag in output astrometry structure
	     PUTAST - New /NAXIS keyword to write .NAXIS values to FITS header

09-Jan-2007: DBPRINT, DBEXT_DBF - Remove use of EXECUTE() statements

03-Jan-2007: READCOL - Now has /PRESERVE_NULL keyword.   This was formerly set
                        as the default

28-Dec-2006: DBEXT, WFPC2_READ, FTAB_EXT - Avoid EXECUTE()  for V6.1 or later

26-Dec-2006: DBINDEX- Automatically enlarge index (.dbx) file if necessary
                      Fix serious bug introduced 18-Dec

19-Dec-2006: CONVOLVE() - Avoid unnecessary recomputation for double complex

             TVCIRCLE - Make default integers LONG so largest postscript circles
	                display properly.

18-Dec-2006: DBSORT, DBINDEX - Avoid use of EXECUTE() for V6.1 or later 

16-Dec-2006: MRDFITS(), HEADFITS() - Can now specify FITS extension by name (in
                 the EXTNAME keyword) 
	      FXMOVE(), FXPOSIT() - Added EXT_NO, ERRMSG keywords 	 

13-Dec-2006: MRD_SKIP - Restored check to avoid POINT_LUN with compressed files

8-Dec-2006:  WEBGET - Added case for reading FITS images from FIRST survey

1-Dec-2006: EXTGRP - Restored to Library (needed by WFPC2_READ)

24-Nov-2006:FITEXY - normalize input data before processing 

22-Nov-2006: CHECK_FITS - Fix dimension error introduced 14-Nov

20-Nov-2006: RDPLOT - Major upgrade, added BACKGROUND, /ACCUMULATE keywords
                 fixed full cursor display for different setups

15-Nov-2006: EXTAST - Use GSSS astrometry if WCNAME = "DSS" (as in 
                recent DSS images from the STScI server)

14-Nov-2006: CHECK_FITS - Removed support for STSDAS headers

2-Nov-2006: APER - All additional keywords to be passed to MEANCLIP

1-Nov-2006: ONE_RAY, ONE_ARROW - Now accept /DATA and /NORMAL keywords

25-Oct-2006: FITS_READ - Fix bug when using /DATA_ONLY keyword

20-Oct-2006: QUERYVIZIER - Set target='NONE' for an all-sky search, accept
                            '+/-' constraints 

17-Oct-2006: TBINFO - treat Logical type as character 'T' or 'F'

13-Oct-2006:GCIRC - Option (U=2) to supply input longitude, latitude in Degrees

3-Oct-2006: TVELLIPSE - Now uses _EXTRA to pass optional keywords to PLOTS

2-Oct-2006: MRD_SKIP - now uses POINT_LUN for compressed files since it is as 
                   fast as any other method
            READFITS() - Now calls MRD_SKIP to select fastest possible method
	           of skipping bytes

26-Sep-2006: FITS_OPEN, FITS_READ, FITS_WRITE, MODFITS - now use 
             /SWAP_IF_LITTLE_ENDIAN keyword to OPEN

25-Sep-2006: Library now requires V5.5 or later.    VMS support has been removed
             from most procedures
	     
	     The following "stale" procedures have been removed from the Library
	     They can still be obtained from 
	     http://idlastro.gsfc.nasa.gov/ftp/obsolete/
	     
	     afhread - Used for mostly obsolete WFPC1 data 
             astrmfix = Used for mostly obsolete FOC data
             conv_stsdas - Mainly for converting between VAX and unix
             conv_vax_unix() - Vaxes rarely used
             conv_unix_vax - Vaxes rarely used
             datatype() - JHUAPL routine
             dbcompress - TRUNCATE_ON_CLOSE makes it unnecessary
             def_dirlist -- Mainly for VMS
             extgrp - mainly for old WFPC1/FOC data
             getfiles -- Use dialog_pickfile instead 
	     getlog.pro -- mainly for VMS
             imgread      -- for mostly obsolete WFPC1/FOC data
             mid_*.pro  -- Midas I/O routines, no evidence that they are used
             osfcnvrt.pro -- mainly for VMS
             strd - only worked for small set of (mostly obsolete) GEIS files
              stsub, stsubim - only worked for small set of (mostly obsolete) 
	            GEIS files
            spline_smooth  -- Never worked properly
            redshift -- 1970's cosmology, from JHUAPL library
            sxhedit -- just use a regular editor
            table_conv.pro - mainly for vax/unix conversion
            wfpcread -- WFPC1 data rarely used


12-Sep-2006: FITS_OPEN - Support very large files by using 64 bit variables

9-Sep-2006: DBDELETE -Use TRUNCATE_LUN (if V5.6 or later) to compress the .dbf
                       file after deleting entries.    DBCOMPRESS moved to
		       obsolete directory.

1-Sep-2006: READCOL, STRNUMBER() now have a /NAN keyword to specify that
                   empty strings should be interpreted as NAN values

30-Aug-2006: STRNUMBER() - An empty string is a valid number (=0.0)

25-Aug-2006: HASTROM - Account for half-pixel shift when using nearest neighbor

23-Aug-2006: FORPRINT - Warn if supplied vectors are not all the same size

11-Aug-2006: TBPRINT - Fixed check for multiple values

08-Aug-2006: MWRFITS - Allow logical columns to be specified as bytes

04-Aug-2006: PLOTHIST - fix possible color problem introduced May 2006

26-Jul-2006: TBINFO - Added ERRMSG keyword, Treat repeat count for strings as 
                 specifying string length, not number of elements

25-Jul-2006: FITS_OPEN - FCB.Filename  now expands any wildcards

21-Jul-2006: DBFPARSE - Don't convert DATE/TIME to numeric for string items

14-Jul-2006: DBCREATE - New MAXENTRY keyword to override hardcoded #maxentries

12-Jul-2006: QUERYVIZIER - Removed V6.0 notation to restore V5.4 compatibility

06-Jul-2006: MWRFITS - Make 29-Jun-2006 fix work for pre V6.0 versions

29-Jun-2006: MWRFITS - Fix problem introduced May 2006 with multi-dimensional 
                       strings
		       
             MRDFITS - Better error catching for gzip files, fix handling 
	               of unsigned integers when BSCALE not present

27-Jun-2006: PLOTHIST - Now supports logarithmic axes (/XLOG, /YLOG)

26-Jun-2006: DBCREATE - Fix problem introduced May 2006 when default integer
               types were change to LONG

23-Jun-2006: MWRFITS - Use /SWAP_IF_LITTLE_ENDIAN keyword  to OPEN for 
                       improved speed.  

8-Jun-2006: TBPRINT - Use case-insensitive match of column names with TTYPES

7-Jun-2006: FITS_OPEN - Call XDISPSTR if /HPRINT is set on a GUI terminal
            HPRINT - Call XDISPSTR if on a GUI terminal

5-Jun-2006: XDISPSTR - Widget display of text with a simple search capability

2-Jun-2006: GETPRO - Now uses FILE_WHICH() function for improved speed
            FINDPRO - Use FILE_SEARCH instead of FINDFILE for V5.5 or later

26-May-2006: PLOTHIST - Add /BOXPLOT keyword, use exact XRANGE as default

16-May-2006: FDECOMP - Include final delimiter in directory name under
                   Windows, as advertised
             QUERYVIZIER() - New /ALLCOLUMNS keyword to return all catalog 
	            columns.    Also, QUERYVIZIER() **now returns an 
		    anonymous rather than a named structure**		   

1-May-2006:  DBCREATE - Make sure to use lowercase file names on Unix
             HROT - Work with a 1 element floating point angle 

28-Apr-2006: MRDFITS(), TBGET() - Use faster byteswapping keywords to BYTEORDER

25-Apr-2006: DBEDIT - Now use DIALOG_MESSAGE for error messages

             A_b() - Moved to obsolete directory 

24-Apr-2006: AITOFF_GRID, ARCBAR, HISTOGAUSS, SUNSYMBOL(), TICLABELS - 
                 Now have a FONT keyword to specify font (-1, 0 or 1)  
		 
	     HOST_TO_IEEE, IEEE_TO_HOST - use new keywords to BYTEORDER	             
                   for improved performance

21-Apr-2006: FITS_WRITE - Fix problem when number of bytes exceeds 32 bit word
             N_BYTES() - Now returns a long64 integer
             QUERYVIZIER() - Recognize 'E' format (same as 'F'format)

14-Apr-2006: Library now requires V5.4 or later, v53 directory contains 
                frozen version, V5.4 related changes include: 
	     GET_DATE - Removed LOCAL_DIFF keyword	
             FSTRING() - moved to obsolete directory
	     ADSTRING(), TO_HEX(), FTPUT - removed call to FSTRING()
	     BOXAVE() - allow 64bit integers		
             GETTOK(), MATCH, FM_UNRED - use COMPLEMENT keyword to WHERE 
	     HPRINT, FTDELCOL - Use BREAK instead of GOTO
	     MRD_SKIP, FITS_OPEN, FITS_INFO  - Use fstat.compress
	     GET_JULDATE - Use /UTC keyword to SYSTIME()
	     DB_ITEM, FITSDIR, NUMLINES(), IRAFRD - Use FILE_EXPAND_PATH

13-Apr-2006: DATE_CONV() - removed RETALL from error messages
             MMM - Now has NaN keyword to check for not-a-number values

05-Apr-2006: HPRECESS - Fix algorithm when CROTA2 in FITS header
             XYAD - Include equinox when displaying coordinates

03-Apr-2006: DATE_CONV() - Don't include space in output FITS date

01-Apr-2006: FITS_READ, READFITS() - Do not modify BSCALE/BZERO in FITS header
                  if reading unsigned integers

31-Mar-2006: MODFITS - Make sure last line of input FITS header is END
             DBPRINT - Fix display on GUI terminals

27-Mar-2006: POLY_SMOOTH() - Add /EDGE_TRUNCATE to CONVOL call

22-Mar-2006: QUERYVIZIER - 22 Feb update was not properly returning the first
                    object found.                       

17-Mar-2006: FXHMODIFY - Fixed problem when needing to extend size of primary
                         header with a call to BLKSHIFT

14-Mar-2006: DBEDIT - Added /BYTENUM keyword to treat bytes as numbers rather
                      than characters

1-Mar-2006:  SIXTY() - Added /TrailSign keyword to always place minus sign
                      on first element, rather than first nonzero element.

28-Feb-2006: CONVOLVE() - Match output precision type to that of input

24-Feb-2006: NUMLINES() -- Handle Unix files with spaces prior to IDL V5.6

23-Feb-2006: FXBADDCOL, FXBTFORM -- Added support for 64 bit integers
             MWRFITS - Removed warning about 64bit integers now that they are
	               standard FITS (as of December 2005)

22-Feb-2006: QUERYVIZIER - Updated for a change in the VIZIER output

6-Feb-2006:  FXPOSIT - Remove leading spaces in filename when FINDFILE used

20-Jan-2006: RESISTANT_MEAN - Fix calculation of SIGMA_MEAN
             MMM - Fixed error introduced June 2004 removing outliers when
	           READNOISE not set

29-Dec-2005: WCSSPH2XY, WCSXY2SPH - Fixed AIRY projection when centered at
                       90 degree latitude

21-Dec-2005: CO_REFRACT() - Fix problem with vector input when /TO_OBSERVED set

15-Dec-2005: JPLEPHINTERP - Fix highest order term in velocity computation

05-Dec-2005: TEN(), TENV() - Now recognize -0.0 as a negative value

23-Nov-2005: APER - Added MEANBACK keyword to use sigma-clipped mean instead
                       of calling mmm.pro
             MMM - Added /SILENT keyword to suppress error messages		       

17-Nov-2005: TBPRINT - Better display formatting (space between columns)

16-Nov-2005: MEANCLIP - Added /DOUBLE keyword

09-Nov-2005: PRINT_STRUCT - Avoid overflow when displaying more than 10000 
             elements

27-Oct-2005: SXADDPAR - Work again with empty string input
             MMM - Fewer aborts for strange sky histograms

15-Sep-2005: LEGEND - Added FONT keyword [-1,0 or 1} to pass to XYOUTS commands.

09-Sep-2005: TBHELP - Fixed bug introduced 31-Aug-2005 to not display TFORM

02-Sep-2005: TVBOX - Don't round coordinates when /DATA is set

31-Aug-2005: FTAB_HELP - Now defaults to display all extensions
             TBHELP, FTHELP - Slightly more compact display formats

26-Aug-2005: QUERYVIZIER - Make dis (3rd parameter) optional (as advertised)

17-Aug-2005: HEULER - Use double precision to compute new North Pole

21-Jul-2005: FITS_INFO - Now work for FITS files with SIMPLE=F

18-Jul-2005: WCSSPH2XY - Return unprojectable points as NaN values
             PLOTHIST - Added /AUTOBIN keyword to set the number of bins to
                        the square root of the number of samples 

05-Jul-2005: READCOL - added "compile_opt idl2" to ensure pre-V6.1 compatibility

22-Jun-2005: MRD_STRUCT - Fix problem when both NO_EXECUTE and STRUCTYPE set
             QUERYVIZIER - Eliminate use of EXECUTE() statement
             READCOL - Eliminate use of EXECUTE() for V6.1 or later; accept 
                       null strings separated by delimiter ,e.g. ',,,'

18-May-2005: SXADDPAR - Fix SAVECOMMENT error with non-string values

17-May-2005: PUTAST - Don't use CROTA2 keyword if skew is present in the input
                      astrometry
             GETROT - Added ALT keyword

12-May-2005: HREBIN, HCONGRID - Fixed problem in output astrometry if CROTA2 or
                     PC matrix used.   Added ALT keyword.

05-May-2005: ADXY - Still work if no WCS coordinates are present

02-May-2005: FXBWRITM - Remove call to EXECUTE() when using POINTERS keyword

25-Apr-2005: KSONE -  Allow passing keywords to func_name via _EXTRA facility

20-Apr-2005: TICPOS - Fix cases where tic increment is at degree/minute or
                       minute/arcsec boundary

19-Apr-2005: IMDBASE - Now accepts ALT keyword for alternate astrometry

11-Apr-2005: FXBGROW - Fixed bug in the zeroing of the output file

06-Apr-2005: JPLEPHINTERP - Handle custom-built ephemerides

30-Mar-2005: PARTVELVEC - Now has a VecColors keyword to set arrow colors

08-Mar-2005: FXREAD - Can now be used to read image extensions

25-Feb-2005: READFITS() - Fix problem with unsigned integers introduced Sep 2004
             HASTROM - Check for distortion parameters in headers, add more 
                       FITS HISTORY records

24-Feb-2005: MINMAX() - Work again for versions prior to V5.5

07-Feb-2005: MRDFITS() - Fix problem when /USE_COLNUM is set

03-Feb-2005: MRDFITS() - Fix problem with string variable binary tables, 
              possible  math overflow on non-IEEE machines 

01-Feb-2005: FITS_HELP - Don't truncate displayed EXTNAME values at 10 chars

31-Jan-2005: BLKSHIFT - Call TRUNCATE_LUN when shifting data forward from the
                  end of the file.

20-Jan-2005: MOONPOS, NUTATE - Avoid possible integer overflow

12-Jan-2005: MRDFITS() - Fixed problem reading zero width arrays in binary 
                 tables on non-IEEE (e.g. Linux) machines

10-Jan-2005: MINMAX() - Added SUBSCRIPT_MIN and SUBSCRIPT_MAX output keywords

03-Jan-2005: MWRFITS - Fix writing of empty strings to a binary table

31-Dec-2004: MODFITS - More robust error reporting 

16-Dec-2004: MRDFITS() - Propragate /SILENT to MRD_HREAD, more LONG64 casting
             APER - Fixed bug introduced 11/04 when there are no bad pixels

15-Dec-2004: RDFITS_STRUCT - Don't copy primary header into extension headers

14-Dec-2004: FITS_INFO - Check entire header for EXTNAME keyword
             SXPAR() - Make sure ABORT parameter always defined

10-Dec-2004: CHECKSUM32 - Sep. 2004 update introduced byte-ordering error for
                   Linux boxes


24-Nov-2004: HROTATE - If GSSS astrometry is present, then convert to standard
                   world coordinate system (WCS) astrometry
  
22-Nov-2004: WRITEFITS - Fixed problem when CHECKSUM set, and a heap array given

02-Nov-2004: APER - Now has /NAN keyword to signal a check for NaN pixels

29-Oct-2004: MMM - Improved numerical precision

25-Oct-2004: MRDFITS() - Check if extra degenerate NAXISi keywords are present

19-Oct-2004: WRITEFITS - Added ability to write to heap area 
             CURVAL - Now has "ALT" keyword to select alternate astrometry

18-Oct-2004: HPRINT - Fixed 1 line offset on terminal that don't support /MORE

15-Oct-2004: XYAD, XY2AD, AD2XY - Now work for FITS headers with WCS keywords
               (CRPIX, CRVAL, CDELT) but no astronomical projection.

12-Oct-2004: RDFITS_STRUCT - Now has a /HEADER_ONLY keyword to read all the
                headers (and no data) in a FITS file 

11-Oct-2004: HPRINT, FORPRINT - Do a simple PRINT if IDL in demo mode

01-Oct-2004: UNZOOM_XY, ZOOM_XY, TVLIST, CURVAL - Now compatible with versions
              in the MOUSSE library (http://archive.stsci.edu/uit/analysis.html)

