Next Previous Up Contents
Up: Release Notes
Previous: Acknowledgements


C.2 Version History

Releases to date have been as follows:

Version 0.3b (4 June 2003)
First public release
Version 0.4b (8 July 2003)
Version 0.4-1b (10 July 2003)
Version 0.5b (20 October 2003)
Version 0.5-1 (18 November 2003)
Version 1.1-0 (21 April 2004)
Version 1.1-3 (5 May 2004)
Version 1.3 (20 October 2004)
This version has introduced many improvements in scalability, efficiency and functionality. TOPCAT is now quite happy with tables of a million rows or more (and hundreds of columns) even on systems with quite modest memory/CPU resources. The main improvements are as follows:
Plotting
  • Plotting is much faster and can handle many more points
  • Subsets can be selected from plot window by tracing out a non-rectangular region
  • You have more choice over plotting symbols (including semi-transparent ones)
  • Finally X or Y axes can be flipped!
  • Export to encapsulated PostScript is of improved quality (though for many points file sizes can get large)
  • Export to GIF format is available
  • Regression lines can be plotted and coefficients displayed (experimental capability - could be improved)
Table Formats
  • "-disk" flag allows use of disk backing storage for large tables
  • New 'FITS-plus' format stores rich table/column metadata in a FITS file
  • VOTable handler now fully VOTable 1.1 and 1.0 compatible
  • VOTable parsing now works with Java 5.0 platform
  • Comma-Separated Value format now supported for input and output
  • ASCII input handler rewritten to cope with much larger tables
  • ASCII handler now understands d/D as exponent letter as well as e/E
  • ASCII handler now uses Short/Float not Integer/Double where appropriate to save memory
  • ASCII format fixed bug for -0 degrees/hours in sexagesimal angles
  • Null handling improved for FITS & VOTable formats
  • FITS files store column descriptions in TCOMMx headers
  • Better error messages for unparsable tables
