Revision 2327 tmp/org.txm.libs.jfreechart/about.html

about.html (revision 2327)
1
<pre>
2
********************************
3
*  JFREECHART: Version 1.0.17  *
4
********************************
1
JFreeChart
2
==========
5 3

  
6
24 November 2013
4
Version 1.5.0, 5 November 2017.
7 5

  
8
(C)opyright 2000-2013, by Object Refinery Limited and Contributors.
6
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.jfree/jfreechart/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.jfree/jfreechart)
9 7

  
10
-----------------
11
1.  INTRODUCTION
12
-----------------
13
JFreeChart is a free chart library for the Java(tm) platform.  It runs
14
on the Java 2 Platform (JRE 1.6.0 or later) and uses the Java 2D API for
15
drawing.
8
Overview
9
--------
10
JFreeChart is a comprehensive free chart library for the Java(tm) platform that 
11
can be used on the client-side (JavaFX and Swing) or the server side (with
12
export to multiple formats including SVG, PNG and PDF).
16 13

  
17
JFreeChart is licensed under the terms of the GNU Lesser General
18
Public Licence (LGPL). A copy of the <a href="about_files/licence-LGPL.txt">licence</a> is included in the
19
distribution.
14
![JFreeChart sample](http://jfree.org/jfreechart/images/coffee_prices.png)
20 15

  
21
Please note that JFreeChart is distributed WITHOUT ANY WARRANTY;
22
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
23
PARTICULAR PURPOSE.  Please refer to the licence for details.
16
The home page for the project is:
24 17

  
25
We are grateful to the many developers that have contributed to JFreeChart.
26
The contributors are listed below in section 10.
18
http://www.jfree.org/jfreechart
27 19

  
20
JFreeChart requires JDK 1.6.0 or later.  If JavaFX support is required, you
21
need to also include the JFreeChart-FX extensions:
22

  
23
https://github.com/jfree/jfreechart-fx
24

  
25
The library is licensed under the terms of the GNU Lesser General Public 
26
License (LGPL) version 2.1 or later.
27

  
28

  
29
Using JFreeChart
30
----------------
31
To use JFreeChart in your projects, add the following dependency to your build tool:
32

  
33
    <dependency>
34
        <groupId>org.jfree</groupId>
35
        <artifactId>jfreechart</artifactId>
36
        <version>1.5.0</version>
37
    </dependency>
38

  
39

  
40
Building JFreeChart
28 41
-------------------
29
2.  LATEST VERSION
30
-------------------
31
The latest version of this class library can be obtained from:
42
You can build JFreeChart using Maven by issuing the following command from the root directory of the project:
32 43

  
33
    http://www.jfree.org/jfreechart/
44
    mvn clean install
34 45

  
35
If you have any comments, suggestions or bugs to report, please post a
36
message in the JFreeChart forum.
46
The build requires JDK 1.6.0 or later.
37 47

  
38
-----------------
39
3.  DOCUMENTATION
40
-----------------
41
You can download installation instructions
42
(jfreechart-1.0.17-install.pdf) from the JFreeChart home
43
page or the project page on SourceForge.
44 48

  
45
Further documentation for JFreeChart (the JFreeChart Developer Guide) is
46
available to purchase from by Object Refinery Limited, a company owned and
47
operated by David Gilbert (the original author of JFreeChart).  For more
48
information, please see:
49
Migration from JFreeChart 1.0.x
50
-------------------------------
51
When migrating from JFreeChart 1.0.x to JFreeChart 1.5.0, please be aware of the following API changes:
49 52

  
50
    http://www.object-refinery.com/jfreechart/guide.html
53
* all the classes from JCommon that are used by JFreeChart have integrated within the JFreeChart jar file within a different package than before (you will need to change your imports);
54
* many methods `getBaseXXX()/setBaseXXX()` have been renamed `setDefaultXXX()/getDefaultXXX()`;
55
* the `ChartUtilities` class has been renamed `ChartUtils`;
56
* all the classes relating to pseudo-3D charts have been removed, as much better 3D charts are offered by [Orson Charts](https://github.com/jfree/orson-charts) so we prefer not to maintain the pseudo-3D chart code within JFreeChart;
57
* the `SegmentedTimeline` class has been removed due to being (a) complex, (b) not always being correct and, as a result, generating too many support requests;
58
* the `org.jfree.chart.utils.ParamChecks` class has been renamed `org.jfree.chart.utils.Args`.
51 59

  
52
Sales of the JFreeChart Developer Guide are an important source of funding for
53
the project.  Please help us to continue developing free software.
60
Please refer to [Issue 66](https://github.com/jfree/jfreechart/issues/66) for additional info.
54 61

  
55
API documentation files in HTML format are available on-line.  If you wish
56
to keep a local copy of the API files, you can regenerate them directly
57
from the source code.  You can do this using the 'javadoc' utility directly,
58
or with the Ant script (build.xml) included in the distribution.
59 62

  
60
-----------------
61
4.  DEPENDENCIES
62
-----------------
63
JFreeChart has the following dependencies:
63
Demos
64
-----
65
A small set of demo applications can be found in the following projects here
66
at GitHub:
64 67

  
65
(a)  JRE/JDK 1.6.0 or higher - note that the previous release of JFreeChart
66
worked with JRE/JDK 1.4.2 or later.  With a bit of hacking, it may be possible 
67
to get JFreeChart working on these older versions, but we are no longer 
68
supporting it.
68
* [JFree-Demos](https://github.com/jfree/jfree-demos "JFree-Demos Project Page at GitHub")
69
* [JFree-FXDemos](https://github.com/jfree/jfree-fxdemos "JFree-FXDemos Project Page at GitHub")
69 70

  
70
(b)  JCommon - version 1.0.0 or later.  The runtime jar file (version 1.0.21)
71
is included in the JFreeChart distribution.  You can obtain the complete
72
source code for JCommon from:
73 71

  
74
    http://www.jfree.org/jcommon/
72
History
73
-------
75 74

  
76
JCommon is licensed under the terms of the GNU Lesser General Public Licence.
75
##### Version 1.5.0 (5 November 2017)
76
- all JavaFX classes moved to a separate project;
77
- added cleaner method to create histograms in `ChartFactory`;
78
- JCommon removed as a dependency, and required classes incorporated directly (including package rename);
79
- pull request #4 improvements to `XYStepRenderer`;
80
- bug #36 fix for crosshairs with multiple datasets / axes;
81
- bug #25 fix for `DateAxis.previousStandardDate()` method;
82
- bug #19 fix for default time zone in `SegmentedDateAxis`;
83
- SourceForge #1147 improve performance of `CategoryPlot` mapping datasets to axes;
84
- moved SWT code out into separate projects;
85
- moved demo programs to a separate project;
86
- dropped the Ant build;
77 87

  
78
(c)  servlet.jar - classes in the org.jfree.chart.servlet
79
package require this file.  The JFreeChart distribution includes the
80
servlet.jar file distributed with Tomcat 4.1.31.  Applicable license
81
terms are published at:
88
##### Version 1.0.19 (31-Jul-2014)
89
- fixed clipping issues for combined plots in JavaFX;
90
- fixed a memory leak in the new JavaFX `ChartCanvas` class;
91
- `CombinedDomainXYPlot` and `CombinedRangeXYPlot` now take into account the pannable flags in the subplots;
92
- `FastScatterPlot` panning direction is corrected;
93
- added rendering hints to sharpen gridlines and borders in most output formats;        
94
- JFreeSVG updated to version 2.0;
95
- included a preview of JSFreeChart, a 2D chart library written in JavaScript that is conceptually similar to JFreeChart but runs directly in a web browser.
82 96

  
83
    http://java.sun.com/products/servlet/LICENSE
97
##### Version 1.0.18 (3-Jul-2014)
98
- added JavaFX support via `FXGraphics2D`;
99
- improved `LogAxis` labelling;
100
- improved numeric tick labelling;
101
- center text support in `RingPlot`;
102
- `stepPoint` attribute in the `XYStepAreaRenderer`;
103
- other minor improvements and bug fixes.
84 104

  
85
(d)  JUnit - a unit testing framework (the junit.jar runtime file is
86
included in the distribution).  JUnit is licensed under the terms
87
of the IBM Common Public License.  You can find out more about JUnit
88
and/or download the latest version from:
105
##### Version 1.0.17 (22-Nov-2013)
106
- Enhanced `XYSplineRenderer` with new area fill (contributed by Klaus Rheinwald);
107
- added a notify flag to all datasets that extend `AbstractDataset`;
108
- extended `TimeSeriesCollection` to validate `TimeSeries` keys for uniqueness;
109
- added a new `DirectionalGradientPaintTransformer` (by Peter Kolb);
110
- updated `OHLCSeries`;
111
- added `HMSNumberFormat`;
112
- updated JCommon to version 1.0.21 (includes rotated text improvements) and fixed some minor bugs.
89 113

  
90
    http://www.junit.org
114
###### Bug Fixes
115
- 977  : Multithreading issue with `DateAxis`;
116
- 1084 : `BorderArrangement.add()` possible `ClassCastException`;
117
- 1099 : `XYSeriesCollection.removeSeries(int)` does not deregister listener;
118
- 1109 : `WaterfallBarRenderer` uses wrong color for diff 0.
91 119

  
92
The JUnit tests included with JFreeChart have been created using JUnit
93
4.3.1.
94 120

  
95
-----------
96
5.  SUPPORT
97
-----------
98
Support questions can be posted in the free support forum at
121
##### Version 1.0.16 (13-Sep-2013)
99 122

  
100
    http://www.jfree.org/forum/viewforum.php?f=3
123
*** THIS RELEASE REQUIRES JDK/JRE 1.6.0 OR LATER. ***
101 124

  
102
We read all questions posted in the forum, and respond to as many as we can
103
in the time available.  Unfortunately, there are too many questions to answer
104
them all.
125
- Provided subscript/superscript support for axis labels (via `AttributedString`);
126
- new axis label positioning options;
127
- simplified `ChartFactory` methods;
128
- added new methods to `DatasetUtilities` to interpolate y-values in `XYDatasets`;
129
- added URLs to labels on `CategoryAxis`;
130
- seamless integration with JFreeSVG (http://www.jfree.org/jfreesvg/) and OrsonPDF 
131
(http://www.object-refinery.com/pdf/);
132
- improved the consistency of the `SWTGraphics2D` implementation;  
105 133

  
106
--------------------
107
6.  ANT BUILD SCRIPT
108
--------------------
109
An Ant build script (build.xml) is included in the distribution.  This
110
is the same script that is used to create the JFreeChart distribution.
134
All the JUnit tests have been upgraded to JUnit 4.
111 135

  
112
For more information about Ant:
136
###### Bug Fixes
113 137

  
114
    http://ant.apache.org/
138
- 1107 : Fixed TimeZone issue in `PeriodAxis`;
115 139

  
116
If you want to rebuild the JFreeChart jar file, we highly recommend that you
117
use this script as it includes certain files (for example, .properties files)
118
that you MUST have in the jar file for JFreeChart to function correctly.
140
Also fixed a line drawing issue with the `StackedXYAreaRenderer`, and a memory 
141
leak in the SWT `ChartComposite` class.
119 142

  
120
------------------------
121
7.  THE DEMO APPLICATION
122
------------------------
123
A demo application that shows a selection of the charts that can be
124
generated is included in the JFreeChart distribution.   To run the
125
demo (using JDK 1.6.0 or later), use the following command:
126 143

  
127
    java -jar jfreechart-1.0.17-demo.jar
144
##### Version 1.0.15 (4-Jul-2013)
145
- Added support for non-visible series in `XYBarRenderer`;
146
- minor gridlines in `PolarPlot`;
147
- legend item ordering;
148
- chart editor enhancements;
149
- updates to `StandardDialScale`;
150
- localisation files for Japanese;
151
- refactored parameter checks.  
128 152

  
129
The complete source code for the demo application is available for
130
download when you purchase the JFreeChart Developer Guide.
153
This release also fixes a minor security flaw in the `DisplayChart` class, detected and reported by OSI Security:
131 154

  
132
The demo application also links to the JFreeSVG and OrsonPDF libraries, to 
133
provide export facilities to the SVG and PDF formats.  These fast, lightweight 
134
libraries are not free, licenses can be purchased from Object Refinery Limited. 
155
http://www.osisecurity.com.au/advisories/jfreechart-path-disclosure
135 156

  
136
An additional tab added to the demo application in version 1.0.17 showcases
137
Orson Charts 3D, a new library by Object Refinery Limited.  You can find out
138
more about Orson Charts at:
157
###### Patches
139 158

  
140
    http://www.object-refinery.com/orsoncharts/
159
- 3500621 : `LegendTitle` order attribute (by Simon Kaczor);
160
- 3463807 : `ChartComposite` does not dispose popup (by Sebastiao Correia);
161
- 3204823 : `PaintAlpha` for 3D effects (by Dave Law);
141 162

  
142
---------------
143
8.  LIMITATIONS
144
---------------
145
JFreeChart has some known limitations that will hopefully be addressed in
146
the future:
163
###### Bug Fixes
147 164

  
148
    - some renderers do not respect the series visibility flags yet;
149
    - the chart property editors (accessible by right-clicking on the chart
150
      panel) are horribly out of date and probably shouldn't be used;
151
    - item labels (if displayed) are not taken into account for the
152
      automatically calculated axis range.  As a workaround, you can increase
153
      the axis margins;
154
    - tick labels on a DateAxis that uses a SegmentedTimeline can be
155
      problematic;
165
- 3561093 : Rendering anomaly for `XYPlots`;
166
- 3555275 : `ValueAxis.reserveSpace()` problem for axes with fixed dimension;
167
- 3521736 : `DeviationRenderer` optimisation (by Milan Ramaiya);
168
- 3514487 : `SWTGraphics2D` `get/setStroke()` problem;
169
- 3508799 : `DefaultPolarItemRenderer` does not populate `seriesKey` in `LegendItem`;
170
- 3482106 : Missing text in `SWTGraphics2D` (by Kevin Xu);
171
- 3484408 : Maven fixes (Martin Hoeller);
172
- 3484403 : `DateAxis` endless loop (by Martin Hoeller);
173
- 3446965 : `TimeSeries` calculates range incorrectly in `addOrUpdate()`;
174
- 3445507 : `TimeSeriesCollection.findRangeBounds()` regression;
175
- 3425881 : `XYDifferenceRenderer` fix (by Patrick Schlott/Christoph Schroeder);
176
- 2963199 : SWT print job (by Jonas R├╝ttimann);
177
- 2879650 : Path disclosure vulnerability in `DisplayChart` servlet;
156 178

  
157
If there are other items that you think should be listed here,
158
please post a bug report.
179
Also fixed a rendering issue for polar charts using an inverted axis.
159 180

  
160
--------------
161
9.  WHAT's NEW
162
--------------
163
A list of changes in recent versions:
181
##### Version 1.0.14 (20-Nov-2011)
182
This release contains:
164 183

  
165
1.0.17 : (22-Nov-2013)
166
        - see the NEWS and ChangeLog files for details.
184
- support for multiple and logarithmic axes with `PolarPlot`;
185
- optional drop-shadows in plot rendering;
186
- fitting polynomial functions to a data series;
187
- some performance improvements in the `TimeSeriesCollection` class;
188
- mouse wheel rotation of pie charts;
189
- improved Maven support.
167 190

  
168
1.0.16 : (13-Sep-2013)
169
        - bumped the required JRE to 1.6, enhanced axis labelling, provided
170
          integration with JFreeSVG and OrsonPDF for vector output, and fixed 
171
          bugs.
191
###### Patches
172 192

  
173
1.0.15 : (4-Jul-2013)
174
        - various minor feature enhancements and a range of bug fixes, see the 
175
          NEWS and ChangeLog files for details.
193
- 3435734 : Fix lines overlapping item labels (by Martin Hoeller);
194
- 3421088 : Bugfix for misalignment in `BoxAndWhiskerRenderer`;
195
- 2952086 : Enhancement for finding bounds in `XYZDatasets`;
196
- 2954302 : `CategoryPointerAnnotation` line calculation;
197
- 2902842 : `HistogramDataset.addSeries()` fires change change event (by Thomas A Caswell);
198
- 2868608 : Whisker width attribute for `BoxAndWhiskerRenderer` (by Peter Becker);
199
- 2868585 : Added `useOutlinePaint` flag for `BoxAndWhiskerRenderer` (by Peter Becker);
200
- 2850344 : `PolarPlot` enhancements (by Martin Hoeller);
201
- 2795746 : Support for polynomial regression;
202
- 2791407 : Fixes for `findRangeBounds()` in various renderers.
176 203

  
177
1.0.14 : (20-Nov-2011)
178
        - added support for multiple axes in PolarPlot, performance
179
          improvements in the TimeSeriesCollection class, mouse wheel rotation
180
          in the PiePlot class, improved Maven support, a range of other
181
          minor functional enhancements and numerous bug fixes - see the NEWS
182
          and ChangeLog files for details.
204
###### Bug Fixes
183 205

  
184
1.0.13 : (17-Apr-2009)
185
        - there are some significant new features in this release, as well
186
          as performance enhancements and bug fixes - see the NEWS and
187
          ChangeLog files for details.
206
- 3440237 : Shadows always visible;
207
- 3432721 : `PolarPlot` doesn't work with logarithmic axis;
208
- 3433405 : `LineChart3D` - Problem with Item Labels;
209
- 3429707 : `LogAxis` endless loop;
210
- 3428870 : Missing argument check in `TextAnnotation`;
211
- 3418287 : `RelativeDateFormatTest.java` is locale dependent;
212
- 3353913 : Localisation fixes for `ChartPanel`, `CompassPlot` and `PiePlot3D`;
213
- 3237879 : `RingPlot` should respect `getSectionOutlineVisible()`;
214
- 3190615 : Added missing `clear()` method in `CategoryTableXYDataset`;
215
- 3165708 : `PolarChartPanel` localisation fix;
216
- 3072674 : Bad handling of `NaN` in `DefaultStatisticalCategoryDataset`;
217
- 3035289 : `StackedXYBarRenderer` should respect series/item visible flags;
218
- 3026341 : Check for null in `getDomain/RangeBounds()` for `XYShapeRenderer`;
219
- 2947660 : `AbstractCategoryRenderer` fix null check in `getLegendItems()`;
220
- 2946521 : `StandardDialScale` check `majorTickIncrement` argument;
221
- 2876406 : `TimeTableXYDataset` should support `Comparable` for series keys;
222
- 2868557 : `BoxAndWhiskerRenderer` should fire change event in `setMedianVisible()`;
223
- 2849731 : For `IntervalCategoryDataset` and `IntervalXYDataset`, fix `iterateRangeBounds()` in `DatasetUtilities`;
224
- 2840132 : `AbstractXYItemRenderer` `drawAnnotations` doesn't set renderer index;
225
- 2810220 : Offset problem in `StatisticalBarRenderer`;
226
- 2802014 : Dial value border too small;
227
- 2781844 : `XYPointerAnnotation` arrow drawing;
228
- 1937486 : `AreaRenderer` doesn't respect `AreaRendererEndType.LEVEL`;
188 229

  
189
1.0.12 : (31-Dec-2008)
190
        - added support for minor tick marks, mapping datasets to more than
191
          one axis, and numerous bug fixes - see the NEWS and ChangeLog files
192
          for details.
230
Also fixed:
231
- use of simple label offset in `PiePlot`;
232
- cached `minY` and `maxY` in `TimeSeries.createCopy()`;
233
- scaling issues for charts copied to the clipboard;
234
- use of timezone in `TimeTableXYDataset` constructor;
235
- duplicate series names in `XYSeriesCollection`;
236
- `HistogramDataset` fires a change event in `addSeries()`;
237
- check visibility of main chart title before drawing it;
238
- fixed serialization of `PowerFunction2D`, `NormalDistributionFunction2D`, and `LineFunction2D`;
239
- item label positioning for the `AreaRenderer` class when the plot has an horizontal orientation.
193 240

  
194
1.0.11 : (18-Sep-2008)
195
        - this release includes a new chart theming mechanism, and numerous
196
          other feature enhancements and bug fixes - see the NEWS and ChangeLog
197
          files for details.
241
##### Version 1.0.13 (17-Apr-2009)
198 242

  
199
1.0.10 : (8-Jun-2008)
200
        - another general maintenance release - see the NEWS and ChangeLog
201
          files for more details.
243
> 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.                        
202 244

  
203
1.0.9 : (4-Jan-2008)
204
        - this release fixes a security advisory with respect to the HTML
205
          image maps generated by JFreeChart - see the NEWS file for more
206
          information.  In addition, a number of bugs have been fixed.
245
This release contains:
207 246

  
208
1.0.8.0 : (23-Nov-2007)
209
        - primarily a bug fix release.  See the NEWS and ChangeLog files for a
210
          more detailed description of the changes in this release.
247
- updates to the `ChartPanel` class to support copying charts to the clipboard, 
248
  panning and mouse-wheel zooming, and an overlay mechanism that supports
249
  crosshairs;
250
- enhancements to the auto-range calculation for axes, providing the ability
251
  to use subranges only and also to skip hidden series;
252
- updates for many of the `CategoryItemRenderer` implementations to ensure that
253
  they respect the `seriesVisible` flags;
254
- an improvement to the `TimeSeries` class so that it is no longer necessary to
255
  specify the time period type in the constructor;
256
- a new `SamplingXYLineRenderer` for improving the performance of time series
257
  charts with large datasets;
258
- the `XYSeries/XYSeriesCollection` classes now cache the minimum and maximum
259
  data values to improve the performance of charts with large datasets;
260
- entities are now created for the chart, data area and axes, allowing mouse
261
  clicks to be detected for these regions;
262
- added a bar alignment factor to the `XYBarRenderer` class;
263
- a new `errorIndicatorStroke` field for the `StatisticalLineAndShapeRenderer` and `XYErrorRenderer` classes;
264
- added a new `HeatMapDataset` interface, `DefaultHeatMapDataset` implementation,
265
  and a `HeatMapUtilities` class to make it easier to create heat map charts;
266
- there is a new flag to allow an `XYDataImageAnnotation` to be included in the
267
  automatic range calculation for the axes;
268
- additional attributes in the `XYTextAnnotation` class;
269
- added a `sampleFunction2DToSeries()` method to the `DatasetUtilities` class;
270
- some changes to the `ChartPanel` class that help to work around a regression in
271
  JRE 1.6.0_10 relating to drawing in XOR mode.  Regarding this final point:
272
     * the default value for the `useBuffer` flag has changed to true, which means
273
       that all charts will, by default, be rendered into an off-screen image
274
       before being displayed in the `ChartPanel`;
275
     * the zoom rectangle is drawn using XOR mode *only* when the `useBuffer`
276
       flag has been set to false.
277
  For most usage, this should improve performance (but at the cost of using more
278
  memory for each `ChartPanel` used in your application);
211 279

  
212
1.0.7 : (14-Nov-2007)
213
        - See the NEWS and ChangeLog files for a more detailed description of
214
          the changes in this release.
280
###### Bug Fixes
215 281

  
216
1.0.6 : (15-Jun-2007)
217
        - the VectorRenderer and associated dataset classes have been promoted
218
          to the standard API from the 'experimental' source tree.  See the
219
          NEWS and ChangeLog files for a more detailed description of the
220
          changes in this release.
282
- 2690293 : Problem with Javascript escape characters;
283
- 2617557 : `StandardDialScale` ignored `tickLabelPaint`;
284
- 2612649 : `Stroke` selection in plot property editor;
285
- 2583891 : `SWTGraphics2D.fillPolygon()` not implemented;
286
- 2564636 : `Month` constructor ignores Locale;
287
- 2502355 : `ChartPanel` sending multiple events;
288
- 2490803 : `PeriodAxis.setRange()` method doesn't take into account that the axis
289
          displays whole periods;
221 290

  
222
1.0.5 : (23-Mar-2007)
223
        - this release contains a new DeviationRenderer, enhancements to a
224
          number of existing classes and numerous bug fixes, see the NEWS
225
          and ChangeLog files for details.
291
In addition, a bug in the `SlidingCategoryDataset` class has been fixed, the
292
correct outline paint is now used by `GradientXYBarPainter`, a new method
293
has been added to the `ImageMapUtilities` class to escape special characters
294
in Javascript strings to avoid problems with the OverLIB and DynamicDrive
295
tooltips, and there are some important fixes in the `LogAxis` class.
226 296

  
227
1.0.4 : (9-Feb-2007)
228
        - this release contains both new features and bug fixes, see the NEWS
229
          and ChangeLog files for details.
297
This release passes 2110 JUnit tests (0 failures) on JRE 1.6.0_12.
230 298

  
231
1.0.3 : (17-Nov-2006)
232
        - this release contains a new DialPlot class (in 'experimental') that
233
          will hopefully replace the MeterPlot class, once the API has been
234
          polished a little, plus many other new features and bug fixes.  See
235
          the NEWS and ChangeLog files for details.
236 299

  
237
1.0.2 : (25-Aug-2006)
238
        - this release contains both new features and bug fixes, see the NEWS
239
          and ChangeLog files for details.
300
##### Version 1.0.12 (31-Dec-2008)
240 301

  
241
1.0.1 : (27-Jan-2006)
242
        - primarily a bug fix release, see the NEWS and ChangeLog files for
243
          details.
302
This release adds 
303
- support for minor tick marks;
304
- mapping datasets to more than one axis;
305
- an important fix for the `XYSeries` class (relating to the `addOrUpdate()` method);
306
- plus numerous other bug fixes.
244 307

  
245
1.0.0 : (2-Dec-2005)
246
        - the first stable release of the JFreeChart class library, all future
247
          releases in the 1.0.x series will aim to maintain backward
248
          compatibility with this release;
249
        - see the ChangeLog file for a detailed list of changes.
308
This release passes 1996 JUnit test (0 failures) on JRE 1.6.0_10.
250 309

  
251
1.0.0-rc3 : (28-Nov-2005)
252
        - the third "release candidate" for version 1.0.0, this release
253
          fixes some issues with the 1.0.0-rc2 release (mainly concerning
254
          packaging of resource bundles for localisation).
255
        - if no significant problems are reported in the next few days,
256
          the 1.0.0 "final" release will be posted on 2-Dec-2005.
310
###### API Adjustments
311
- `CategoryPlot` : added `mapDatasetToDomainAxes()` and `mapDatasetToRangeAxes()` methods;
312
- `Month` : added a new constructor `Month(Date, TimeZone, Locale)` and deprecated `Month(Date, TimeZone)`;
313
- `Quarter` : added a new constructor `Quarter(Date, TimeZone, Locale)` and deprecated `Quarter(Date, TimeZone)`;
314
- `XYPlot` : added `mapDatasetToDomainAxes()` and `mapDatasetToRangeAxes()` methods;
315
- `Year` : added a new constructor `Year(Date, TimeZone, Locale)` and deprecated `Year(Date, TimeZone)`;
257 316

  
258
1.0.0-rc2 : (25-Nov-2005)
259
            - the second "release candidate" for version 1.0.0.  If no problems
260
              are reported, 1.0.0 "final" will be released on 2-Dec-2005.
261
            - see the ChangeLog file for a detailed list of changes in this
262
              release.
317
###### Bug Fixes
318
- 2471906 : `XYAreaRenderer` with dashed outline - performance problem;
319
- 2452078 : `StackedAreaChart` has gaps;
320
- 2275695 : `NullPointerException` for `SubCategoryAxis` on plot with null dataset;
321
- 2221495 : `XYLineAnnotation` with dashed stroke;
322
- 2216511 : `SWTBarChartDemo1` throws `RuntimeException`;
323
- 2201869 : `DateAxis` tick label position error;
324
- 2121818 : Label link lines for very thin `RingPlot`;
325
- 2113627 : `XYStepRenderer` item labels;
326
- 1955483 : `XYSeries.addOrUpdate()` problem.
263 327

  
264
1.0.0-rc1 : (2-Jun-2005)
265
            - this is a "release candidate" for version 1.0.0.  If no
266
              significant API problems are reported, this release will be
267
              re-released as version 1.0.0.
268
            - see CHANGELOG.txt for further details.
328
Also fixed `StackedXYBarRenderer` which was ignoring the `shadowsVisible` attribute.
269 329

  
270
1.0.0-pre2 : (10-Mar-2005)
271
         - see CHANGELOG.txt for further details.
272 330

  
273
1.0.0-pre1 : (29-Nov-2004)
274
         - see CHANGELOG.txt for further details.
331
##### Version 1.0.11 (18-Sep-2008)
275 332

  
276
0.9.21 : (9-Sep-2004)
277
         - added new axes: PeriodAxis and ModuloAxis.
278
         - split org.jfree.data and org.jfree.chart.renderer into
279
           subpackages for 'category' and 'xy' charts.
280
         - Sun PNG encoder is now used, if available.
281
         - a new demo application makes it easier to preview the
282
           chart types that JFreeChart can create.
283
         - added a new series visibility flag to the AbstractRenderer
284
           class.
285
         - added support for GradientPaint in interval markers.
286
         - see CHANGELOG.txt for further details.
333
This release features:
334
- a new chart theming mechanism to allow charts to be restyled conveniently;
335
- a new `BarPainter` mechanism to enhance the appearance of bar charts;
336
- a new `XYShapeRenderer` class;
337
- a scaling facility for the `XYDrawableAnnotation` for drawing images within specific data coordinates;
338
- some new classes (`XYTaskDataset`, `XYDataImageAnnotation` and `XYTitleAnnotation`);
339
- a modification to the `Year` class to support an extended range; 
340
- various bug fixes and API improvements.  
287 341

  
288
0.9.20 : (7-Jun-2004)
289
         - primarily bug fixes, see CHANGELOG.txt for further details.
342
There is an important bug fix for the `StackedBarRenderer3D` class (see bug 2031407).
290 343

  
291
0.9.19 : (28-May-2004)
292
         - added methods to XYDataset that return double primitives;
293
         - removed distinction between "primary" and "secondary" datasets,
294
           renderers and axes;
295
         - added fixed legend item options to CategoryPlot and XYPlot;
296
         - legend changes by Barek Naveh;
297
         - removed Log4j dependency;
298
         - many, many bug fixes;
299
         - see CHANGELOG.txt for further details.
344
This release passes 1,961 JUnit tests (0 failures) on JRE 1.6.0_07.
300 345

  
301
0.9.18 : (15-Apr-2004)
302
         - new legend anchor options;
303
         - fixed broken JPEG export;
304
         - fixed title size problems;
305
         - various other bug fixes;
346
###### API Adjustments
347
- `AbstractRenderer` - added `clearSeriesPaints()` and `clearSeriesStrokes()` methods;
348
- `BarRenderer` - added `shadowPaint` attribute;
349
- `CategoryAxis` - added `getCategoryMiddle()` method;
350
- `CategoryPlot` - added `getRendererCount()` method;
351
- `ChartFactory` - added `get/setChartTheme()` methods;
352
- `ChartPanel` - increased default maximum drawing width and height;
353
- `ChartTheme` - new interface;
354
- `ChartUtilities` - added `applyCurrentTheme()` method;
355
- `CompositeTitle` - added `backgroundPaint` attribute;
356
- `GradientBarPainter` - new class;
357
- `LegendTitle` - added `getWrapper()` method;
358
- `OHLCSeriesCollection` - added `xPosition` attribute;
359
- `PaintScaleLegend` - new subdivisions field;
360
- `PiePlot` - added `autoPopulate` flags, and methods to clear section attributes;
361
- `Plot` - added `setDrawingSupplier()` method;
362
- `RegularTimePeriod` - the `DEFAULT_TIME_ZONE` field has been deprecated in this release;
363
- `RelativeDateFormat` - added methods to control formatting of hours and minutes - see patch 2033092;
364
- `StandardChartTheme` - new class;
365
- `XYItemRendererState` - new methods;
366
- `XYPlot` - added `getRendererCount()` method;
367
- `XYShapeRenderer` - new class;
368
- `XYTaskDataset` - new class.
306 369

  
307
0.9.17 : (26-Mar-2004)
308
         - pie chart enhancements for labelling, shading and multiple pie
309
           charts (2D or 3D) on a single plot;
310
         - new PolarPlot class added;
311
         - XYSeries can now be sorted or unsorted;
312
         - createBufferedImage() method can now scale charts;
313
         - domain and range markers now support intervals;
314
         - item labels are now supported by some XYItemRenderers;
315
         - tooltip and item label generators now use MessageFormat class;
316
         - added new XYBarDataset class;
317
         - added transparency support to PNG export;
318
         - numerous other small enhancements and bug fixes, see the
319
           CHANGELOG.txt file for more details;
370
###### Patches
371
- 1997549 : Status calls to `XYItemRendererState` [Ulrich Voigt];
372
- 2006826 : `CompositeTitle` drawing fix;
373
- 2033092 : Additional formatters for `RelativeDateFormat` [Cole Markham];
320 374

  
321
0.9.16 : (09-Jan-2004)
322
         - this release contains bug fixes and some minor feature
323
           enhancements (title and category label wrapping, legend shape
324
           scaling, enhanced performance for the DefaultTableXYDataset class);
325
         - added Spanish localisation files;
375
###### Bug Fixes
376
- 1994355 : `ChartComposite` listener type;
377
- 2031407 : Incorrect rendering in `StackedBarRenderer3D`;
378
- 2033721 : `WaferMapRenderer`;
379
- 2051168 : No key in `LegendItemEntity` for pie charts;
326 380

  
327
0.9.15 : (28-Nov-2003)
328
         - the focus of this release is bug fixes - quite a number of issues
329
           have been resolved, please check the bug database for details;
330
         - added a new Wafer Map chart type;
331
         - added a cyclic axis;
332
         - added localisation files for _ru;
381
Also fixed drawing of alternate grid bands in `SymbolAxis`, the `totalWeight` 
382
calculation in the `CombinedXXXPlot` classes, a `NullPointerException` in the
383
`XYPlot` class when drawing quadrants, outline visibility in the 
384
`CategoryPlot` class, and auto-range calculations with `XYBarRenderer`.
333 385

  
334
0.9.14 : (17-Nov-2003)
335
         - implemented zooming for the FastScatterPlot class;
336
         - added item label support for stacked bar charts, and new fall back
337
           options for item labels that don't fit within bars;
338
         - modified the CategoryAxis class to allow additional options for the
339
           alignment and rotation of category labels;
340
         - addition of the AxisState class, used in the drawing of axes to
341
           eliminate a bug when multiple threads draw the same axis
342
           simultaneously;
343
         - provided additional attributes in the DateTickUnit class to improve
344
           labelling on a segmented DateAxis;
345
         - added support for GradientPaint in bar charts;
346
         - updated the PNGEncoder;
347
         - fixes for tick label positioning on axes;
348
         - various Javadoc updates;
349
         - numerous bug fixes;
386
##### Version 1.0.10 (8-Jun-2008)
350 387

  
351
0.9.13 : (26-Sep-2003)
388
This release contains various bug fixes and minor enhancements to JFreeChart.
389

  
390
- PiePlot labelling has been enhanced (new curve options, and more robust bounds checking);
391
- The BoxAndWhiskerRenderer now has a maximumBarWidth attribute;
392
- the XYStepRenderer has a new stepPoint attribute;
393
- The RelativeDateFormat class has new options;
394
- 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.  
395
- There is a new ShortTextTitle class.
396

  
397
This release passes 1,929 JUnit tests (0 failures) on JRE 1.6.0_03.
398

  
399
###### API Adjustments:
400

  
401
- BoxAndWhiskerRenderer - added maximumBarWidth attribute (see patch 1866446);
402
- ChartPanel - the zoomPoint attribute has been changed from Point to Point2D;
403
- DatasetUtilities - iterateCategoryRangeBounds() is deprecated, the method has been renamed iterateRangeBounds(CategoryDataset) for consistency;
404
- DefaultKeyedValue - the constructor now prevents a null key;
405
- LogFormat - now has a 'powerLabel' attribute;
406
- ShortTextTitle - a new title class;
407
- SlidingCategoryDataset - new class;
408
- SlidingGanttDataset - new class;
409
- TimeSeriesCollection - getSeries(String) changed to getSeries(Comparable);
410
- XIntervalSeriesCollection - added series removal methods;
411
- YIntervalSeriesCollection - added series removal methods;
412
- XYIntervalSeriesCollection - added series removal methods;
413

  
414
`PublicCloneable` is now implemented by a number of classes that didn't previously implement the interface - this should improve the reliability of chart cloning.
415

  
416
###### Patches
417

  
418
- 1943021 : Fix for MultiplePiePlot [Brian Cabana];
419
- 1925366 : Speed improvement for DatasetUtilities [Rafal Skalny];
420
- 1918209 : LogAxis createTickLabel() changed from private to protected [Andrew Mickish];
421
- 1914411 : Simplification of plot event notification [Richard West];
422
- 1913751 : XYPlot and CategoryPlot addMarker() methods with optional notification [Richard West];
423
- 1902418 : Bug fix for LogAxis vertical labels [Andrew Mickish];
424
- 1901599 : Fixes for XYTitleAnnotation [Andrew Mickish];
425
- 1891849 : New curve option for pie chart label links [Martin Hilpert];
426
- 1874890 : Added step point to XYStepRenderer [Ulrich Voigt];
427
- 1873328 : Enhancements to RelativeDateFormat [Michael Siemer];
428
- 1871902 : PolarPlot now has angleTickUnit attribute [Martin Hoeller];
429
- 1868745 : Fix label anchor points on LogAxis [Andrew Mickish];
430
- 1866446 : Added maximumBarWidth to BoxAndWhiskerRenderer [Rob Van der Sanden];
431

  
432
###### Bug Fixes
433

  
434
- 1932146 - PeriodAxis.setRange() doesn't notify listeners;
435
- 1927239 - Fix calculation of cumulative range;
436
- 1926517 - Bugs in data range calculation for combined plots;
437
- 1920854 - PiePlot3D labels drawn multiple times;
438
- 1897580 - Fix for DefaultIntervalCategoryDataset;
439
- 1892419 - Wrong default for minor tick count in LogAxis;
440
- 1880114 - VectorRenderer doesn't work for horizontal plot orientation;
441
- 1873160 - DialPlot clipping issues;
442
- 1868521 - Problem saving charts to JPEG format;
443
- 1864222 - Error on TimeSeries createCopy() method;
444

  
445
The `DatasetUtilities.sampleFunction2D()` has been changed to sample the correct 
446
number of points - you should check any code that calls this method.  The
447
`XYBlockRenderer` class now generates entities.  Bugs in the `removeDomainMarker()`
448
and `removeRangeMarker()` methods in the `CategoryPlot` and `XYPlot` classes have 
449
been fixed.  A bug in the `TimePeriodValues` range calculation has been fixed.
450
Fixes were applied to the `clone()` methods in the `TaskSeries` and 
451
`TaskSeriesCollection` classes.
452

  
453
###### New Experimental Features
454

  
455
Two new classes `CombinedCategoryPlot` and `CombinedXYPlot` have been added to the
456
'experimental' source tree - these were contributed by Richard West (see
457
patch 1924543).
458

  
459
##### Version 1.0.9 (4-Jan-2008)
460

  
461
This release contains an important security patch as well as various bug fixes 
462
and minor enhancements.  Regarding the security patch, please see the 
463
following advisory:
464

  
465
http://www.rapid7.com/advisories/R7-0031.jsp
466

  
467
Note that the fix incorporated in the special JFreeChart 1.0.8a release was
468
flawed in that it broke the URLs in the HTML image maps generated by 
469
JFreeChart.  Further amendments have been made in this release to fix this 
470
problem.
471

  
472
###### API Adjustments
473

  
474
A number of classes have new methods.  Nothing has been removed or deprecated:
475

  
476
- HashUtilities - added hashCode() methods for BooleanList, PaintList and StrokeList;
477
- ImageMapUtilities - added htmlEscape(String);
478
- IntervalMarker - added new constructor;
479
- Range - added intersects(Range) and scale(Range, double);
480
- TextTitle - added protected methods arrangeNN(), arrangeFN() and arrangeRN();
481
- XYDataItem - added getXValue() and getYValue() methods;
482
- XYPlot - added setFixedDomainAxisSpace(AxisSpace, boolean) and setFixedRangeAxisSpace(AxisSpace, boolean);
483
- XYSeriesCollection - added getSeries(Comparable) method.
484

  
485
###### Bug Fixes
486

  
487
- 1852525 - CandlestickChart.getCategoryPlot() - ClassCastException;
488
- 1851416 - testGetFirstMillisecondWithTimeZone fails in 1.0.8a;
489
- 1849333 - 1.0.8a breaks URLs in HTML image maps;
490
- 1848961 - GroupedStackedBarRenderer works only for primary dataset;
491
- 1846063 - Endless loop in paint of XYPlot;
492
- 1840139 - Cross-site scripting vulnerabilities in image map code;
493
- 1837979 - Background image not shown with SWT;
494
- 1460195 - ChartEntity.getImageMapAreaTag() needs nohref;
495
- 1400917 - OverLIBToolTipTagFragmentGenerator not escaping single quote;
496
- 1363043 - Escape Image Map Data;
497
- 1178601 - AbstractRenderer.hashcode() method returns the same value;
498

  
499
In addition, a bug in the constructor for the Week class has been fixed.  
500

  
501
##### Version 1.0.8 (23-Nov-2007)
502
This release is primarily a bug fix release:
503
- a problem with pie chart labeling;
504
- a regression in the `DefaultCategoryDataset` class (and underlying `KeyedValues2D` class);
505
- a cloning bug in the `TimeSeries` class.  
506

  
507
In addition:
508
- the `StatisticalBarRenderer` class has a new `errorIndicatorStroke` field and has been updated to support gradients;
509
- the `StandardDialScale` has had some missing accessor methods implemented;
510
- an override field in the `StandardXYItemRenderer` class has been deprecated;
511
- some warnings reported by FindBugs 1.3.0 have been addressed.
512

  
513
##### Version 1.0.7 (14-Nov-2007)
514
This release features
515
- new classes `DialPlot` and `LogAxis` (previously in experimental);
516
- initial support for minor tick units;
517
- a new anchored zooming option for the `ChartPanel` class;
518
- optional simple labeling on pie charts;
519
- improvements to the "statistical" datasets and underlying data structures;
520
- and numerous bug fixes.
521

  
522
###### API Adjustments
523

  
524
- `CategoryAxis` - added `getCategorySeriesMiddle()` method;
525
- `CategoryPlot` - added methods to remove markers;
526
- `ChartPanel` - added `defaultDirectoryForSaveAs` attribute;
527
- `DialPlot` - new class, an alternative to `MeterPlot`;
528
- `LogAxis` - new class, an alternative to `LogarithmicAxis`;
529
- `NumberTick` - new constructor that allows specification of the tick type;
530
- `NumberTickUnit` - new constructor to specify the minor tick count;
531
- `SymbolAxis` - new methods `get/setGridBandAlternatePaint()`;
532
- `TickType` - new class;
533
- `TickUnit` - added `minorTickCount` attribute;
534
- `ValueTick` - added `tickType` attribute;
535
- `StandardPieSectionLabelGenerator` - new constructors accepting a Locale;
536
- `StandardPieToolTipGenerator` - likewise;
537
- `CategoryPlot` - added `getRangeAxisIndex()`, `zoomDomainAxes()` and `zoomRangeAxes()` methods;
538
- `FastScatterPlot` - added new zooming methods;
539
- `PiePlot` - new attributes to support simple labeling;
540
- `PlotUtilities` - new class;
541
- `PolarPlot` - added new zooming methods;
542
- `ThermometerPlot` - likewise;
543
- `XYPlot` - added methods to remove markers (patch 1823697--same as for `CategoryPlot`), and added new zooming methods; 
544
- `Zoomable` - added new zooming methods to this interface;
545
- `LineAndShapeRenderer` - added `useSeriesOffset` and `itemMargin` attributes;
546
- `MinMaxCategoryRenderer` - implemented `equals()`;
547
- `XYSplineAndShapeRenderer` - new class;
548
- `LogFormat` - new class;
549
- `ChartFactory` - new pie and ring chart creation methods that accept a `Locale`;
550
- `ChartPanel` - added `zoomAroundAnchor` attribute;
551
- `Series` - added `isEmpty()` method;
552
- `BoxAndWhiskerItem` - new convenience constructor;
553
- `DefaultBoxAndWhiskerCategoryDataset` - new remove methods;
554
- `DefaultStatisticalCategoryDataset` - likewise;
555
- `MeanAndStandardDeviation` - added new value accessor methods;
556
- `TimeTableXYDataset` - added `clear()` method;
557
- `Week` - added new constructor;
558
- `KeyedObjects` - added `insertValue()` and `clear()` methods;
559
- `KeyedObjects2D` - added `clear()` method.
560

  
561
###### Patches
562

  
563
- 1823724 - updated `XYDifferenceRenderer` to support item labels;
564
- 1827829 - fixed possible `NullPointerException` in `XYBarRenderer`;
565

  
566
###### Bug Fixes
567

  
568
- 1767315 - `GrayPaintScale.getPaint()` uses wrong value;
569
- 1775452 - Inverted `XYBarRenderer` does not render margins correctly;
570
- 1802195 - `Marker.listenerList` serializable;
571
- 1779941 - `StatisticalBarRenderer` NPE;
572
- 1766646 - `XYBlockRenderer` can't handle empty datasets;
573
- 1763413 - `PeriodAxis` labels fail to display with setInverted;
574
- 1737953 - Zoom doesn't work on `LogAxis` (Demo1);
575
- 1749124 - `JFreeChart` not added as `TitleChangeListener`; 
576

  
577
##### Version 1.0.6 (15-Jun-2007)
578
This release features:
579
- a new `VectorRenderer` (previously in experimental);
580
- a generalised `XYDifferenceRenderer`;
581
- better support for hotspots on legend items;
582
- improved performance for time series charts displaying subsets of data;
583
- support for `GradientPaint` in plot backgrounds;
584
- plus the usual slew of bug fixes and minor feature additions.
585

  
586
###### API Adjustments
587

  
588
- `CategoryItemEntity` - replaced row and column index attributes with row and column key attributes;
589
- `CategoryItemRenderer` - numerous series override settings have been deprecated;
590
- `DefaultPieDataset` - added `insertValues()` method;
591
- `HexNumberFormat` - new class;
592
- `LegendItem` - added dataset and seriesKey attributes;
593
- `Plot` - added new `fillBackground()` method to support `GradientPaint`, and added `is/setOutlineVisible()` methods;
594
- `QuarterDateFormat` - added `GREEK_QUARTERS` field plus a new constructor;
595
- `SimpleHistogramDataset` - added `clearObservations()` and `removeAllBins()` methods;
596
- `TimeSeriesCollection` - added `indexOf()` method;
597
- `URLUtilities` - new class;
598
- `XYItemRenderer` - numerous series override settings have been deprecated;
599
- `XYSeriesCollection` - added indexOf() method.
600

  
601
###### Bug Fixes
602

  
603
- 1735508 - `ClusteredXYBarRenderer` fails with inverted x-axis;
604
- 1726404 - `ChartComposite` tooltips;
605
- 1713474 - `StackedBarRenderer3D` doesn't fill shadows;
606
- 1713401 - `StackedBarRenderer3D` doesn't check `drawBarOutline` flag;
607
- 1701822 - `DefaultBoxAndWhiskerCategoryDataset` doesn't follow contracts;
608
- 1698965 - NPE in `CombinedDomainXYPlot`;
609
- 1690994 - `HideSeriesDemo1` does not work;
610
- 1690654 - Bug in `removeValue()` of `DefaultKeyedValues2D`;
611
- 1562701 - `LegendItemEntity` needs dataset index;
612
- 1486299 - Use `URLEncoder.encode()` for URL generators;
613

  
614
Plus the following bugs that didn't have entries in the database:
615

  
616
- `BarRenderer` - check for series visibility in `getLegendItem()`;
617
- `ChartPanel` - use correct insets for painting chart buffer to screen, update UI for popup menu if LookAndFeel changes;
618
- `DateAxis` - fixed boundary cases for `previousStandardDate()` method;
619
- `LineBorder` - only draw border if area has positive dimensions;
620
- `JFreeChart` - should register as a listener with the default legend;
621
- `StandardXYItemRenderer` - fixed a problem where chart entities are created for non-visible items;
622
- `TimePeriodValuesCollection.getDomainBounds()` now computes the bounds correctly;
623
- `XYLineAndShapeRenderer` - fixed a problem where chart entities are created for non-visible items;
624
- `XYLine3DRenderer` - `equals()` implemented, and serialization fixed;
625
- `XYTitleAnnotation` - fixed `equals()` method;
626
- various resource usage bugs in the experimental `ChartComposite` class;
627

  
628
##### Version 1.0.5 (23-Mar-2007)
629
This release features:
630
- a new `DeviationRenderer` class;
631
- support for item labels in `StackedXYBarRenderer`;
632
- tooltips and URLs in the `CategoryStepRenderer`; and 
633
- many bug fixes.
634

  
635
###### API Adjustments
636

  
637
- `AbstractCategoryItemRenderer` - added `createState()` method;
638
- `StackedXYBarRenderer` - added `get/setRenderAsPercentages()` methods;
639
- `XYIntervalSeries` - added `getXLowValue()`, `getXHighValue()`, `getYLowValue()` and `getYHighValue()`;
640
- `YIntervalSeries` - added `getYLowValue()` and `getYHighValue()` methods;
641
    
642
###### Bug Fixes
643

  
644
- 1681777 - `DefaultCategoryDataset` does not clone data;
645
- 1672552 - Zoom rectangle is lost when the chart is repainted;
646
- 1671645 - `Crosshair` incorrectly positioned in horizontal orientation;
647
- 1669302 - Tick labels in vertical symbol axis;
648
- 1669218 - `CategoryPlot.setDomainAxisLocation()` ignores parameter;
649
- 1667750 - Clip region not restored in `Spider` and `MeterPlot`;
650
- 1663380 - OutputStream not closed;
651
- 1659627 - `IntervalMarker` with `Double.POSITIVE_INFINITY` bound;
652
- 1647269 - `IntervalMarker` with `Double.MAX_VALUE as upper` bound;
653
- 1594477 - `XYBarRenderer` does not render bars on `LogarithmicAxis`;
654
- 1459958 - Log axis zoom function problem;
655
- 880597 - Zooming `ChartPanel` with log axes;
656
- 764561 - Dynamic chart zoom buggy.
657
 
658
Also fixed numerous bugs in equals(), cloning and serialization implementations.  
659

  
660
##### Version 1.0.4 (9-Feb-2007)
661

  
662
This release features:
663
- a new `XYBlockRenderer` class;
664
- URLs for pie chart labels in HTML image maps;
665
- a new dataset implementation for open-high-low-close charts;
666
- support for gradient paint in `ClusteredXYBarRenderer`, `StackedXYBarRenderer` and legend graphics;
667
- a new anchor attribute for `XYImageAnnotation`;
668
- improvements to the experimental SWT support; plus
669
- a number of additions to the API for usability; and 
670
- many bug fixes.
671

  
672
###### API Adjustments
673

  
674
- `DateAxis` - added `get/setTimeZone()` methods;
675
- `DefaultXYDataset` - now implements `PublicCloneable`;
676
- `StackedXYAreaRenderer2` - added `get/setRoundXValues()` methods;
677
- `StandardXYItemLabelGenerator` - added new constructor;
678
- `StandardXYToolTipGenerator` - added new constructor;
679
- `XYBarDataset` - added `getUnderlyingDataset()` and `get/setBarWidth()` methods;
680
- `XYDifferenceRenderer` - added `roundXCoordinates` attribute;
681
- `XYImageAnnotation` - added an image anchor attribute, a new constructor, and several accessor methods;
682
- `XYSeries` - added `toArray()` method;
683

  
684
###### Bug Fixes
685

  
686
- 1654215 - `XYPlot` renderer with no corresponding dataset;
687
- 1652640 - `RangeMarkers` do not update properly;
688
- 1649686 - `Crosshairs` for `StackedXYAreaRenderer`;
689
- 1647749 - `IllegalArgumentException` in `SWTAxisEditor`;
690
- 1644877 - Replacing series data in `DefaultXYDataset`;
691
- 1644010 - `DateAxis.nextStandardDate()` ignores timezone;
692
- 1638678 - `DateAxis` code uses the default calendar;
693
- 1629382 - Tests fail for jfreechart-1.0.3;
694
- 1624067 - `StandardXYToolTipGenerator` missing constructor;
695
- 1616583 - Serialize `ChartDeleter`;
696
- 1612770 - Popup menu in wrong position for SWT `ChartComposite`;
697
- 1611872 - `Minute.previous()` returns null for minute == 0;
698
- 1608371 - Tick labels overlap with custom `NumberFormat`;
699
- 1606205 - Draw shared axis last on combined plots;
700
- 1605207 - `IntervalMarker` exceeds bounds of data area;
701
- 1605202 - `SpiderWebPlot` method access;
702
- 1599652 - Inverted `StackedBar3D` problem;
703
- 1598394 - `XYBarDataset` hiding its proxied object;
704
- 1564967 - Crosshairs on `XYDifferenceRenderer`;
705
- 1245305 - `NullPointerException` in `writeImageMap()`;
706
- 1086307 - Crosshairs on plots with multiple axes.
707

  
708
Also fixed numerous bugs in `equals()` and `clone()` methods throughout the API.
709

  
710
##### Version 1.0.3 (17-Nov-2006)
711

  
712
This release features:
713
- several new `IntervalXYDataset` implementations;
714
- some significant refactoring of the time period classes (to improve performance and correctness);
715
- modifications to the `PiePlot` class to support reordering of dataset items;
716
- a new event mechanism to allow updating of markers, plus
717
- many other enhancements, bug fixes and documentation updates.
718

  
719
A new `DialPlot` implementation has been added to the 'experimental' sources. 
720
We are looking for people to test this code and provide feedback, so that we
721
can stabilize the API and add this code to the main JFreeChart API.
722

  
723
###### API adjustments
724

  
725
The following adjustments have been made to the API:
726

  
727
- `CategoryLabelEntity` - new class;
728
- `CategoryPointerAnnotation` - new class;
729
- `ChartPanel`: added new public method `doEditChartProperties()`;
730
- `ComparableObjectItem`, `ComparableObjectSeries` - new classes;
731
- `CrosshairState`: added several new accessor methods;
732
- `DefaultPieDataset`: added `sortByKeys()` and `sortByValues()` methods;
733
- `Markers`: a change event mechanism has been added to the `Marker` class and its subclasses;
734
- `StackedAreaRenderer`: added `get/setRenderAsPercentages()` methods;
735
- `XIntervalDataItem`, `XIntervalSeries` and `XIntervalSeriesCollection` - new classes;
736
- `XYErrorRenderer`: new class;
737
- `XYInterval`, `XYIntervalDataItem`, `XYIntervalSeries` and `XYIntervalSeriesCollection` - new classes;
738
- `YInterval`, `YIntervalDataItem`, `YIntervalSeries`, `YIntervalSeriesCollection` and `YWithXInterval` - new classes.
739

  
740
###### Bug Fixes
741

  
742
- 1578293 - Unused methods in `JDBCXYDataset`;
743
- 1572478 - `BoxAndWhiskerRenderer` potential `NullPointerException`;
744
- 1569094 - `XYStepRenderer` with horizontal orientation;
745
- 1565168 - Crosshair position incorrect;
746
- 1564977 - `DateAxis` missing initial tick label;
747
- 1562759 - `StatisticalLineAndShapeRenderer` constructor ignores arguments;
748
- 1557141 - Bad locale in `ServletUtilities`;
749
- 1550045 - `TimeSeries.removeAgedItems()` method problems;
750
- 1549218 - Chart not displaying when all data values are the same and large;
751
- 1450447 - `Marker.setAlpha()` ignored;
752

  
753
Also fixed URL generation for legend items, tick mark positioning on the 
754
`DateAxis`, the `equals()` method in the `AreaRenderer` class, hardcoded outline 
755
attributes in the `XYBubbleRenderer`, and potential `NullPointerExceptions` in the
756
`ChartPanel` class.
757

  
758
##### Version 1.0.2 (25-Aug-2006)
759

  
760
###### API adjustments
761

  
762
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):
763

  
764
- `CategoryToPieDataset`: added accessor methods for underlying dataset, extract type and index (feature request 1477915);
765
- `DefaultXYDataset`:  New dataset implementation that uses double[] arrays;
766
- `DefaultXYZDataset`:  New dataset implementation that uses double[] arrays;
767
- `LegendItemBlockContainer`: New container used in legends (enables legend item entities again);
768
- `MultiplePiePlot`:  Added new fields `aggregatedItemsKey` and `aggregatedItemsPaint`, plus accessor methods - see bug 1190647;
769
- `SpiderWebPlot`:  Added new fields `toolTipGenerator` and `urlGenerator`, plus accessor methods (see patch 1463455);
770
- `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);
771
- `XYPolygonAnnotation`: Added new accessor methods.
772

  
773
###### Patches
774

  
775
- 1459313 - Add `renderAsPercentages` option to `StackedBarRenderer3D`;
776
- 1462727 - Modify `SpiderWebPlot` to support zero values;
777
- 1463455 - Modify `SpiderWebPlot` to support mouse clicks, tool tips and URLs;
778

  
779
###### Bug Fixes
780

  
781
- 1514904 - Background image alpha in `Plot` class;
782
- 1499140 - `ClusteredXYBarRenderer` with margin not drawing correctly;
783
- 1494936 - `LineAndShapeRenderer` generates entity for non-visible item;
784
- 1493199 - NPE drawing `SpiderWebPlot` with null info;
785
- 1480978 - `AbstractPieItemLabelGenerator.clone()` doesn't clone `percentFormat`;
786
- 1472942 - `DateAxis.equals()` broken;
787
- 1468794 - `StatisticalLineAndShapeRenderer` doesn't draw error bars correctly when the plot has a horizontal orientation;
788
- `AbstractCategoryItemRenderer` doesn't check `seriesVisibleInLegend` flag before creating new item;
789
- 1440415 - Bad distribution of pie chart section labels;
790
- 1440346 - Bad manifest entry for JCommon in JFreeChart jar file;
791
- 1435461 - `NumberAxis.equals()` ignores `rangeType` field;
792
- 1435160 - `XYPointerAnnotation.equals()` ignores x and y fields;
793
- 1398672 - `LegendItemEntities` not working;
794
- 1380480 - `StandardXYItemRenderer` problems with `Double.NaN`;
795
- 1190647 - Legend and section color mismatch for `MultiplePiePlot`.
796

  
797
###### Miscellaneous Changes
798

  
799
- Updated `CandlestickRenderer`, `CyclicXYItemRenderer`, `HighLowRenderer`, `XYStepAreaRenderer` and `TimeSeriesURLGenerator` to call dataset methods that return double primitive only;
800
- Updated `XYPolygonAnnotation`, adding new accessor methods and fixing problems in the `equals()/hashCode()` methods;
801
- `ChartFactory.createStackedXYAreaChart()` now uses `StackedXYAreaRenderer2`, for better handling of negative values;
802
- Added crosshair support for `XYBarRenderer`.
803

  
804
###### Experimental Code
805

  
806
In this release, some new (incomplete) classes have been included in the 
807
`org.jfree.experimental.*` namespace.  These classes are not part of the 
808
standard API, but are included for developers to experiment with and provide
809
feedback on.  Hopefully in the future, refined versions of these classes will
810
be incorporated into the main library.  PLEASE NOTE THAT THE API FOR THESE
811
CLASSES IS SUBJECT TO CHANGE. 
812

  
813
##### Version 1.0.1 (27-Jan-2006)
814
This is primarily a bug fix release.  In addition, there are some API 
815
adjustments (there should be no breakage of applications coded to the 1.0.0 API).
816

  
817
###### API adjustments
818
- `BarRenderer`: added a new flag (`includeBaseInRange`), plus accessor 
819
    methods, that controls whether or not the base value for the bar is 
820
    included in the range calculated by the `findRangeBounds()` method;
821
- `BubbleXYItemLabelGenerator`: new class;
822
- `Range`: added a new method `expandToInclude(Range, double)`, this is used by 
823
    the `BarRenderer` class;
824
- `TaskSeriesCollection`: added two new methods, `getSeries(int)` and 
825
    `getSeries(Comparable)`;
826
- `TimeSeriesCollection`:  the `domainIsPointsInTime` flag has been deprecated. 
827
  The flag serves no function now that renderers are used to calculate the domain 
828
  bounds, so you can safely delete any calls to the `setDomainIsPointsInTime()`
829
  method;
830
- `XYPlot`: added a new `getAnnotations()` method;
831
- `XYSeries`: the `update(int, Number)` method has been deprecated and a new 
832
  method `updateByIndex(int, Number)` has been added;
833

  
834
###### Bug fixes
835

  
836
- 1243050 - `XYBarRenderer` doesn't show entire range of values for a `TimeSeriesCollection`;
837
- 1373371 - `XYBubbleRenderer` doesn't support item labels;
838
- 1374222 - `BarRenderer` contains JDK 1.4 specific code;
839
- 1374328 - `LegendItem` serialization problem;
840
- 1377239 - Bad argument checking in `Quarter` constructor;
841
- 1379331 - Incorrect drawing of `TextTitle` at LEFT or RIGHT position;
842
- 1386328 - `RingPlot` entity incorrect;
843
- 1400442 - Inconsistent treatment of null and zero values in `PiePlot`;
844
- 1401856 - Bad rendering for non-zero base values in `BarRenderer`;
845
- 1403043 - `NullPointerException` in `CategoryAxis`;
846
- 1408904 - `NumberAxis3D` assumes `CategoryPlot`;
847
- 1415480 - `XYTextAnnotation` equals() method doesn't check (x, y);
848

  
849
##### Version 1.0.0 (2-Dec-2005) 
850
- the first stable release of the JFreeChart class library, all future releases in the 1.0.x series will aim to maintain backward compatibility with this release;
851

  
852
##### Version 1.0.0-rc3 (28-Nov-2005)
853
- the third "release candidate" for version 1.0.0, this release fixes some issues with the 1.0.0-rc2 release (mainly concerning packaging of resource bundles for localisation).
854
- if no significant problems are reported in the next few days, the 1.0.0 "final" release will be posted on 2-Dec-2005.
855

  
856
##### Version 1.0.0-rc2 (25-Nov-2005)
857
- the second "release candidate" for version 1.0.0.  If no problems are reported, 1.0.0 "final" will be released on 2-Dec-2005.
858

  
859
##### Version 1.0.0-rc1 (2-Jun-2005)
860
- this is a "release candidate" for version 1.0.0.  If no significant API problems are reported, this release will be re-released as version 1.0.0.
861

  
862
##### Version 1.0.0-pre2 (10-Mar-2005)
863

  
864
##### Version 1.0.0-pre1 (29-Nov-2004)
865

  
866
##### Version 0.9.21 (9-Sep-2004)
867
- added new axes: `PeriodAxis` and `ModuloAxis`.
868
- split `org.jfree.data` and `org.jfree.chart.renderer` into subpackages for 'category' and 'xy' charts.
869
- Sun PNG encoder is now used, if available.
870
- a new demo application makes it easier to preview the chart types that JFreeChart can create.
871
- added a new series visibility flag to the `AbstractRenderer` class.
872
- added support for `GradientPaint` in interval markers.
873

  
874
##### Version 0.9.20 (7-Jun-2004)
875
- primarily bug fixes.
876

  
877
##### Version 0.9.19 (28-May-2004)
878
- added methods to `XYDataset` that return double primitives;
879
- removed distinction between "primary" and "secondary" datasets, renderers and axes;
880
- added fixed legend item options to `CategoryPlot` and `XYPlot`;
881
- legend changes by Barek Naveh;
882
- removed Log4j dependency;
883
- many, many bug fixes;
884

  
885
##### Version 0.9.18 (15-Apr-2004)
886
- new legend anchor options;
887
- fixed broken JPEG export;
888
- fixed title size problems;
889
- various other bug fixes;
890

  
891
##### Version 0.9.17 (26-Mar-2004)
892
- pie chart enhancements for labelling, shading and multiple pie charts (2D or 3D) on a single plot;
893
- new `PolarPlot` class added;
894
- `XYSeries` can now be sorted or unsorted;
895
- `createBufferedImage()` method can now scale charts;
896
- domain and range markers now support intervals;
897
- item labels are now supported by some `XYItemRenderers`;
898
- tooltip and item label generators now use `MessageFormat` class;
899
- added new `XYBarDataset` class;
900
- added transparency support to PNG export;
901
- numerous other small enhancements and bug fixes;
902

  
903
##### Version 0.9.16 (09-Jan-2004)
904
- this release contains bug fixes and some minor feature enhancements (title and category label wrapping, legend shape scaling, enhanced performance for the `DefaultTableXYDataset` class);
905
- added Spanish localisation files;
906

  
907
##### Version 0.9.15 (28-Nov-2003)
908
- the focus of this release is bug fixes - quite a number of issues have been resolved, please check the bug database for details;
909
- added a new Wafer Map chart type;
910
- added a cyclic axis;
911
- added localisation files for _ru;
912

  
913
##### Version 0.9.14 (17-Nov-2003)
914
- implemented zooming for the `FastScatterPlot` class;
915
- added item label support for stacked bar charts, and new fall back options for item labels that don't fit within bars;
916
- modified the `CategoryAxis` class to allow additional options for the alignment and rotation of category labels;
917
- addition of the `AxisState` class, used in the drawing of axes to eliminate a bug when multiple threads draw the same axis simultaneously;
918
- provided additional attributes in the `DateTickUnit` class to improve labelling on a segmented `DateAxis`;
919
- added support for `GradientPaint` in bar charts;
920
- updated the `PNGEncoder`;
921
- fixes for tick label positioning on axes;
922
- various Javadoc updates;
923
- numerous bug fixes;
924

  
925
##### Version 0.9.13 (26-Sep-2003)
352 926
         - various enhancements to the stacked area XY charts;
353 927
         - added a completion indicator for the Gantt chart;
354 928
         - range and domain markers can now be placed in the foreground or the
......
359 933
         - incorporated .properties files that were missing from the 0.9.12
360 934
           distribution;
361 935

  
362
0.9.12 : (11-Sep-2003)
936
##### Version 0.9.12 (11-Sep-2003)
363 937
         - extended box-and-whisker plots to work with the CategoryPlot class
364 938
           as well as the XYPlot class (based on work by David Browning);
365 939
         - added a new LayeredBarRenderer (by Arnaud Lelievre);
......
378 952
         - fixed bugs in the JDBCCategoryDataset class;
379 953
         - numerous other bug fixes;
380 954

  
381
0.9.11 : (8-Aug-2003)
955
##### Version 0.9.11 (8-Aug-2003)
382 956
         - added support for box-and-whisker plots, thanks to David Browning;
383 957
         - lots of bug fixes;
384 958

  
385
API changes in this release are minimal and have been implemented using
386
deprecation, so code written against 0.9.10 should recompile.
387

  
388
0.9.10 : (25-Jul-2003)
959
##### Version 0.9.10 (25-Jul-2003)
389 960
         - added support for multiple secondary axes, datasets and
390 961
           renderers;
391 962
         - minor feature enhancements and bug fixes;
392 963

  
393
0.9.9 : (10-Jul-2003) PLEASE NOTE THAT MAJOR CHANGES HAVE BEEN MADE IN THIS
964
##### Version 0.9.9 (10-Jul-2003) 
965

  
966
PLEASE NOTE THAT MAJOR CHANGES HAVE BEEN MADE IN THIS
394 967
RELEASE AND ONE OR TWO FEATURES MAY BE BROKEN.  PLEASE REPORT BUGS SO THEY CAN
395 968
BE FIXED FOR THE NEXT RELEASE.
396 969

  
......
449 1022
          for an example;
450 1023
        - included numerous bug fixes;
451 1024

  
452
0.9.8 : (24-Apr-2003)
1025
##### Version 0.9.8 (24-Apr-2003)
453 1026
        - changed package naming from com.jrefinery.* to org.jfree.*;
454 1027
        - added new TimePeriodValuesCollection class;
455 1028
        - added MIME type code to ServletUtilities class;
......
459 1032
          in the class hierarchy;
460 1033
        - minor bug fixes;
461 1034

  
462
0.9.7 : (11-Apr-2003)
1035
##### Version 0.9.7 (11-Apr-2003)
463 1036
        - added a new ValueDataset interface and DefaultValueDataset
464 1037
          class, and changed the CompassPlot class to use this instead
465 1038
          of MeterDataset;
......
492 1065
        - in TextTitle, changed width used for relative spacing to fix
493 1066
          bug 703050;
494 1067

  
495
0.9.6 : (17-Feb-2003) Bug fixes:
1068
##### Version 0.9.6 (17-Feb-2003) Bug fixes:
496 1069
        - fixed null pointer exception in DefaultCategoryDataset;
497 1070
        - fixed update problem for PaintTable, StrokeTable and
498 1071
          ShapeTable objects;
......
503 1076
        - fixed constructors for symbolic axes;
504 1077
        - corrected error in Javadoc generation (Ant script);
505 1078

  
506
0.9.5 : (6-Feb-2003)  PLEASE NOTE THAT MAJOR CHANGES TO THE
1079
##### Version 0.9.5 (6-Feb-2003) 
1080

  
1081
PLEASE NOTE THAT MAJOR CHANGES TO THE
507 1082
        JFREECHART API HAVE BEEN MADE IN THIS RELEASE!
508 1083

  
509 1084
        - added support for secondary axes, datasets and renderers;
......
545 1120
        - numerous bug fixes.
546 1121
        - lots of Javadoc updates.
547 1122

  
548
0.9.4 : (18-Oct-2002)  Added a new stacked area chart (contributed by Dan
1123
##### Version 0.9.4 (18-Oct-2002)  
1124

  
1125
Added a new stacked area chart (contributed by Dan
549 1126
        Rivett) and a compass plot (contributed by Bryan Scott).  Updated
550 1127
        the ThermometerPlot class. Added a new XYDotRenderer for scatter
551 1128
        plots. Modified combined and overlaid plots to use the series colors
......
573 1150
        - most 'protected' member variables have been changed to
574 1151
          'private'.
575 1152

  
576
0.9.3 : (4-Sep-2002) Added multiple pie charts based on
577
        CategoryDataset.  Updated logarithmic axes.  Improved URL
578
        support for image map generation. Moved the com.jrefinery.data
579
        package from JCommon to JFreeChart. Added simple framework for
580
        chart annotations. Improved control over renderers. Duplicate
581
        x-values now allowed in XYSeries. Optional category label
582
        skipping in category axes. Added CategoriesPaint attribute to
583
        AbstractCategoryItemRenderer.  Added new attributes to
584
        MeterPlot class. Updated 3D pie chart to observe start angle
585
        and direction, and also foreground alpha < 1.0. Improved
586
        Javadoc comments. New demo applications, including:
587
        AnnotationDemo1, EventFrequencyDemo, JDBCCategoryChartDemo,
588
        JDBCPieChartDemo, JDBCXYChartDemo and MinMaxCategoryPlotDemo.
589
        Bug fixes:
590
        - negative percentages on PiePlot.
591
        - added listener notification to setXXXAxis(...) methods.
592
        - fixed DomainInfo method name clash.
593
        - added DomainIsPointsInTime flag to TimeSeriesCollection to
594
          give better control over auto range on axis for time series
595
          charts.
596
        - axis margins for date axes are no longer hard-coded.
597
        - fix for ordering of categories in JdbcCategoryDataset.
598
        - added check for null axis in mouse click handler.
1153
##### Version 0.9.3 (4-Sep-2002) 
599 1154

  
600
        The CVS repository at SourceForge has also been restructured
601
        to match the distribution directory layout.
1155
- Added multiple pie charts based on `CategoryDataset`;
1156
- Updated logarithmic axes;
1157
- Improved URL support for image map generation;
1158
- Moved the `com.jrefinery.data` package from JCommon to JFreeChart. 
1159
- Added simple framework for chart annotations;
1160
- Improved control over renderers;
1161
- Duplicate x-values now allowed in `XYSeries`; 
1162
- Optional category label skipping in category axes; 
1163
- Added `CategoriesPaint` attribute to `AbstractCategoryItemRenderer`;
1164
- Added new attributes to `MeterPlot` class;
1165
- Updated 3D pie chart to observe start angle and direction, and also foreground alpha < 1.0;
1166
- Improved Javadoc comments;
1167
- New demo applications, including: `AnnotationDemo1`, `EventFrequencyDemo`, `JDBCCategoryChartDemo`, `JDBCPieChartDemo`, `JDBCXYChartDemo` and `MinMaxCategoryPlotDemo`.
602 1168

  
603
0.9.2 : (28-Jun-2002) PiePlot now has startAngle and direction
604
        attributes.  Added support for image map generation.  Added a
605
        new Pie3DPlot class. Added label drawing code to bar
606
        renderers. Added optional range markers to horizontal number
607
        axis.  Added bar clipping to avoid PRExceptions in bar
608
        charts.  JFreeChartDemo has been modified and now includes
609
        examples of the dial and thermometer plots.
610
        Bug fixes:
611
        - auto range for VerticalNumberAxis when zero is forced to be
612
          included in the range.
613
        - fixed null pointer exception in StackedVerticalBarRenderer3D;
614
        - Added get/set methods for min/max chart drawing dimensions
615
          in ChartPanel;
616
        - HorizontalIntervalBarRenderer now handles single category;
617
        - verticalTickLabels now possible in HorizontalNumberAxis3D;
618
        - removed unnecessary imports;
1169
Bug fixes:
1170
- negative percentages on `PiePlot`;
1171
- added listener notification to `setXXXAxis(...)` methods;
1172
- fixed `DomainInfo` method name clash;
1173
- added `DomainIsPointsInTime` flag to `TimeSeriesCollection` to give better control over auto range on axis for time series charts;
1174
- axis margins for date axes are no longer hard-coded;
1175
- fix for ordering of categories in `JdbcCategoryDataset`;
1176
- added check for `null` axis in mouse click handler.
619 1177

  
620
0.9.1 : (14-Jun-2002) Bug fixes and Javadoc updates.
621
        - fixed auto range calculation for category plots;
622
        - fixed event notification for XYPlot;
623
        - fixed auto axis range for Gantt charts;
624
        - check for null popup menu in ChartPanel.mouseDragged;
625
        - new checks for null info in renderers;
626
        - range markers now drawn only if in visible axis range;
1178
The CVS repository at SourceForge has also been restructured to match the distribution directory layout.
627 1179

  
628
0.9.0 : (7-Jun-2002) New plots including an area chart, a horizontal
629
        3D bar chart, a Gantt chart and a thermometer chart.
630
        Combination plots have been reworked to provide a
631
        simpler framework, and extends to allow category plots to be
632
        combined. There is now a facility to add a ChartMouseListener
633
        to the ChartPanel (formerly JFreeChartPanel).  An interactive
634
        zooming feature (experimental at this point) is now available
635
        for XYPlots.  A new Polish translation has been added. Several
636
        fixes have been applied to the default tool tip generators.  A
637
        workaround has been added to fix the alignment between time
638
        series charts and the date axis.  There are some improvements
639
        to the VerticalLogarithmicAxis class, and now a corresponding
640
        HorizontalLogarithmicAxis class.  Additional demonstration
641
        applications have been added.  Fixed the popup menu bug.
642 1180

  
643
0.8.0.1 : (5-Apr-2002) Localised resource bundles for French, German and
644
        Spanish languages (thanks to Anthony Boulestreau, Thomas Meier
645
        and Hans-Jurgen Greiner for the translations).  An area XY
646
        plot and meter chart contributed by Hari.  Symbol charts
647
        contributed by Anthony Boulestreau. An improved
648
        CandleStickRenderer class from Sylvain Vieujot.  Updated
649
        servlet code from Bryan Scott.  XYItemRenderers now have a
650
        change listener mechanism and therefore do not have to be
651
        immutable.  Additional demonstration applications for
652
        individual chart types. Minor bug fixes.
1181
##### Version 0.9.2 (28-Jun-2002) 
653 1182

  
654
0.8.0.0 : (22-Mar-2002) All the category plots are now controlled
655
        through the one class (CategoryPlot) with plug-in renderers.
656
        Added a ResourceBundle for user interface items that require
657
        localisation. Added a logarithmic axis class contributed by
658
        Mike Duffy and some new JDBC and servlet code contributed by
659
        Bryan Scott.  Updated the JCommon class library to improve
660
        handling of time periods in different time zones.
1183
- `PiePlot` now has `startAngle` and `direction` attributes;
1184
- added support for image map generation;
1185
- added a new `Pie3DPlot` class;
1186
- added label drawing code to bar renderers;
1187
- added optional range markers to horizontal number axis;
1188
- added bar clipping to avoid PRExceptions in bar charts; 
1189
- `JFreeChartDemo` has been modified and now includes examples of the dial and thermometer plots.
661 1190

  
662
0.7.4 : (6-Mar-2002) Bug fixes in the JCommon Class Library. Various
663
        Javadoc comment updates.  Some minor changes to the
664
        code. Added new domain name (http://www.object-refinery.com)
665
        in the source headers.
1191
######Bug fixes
666 1192

  
667
0.7.3 : (14-Feb-2002) Bug fixes.
1193
- auto range for `VerticalNumberAxis` when zero is forced to be included in the range;
1194
- fixed null pointer exception in `StackedVerticalBarRenderer3D`;
1195
- added get/set methods for min/max chart drawing dimensions in `ChartPanel`;
1196
- `HorizontalIntervalBarRenderer` now handles single category;
1197
- `verticalTickLabels` now possible in `HorizontalNumberAxis3D`;
1198
- removed unnecessary imports;
668 1199

  
669
0.7.2 : (8-Feb-2002) Integrated the WindPlot code from Achilleus
670
        Mantzios. Added an optional background image for the
671
        JFreeChart class, and another optional background image for
672
        the Plot class.  Added alpha-transparency for the plot
673
        foreground and background.  Added new pie chart label types
674
        that show values.  Fixed a bug with the legend that results in
675
        a loop at small chart sizes. Added some tooltip methods that
676
        were missing from the previous version. Changed the Insets
677
        class on chart titles to a new Spacer class that will allow
678
        for relative or absolute insets (the plan is to eventually
679
        replace all Insets in the JFreeChart classes).  Fixed a bug in
680
        the setAutoRangeIncludesZero method of the NumberAxis class.
681
        Added the instructions that were missing from the copies of
682
        the GNU Lesser General Public Licence included with JFreeChart.
683 1200

  
684
0.7.1 : (25-Jan-2002) Added tooltips, crosshairs and zooming
685
        functions, thanks to Jonathan Nash and Hans-Jurgen Greiner
686
        for contributing the code that these features are based on.
687
        Moved the combination charts into the package
688
        com.jrefinery.chart.combination, made a number of other small
689
        API changes and fixed some bugs.  Removed the Javadoc HTML
690
        from the download to save space (you can regenerate it from
691
        the source code if you need it).
1201
##### Version 0.9.1 (14-Jun-2002) 
692 1202

  
693
0.7.0 : (11-Dec-2001) New combination plots developed by Bill
694
        Kelemen.  Added Wolfgang Irler's servlet demo to the standard
695
        download.  The About window in the demo application now
696
        includes a list of developers that have contributed to the
697
        project.
1203
Bug fixes and Javadoc updates.
698 1204

  
699
0.6.0 : (27-Nov-2001) New plots including scatter plot, stacked bar
700
        charts and 3D bar charts.  Improved pie chart.  Data
701
        interfaces and classes moved to the JCommon class library.
702
        New properties to control spacing on bar charts.  New
703
        auto-tick mechanism.  JFreeChartPanel now incorporates
704
        buffering, and popup menu.  Javadocs revised.  Fixed numerous
705
        bugs from version 0.5.6.  Demo application updated.
1205
- fixed auto range calculation for category plots;
1206
- fixed event notification for `XYPlot`;
1207
- fixed auto axis range for Gantt charts;
1208
- check for null popup menu in `ChartPanel.mouseDragged`;
1209
- new checks for null info in renderers;
1210
- range markers now drawn only if in visible axis range;
706 1211

  
707
----------------
708
10.  CONTRIBUTORS
709
----------------
710
JFreeChart wouldn't be half the library that it is today without the
711
contributions (large and small) that have been made by the developers listed
712
below:
713 1212

  
714
    - Eric Alexander
715
    - Richard Atkinson
716
    - David Basten
717
    - David Berry
718
    - Chris Boek
719
    - Zoheb Borbora
720
    - Anthony Boulestreau
721
    - Jeremy Bowman
722
    - Nicolas Brodu
723
    - Jody Brownell
724
    - David Browning
725
    - Soren Caspersen
726
    - Thomas A Caswell
727
    - Chuanhao Chiu
728
    - Brian Cole
729
    - Pascal Collet
730
    - Martin Cordova
731
    - Paolo Cova
732
    - Greg Darke
733
    - Mike Duffy
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff