123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905 |
- JFreeChart 1.0.19
- -----------------
- 31 July 2014
- This maintenance release corrects some issues in the new JavaFX support that
- was added in the 1.0.18 release, as well as some general issues.
- 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.
- In this release, we have also provided a preview of JSFreeChart, a free 2D
- chart library written in JavaScript that is conceptually similar to JFreeChart
- but runs directly in browsers.
- JFreeChart 1.0.18
- -----------------
- 3 July 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.
- JFreeChart 1.0.17
- -----------------
- 24 November 2013
- Enhanced XYSplineRenderer with new area fill (contributed by Klaus Rheinwald),
- added a notify flag to all datasets that extend AbstractDataset, extended
- TimeSeriesCollection to validate TimeSeries keys for uniqueness, added a new
- DirectionalGradientPaintTransformer (by Peter Kolb), updated OHLCSeries, added
- HMSNumberFormat, updated JCommon to version 1.0.21 (includes rotated text
- improvements) and fixed some minor bugs.
- Bug Fixes:
- 977 : Multithreading issue with DateAxis;
- 1084 : BorderArrangement.add() possible ClassCastException;
- 1099 : XYSeriesCollection.removeSeries(int) does not deregister listener;
- 1109 : WaterfallBarRenderer uses wrong color for diff 0.
- And now a word from our sponsors, Object Refinery Limited...
- > ORSON CHARTS 3D
- > ---------------
- > We are pleased to announce the release of Orson Charts, a 3D chart library
- > for the Java(tm) platform. Orson Charts has a similar architecture to
- > JFreeChart and provides high-quality 3D chart rendering using just the Java2D
- > API. The built-in Swing-based viewer provides zooming and full 360 degree
- > rotation of charts in any direction. Export options include PNG, PDF and SVG.
- > You can download a free evaluation copy of Orson Charts from:
- >
- > http://www.object-refinery.com/orsoncharts
- >
- > We've also added a tab to the JFreeChart demo application so you can see
- > Orson Charts in action. Orson Charts is not free, but provides a superb
- > complement to the extensive 2D charting capabilities of JFreeChart.
- JFreeChart 1.0.16
- -----------------
- 13 September 2013
- *** THIS RELEASE REQUIRES JDK/JRE 1.6.0 OR LATER. ***
- Provided subscript/superscript support for axis labels (via AttributedString),
- new axis label positioning options, simplified ChartFactory methods,
- added new methods to DatasetUtilities to interpolate y-values in XYDatasets,
- added URLs to labels on CategoryAxis, seamless integration with
- JFreeSVG (http://www.jfree.org/jfreesvg/) and OrsonPDF
- (http://www.object-refinery.com/pdf/), improved the consistency of the
- SWTGraphics2D implementation, and fixed various bugs. All the JUnit tests
- have been upgraded to JUnit 4.
- 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.
- IMPORTANT: Funding is vital to the continued success of the JFreeChart project.
- Please ask/persuade/beg your company to support us buy purchasing the
- JFreeChart Developer Guide and demo source code (site license options are
- available for big companies)...and also please take a look at JFreeSVG and
- OrsonPDF, useful products that we are charging money for!
- JFreeChart 1.0.15
- -----------------
- 4-July-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:
- http://www.osisecurity.com.au/advisories/jfreechart-path-disclosure
- Patches:
- 3500621 : LegendTitle order attribute (by Simon Kaczor);
- 3463807 : ChartComposite does not dispose popup (by Sebastiao Correia);
- 3204823 : PaintAlpha for 3D effects (by Dave Law);
- Bug Fixes:
- 3561093 : Rendering anomaly for XYPlots;
- 3555275 : ValueAxis.reserveSpace() problem for axes with fixed dimension;
- 3521736 : DeviationRenderer optimisation (by Milan Ramaiya);
- 3514487 : SWTGraphics2D get/setStroke() problem;
- 3508799 : DefaultPolarItemRenderer does not populate seriesKey in LegendItem;
- 3482106 : Missing text in SWTGraphics2D (by Kevin Xu);
- 3484408 : Maven fixes (Martin Hoeller);
- 3484403 : DateAxis endless loop (by Martin Hoeller);
- 3446965 : TimeSeries calculates range incorrectly in addOrUpdate();
- 3445507 : TimeSeriesCollection.findRangeBounds() regression;
- 3425881 : XYDifferenceRenderer fix (by Patrick Schlott/Christoph Schroeder);
- 2963199 : SWT print job (by Jonas Rüttimann);
- 2879650 : Path disclosure vulnerability in DisplayChart servlet;
- Also fixed a rendering issue for polar charts using an inverted axis.
- JFreeChart 1.0.14
- -----------------
- 20 November 2011
- This release contains support for multiple and logarithmic axes with PolarPlot,
- optional drop-shadows in plot rendering, fitting polynomial functions to a data
- series, some performance improvements in the TimeSeriesCollection class, mouse
- wheel rotation of pie charts, improved Maven support and numerous bug fixes.
- Patches:
- 3435734 : Fix lines overlapping item labels (by Martin Hoeller);
- 3421088 : Bugfix for misalignment in BoxAndWhiskerRenderer;
- 2952086 : Enhancement for finding bounds in XYZDatasets;
- 2954302 : CategoryPointerAnnotation line calculation;
- 2902842 : HistogramDataset.addSeries() fires change change event (by
- Thomas A Caswell);
- 2868608 : Whisker width attribute for BoxAndWhiskerRenderer (by Peter Becker);
- 2868585 : Added useOutlinePaint flag for BoxAndWhiskerRenderer (by
- Peter Becker);
- 2850344 : PolarPlot enhancements (by Martin Hoeller);
- 2795746 : Support for polynomial regression;
- 2791407 : Fixes for findRangeBounds() in various renderers.
- Bug Fixes:
- 3440237 : Shadows always visible;
- 3432721 : PolarPlot doesn't work with logarithmic axis;
- 3433405 : LineChart3D - Problem with Item Labels;
- 3429707 : LogAxis endless loop;
- 3428870 : Missing argument check in TextAnnotation;
- 3418287 : RelativeDateFormatTest.java is locale dependent;
- 3353913 : Localisation fixes for ChartPanel, CompassPlot and PiePlot3D;
- 3237879 : RingPlot should respect getSectionOutlineVisible();
- 3190615 : Added missing clear() method in CategoryTableXYDataset;
- 3165708 : PolarChartPanel localisation fix;
- 3072674 : Bad handling of NaN in DefaultStatisticalCategoryDataset;
- 3035289 : StackedXYBarRenderer should respect series/item visible flags;
- 3026341 : Check for null in getDomain/RangeBounds() for XYShapeRenderer;
- 2947660 : AbstractCategoryRenderer fix null check in getLegendItems();
- 2946521 : StandardDialScale check majorTickIncrement argument;
- 2876406 : TimeTableXYDataset should support Comparable for series keys;
- 2868557 : BoxAndWhiskerRenderer should fire change event in setMedianVisible();
- 2849731 : For IntervalCategoryDataset and IntervalXYDataset, fix
- iterateRangeBounds() in DatasetUtilities;
- 2840132 : AbstractXYItemRenderer drawAnnotations doesn't set renderer index;
- 2810220 : Offset problem in StatisticalBarRenderer;
- 2802014 : Dial value border too small;
- 2781844 : XYPointerAnnotation arrow drawing;
- 1937486 : AreaRenderer doesn't respect AreaRendererEndType.LEVEL;
- Also fixed:
- - use of simple label offset in PiePlot;
- - cached minY and maxY in TimeSeries.createCopy();
- - scaling issues for charts copied to the clipboard;
- - use of timezone in TimeTableXYDataset constructor;
- - duplicate series names in XYSeriesCollection;
- - HistogramDataset fires a change event in addSeries();
- - check visibility of main chart title before drawing it;
- - fixed serialization of PowerFunction2D, NormalDistributionFunction2D,
- and LineFunction2D;
- - item label positioning for the AreaRenderer class when the plot has an
- horizontal orientation.
- JFreeChart 1.0.13
- -----------------
- 20 April 2009
- ******************************************************************************
- * SPECIAL NOTICE: There will be a birds-of-a-feather session for JFreeChart *
- * at this year's JavaOne conference in San Francisco. The session is *
- * scheduled for 6.45pm to 7.35pm on Wednesday 3 June. *
- ******************************************************************************
- This release contains:
- - 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.
- JFreeChart 1.0.12
- -----------------
- 31 December 2008
- This release adds support for minor tick marks, mapping datasets to more than
- one axis, an important fix for the XYSeries class (relating to the
- addOrUpdate() method) plus numerous other bug fixes.
- This release passes 1996 JUnit test (0 failures) on JRE 1.6.0_10.
- 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.
- JFreeChart 1.0.11
- -----------------
- 19 September 2008
- This release features a new chart theming mechanism to allow charts to be
- restyled conveniently, a new BarPainter mechanism to enhance the appearance of
- bar charts, a new XYShapeRenderer class, a scaling facility for the
- XYDrawableAnnotation for drawing images within specific data coordinates, some
- new classes (XYTaskDataset, XYDataImageAnnotation and XYTitleAnnotation), a
- modification to the Year class to support an extended range, and various bug
- fixes and API improvements. There is an important bug fix for the
- StackedBarRenderer3D class (see bug 2031407).
- This release passes 1,961 JUnit tests (0 failures) on JRE 1.6.0_07.
- API Adjustments:
- - AbstractRenderer - added clearSeriesPaints() and clearSeriesStrokes()
- methods;
- - BarRenderer - added shadowPaint attribute;
- - CategoryAxis - added getCategoryMiddle() method;
- - CategoryPlot - added getRendererCount() method;
- - ChartFactory - added get/setChartTheme() methods;
- - ChartPanel - increased default maximum drawing width and height;
- - ChartTheme - new interface;
- - ChartUtilities - added applyCurrentTheme() method;
- - CompositeTitle - added backgroundPaint attribute;
- - GradientBarPainter - new class;
- - LegendTitle - added getWrapper() method;
- - OHLCSeriesCollection - added xPosition attribute;
- - PaintScaleLegend - new subdivisions field;
- - PiePlot - added autoPopulate flags, and methods to clear section attributes;
- - Plot - added setDrawingSupplier() method;
- - RegularTimePeriod - the DEFAULT_TIME_ZONE field has been deprecated in this
- release;
- - RelativeDateFormat - added methods to control formatting of hours and
- minutes - see patch 2033092;
- - StandardChartTheme - new class;
- - XYItemRendererState - new methods;
- - XYPlot - added getRendererCount() method;
- - XYShapeRenderer - new class;
- - XYTaskDataset - new class.
- Patches:
- 1997549 : Status calls to XYItemRendererState [Ulrich Voigt];
- 2006826 : CompositeTitle drawing fix;
- 2033092 : Additional formatters for RelativeDateFormat [Cole Markham];
- Bug Fixes:
- 1994355 : ChartComposite listener type;
- 2031407 : Incorrect rendering in StackedBarRenderer3D;
- 2033721 : WaferMapRenderer;
- 2051168 : No key in LegendItemEntity for pie charts;
- Also fixed drawing of alternate grid bands in SymbolAxis, the totalWeight
- calculation in the CombinedXXXPlot classes, a NullPointerException in the
- XYPlot class when drawing quadrants, outline visibility in the
- CategoryPlot class, and auto-range calculations with XYBarRenderer.
- JFreeChart 1.0.10
- -----------------
- 9 June 2008
- This release contains various bug fixes and minor enhancements to JFreeChart.
- PiePlot labelling has been enhanced (new curve options, and more robust bounds
- checking). The BoxAndWhiskerRenderer now has a maximumBarWidth attribute, the
- XYStepRenderer has a new stepPoint attribute. The RelativeDateFormat class
- has new options. There are new dataset classes (SlidingCategoryDataset and
- SlidingGanttDataset) that permit a subset of categories to be plotted, and
- allow charts based on these datasets to simulate scrolling. There is a new
- ShortTextTitle class.
- This release passes 1,929 JUnit tests (0 failures) on JRE 1.6.0_03.
- API Adjustments:
- - BoxAndWhiskerRenderer - added maximumBarWidth attribute (see patch 1866446);
- - ChartPanel - the zoomPoint attribute has been changed from Point to Point2D;
- - DatasetUtilities - iterateCategoryRangeBounds() is deprecated, the method
- has been renamed iterateRangeBounds(CategoryDataset) for consistency;
- - DefaultKeyedValue - the constructor now prevents a null key;
- - LogFormat - now has a 'powerLabel' attribute;
- - ShortTextTitle - a new title class;
- - SlidingCategoryDataset - new class;
- - SlidingGanttDataset - new class;
- - TimeSeriesCollection - getSeries(String) changed to getSeries(Comparable);
- - XIntervalSeriesCollection - added series removal methods;
- - YIntervalSeriesCollection - added series removal methods;
- - XYIntervalSeriesCollection - added series removal methods;
- PublicCloneable is now implemented by a number of classes that didn't
- previously implement the interface - this should improve the reliability of
- chart cloning.
- Patches:
- 1943021 : Fix for MultiplePiePlot [Brian Cabana];
- 1925366 : Speed improvement for DatasetUtilities [Rafal Skalny];
- 1918209 : LogAxis createTickLabel() changed from private to
- protected [Andrew Mickish];
- 1914411 : Simplification of plot event notification [Richard West];
- 1913751 : XYPlot and CategoryPlot addMarker() methods with
- optional notification [Richard West];
- 1902418 : Bug fix for LogAxis vertical labels [Andrew Mickish];
- 1901599 : Fixes for XYTitleAnnotation [Andrew Mickish];
- 1891849 : New curve option for pie chart label links [Martin Hilpert];
- 1874890 : Added step point to XYStepRenderer [Ulrich Voigt];
- 1873328 : Enhancements to RelativeDateFormat [Michael Siemer];
- 1871902 : PolarPlot now has angleTickUnit attribute [Martin Hoeller];
- 1868745 : Fix label anchor points on LogAxis [Andrew Mickish];
- 1866446 : Added maximumBarWidth to BoxAndWhiskerRenderer [Rob Van der Sanden];
- Bug Fixes:
- 1932146 - PeriodAxis.setRange() doesn't notify listeners;
- 1927239 - Fix calculation of cumulative range;
- 1926517 - Bugs in data range calculation for combined plots;
- 1920854 - PiePlot3D labels drawn multiple times;
- 1897580 - Fix for DefaultIntervalCategoryDataset;
- 1892419 - Wrong default for minor tick count in LogAxis;
- 1880114 - VectorRenderer doesn't work for horizontal plot orientation;
- 1873160 - DialPlot clipping issues;
- 1868521 - Problem saving charts to JPEG format;
- 1864222 - Error on TimeSeries createCopy() method;
- The DatasetUtilities.sampleFunction2D() has been changed to sample the correct
- number of points - you should check any code that calls this method. The
- XYBlockRenderer class now generates entities. Bugs in the removeDomainMarker()
- and removeRangeMarker() methods in the CategoryPlot and XYPlot classes have
- been fixed. A bug in the TimePeriodValues range calculation has been fixed.
- Fixes were applied to the clone() methods in the TaskSeries and
- TaskSeriesCollection classes.
- New Experimental Features:
- Two new classes CombinedCategoryPlot and CombinedXYPlot have been added to the
- 'experimental' source tree - these were contributed by Richard West (see
- patch 1924543).
- JFreeChart 1.0.9
- ----------------
- 4 January 2008
- This release contains an important security patch as well as various bug fixes
- and minor enhancements. Regarding the security patch, please see the
- following advisory:
- http://www.rapid7.com/advisories/R7-0031.jsp
- Note that the fix incorporated in the special JFreeChart 1.0.8a release was
- flawed in that it broke the URLs in the HTML image maps generated by
- JFreeChart. Further amendments have been made in this release to fix this
- problem.
- API Adjustments:
- A number of classes have new methods. Nothing has been removed or deprecated:
- - 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.
- Bug Fixes:
- 1852525 - CandlestickChart.getCategoryPlot() - ClassCastException;
- 1851416 - testGetFirstMillisecondWithTimeZone fails in 1.0.8a;
- 1849333 - 1.0.8a breaks URLs in HTML image maps;
- 1848961 - GroupedStackedBarRenderer works only for primary dataset;
- 1846063 - Endless loop in paint of XYPlot;
- 1840139 - Cross-site scripting vulnerabilities in image map code;
- 1837979 - Background image not shown with SWT;
- 1460195 - ChartEntity.getImageMapAreaTag() needs nohref;
- 1400917 - OverLIBToolTipTagFragmentGenerator not escaping single quote;
- 1363043 - Escape Image Map Data;
- 1178601 - AbstractRenderer.hashcode() method returns the same value;
- In addition, a bug in the constructor for the Week class has been fixed.
- JFreeChart 1.0.8
- ----------------
- 23 November 2007
- This release is primarily a bug fix release, correcting a problem with pie
- chart labelling, a regression in the DefaultCategoryDataset class (and
- underlying KeyedValues2D class), and a cloning bug in the TimeSeries class.
- In addition, the StatisticalBarRenderer class has a new 'errorIndicatorStroke'
- field and has been updated to support gradients, the StandardDialScale has had
- some missing accessor methods implemented, and an override field in the
- StandardXYItemRenderer class has been deprecated. Plus some warnings reported
- by FindBugs 1.3.0 have been addressed.
- JFreeChart 1.0.7
- ----------------
- 14 November 2007
- This release features new classes DialPlot and LogAxis (previously in
- experimental), initial support for minor tick units, a new anchored zooming
- option for the ChartPanel class, optional simple labelling on pie charts,
- improvements to the "statistical" datasets and underlying data structures, and
- numerous bug fixes.
- API Adjustments:
- - CategoryAxis - added getCategorySeriesMiddle() method;
- - CategoryPlot - added methods to remove markers;
- - ChartPanel - added defaultDirectorForSaveAs attribute;
- - DialPlot - new class, an alternative to MeterPlot;
- - LogAxis - new class, an alternative to LogarithmicAxis;
- - NumberTick - new constructor that allows specification of the tick type;
- - NumberTickUnit - new constructor to specify the minor tick count;
- - SymbolAxis - new methods get/setGridBandAlternatePaint();
- - TickType - new class;
- - TickUnit - added minorTickCount attribute;
- - ValueTick - added tickType attribute;
- - StandardPieSectionLabelGenerator - new constructors accepting a Locale;
- - StandardPieToolTipGenerator - likewise;
- - CategoryPlot - added getRangeAxisIndex(), zoomDomainAxes() and zoomRangeAxes()
- methods;
- - FastScatterPlot - added new zooming methods;
- - PiePlot - new attributes to support simple labelling;
- - PlotUtilities - new class;
- - PolarPlot - added new zooming methods;
- - ThermometerPlot - likewise;
- - XYPlot - added methods to remove markers (patch 1823697--same as for
- CategoryPlot), and added new zooming methods;
- - Zoomable - added new zooming methods to this interface;
- - LineAndShapeRenderer - added useSeriesOffset and itemMargin attributes;
- - MinMaxCategoryRenderer - implemented equals();
- - XYSplineAndShapeRenderer - new class;
- - LogFormat - new class;
- - ChartFactory - new pie and ring chart creation methods that accept a Locale;
- - ChartPanel - added zoomAroundAnchor attribute;
- - Series - added isEmpty() method;
- - BoxAndWhiskerItem - new convenience constructor;
- - DefaultBoxAndWhiskerCategoryDataset - new remove methods;
- - DefaultStatisticalCategoryDataset - likewise;
- - MeanAndStandardDeviation - added new value accessor methods;
- - TimeTableXYDataset - added clear() method;
- - Week - added new constructor;
- - KeyedObjects - added insertValue() and clear() methods;
- - KeyedObjects2D - added clear() method.
- Patches:
- 1823724 - updated XYDifferenceRenderer to support item labels;
- 1827829 - fixed possible NullPointerException in XYBarRenderer;
- Bug Fixes:
- 1767315 - GrayPaintScale.getPaint() uses wrong value;
- 1775452 - Inverted XYBarRenderer does not render margins correctly;
- 1802195 - Marker.listenerList serializable;
- 1779941 - StatisticalBarRenderer NPE;
- 1766646 - XYBlockRenderer can't handle empty datasets;
- 1763413 - PeriodAxis labels fail to display with setInverted
- 1737953 - Zoom doesn't work on LogAxis(Demo1)
- 1749124 - JFreeChart not added as TitleChangeListener
- JFreeChart 1.0.6
- ----------------
- 15 June 2007
- This release features a new VectorRenderer (previously in experimental), a
- generalised XYDifferenceRenderer, better support for hotspots on legend items,
- improved performance for time series charts displaying subsets of data, support
- for GradientPaint in plot backgrounds, plus the usual slew of bug fixes and
- minor feature additions.
- API Adjustments:
- - CategoryItemEntity - replaced row and column index attributes with row and
- column key attributes;
- - CategoryItemRenderer - numerous series override settings have been deprecated;
- - DefaultPieDataset - added insertValues() method;
- - HexNumberFormat - new class;
- - LegendItem - added dataset and seriesKey attributes;
- - Plot - added new fillBackground() method to support GradientPaint, and
- added is/setOutlineVisible() methods;
- - QuarterDateFormat - added GREEK_QUARTERS field plus a new constructor;
- - SimpleHistogramDataset - added clearObservations() and removeAllBins()
- methods;
- - TimeSeriesCollection - added indexOf() method;
- - URLUtilities - new class;
- - XYItemRenderer - numerous series override settings have been deprecated;
- - XYSeriesCollection - added indexOf() method.
- Bug Fixes:
- 1735508 - ClusteredXYBarRenderer fails with inverted x-axis;
- 1726404 - ChartComposite tooltips;
- 1713474 - StackedBarRenderer3D doesn't fill shadows;
- 1713401 - StackedBarRenderer3D doesn't check drawBarOutline flag;
- 1701822 - DefaultBoxAndWhiskerCategoryDataset doesn't follow contracts;
- 1698965 - NPE in CombinedDomainXYPlot;
- 1690994 - HideSeriesDemo1 does not work;
- 1690654 - Bug in removeValue() of DefaultKeyedValues2D;
- 1562701 - LegendItemEntity needs dataset index;
- 1486299 - Use URLEncoder.encode() for URL generators;
- Plus the following bugs that didn't have entries in the database:
- - BarRenderer - check for series visibility in getLegendItem();
- - ChartPanel - use correct insets for painting chart buffer to screen, update
- UI for popup menu if LookAndFeel changes;
- - DateAxis - fixed boundary cases for previousStandardDate() method;
- - LineBorder - only draw border if area has positive dimensions;
- - JFreeChart - should register as a listener with the default legend;
- - StandardXYItemRenderer - fixed a problem where chart entities are created for
- non-visible items;
- - TimePeriodValuesCollection.getDomainBounds() now computes the bounds
- correctly;
- - XYLineAndShapeRenderer - fixed a problem where chart entities are created for
- non-visible items;
- - XYLine3DRenderer - equals() implemented, and serialization fixed;
- - XYTitleAnnotation - fixed equals() method;
- - various resource usage bugs in the experimental ChartComposite class;
- JFreeChart 1.0.5
- ----------------
- 23 March 2007
- This release features a new DeviationRenderer class, support for item labels
- in StackedXYBarRenderer, tooltips and URLs in the CategoryStepRenderer, and
- many bug fixes.
- API Adjustments:
- - AbstractCategoryItemRenderer - added createState() method;
- - StackedXYBarRenderer - added get/setRenderAsPercentages() methods;
- - XYIntervalSeries - added getXLowValue(), getXHighValue(), getYLowValue() and
- getYHighValue();
- - YIntervalSeries - added getYLowValue() and getYHighValue() methods;
-
- Bug Fixes:
- 1681777 - DefaultCategoryDataset does not clone data;
- 1672552 - Zoom rectangle is lost when the chart is repainted;
- 1671645 - Crosshair incorrectly positioned in horizontal orientation;
- 1669302 - Tick labels in vertical symbol axis;
- 1669218 - CategoryPlot.setDomainAxisLocation() ignores parameter;
- 1667750 - Clip region not restored in Spider and MeterPlot;
- 1663380 - OutputStream not closed;
- 1659627 - IntervalMarker with Double.POSITIVE_INFINITY bound;
- 1647269 - IntervalMarker with Double.MAX_VALUE as upper bound;
- 1594477 - XYBarRenderer does not render bars on LogarithmicAxis;
- 1459958 - Log axis zoom function problem;
- 880597 - Zooming ChartPanel with log axes;
- 764561 - Dynamic chart zoom buggy.
-
- Also fixed numerous bugs in equals(), cloning and serialization
- implementations.
- JFreeChart 1.0.4
- ----------------
- 9 February 2007
- This release features a new XYBlockRenderer class, URLs for pie chart labels
- in HTML image maps, a new dataset implementation for open-high-low-close
- charts, support for gradient paint in ClusteredXYBarRenderer,
- StackedXYBarRenderer and legend graphics, a new anchor attribute for
- XYImageAnnotation, improvements to the experimental SWT support, plus a
- number of additions to the API for usability, and many bug fixes.
- API Adjustments:
- - DateAxis - added get/setTimeZone() methods;
- - DefaultXYDataset - now implements PublicCloneable;
- - StackedXYAreaRenderer2 - added get/setRoundXValues() methods;
- - StandardXYItemLabelGenerator - added new constructor;
- - StandardXYToolTipGenerator - added new constructor;
- - XYBarDataset - added getUnderlyingDataset() and get/setBarWidth() methods;
- - XYDifferenceRenderer - added roundXCoordinates attribute;
- - XYImageAnnotation - added an image anchor attribute, a new constructor, and
- several accessor methods;
- - XYSeries - added toArray() method;
- Bug Fixes:
- 1654215 - XYPlot renderer with no corresponding dataset;
- 1652640 - RangeMarkers do not update properly;
- 1649686 - Crosshairs for StackedXYAreaRenderer;
- 1647749 - IllegalArgumentException in SWTAxisEditor;
- 1644877 - Replacing series data in DefaultXYDataset;
- 1644010 - DateAxis.nextStandardDate() ignores timezone;
- 1638678 - DateAxis code uses the default calendar;
- 1629382 - Tests fail for jfreechart-1.0.3;
- 1624067 - StandardXYToolTipGenerator missing constructor;
- 1616583 - Serialize ChartDeleter;
- 1612770 - Popup menu in wrong position for SWT ChartComposite;
- 1611872 - Minute.previous() returns null for minute == 0;
- 1608371 - Tick labels overlap with custom NumberFormat;
- 1606205 - Draw shared axis last on combined plots;
- 1605207 - IntervalMarker exceeds bounds of data area;
- 1605202 - SpiderWebPlot method access;
- 1599652 - Inverted StackedBar3D problem;
- 1598394 - XYBarDataset hiding its proxied object;
- 1564967 - Crosshairs on XYDifferenceRenderer;
- 1245305 - NullPointerException in writeImageMap();
- 1086307 - Crosshairs on plots with multiple axes.
- Also fixed numerous bugs in equals() and clone() methods throughout the API.
-
- JFreeChart 1.0.3:
- -----------------
- 17 November 2006
- This release features several new IntervalXYDataset implementations, some
- significant refactoring of the time period classes (to improve performance
- and correctness), modifications to the PiePlot class to support reordering of
- dataset items, a new event mechanism to allow updating of markers, plus many
- other enhancements, bug fixes and documentation updates.
- A new DialPlot implementation has been added to the 'experimental' sources.
- We are looking for people to test this code and provide feedback, so that we
- can stabilize the API and add this code to the main JFreeChart API.
- API adjustments:
- The following adjustments have been made to the API:
- - CategoryLabelEntity - new class;
- - CategoryPointerAnnotation - new class;
- - ChartPanel: added new public method doEditChartProperties();
- - ComparableObjectItem, ComparableObjectSeries - new classes;
- - CrosshairState: added several new accessor methods;
- - DefaultPieDataset: added sortByKeys() and sortByValues() methods;
- - Markers: a change event mechanism has been added to the Marker class and
- its subclasses;
- - StackedAreaRenderer: added get/setRenderAsPercentages() methods;
- - XIntervalDataItem, XIntervalSeries and XIntervalSeriesCollection - new
- classes;
- - XYErrorRenderer: new class;
- - XYInterval, XYIntervalDataItem, XYIntervalSeries and
- XYIntervalSeriesCollection - new classes;
- - YInterval, YIntervalDataItem, YIntervalSeries, YIntervalSeriesCollection and
- YWithXInterval - new classes.
- Bug Fixes:
- 1578293 - Unused methods in JDBCXYDataset;
- 1572478 - BoxAndWhiskerRenderer potential NullPointerException;
- 1569094 - XYStepRenderer with horizontal orientation;
- 1565168 - Crosshair position incorrect;
- 1564977 - DateAxis missing initial tick label;
- 1562759 - StatisticalLineAndShapeRenderer constructor ignores arguments;
- 1557141 - Bad locale in ServletUtilities;
- 1550045 - TimeSeries.removeAgedItems() method problems;
- 1549218 - Chart not displaying when all data values are the same and large;
- 1450447 - Marker.setAlpha() ignored;
- Also fixed URL generation for legend items, tick mark positioning on the
- DateAxis, the equals() method in the AreaRenderer class, hardcoded outline
- attributes in the XYBubbleRenderer, and potential NullPointerExceptions in the
- ChartPanel class.
- JFreeChart 1.0.2:
- -----------------
- Released on 25 August 2006.
- API adjustments:
- The following adjustments have been made to the API (there should be no
- breakage of applications coded to the 1.0.0 or 1.0.1 API):
- - CategoryToPieDataset: added accessor methods for underlying dataset, extract
- type and index (feature request 1477915);
- - DefaultXYDataset: New dataset implementation that uses double[] arrays;
- - DefaultXYZDataset: New dataset implementation that uses double[] arrays;
- - LegendItemBlockContainer: New container used in legends (enables
- legend item entities again);
- - MultiplePiePlot: Added new fields aggregatedItemsKey and
- aggregatedItemsPaint, plus accessor methods - see bug 1190647;
- - SpiderWebPlot: Added new fields toolTipGenerator and urlGenerator, plus
- accessor methods (see patch 1463455);
- - StackedBarRenderer3D: Added new flag (renderAsPercentages), plus accessor
- methods, that controls whether the data items are displayed as values or
- percentages. Two new constructors are also added (see patch 1459313);
- - XYPolygonAnnotation: Added new accessor methods.
- Patches:
- 1459313 - Add renderAsPercentages option to StackedBarRenderer3D;
- 1462727 - Modify SpiderWebPlot to support zero values;
- 1463455 - Modify SpiderWebPlot to support mouse clicks, tool tips and URLs;
- Bug Fixes:
- 1514904 - Background image alpha in Plot class;
- 1499140 - ClusteredXYBarRenderer with margin not drawing correctly;
- 1494936 - LineAndShapeRenderer generates entity for non-visible item;
- 1493199 - NPE drawing SpiderWebPlot with null info;
- 1480978 - AbstractPieItemLabelGenerator.clone() doesn't clone percentFormat;
- 1472942 - DateAxis.equals() broken;
- 1468794 - StatisticalLineAndShapeRenderer doesn't draw error bars correctly
- when the plot has a horizontal orientation;
- - AbstractCategoryItemRenderer doesn't check seriesVisibleInLegend
- flag before creating new item;
- 1440415 - Bad distribution of pie chart section labels;
- 1440346 - Bad manifest entry for JCommon in JFreeChart jar file;
- 1435461 - NumberAxis.equals() ignores rangeType field;
- 1435160 - XYPointerAnnotation.equals() ignores x and y fields;
- 1398672 - LegendItemEntities not working;
- 1380480 - StandardXYItemRenderer problems with Double.NaN;
- 1190647 - Legend and section color mismatch for MultiplePiePlot.
- Miscellaneous Changes:
- - Updated CandlestickRenderer, CyclicXYItemRenderer, HighLowRenderer,
- XYStepAreaRenderer and TimeSeriesURLGenerator to call dataset methods that
- return double primitive only;
- - Updated XYPolygonAnnotation, adding new accessor methods and fixing problems
- in the equals()/hashCode() methods;
- - ChartFactory.createStackedXYAreaChart() now uses StackedXYAreaRenderer2, for
- better handling of negative values;
- - Added crosshair support for XYBarRenderer.
- Experimental Code:
- In this release, some new (incomplete) classes have been included in the
- org.jfree.experimental.* namespace. These classes are not part of the
- standard API, but are included for developers to experiment with and provide
- feedback on. Hopefully in the future, refined versions of these classes will
- be incorporated into the main library. PLEASE NOTE THAT THE API FOR THESE
- CLASSES IS SUBJECT TO CHANGE.
- JFreeChart 1.0.1:
- ----------------
- Released 27 January 2006. This is primarily a bug fix release. In addition,
- there are some API adjustments (there should be no breakage of applications
- coded to the 1.0.0 API).
- API adjustments:
- - BarRenderer: added a new flag (includeBaseInRange), plus accessor
- methods, that controls whether or not the base value for the bar is
- included in the range calculated by the findRangeBounds() method;
- - BubbleXYItemLabelGenerator: new class;
- - Range: added a new method expandToInclude(Range, double), this is used by
- the BarRenderer class;
- - TaskSeriesCollection: added two new methods, getSeries(int) and
- getSeries(Comparable).
- - TimeSeriesCollection: the domainIsPointsInTime flag has been deprecated.
- The flag serves no function now that renderers are used to calculate the
- domain bounds, so you can safely delete any calls to the
- setDomainIsPointsInTime() method;
- - XYPlot: added a new getAnnotations() method;
- - XYSeries: the update(int, Number) method has been deprecated and a new method
- updateByIndex(int, Number) has been added;
- Bug fixes:
- 1243050 - XYBarRenderer doesn't show entire range of values for a
- TimeSeriesCollection;
- 1373371 - XYBubbleRenderer doesn't support item labels;
- 1374222 - BarRenderer contains JDK 1.4 specific code;
- 1374328 - LegendItem serialization problem;
- 1377239 - Bad argument checking in Quarter constructor;
- 1379331 - Incorrect drawing of TextTitle at LEFT or RIGHT position;
- 1386328 - RingPlot entity incorrect;
- 1400442 - Inconsistent treatment of null and zero values in PiePlot;
- 1401856 - Bad rendering for non-zero base values in BarRenderer;
- 1403043 - NullPointerException in CategoryAxis;
- 1408904 - NumberAxis3D assumes CategoryPlot;
- 1415480 - XYTextAnnotation equals() method doesn't check (x, y);
- JFreeChart 1.0.0:
- ----------------
- Released on 2 December 2005.
|