Table Joins
  • Various efficiency improvements and reductions in memory requirements
  • In cases of multiple possible matches, the closest is now chosen rather than picking one at random
  • Pair match now adds column containing score for each match (distance between points)
  • Units can be selected RA/Dec columns and match errors (so it doesn't need to be all in radians)
  • New match types suitable for multivariate matching (anistropic Cartesian, Sky+X, Sky+XY)
Data/Metadata Manipulation
  • Can add/remove table parameters
  • One-step column replacement dialogue from data or column windows
  • Synthetic column expressions now written out to column descriptions
GUI Navigation and Display
  • Improved rendering of numbers in tables (esp. Floats)
  • Better detection of displayed table column widths
  • New Control Window option on File menus
  • Better window resizing for some dialogue boxes
  • Less confusing error messages in many places
Algebraic Expressions
  • All available functions are now fully documented in help document and interactive Method Window
  • Many new trig, coordinate, type conversion, string manipulation functions
  • Big performance improvements for null values
Activation Actions
  • Clicking a point in the plot highlights the corresponding row in the data window and vice versa
  • Row selection can trigger display sky cutout region display
  • Row selection can trigger user-defined actions on activation

In addition, the following incompatibilities and changes have been introduced since the last version:

Version 1.3-1 (10 November 2004)
Minor changes:
Version 1.3-2 (6 Dec 2004)
Bug fix:
Version 1.4 (4 Feb 2005)
Load Dialogues
The graphical table load dialogue has been overhauled, and now has two main new features. First, it has been rewritten so that the GUI does not freeze during a long load; it is still currently not possible to interact with other TOPCAT windows while a load is taking place, but you can now cancel a load that is in progress.

Secondly, the provision of load dialogues has been modularised, and a number of new dialogues provided. The new ones are:

  • Cone Search
  • MySpace Browser
  • Registry Query
  • SIAP Query
If the required classes are present, you can acquire tables from these external sources as well as the traditional methods of loading from disk etc. New command line flags corresponding to each of these have been added to ensure that they are present and make them prominent in the load dialogue. Furthermore it is possible to plug in additional load dialogues at runtime using the startable.load.dialogs system property.

The appearance of the Load Window has changed; now only the File Browser button is visible along with the Location field in the body of the window, but the DataSources menu can be used to display other available table import dialogues.

Packaging
The program can now be obtained in two standalone forms: topcat-full.jar and topcat-lite.jar. The former is much larger than before (11 Mbyte), since it contains a number of classes to support custom load dialogues such as the MySpace browser and web service interaction, as well as the SoG classes. The latter contains only the classes for the core functionality, and is much smaller (3 Mbyte).
Explode Array Column action
There is now a new button in the Columns Window which replaces an array-valued column with a scalar column for each of its elements.
Paste'n'Load
You can now load a table by pasting its filename or URL as text into the table list in the Control Window (using the X selection on X-windows - not sure if or how this works on other platforms).
Help message
The result of topcat -help is now more comprehensive, describing briefly what each option does and listing system properties as well as arguments/flags proper.
Version 1.4-1 (8 February 2005)
Version 1.5 (17 March 2005)
File Access
Load dialogues have changed again somewhat, and save dialogues as well. The default file browser in both cases is now a Filestore Browser, which is very much like the standard file browser, but can browse files in remote filesystems as well; currently supported are files in AstroGrid's MySpace or on an SRB (Storage Resource Broker) server. You can now save files to these remote locations as well as load from them.

In addition, the save dialogue now displays the current row subset and sort order - this makes it easier to see and/or change the details of the table you're about to save.

BugFixes
A few more minor changes have been made.
  • Error display dialogue boxes have been improved in some places
  • Various bugs relating to JDBC database access have been fixed
  • Some minor issues relating to VOTables with single-character columns have been addressed
Version 1.6 (30 June 2005)
Activation Actions
Some more activation functionality has been added:
  • New View URL as Web Page option introduced in Activation Window
  • New System class of activation functions containing exec functions which execute commands on the local operating system
  • New Browsers class of activation functions for displaying URLs in web browsers (external or basic fallback one)
Algebraic Functions
New Times class added containing functions for converting between Modified Julian Day and ISO 8601 format epochs.
Sky Matching
The default sky matching algorithm now uses HEALPix rather than HTM for assigning sky pixels to RA,Dec positions. This gives much faster sky matches in most cases, and uses somewhat less memory so can be used on larger tables. It has also fixed a bug which missed out some possible matches. HTM-based matching is currently still provided as an option, but this is mainly for debugging purposes and may be withdrawn in the future.
Logging
The message logging has been tidied up. The main observable consequence of this is that fewer untidy messages are written to the console when TOPCAT is run from a standalone jar file rather than a full starjava installation. By specifying the new -verbose (or -v) flag one or more times you can get those messages back. The messages (in fact all logging messages at any level) can also be viewed from the GUI by using the new File|Show Log menu option from the Control Window.
SOAP Services
TOPCAT now acts as a SOAP server; SOAP requests can now be made to a running instance of TOPCAT to get it to display tables by location or by sending XML for a VOTable direct. Because of limitations in Axis, this latter method won't work for arbitrarily large tables.
Documentation changes
The tablecopy tool is no longer covered in this document; it is replaced by the tcopy tool in the separate STILTS package. There has also been some reorganisation of this document, mainly in the appendices.
Minor changes
  • Added -version flag
  • Added (dummy) Print option to Data Window. This just presents a message to the effect that you should save to a printable format.
  • Fixed a bug which gave errors when expressions contained a NULL_ test on the first column of a table.
  • Modified one of the demo tables to contain a column with URLs in it.
Version 1.6-1 (7 July 2005)
Bugfixes:
Version 1.7 (30 September 2005)
Crossmatching
There have been major improvements in the flexibility, and minor improvements to performance, of two-table crossmatching.
  • New match algorithm Sky with Errors introduced. This allows you to specify a column giving the maximum permissible match error (so it can vary per row) rather than a fixed value for the whole table.
  • In the case of multiple possible matches between the two tables, instead of automatically giving you only the closest match, you can now select whether you'd like only the closest one or all those which fit your criteria.
  • You can now specify which rows you want to see in the output: 1 and 2, 1 or 2, All from 1, All from 2, 1 not 2, 2 not 1, 1 xor 2. This is pretty much all the possibilities which make sense, and in particular allows you to do 'left outer joins' (1 not 2).
  • The match score column which results from most matches now comes (a) in sensible units where possible (e.g. arcseconds not radians) and (b) with metadata which tells you what its meaning and units are.
  • More information is available in added columns after the match; as well as the match score, information about matched groups is inserted where appropriate.
  • The "Spherical Polar" match algorithm is now rebadged as the hopefully less confusing "Sky 3d".
Similar changes for 1-table and multi-table matches should follow in future versions.
MySpace Access
MySpace I/O has been re-implemented to use the ACR rather than the (now deprecated) CDK classes it was using before. As well as probably being more reliable and less likely to break with future changes in MySpace server protocols, this gives the benefit of single sign on. The effect of this is that you will need to have the AstroGrid desktop running on your machine before you can access MySpace from TOPCAT.
Algebraic functions
  • Added Julian Epoch and Besselian Epoch conversion functions to Times class.
  • Added RANDOM special function.
Miscellaneous
  • When you select a column in the Columns window, it now scrolls the table in the Data Window so that the selected column is visible. This is a boon when dealing with tables that have very many columns.
  • String "null" interpreted as a blank value in ASCII tables.
  • Added new activation action to launch system default browser.
Bugfixes
  • Fixed some relatively harmless bugs to do with actions available when you select the dummy "Index" column. You can now unsort from a popup menu in the table viewer window.
  • Believed to work fine with Java 1.5 now (there were previously some issues with MySpace at Java 1.5).
  • Fixed bug in ASCII input handler which misidentified blank lines, or DOS-format line ends, as end of file.
Version 1.7-1 (4 October 2005)
Bugfixes:
Version 1.8 (13 October 2005)
Version 2.0 (3 February 2006)
A major upgrade of TOPCAT's visualisation capabilities has taken place in this release. There are considerable improvements in functionality, flexibility and efficiency over previous versions:
New graphics windows
In addition to the 2-d scatter plot from previous versions, the following visualisation windows are now available: The new 3-d functionality does not require you to install Java3D or any other third-party 3D toolkit to work (nor does it take advantage of any such toolkit which may be present).
Multi-dataset/multi-table plotting
The plot windows are no longer associated with a single table. All of them allow you to display data from different tables, or from different tuples of columns of the same table, on the same plot. You can layer as many plots as you like on the same axes, using different plotting styles for the different datasets. As before, you can still display data from different subsets of the same table and same columns using different styles.
Plotting Styles
All the graphics windows allow you to set the plotting style for each data set individually, using a wide range of options including colour, line width, marker size, (histogram) bar style, etc. This allows you considerable control over the visual details of the plots.
Transparent markers
All the 2-d and 3-d scatter plots allow you to render points using markers of variable transparency. In a crowded plot, this allows you to see much more information than using opaque points, since you can get some idea of how many points (of different data sets) have been drawn at a given point on the plotting surface.
Line drawing & linear correlation
The 2-d scatter plot can now optionally plot lines associated with data sets. It can either draw straight line segments joining all the plotted points in a set, or draw per-dataset linear correlation lines. In the latter case it will report line gradient, intercept and correlation coefficient.
Improved column selection
The selector boxes for selecting which columns to plot are now 'editable' - that is, instead of selecting the column from a drop down list it is now also possible to type an expression into them instead. This may be more convenient if there is a very long list of columns. It also means that you can use an algebraic expression based on the names of one or more columns instead of a simple column name. The selectors also have small arrow boxes next to them which makes it easy to cycle through the list of known columns. These features are also available at some other places in the program where a column value is required.
Manual axis configuration
As well as zooming in and out using the mouse, you can now set the axis limits by typing them into an axis dialogue box. You can also set the text which will form the axis annotation on the plot.
Status line
Most plots now feature a panel at the bottom of the window indicating how many points have been plotted and the current position of the mouse pointer (if any) on the plotting surface.
Performance
Scatter plots of large datasets now use considerably less memory and around an order of magnitude less CPU time than previously (a 2-d million point replot now takes about 1 second - plotting it the first time may be rather longer since it needs to acquire the data which may be I/O intensive).

Some non graphics-related improvements have also been made as follows:

Version 2.1 (7 April 2006)
A number of graphical and other improvements have been made at this release.
Stacked Line Plot
A new Stacked Line Plot visualisation window has been added. This is especially suitable for use with time series data.
Asynchronous data reading in graphics windows
All the graphics windows now read data for plotting asynchronously. What this means is that when you change the plot in a way which requires the data to be read or re-read then the GUI will not lock up and you can do other things, including changing the plot in other ways before it has completed drawing. A progress bar at the bottom of the window indicates progress. This is only noticeable for large (slow to read) files.
Axis Zooming
The existing Histogram, 2-D Scatter Plot and Density Map windows, as well as the new Stacked Line Plot, now allow you to do a 1-d zoom by dragging the mouse near the axis, as well as the 2-d zoom by dragging on the plot surface.
PLASTIC Tool Interoperability
TOPCAT now sends and services messages using the PLatform for AStronomical Tool InterConnection protocol. See Section 9.
IPAC Data Format
Data files in the IPAC format defined by the CalTech's Infrared Processing and Analysis Center can now be read. This is how data from the Spitzer satellite amongst others is normally provided.
String-typed coordinate columns
If suitably identified (e.g. by UCD or units), string-valued columns which represent data in certain well-known forms, currently sexagesimal angles and ISO-8601-format dates, can now be treated directly as numeric values in column selector boxes such as the ones in the plotting windows, rather than having to define a new column using a string->numeric converter.
Memory Error Reporting
When the JVM runs out of memory, it now attempts to post a popup window explaining this rather than just writing a terse message to the console. This popup also gives you the opportunity to view a new section added to the documentation: Tips for Large Tables.
SOAP Service deprecated
TOPCAT no longer by default runs a SOAP server for accepting tables. You can choose to run it by specifying the -soap flag on the command line. This facility may be withdrawn in future versions, in view of the fact that the PLASTIC service can provide similar functionality.
Logo fade
The Starlink logo at the top of every window is set to fade out gradually over the period 1-APR-2006 to 1-SEP-2006.
Bug fixes and minor alterations
  • Export of GIF and Encapsulated PostScript images from the graphics windows has been improved - unwanted grey backgrounds round the edges are now rendered transparent in GIFs and white in EPS. A section on Exporting Graphics has also been added to the manual.
  • A number of graphical anomalies such as the plot bounds being reset when an axis Flip button was toggled have been ironed out.
  • The JDBC behaviour has been improved: some bugs have been fixed and it now no longer asks for an SQL username/password twice.
  • Work around intermittent bug when loading small files from MySpace.
  • Density maps are now exported into FITS format with better WCS headers where appropriate.
  • The SDSS JPEG cutout activation action URL has been updated from DR2 to DR4.
  • A bug which caused the first row in a table to be included erroneously in graphical subset selections has been fixed.
  • Added an offset selector toggle button to the Histogram window.
Version 2.1-1 (13 April 2006)
Sphere Zoom
You can now zoom in the Spherical Plot.
PLASTIC
There are some improvements to the PLASTIC functionality and documentation.
  • In addition to Broadcast actions for the various PLASTIC messages transmission types, there are now corresponding Send actions which allow you to direct the message to only a single selected listener application. These actions are now enabled/disabled according to whether any suitable PLASTIC listeners are registered.
  • You can now pop up a little window from the Control Window's Interop menu which displays the currently registered PLASTIC listeners. The functionality of this window may be extended in future releases.
  • When TOPCAT receives a showObjects message, it now checks if a matching subset exists rather than always creating and adding a new one. If it does, it just sets current the existing one. This can cut down (a bit) on proliferation of Row Subsets.
  • The PLASTIC section of the manual has been improved.
  • Some of the screenshots have been updated to include PLASTIC-related features.
  • URLs using the file: scheme sent by TOPCAT in PLASTIC messages now correctly conform to RFC 1738.
MySpace
A workaround has been introduced for MySpace browsing performance problems. Run with -Dmyspace.cache=true to speed it up at the expense of accuracy.
Version 2.1-2 (21 April 2006)
This is mainly a bug fix release.
Version 2.1-3 (11 May 2006)
Bug fixes and some minor enhancements.
Version 2.2 (7 July 2006)
Column-oriented storage
New features for permitting column-oriented storage (colfits format, startable.storage policy "sideways") have been introduced. These can provide considerable efficiency improvements for certain tasks when working with very large (and especially wide) tables.
Bug fixes
  • Fixed bug which caused some points to be missed out in spherical plots.
  • ISO-8601 strings now permit times of 24:00:00 as they should.
  • Quoted unit values are examined to determine probable column data types.
Other items
  • Added flux conversion functions (Jansky<->magnitude).
Version 2.2-1 (3 August 2006)
Version 2.3 (5 October 2006)
Various modifications and improvements: Bug fixes:
Version 2.3-1 (Starlink Hokulei release)

Graphics upgrades

Version 3.0 (5 July 2007)
This release includes major visualisation improvements and some changes to the plotting user interface:
Error bars
Comprehensive plotting of symmetric and asymmetric error bars (and crosshairs, and boxes, and ellipses, ...) in 1, 2 and 3 dimensional plots is now provided -- see Appendix A.4.1.3.
Auxiliary (colour) axes
It is now possible to modify the colour of plotted points according to values in one or more axes additional to the spatial ones -- see Appendix A.4.1.5.
Histogram Weighting
The Histogram and Density Map windows now have the option of weighting the quantity represented, so that the binned values are sums rather than just counts.
Density Map Colour Scale
When the density map is in indexed (non-RGB) mode you can now select from various colour maps to represent bin occupancy. This makes level differences easier to see.
Plot window rearrangement
Buttons which affect data selection are now arranged in their own toolbar below the plot (Appendix A.4.1.1). The size of the plot control area can be manually resized to give more room for the plot itself by using the Split Window () button, which is useful on small screens.
Expression language enhancements
Table parameters can now be referenced in expressions using param$ notation (Section 7.3), and both columns and parameters can be referenced by UCD using ucd$ notation (Section 7.1).
Statistics & Histogram result re-use
The Statistics and Histogram windows now both provide Save and Import actions, which take the data presented in the window and allow it to be saved to a file or imported directly into TOPCAT as a new table.
Cartesian 3D zoom
It is now possible to zoom the 3D Plot towards the centre in the same way as the Spherical Plot.
GAVO Millennium simulation database load dialogue
You can now directly query the GAVO Millennium database service (Appendix A.6.10). Thanks to Gerard Lemson of GAVO for contributing code for this.
Row subset improvements
Row Subset names can now be re-used, and when you are asked to select a new subset name you are allowed to choose one from the list of existing ones. When a row selection is received from another application via PLASTIC the subset name (the name of the sending application) is re-used in this way. This helps to keep the number of subsets under control.

Receving a row subset from PLASTIC in this way, and certain other actions, now cause the subset to be shown straight away (and updated if necessary) on any existing plots, which makes this kind of PLASTIC interaction more responsive.

The size of each subset, and also the corresponding percentage of the table it represents, is now calculated automatically and displayed in the Subset Window. The old behaviour of only calculating sizes on request can be reinstated using the Autocount rows () menu item if required.

Fix Vertical in 3D plots
A Stay Upright () button is provided in the Cartesian and spherical 3D plots which allow you to keep the Z axis/north pole vertical during rotations.
Quantile calculation
The Statistics Window can now calculate quantiles (median, quartiles, .001, .01, .99 and .999) on request.
Minor changes and bugfixes
  • JPEG and PNG now plot export available from all graphics windows.
  • Dramatic performance improvement for transparent pixel plotting in 3D plots on some platforms.
  • Added locale-specific formatDecimalLocal() functions in class Formats.
  • Added fluxToLuminosity and luminosityToFlux functions in class Fluxes.
  • Improved deduplication of column names when joining tables.
  • 3D plots now correctly report number of visible points.
  • Improved error message for broken CSV files.
  • Improved error reporting in the presence of a deficient JVM (such as GNU gcj).
  • Worked around a Mac OSX Java bug which caused table display to go funny when columns were deleted.
  • Fixed error in output of FITS table TNULLn header cards - write them as numeric not string values.
  • Fixed a number of bugs in responding to PLASTIC messages (threading, failure to respond).
  • 3D plots now plot symbols for all subsets not just one, as for 2D plots.
  • Fixed bug which prevented non-string parameter values from being reassigned.
Version 3.0-1 (Starlink Puana release)
Version 3.1 (29 August 2007)
Version 3.2 (28 January 2008)
Functionality enhancements
  • Considerably improved display of per-table metadata in the Parameter Window. It is now possible to view long or multi-line parameter values.
  • FITS header cards in table HDU are now read (but not written) as table parameters.
  • Add mouse wheel zoom for 3D plots.
  • Add Write Mode selector to SQL Output Dialogue, to allow appending and optional drop prior to create of new table in database.
  • Now TOPCAT will automatically register with a PLASTIC hub any time one becomes available - the hub does not have to be running when TOPCAT starts. As a corrollary, if you start an internal or external hub from the Interop menu, you no longer need to explicitly invoke the Register item afterwards.
  • Add -exthub flag which starts a new external PLASTIC hub.
  • Activation window permits selection of different image viewers for View URL as Image option. Note this is not currently provided for the Display Cutout Image option - this may be addressed in the future.
Bugfixes and minor improvements
  • Added -stilts convenience flag so you can easily run STILTS from a TOPCAT installation.
  • Fix calculation error in fluxToLuminosity function.
  • Fix some bugs associated with text label plotting.
  • Error bars for zero/negative values are now correctly extended to the axis (rather than being omitted) in 2D plots with logarithmic axes.
  • Modified the size of some windows - now posts somewhat smaller windows if a small screen is in use.
  • System properties specified explicitly on command line now take precendence over those in .starjava.properties file.
  • Embedded spaces in output ASCII format table column names are now substituted with underscores, which prevents writing ASCII tables that cannot be read.
  • Downgraded from WARNING to INFO log messages about the (extremely common) VOTable syntax error of omitting a FIELD/PARAM element's datatype attribute.
  • Starting an external hub now works more reliably.
Version 3.3 (19 August 2008)
Functionality enhancements:
  • Added normalisation option () to Histogram Window.
  • In overplots using different tables, an attempt is now made to use the same columns/expressions for axis values as for the main table. This may be convenient when overplotting data from several similar tables.
  • FITS files with columns using variable-length arrays ('P' or 'Q' data type descriptors) can now be read (in random access mode, i.e. from an uncompressed FITS file on disk, only).
  • The lut.files system property can now be used to configure custom colour maps for auxiliary axes and density maps - see Section 10.2.3.
  • New class Arrays added to algebraic functions.
  • Histogram Offset control now works for logarithmic X scale as well as linear.
Bug fixes and other changes:
  • Efficiency improvements (~25%? in both CPU time and memory usage) for HEALPix-based sky crossmatching. Thanks to Nikolay Kouropatkine at Fermilab for a new version of the PixTools library which provided this improvement (this version also fixed a - minor? - HEALPix bug).
  • Sexagesimal field identification for ASCII input files has become more forgiving; it now accepts minutes or seconds equal to 60 without a syntax error.
  • Fixed a pair matching performance bug (slower if tables were not given in the right order) introduced at v1.4.
  • The -disk flag is now honoured when loading tables from JDBC, which makes it possible to input larger datasets from RDBMS.
  • Fixed problem which caused the graphics system to hang or fail when drawing Dot-to-dot lines in 2D plot for points a very long way off the screen.
  • Fixed bug which caused incorrect plotting of cumulative histograms with small weights.
  • Slight modification to spike-style bar drawing in Histogram, now has tidier appearance when using dashed lines.
Internal
There has been extensive internal reorgamisation of the plotting classes. There should be no user-visible effects of this, but please report anything which seems to be misbehaving.
Version 3.4 (23 December 2008)
SAMP
TOPCAT now uses SAMP as a (preferred) alternative to PLASTIC for inter-tool interoperability. SAMP is now usually the default; the old behaviour can be recovered using the -plastic command-line flag. Although much of the messaging behaviour remains the same, various improvements to the GUI accompany this change:
  • New SAMP Panel at the bottom of the Control Window summarising status
  • New SAMP Status () toolbar button in Control Window, which pops up new SAMP Window
  • Other slight rerrangements of toolbar buttons and menu items in Control Window
  • Broadcast Row checkbox added near Activation Action in Control Window
For more discussion see Section 9.
Registry Access
TOPCAT's registry access has finally been updated to use VOResource 1.03 and the Registry Interface 1.01 (it was previously using very out of date protocols). This means that the Cone Search dialogue (as well as the semi-supported SIAP and Registry dialogues) will now pick up a much more up to date set of services. Additionally, you can choose your own registry service, and the registry searches in those dialogues now feature keyword searches rather than picking up all known cone/SIAP services. See Appendix A.9.2.
Other enhancements
  • Table columns and parameters can now be referenced by Utype using utype$ syntax in a similar way to using UCDs - see Section 7.1.
  • When a new subset is created by whatever method, the user can now elect to transmit it to other applications using SAMP/PLASTIC as an alternative to adding a new subset to the table's subset list.
  • Add items to Help menu for viewing help in the default web browser rather than TOPCAT's help browser.
  • Add a plot output format option to write gzipped PostScript.
  • -version command line flag now reports subversion revision as well as symbolic version number.
Bugfixes
  • Fixed histogram bug (blank plot) for small values when using logarithmic Y axis.
  • Fix stacktrace error in 3D plots when no data is available.
  • The SIMBAD name resolver is fixed in the cone search window (it was using a no-longer-supported service format).
Version 3.4-1 (27 March 2009)
Version 3.4-2 (17 July 2009)
Version 3.4-3 (31 July 2009)
Version 3.5 (6 November 2009)
There are several improvements in this version, many of them to do with improved functionality and usability for loading or acquiring data both from local files and from various Virtual Observatory services.

Multiple-table load
TOPCAT will now load multiple tables from a single file if multiple tables are present, rather than just the first one. This applies to multi-extension FITS files which contain more than one table HDU, and to VOTable documents which contain more than one TABLE element. It affects the Filestore dialogue, naming files on the command line, and the new VizieR load dialogue.

In previous versions, when you selected a multi-extension FITS file or VOTable from one of the load dialogues or on the command line, only the first table contained in it would be loaded, and any others were silently ignored. Such files often only contain a single table, but not always. Now, if multiple tables are present in the container file, each one will appear as a new table in the tables list. Other table file formats are not currently affected, since there is no mechanism for storing multiple tables in, say, a CSV file.

Multiple Cone, SIA and SSA searches
In previous versions, it was possible to use the Virtual Observatory Cone Search, Simple Image Access and Simple Spectral Access services to locate catalogue records, images and spectra respectively in a single (cone-shaped) region of the sky, with position and radius entered manually. In this version it is possible to execute such a query for each row of an input table, with position and radius obtained from table data in appropriate columns. This effectively gives a join between a local table and a remote one exposed by a cone-like searchable VO interface.
VizieR load dialogue
A new VizieR load dialogue has been introduced to make queries directly to CDS's VizieR service. Thanks to Thomas Boch for contributing code for this.
VO menu
A new menu labelled VO (for Virtual Observatory) has been added to the Control Window. This currently contains single and multiple Cone, SIA and SSA queries and the service specific load dialogues, namely the VizieR and Millennium ones. All these features are also available elsewhere in the GUI, but the new menu groups together VO-related functionality for convenience.
Positional search dialogue enhancements
A number of improvements have been made to the Cone Search, SIA and SSA dialogues; these applies both to the old single-region search dialogues and the new multi-region searches.
  • The service URL can now be entered (e.g. cut'n'pasted) directly as an alternative to obtaining it from a registry search. This allows use of unregistered services, as well as making it easy to select the service URL for pasting elsewhere.
  • The resource table returned from the registry search can now be sorted by column contents, by clicking on the selected column header.
  • While searching the registry, some indication of the number of services found so far is displayed.
  • Searching the registry is less likely to result in an out of memory error.
  • The (not very useful, and potentially confusing) registry Update button has been withdrawn; its function is now available only from the Registry menu instead.
  • The metadata contained in tables returned from a successful search is improved.
  • The SIA and SSA dialogues now have a selector for choosing the desired image/spectrum format.
  • The SIA and SSA dialogues now longer require explicit entry of a size parameter (these protocols define default behaviour for when no non-zero size has been specified).
  • The SIA and SSA now automatically query the registry for all appropriate services when first displayed. This is sensible behaviour at the moment, since there is at time of writing a reasonable number of them. A directed search may be given instead at the user's option.
  • The Cone Search window provides better instructions on use when first displayed.

A new section Section 6 has been added to the manual providing an introduction to the concepts of VO data access, and a new apendix section Appendix A.9 describes the various single- and multiple-query windows.

Storage Policy change
The way that TOPCAT stores large tables has changed. In previous versions, table data was held in memory (the default Storage Policy was "memory")) unless the -disk flag was specified (to use the "disk" storage policy), in which case it was stored in temporary disk files. If you didn't put -disk on the command line, it was common to run out of memory when working with large tables.

