What's new in JFreeChart 1.0.19
Jul 31, 2014
- Bug Fixes:
- fixed clipping issues for combined plots in JavaFX;
- fix a memory leak in the new JavaFX ChartCanvas class;
- CombinedDomainXYPlot and CombinedRangeXYPlot now take into account the
- pannable flags in the subplots;
- FastScatterPlot panning direction is corrected;
- added rendering hints to sharpen gridlines and borders in most output formats;
- JFreeSVG updated to version 2.0.
New in JFreeChart 1.0.18 (Jul 4, 2014)
- Added JavaFX support with a new ChartViewer control that supports tooltips,
- mouse clicks, panning, zooming and a context menu. Modified LogAxis to
- support super-scripted labels, improved the tick label generation for
- NumberAxis, added a new ProbabilityAxis (patch from John St. Ledger),
- enhanced XYStepAreaRenderer to support a 'stepPoint' attribute (patch from
- Lukasz Rzeszotarski), provided configurable direction labels in
- CompassFormat (patch from Simon Legner), added methods to add data item
- objects to VectorSeries, XIntervalSeries, YIntervalSeries and
- XYIntervalSeries (for consistency with other data series objects),
- improved the TimeSeries range calculations, provided center text support
- for the RingPlot class, and updated JCommon to version 1.0.22 (this fixes
- a bug in pie label rendering).
- Bug Fixes:
- BarRenderer3D now observes the 'visibleSeries' settings;
- TimeSeriesCollection now takes xRange into account when calculating the
- range bounds;
- added missing localisation for 'Save As' option on ChartPanel;
- inverted SymbolAxis not displaying bands correctly;
- fixed fillDomainGridBand() method in AbstractXYItemRenderer;
- replaced ObjectList with java.util.Map to avoid bug in equals() methods.
New in JFreeChart 1.0.17 (Nov 25, 2013)
- Bug Fixes:
- Multithreading issue with DateAxis;
- BorderArrangement.add() possible ClassCastException;
- XYSeriesCollection.removeSeries(int) does not deregister listener;
- WaterfallBarRenderer uses wrong color for diff 0.
New in JFreeChart 1.0.16 (Sep 14, 2013)
- Bug Fixes:
- 1107 : Fixed TimeZone issue in PeriodAxis.
- Also fixed a line drawing issue with the StackedXYAreaRenderer, and a memory
- leak in the SWT ChartComposite class.
New in JFreeChart 1.0.15 (Jul 5, 2013)
- Added support for non-visible series in XYBarRenderer, minor gridlines in
- PolarPlot, legend item ordering, chart editor enhancements, updates to
- StandardDialScale, localisation files for Japanese and refactored parameter
- checks.
- This release also fixes a minor security flaw in the DisplayChart class,
- detected and reported by OSI Security
- Patches:
- LegendTitle order attribute (by Simon Kaczor);
- ChartComposite does not dispose popup (by Sebastiao Correia);
- PaintAlpha for 3D effects (by Dave Law);
- Bug Fixes:
- Rendering anomaly for XYPlots;
- ValueAxis.reserveSpace() problem for axes with fixed dimension;
- DeviationRenderer optimisation (by Milan Ramaiya);
- SWTGraphics2D get/setStroke() problem;
- DefaultPolarItemRenderer does not populate seriesKey in LegendItem;
- Missing text in SWTGraphics2D (by Kevin Xu);
- Maven fixes (Martin Hoeller);
- DateAxis endless loop (by Martin Hoeller);
- TimeSeries calculates range incorrectly in addOrUpdate();
- TimeSeriesCollection.findRangeBounds() regression;
- XYDifferenceRenderer fix (by Patrick Schlott/Christoph Schroeder);
- SWT print job (by Jonas Rüttimann);
- Path disclosure vulnerability in DisplayChart servlet;
- Also fixed a rendering issue for polar charts using an inverted axis.
New in JFreeChart 1.0.14 (Nov 21, 2011)
- added support for multiple axes in PolarPlot, performance improvements in the TimeSeriesCollection class, mouse wheel rotation in the PiePlot class,
- improved Maven support, a range of other minor functional enhancements and numerous bug fixes
- see the NEWS and ChangeLog files for details.
New in JFreeChart 1.0.13 (Apr 21, 2009)
- updates to the ChartPanel class to support copying charts to the clipboard, panning and mouse-wheel zooming, and an overlay mechanism that supports crosshairs;
- enhancements to the auto-range calculation for axes, providing the ability to use subranges only and also to skip hidden series;
- updates for many of the CategoryItemRenderer implementations to ensure that they respect the 'seriesVisible' flags;
- an improvement to the TimeSeries class so that it is no longer necessary to specify the time period type in the constructor;
- a new SamplingXYLineRenderer for improving the performance of time series charts with large datasets;
- the XYSeries/XYSeriesCollection classes now cache the minimum and maximum data values to improve the performance of charts with large datasets;
- entities are now created for the chart, data area and axes, allowing mouse clicks to be detected for these regions;
- added a bar alignment factor to the XYBarRenderer class;
- a new 'errorIndicatorStroke' field for the StatisticalLineAndShapeRenderer and XYErrorRenderer classes;
- added a new HeatMapDataset interface, DefaultHeatMapDataset implementation, and a HeatMapUtilities class to make it easier to create heat map charts;
- there is a new flag to allow an XYDataImageAnnotation to be included in the automatic range calculation for the axes;
- additional attributes in the XYTextAnnotation class;
- added a sampleFunction2DToSeries() method to the DatasetUtilities class;
- some changes to the ChartPanel class that help to work around a regression in JRE 1.6.0_10 relating to drawing in XOR mode. Regarding this final point:
- the default value for the useBuffer flag has changed to true, which means that all charts will, by default, be rendered into an off-screen image before being displayed in the ChartPanel;
- the zoom rectangle is drawn using XOR mode *only* when the useBuffer flag has been set to false.
- For most usage, this should improve performance (but at the cost of using more memory for each ChartPanel used in your application);
- Bug Fixes:
- 2690293 : Problem with Javascript escape characters;
- 2617557 : StandardDialScale ignored tickLabelPaint;
- 2612649 : Stroke selection in plot property editor;
- 2583891 : SWTGraphics2D.fillPolygon() not implemented;
- 2564636 : Month constructor ignores Locale;
- 2502355 : ChartPanel sending multiple events;
- 2490803 : PeriodAxis.setRange() method doesn't take into account that the axis displays whole periods;
- In addition, a bug in the SlidingCategoryDataset class has been fixed, the
- correct outline paint is now used by GradientXYBarPainter, a new method
- has been added to the ImageMapUtilities class to escape special characters
- in Javascript strings to avoid problems with the OverLIB and DynamicDrive
- tooltips, and there are some important fixes in the LogAxis class.
- This release passes 2110 JUnit tests (0 failures) on JRE 1.6.0_12.
New in JFreeChart 1.0.12 (Feb 4, 2009)
- API Adjustments:
- CategoryPlot : added mapDatasetToDomainAxes() and mapDatasetToRangeAxes() methods;
- Month : added a new constructor Month(Date, TimeZone, Locale) and deprecated Month(Date, TimeZone);
- Quarter : added a new constructor Quarter(Date, TimeZone, Locale) and deprecated Quarter(Date, TimeZone);
- XYPlot : added mapDatasetToDomainAxes() and mapDatasetToRangeAxes() methods;
- Year : added a new constructor Year(Date, TimeZone, Locale) and deprecated Year(Date, TimeZone);
- Bug Fixes:
- 2471906 : XYAreaRenderer with dashed outline - performance problem;
- 2452078 : StackedAreaChart has gaps;
- 2275695 : NullPointerException for SubCategoryAxis on plot with null dataset;
- 2221495 : XYLineAnnotation with dashed stroke;
- 2216511 : SWTBarChartDemo1 throws RuntimeException;
- 2201869 : DateAxis tick label position error;
- 2121818 : Label link lines for very thin RingPlot;
- 2113627 : XYStepRenderer item labels;
- 1955483 : XYSeries.addOrUpdate() problem.
- Also fixed StackedXYBarRenderer which was ignoring the shadowsVisible attribute.
New in JFreeChart 1.0.9 (Jan 5, 2008)
- HashUtilities - added hashCode() methods for BooleanList, PaintList and StrokeList;
- ImageMapUtilities - added htmlEscape(String);
- IntervalMarker - added new constructor;
- Range - added intersects(Range) and scale(Range, double);
- TextTitle - added protected methods arrangeNN(), arrangeFN() and arrangeRN();
- XYDataItem - added getXValue() and getYValue() methods;
- XYPlot - added setFixedDomainAxisSpace(AxisSpace, boolean) and setFixedRangeAxisSpace(AxisSpace, boolean);
- XYSeriesCollection - added getSeries(Comparable) method.
- Fix: CandlestickChart.getCategoryPlot() - ClassCastException;
- Fix: testGetFirstMillisecondWithTimeZone fails in 1.0.8a;
- Fix: 1.0.8a breaks URLs in HTML image maps;
- Fix: GroupedStackedBarRenderer works only for primary dataset;
- Fix: Endless loop in paint of XYPlot;
- Fix: Cross-site scripting vulnerabilities in image map code;
- Fix: Background image not shown with SWT;
- Fix: ChartEntity.getImageMapAreaTag() needs nohref;
- Fix: OverLIBToolTipTagFragmentGenerator not escaping single quote;
- Fix: Escape Image Map Data;
- Fix: AbstractRenderer.hashcode() method returns the same value;