Now, the default storage policy is "adaptive". This means that relatively small tables are held in memory, and larger ones are stored in temporary files. The effect should be that most of the time, you don't need to specify any special options, and you can work with small or large tables without running out of memory. Using -disk is still permissible, and may help in unusual circumstances. Running out of memory is still a possibility, but should be much less common.

The old behaviour can be restored by using the new -memory command-line flag.

The only differences you notice from this change should be good ones, however it is slightly experimental. Please contact the author if you suspect it has introduced any problems.

SAMP-related enhancements
  • Spectrum Display activation action now uses SAMP or PLASTIC to display in a suitably compliant external spectrum viewer. The old behaviour was to display the spectrum in an internal SPLAT window, but it didn't work very well.
  • The JSAMP library has been upgraded to v1.0, giving some SAMP behaviour changes, enhancements and bugfixes. Control of things like TOPCAT server port and server endpoint hostname are now configurable using jsamp.* system properties.
  • The -jsamp command-line flag has been added for convenience so that the TOPCAT jar file can be used easily as a JSAMP toolkit.
VOTable-related enhancements
  • Namespacing of VOTable documents made more intelligent, and configurable using the votable.namespacing system property.
  • VOTable 1.2 supported.
  • The VOTable 1.2 xtype attribute is now used to try to identify columns containing ISO-8601 format dates, which allows them to be treated as numeric values for plotting etc.
  • As described above, when loading a VOTable document which contains multiple TABLE elements, all the contained TABLEs are now separately loaded into TOPCAT rather than just the first one, which is what used to happen.
Loading changes
  • The Load Window now has toolbar buttons as well as items in the DataSources menu for more convenient access to the various load dialogues.
  • The command-line flags corresponding to load dialogues (-tree, -file, -sql, -cone, -gavo, -registry, -sia, -ssa) have been withdrawn from use; they were probably not widely used, and are of minimal usefulness with the new load window toolbar buttons.
  • While a table is loading an entry is now visible in the Control Window table list. Previously it was not always clear whether a slow load was in progress or not.
Bugfixes and minor enhancements
  • There are improvements (and possibly new problems) in the loading dialogue framework. One item is that a failed load less often closes the dialogue.
  • HTML table output is now HTML 4.01 by default (includes THEAD and TBODY tags).
  • There is a workaround for illegally truncated type declarations in IPAC tables.
  • XML, including VOTable, output is handled more carefully; fix VOTable output encoding to be UTF-8, and ensure no illegal XML characters are written.
  • Fixed plotting bugs - caused intermittent GUI corruption (e.g. missing toolbar buttons), especially on MacOS.
  • Bug fixed in crossmatching output: entries which should have been null were sometimes written as non-null (typically large negative numbers) in FITS and in non-TABLEDATA VOTable output. This affected cells in otherwise non-nullable columns where the entire row was absent. The previous behaviour is not likely to have been mistaken for genuine results.
  • parse* string->numeric conversion functions now cope with leading or trailing whitespace.
  • The list of example queries in the GAVO load dialogue has been extended to match those in its web interface.
  • Fixed an obscure bug which could under rare circumstances cause truncation of strings with leading/trailing whitespace read from text-format files.

Version 3.5-1 (21 December 2009)
This version has one significant new feature: Other than that, is is mostly performance and usability enhancements and bugfixes:
Version 3.5-2 (24 March 2010)
Version 3.6 (6 August 2010)
This version contains some new features and usability enhancements, and a number of bugfixes.
Load/Save Dialogue improvements:
  • There is a new System Browser option when loading and saving. This does essentially same job as the old Filestore Browser (still available), selecting a file to load or save, but it uses the system-default GUI to do it. For Mac and Windows users, this may present a more familiar and functional interface to the file system (for Linux users, it is probably not an improvement). Both options are available, so you can choose whichever you prefer.
  • You can now save multiple tables at once. The Save Window now offers three ways of saving: Current Table, Multiple Tables and Session. Current Table saves the current Apparent Table as before. Multiple Table saves some or all of the loaded Apparent Tables to a container file (typically Multi-Extension FITS or multi-TABLE VOTable). Session saves some or all tables as well, but additionally saves many aspects of the TOPCAT state, such as table subsets, sort order, hidden columns etc.
Other significant enhancements:
  • Finally - you can delete and rename row subsets in the Subset Window! Apologies to those who've been asking that this has taken so long to implement.
  • There are new actions in the Control Window File menu to change the order of loaded tables in the table list (move them up and down). You can use ALT-up/down keys to do the same thing. This may be useful in conjunction with the new session/multi-table save facility.
  • Utype metadata items are now visible in the Parameter and Column windows.
  • The JSAMP library has been upgraded to version 1.1. This means that the hub will appear in the "System Tray" where possible (when using java 1.6+, and when using a suitable display manager). It also recognises the SAMP_HUB environment variable for non-standard hub locations.
  • There are a couple of improvements in the VizieR load dialogue: it has options to display sub-tables within catalogues and to include or exclude obsolete catalogues.
Minor enhancements:
  • The current table can now be discarded by hitting the Delete key in the Control Window table list.
  • SDSS image cutout downloads updated to DR7 (was DR4).
  • The unofficial column type "long" is recognised in IPAC format tables.
  • An efficiency warning is now issued for large compressed FITS files.
  • Format row counts are displayed with group separators (e.g. thousands separated by commas) in some places for better readability.
Fixes for bugs and misfeatures:
  • Table parameter values in algebraic expressions now evaluate to their current value, rather than the value when the expression was entered.
  • Tables in TOPCAT now have private copies of column and table metadata. This means that changing a column name or parameter in one table will not affect other tables. It should also prevent a related bug that allowed the column headings in the table browser to get out of step with those in the columns window and elsewhere.
  • Receipt of a SAMP table.highlight.row message will no longer cause a similar message to be sent back (and similarly for the PLASTIC ivo://votech.org/votable/highlightObject message). The previous behaviour was an unwanted implementation side effect which could sometimes cause problems in interaction with other tools.
  • Fixed bug in FITS-plus metadata output (table parameters were getting lost).
  • Better behaviour (warn + failover) when attempting to read large files on 32-bit OS or JVM.
  • Corrected literature references in Fluxes conversion class documentation (thanks to Mattia Vaccari).
  • Fix memory usage issues (unnecessarily large output graphics files, possible out of memory errors) for density plots with large pixel sizes.
  • Fixed bug in CSV file parsing that could ignore header row in absence of non-numeric columns.
  • Fix some minor bugs with Cancel operation during table save.
  • Reinstate help buttons from Save Window toolbar (erroneously removed since version 2.0).
  • Make sure that failed load of table with no rows reports as such rather than failing silently.
  • Loading tables by typing their name directly in the Load Window now loads multiple tables if present not just the first one, in common with most of the other load dialogue types.
  • Upgraded PixTools HEALPix library to 2010/02/09 version. This fixes a bug that could theoretically cause deficient crossmatch results, though I haven't managed to produce such errors.
  • Fixed (I hope) "Table no longer loaded" error when sending tables via SAMP.

Finally, from this release TOPCAT requires version 1.5 (a.k.a. 5.0) of the Java J2SE Runtime Environment; it will no longer run on version 1.4, which is now very old. I don't expect this to cause compatibility issues for anyone, but I'm interested to hear if that's not the case.

Version 3.7 (23 December 2010)
This version contains some significant enhancements and a number of minor improvements and bugfixes.
Load Dialogues:
Table loading has had a major overhaul. Load dialogues are no longer modal, that is you can now interact with the rest of the application while they are open. This has a number of benefits:
  • A slow load doesn't prevent you from doing other things.
  • You can be loading several different tables at once, either from the same or from different places.
  • You can use the Help system while a load dialogue is open (load dialogues now have the usual Help button like other TOPCAT windows).

It has also enabled some related changes:

  • Progress is reported for each table load - you can see how many rows have loaded and, if known, how many there are in total
  • Cancelling a load in progress is more straightforward and works more reliably than in earlier versions

A few related bugs and idiosyncracies have been corrected at the same time.

Registry Queries:
The registry search interface used in single and multiple VO access windows has been improved:
  • When specifying a keyword search for Cone, SIA or SSA services, you can select which registry record fields to match (ShortName, ID, Title, Publisher, Subjects etc). This makes it much easier to get the records you're interested in.
  • The Subjects field is now displayed for retrieved records.
  • Lists of registry records (i.e. Cone, SIA or SSA services) can now be sent to/received from other tools via SAMP (voresource.loadlist{,.cone,.siap,.ssap} MTypes).
  • Sky coordinates can be received from other tools via SAMP and used to set Cone, SIA or SSA position (coord.pointAt.sky MType).
BaSTI Load Dialogue:
A new load dialogue is available for accessing the INAF-OATS BaSTI (Bag of Stellar Tracks and Isochrones) service -- code contributed by Marco Molinaro.
Searchable Help:
The Help browser now has a Search tab as well as the Table of Contents tab, so you can do text searching on the extensive help document.
Minor Enhancements:
  • Storage management improvements; removed restriction on large (>2Gb) non-FITS datasets in some circumstances.
  • Fix so FITS tables >2Gb can be used in 32-bit mode (though slower than 64-bit).
  • All windows have a new Scrollable option in their File menu. It is not generally recommended to use this option, since in general the windows are arranged so that resizing them will resize sensible parts of them, but it may be useful if using some of the larger windows on an unusually small screen.
  • FITS files now store table names in EXTNAME (and possibly EXTVAR) header cards.
  • Window placement should now behave a bit more like platform norms, rather than sitting in the top left corner.
  • When a table is discarded, it is now deselected from any table selector (for instance in a plot, match or concatenation window).
  • HTML table output now writes cell contents which look like URLs in HTML <A> tags.
  • Basic authorization (http://user:pass@host/path) on table URLs handled.
  • Logs current version and whether it is up to date with latest release on startup. This behaviour can be controlled by the [-no]checkversion flag.
  • Belatedly added STFC logo to About window.
  • Add recommendation to use 64-bit java in large table tips section.
Bug Fixes:
  • Fix bug in registry result table which displayed resource identifier instead of publisher in the Publisher column.
  • Fix SAMP table load bug which tripped over "+" characters in URLs.
  • Fix regression bug from v3.6 - loading jdbc tables from command line or text entry now works again.
  • Fixed file pointer int overflow bug in FITS MultiMappedFiles.
  • Fixed a couple of bugs relating to VOTable strict mode.
  • Possibly fixed a not-well-characterised bug in registry search.
Version 3.8 (9 May 2011)
TAP
A new TAP load dialogue supporting data retrieval using the Table Access Protocol (TAP) has been introduced. This provides SQL-like free-form access to any remote databases exposed with the TAP protocol.
SAMP changes
An internal SAMP hub is now by default started when TOPCAT starts up if no existing hub is apparently running, so under normal circumstances the SAMP panel at the bottom right of the Control Window should be active all the time. This means that you don't need to do any explicit preparation to communicate with other SAMP-aware applications. If you want to return to the previous behaviour (hub only started by explicit user action), use the -nohub flag on the command line. You can connect and disconnect with the hub by clicking the connection logo at the right of the SAMP panel.

The JSAMP library is upgraded to JSAMP v1.2, which fixes one or two bugs and supports the experimental Web Profile, though Web Profile support is not switched on by default.

Other enhancements
  • Random Groups HDUs are now tolerated, though not interpreted, within FITS files.
  • Add quintuple match option to multi-table match window (someone requested it!).
  • You can now re-activate a row in the table viewer window by deselecting and then re-selecting it.
  • Expressions in column selectors are now left (and coloured grey) rather than deleted in the case of a syntax error.
  • Improve text rendering in Available Functions window.
  • GAVO load dialogue now uses fixed-width font for SQL entry.
  • Registry search now includes Publisher field by default.
Bug fixes and workarounds
  • JDBC table input handler now effectively downcasts BigInteger/BigDecimal types to Long/Double. The PostgreSQL JDBC driver seems to use the Big* types routinely for numeric values (which I don't think it used to do).
  • Add workaround for J2SE bug #4795134, which could cause errors when reading compressed FITS files.
  • Fix FITS character handling bug which could cause corrupted FITS files on output in presence of non-ASCII characters.
  • Fix (some) JDBC connection leaks.
  • Attempt case-sensitive matching before case-insensitive for column names.
Version 3.9 (27 October 2011)
Crossmatching:
  • Additional asymmetric match options have been added to the Pair Match window - as well as the old symmetric Best Match option, you can now choose to do a match which identifies the best match for each row of one or the other input table (see Output Rows Selector Box). They correspond to finding the best match in table B for each row in table A, and in crowded fields often provide more intuitive semantics than the previous symmetric best option (in non-crowded fields there is generally no difference). This replicates the matching performed by some other tools, including Aladin.
  • New Match Algorithms, 2-d Cartesian Ellipses and Sky Ellipses, have been introduced to permit matching of general elliptical, rather than just circular, regions in both planar and sky coordinates. Another, N-d Cartesian with Errors, has been added for dealing with per-object errors in Cartesian coordinates (previously per-object errors could only be handled in sky coords).
  • Fixed a significant bug in sky crossmatching. If all points in a table were on one side of the RA=0 line, but the error radius extended across that line, matches on the other side could be missed. Matches could also be missed if different tables used different conventional ranges for RA (e.g. -180..180 in one case and 0..360 in another). This fix may in some, but not most, cases result in slower matching than previously.
  • Semantics of the Sky With Errors match algorithm have changed slightly.
Notable usability improvements:
  • You can now change the column order of a table by dragging the rows up and down in the Columns Window.
  • Algebraic functions involving angles are now mostly available using degrees as well as radians. The Coords class has been replaced by CoordsDegrees and CoordsRadians classes providing sky coordinate functions, and a new class TrigDegrees provides normal degree-based trigonometric functions alongside the radian-based versions in Maths. The functions in the various activation action classes now take degrees and not radians. Some of the old function names have changed to make clear that they use radians and not degrees.
  • The File|Discard Table action in the Control Window can now remove multiple tables at once if more than one is selected.
  • ADQL parsing and syntax highligting has been added to the TAP load dialogue, thanks to Grégory Mantelet's ADQL library.
  • TAP queries are now synchronous by default (the Synchronous checkbox is now checked by default).
  • The SQL Query Dialogue (finally) has a multi-line entry field for SQL query text.
  • Add To Browser button to Help Window - this displays the currently displayed help page in your normal web browser.
  • New convenience button added to Available Functions window which is a shortcut to display of the expression syntax in the Help browser.
Other upgrades and enhancements:
  • JSAMP has been upgraded to version 1.3-1. The main change is that the Web Profile is now enabled by default in the SAMP hub that TOPCAT launches. There are also more options in the Hub menus, and it will overwrite any moribund .samp file at startup, which should eliminate annoying persistent "404 No handler for URL" warnings.
  • Add Delete On Exit checkbox to Running Jobs tab of TAP load dialogue. Jobs are now created by default with Delete On Exit set true (you can change the default with the Deletion menu).
  • You can now run JyStilts from the topcat-*.jar jar files in the same way as from stilts.jar.
  • Add experimental system properties star.basicauth.user and star.basicauth.password.
  • Added the experimental topcat.exttools system property to allow custom tools to be added to the main toolbar at runtime.
  • Improve resilience of multi-cone operation in the presence of unreliable or inconsistent DAL services.
  • Added new constants to expression language POSITIVE_INFINITY, NEGATIVE_INFINITY and NaN.
  • Add -running flag which loads tables specified on the command line into a existing instance of TOPCAT if one is already running.
  • Add new join function to Arrays class to combine array elements into a string.
  • TAP load dialogue uses modified upload ID as per most recent TAPRegExt draft. This may cause some TAP services incorrectly to appear not to support uploads if they have not made a similar update.
Bug fixes:
  • Improved some issues (reporting wrong row subset counts and membership) related to changing subset definitions.
  • Fix cone search verbosity parameter so that VERB=3 is not erroneously ignored.
  • Fix bug introduced at v3.7 related to labelling loaded files (improper handling and propagation of LOAD_SOURCE table parameter).
  • A PARAMref element with no referent in a VOTable no longer causes an uncaught NullPointerException.
  • Fix a small bug related to enabledness of buttons in control window and hub connection.
  • Work round an obscure java misfeature which could cause the wrong cell to be edited if a sort interrupts an edit.
Version 4.0b (28 March 2013)
TOPCAT version 4 includes a complete rewrite of the plotting (see below for details). The new plotting functionality is however experimental and changes may be made to the GUI following user feedback. For this reason, the classic plot windows remain available from their usual toolbar buttons and the new plot windows are currently hidden away in the Graphics menu. The "b" designation of this version acknowledges the experimental nature of the visualisation changes, but other new features are considered stable.

Logo:
I finally bid an affectionate farewell to the Top Cat Hannah-Barbera cartoon graphic. Never having had any legal right whatsoever to use this logo my conscience has eventually got the better of me and TOPCAT now has an excellent new logo kindly drawn by my friend Phil Hall. It's still a yellow cat.
Plotting:
Four new "Layer plot" windows are available from the Graphics menu: Plane, Sky, Cube and Sphere layer plots. These feature a new more powerful (and, yes, more complicated) user interface, and are fully documented in Appendix A.5. New functionality includes:
New Sky Coordinate Plot
  • Choice of projection: Sin (rotatable), Aitoff, Plate Carrée
  • Data and view sky coordinate systems selected separately: options are equatorial, galactic, supergalactic, ecliptic
  • Sky coordinate grid labelled and visible at all zooms
New data plot options
  • vectors
  • ellipses (with position angle)
  • pair, triple, ... data point lines/polygons
  • contours
  • variable size markers
Improved interactive response
  • In 2d and sky plots mouse wheel zooms around cursor position
  • In 2d and sky plots you can drag the plot around
  • In 3d plots right mouse button recentres cube on selected point
  • In 3d plots zooming zooms data in the cube rather than enlarging the cube wireframe itself
  • Many controls are sliders which update the plot as you slide
New plot colouring modes
Density colour coding for all plot types, with density colour map based either on dataset colour or chosen from a fixed set. Flat, transparent and aux colour coding still available as before.
Better support for large datasets
Several features have been introduced to provide more meaningful visualisation of large datasets. Improved density-like plots and contours give you better ways to understand plots containing many more points than there are pixels to plot them on. There is separately some improvement in scalability: up to roughly 10 million points is currently feasible depending on available memory etc, though it depends what you're doing. However, I hope to improve this limit in future.
Improved axis labelling
  • Choice of font size and style
  • Option of LaTeX input for non-ASCII characters etc
  • Log axes labelled better
  • Minor tick option
Legend options
External or manually positioned internal placement.
Analytic function plotting in 2D
Plot functions of X or Y coordinate using TOPCAT expression language.
(Note this plot change list was missing from the v4.0 release and retrospectively added at v4.0-1).
Other new capabilities:
  • Use MOC footprints to speed up multi-cone searches, including footprint icon display in multicone window.
  • Add IPAC output format.
  • Add new class KCorrections to the expression language, containing a method for calculating K-corrections following the method of Chilingarian and Zolotukhin.
  • VOTable input and output are now supported for version 1.3 of the VOTable standard.
  • The version of the VOTable format used for VOTable output can now be selected, by using the system property votable.version. Output version is VOTable 1.2 by default. VOTable output no longer includes schemaLocation attribute.
  • You can now reference tables in multi-extension FITS files by name (EXTNAME or EXTNAME-EXTVER) as an alternative to by HDU index.
Other enhancements:
  • ADQL parsing in the TAP window can now highlight all unknown symbols not just one of them. This is possible by upgrading to the official v1.1 of Grégory Mantelet's ADQL library, which improves some other aspects of ADQL parsing as well.
  • Add new function hypot (=sqrt(x*x+y*y)) to the Maths class in expression language.
  • Add new split functions for string splitting to the Strings class in expression language.
  • Some changes to the toString function: it now works on non-numeric values, gives the right answer for Long integers and character values, and returns a blank value rather than the string "null" or "NaN" for blank inputs.
  • Sexagesimal to numeric angle conversion functions now permit the seconds part of the sexagesimal string to be missing.
  • Changes to the IPAC format definition are accommodated: the "long"/"l" type, which is apparently now official, no longer generates a warning, and headers may now use minus signs instead of whitespace.
  • Fixed SAMP table loads to honour "name" parameter.
  • PNG graphics output no longer has transparent background.
  • Upgrade JSAMP library to version 1.3-3.
  • Work around change in VizieR output so that VizieR catalogue searching works again. This may be a temporary change.
  • Update URLs for GAVO Millennium database service at request of Gerard Lemson.
  • Add new class Coverage to the expression language containing MOC-related functions (currently, just inMoc).
  • Add explanatory section to manual on Multi-Object Matches.
  • Add -debug flag to manage logging messages better.
Bug fixes:
  • Fix serious and long-standing bug (bad TZERO header, causes subsequent reads to fail) for FITS output of boolean array columns.
  • Fix small but genuine sky matching bug. The effect was that near the poles matches near the specified threshold could be missed. The bug was in the PixTools library, fixed at the 2012-07-28 release.
  • Fix bug which failed when attempting to read FITS files with complex array columns (TFORMn=rC/rM).
  • Fix failure when loading very large sequential tables.
  • Fixed table concatenation so that column datatype array size etc is consistent with both input tables not just the first one.
  • Adjust SQL writer to avoid type error for MySQL.
  • Fix plotting bug that might have caused mysterious failures to update the plot. Or it might not.
  • Fix ADQL parsing in TAP window so that TAP_UPLOAD tables are treated correctly.
  • Fix bug which could cause truncation of strings in FITS and possibly VOTable output when tables were hand-edited to add strings longer than previously-declared length.
  • Fixed bug in multi-table matches (>2 tables) which could result in output rows with columns from only a single table, i.e. not representing an inter-table match.
  • Fix bug in HMS sexagesimal formatting: minus sign was omitted from negative angles. Now the output is forced positive.
  • Fix minor bug associated with deleting the current row subset (this now causes All to become current).
  • Cope with 1-column CSV files.
  • Fix (some, though probably not all) possible bug(s) related to running on Java 1.7 on Mac.
  • Use the correct form "rows"/"bytes" rather than "row"/"byte" for TAP capability unit values.
  • Infinite floating point values are now correctly encoded in VOTable output ("+Inf"/"-Inf", not "Infinity"/"-Infinity" as in previous versions).
  • Fixed some layout problems which could lead to zero-width text entry fields for RA/Dec.
  • Fixed bug when attempting to explode a hidden array column.
  • Fix error bar rendering bug which could result in diagonal lines being offset near the edge of plots.
  • Fix problem with GUI locking up when plotting outsize histograms.
  • Fixed bug in stacked line plot which caused scribbly drawing in the presence of null X axis values.
  • Fixed problem with row highlight messages bouncing for ever between applications when the Transmit Row activation action is in use.
  • Improve behaviour when deleting a parameter in the Parameter Window.

Version 4.0-1 (1 July 2013)
New Functionality
  • Add read-only support for CDF (NASA Common Data Format) files. Currently, no attempt is made to present time-like values in a human-friendly way, but this may improve in a future release. The SAMP table.load.cdf MType is also supported for receiving CDF files.
  • Improve handling of HTTP basic authorization. HTTP 401s now pop up a user/password dialogue window, unless the star.basicauth.* system properties have been set up.
  • Add options to calculate the (scaled or unscaled) Median Absolute Deviation in the Statistics window.
Minor enhancements
  • Now subscribes to SAMP voresource.loadlist.tap MType, accepting resource list in TAP load dialogue "Select Service" tab.
  • The Columns window now makes a better attempt at displaying non-standard per-column metadata of unusual types, in particular array values.
  • Line plotting improved in layer plots (including better dashing, new antialias option).
  • Implemented fixes to reduce the chance of users inadvertently overloading external Cone/SIA/SSA services with multicone-like queries. First, fix it so that abandoned queries are properly terminated, rather than continuing to hit the server until completion or JVM shutdown. Second, implement a sensible default maximum value for the Parallelism field in the multi-cone (etc) panel (though this may be adjusted with a system property).
  • Source code is now managed by git and not subversion. The format of the "Starjava revision" string reported by the -version flag and the Help|About menu item has changed accordingly.
Bug fixes
  • Fix CSV regression bug introduced at v4.0b - CSV files now work again with MSDOS-style line breaks.
  • TAP example queries now quote table and column names where necessary. This fixes a bug that was particularly evident with the VizieR TAP service for which nearly all table names are not legal ADQL identifiers.
  • Quoting behaviour has changed when generating SQL to write to RDBMS tables. This ought to reduce problems related to mixed-case identifiers. However, it is possible that it could lead to unforseen new anomalies.
  • Fix bug with reading session files containing 1-column tables.
  • Fixed FITS output bug which could result in badly-formed string-valued header cards (no closing quote).
  • Turn off layer plot optimisation that could result in lost precision for double values.
  • Fix layer plot bug that broke the plot if both handles of a range slider were dragged to the same position.
  • Fixed it so that layer plot axis range settings are reset when the Rescale button is used.
  • Fixed a bug that caused an exception when a table in a layer plot was deleted from the application.
  • Fixed a bug when zooming way out from a sky plot.


Next Previous Up Contents
Up: Release Notes
Previous: Acknowledgements

TOPCAT - Tool for OPerations on Catalogues And Tables
Starlink User Note253
TOPCAT web page: http://www.starlink.ac.uk/topcat/
Author email: m.b.taylor@bristol.ac.uk
Mailing list: topcat-user@bristol.ac.uk