root / tmp / org.txm.libs.jfreechart / about.html @ 2811
Historique | Voir | Annoter | Télécharger (64,44 ko)
| 1 | 2327 | sjacqu01 | JFreeChart | 
|---|---|---|---|
| 2 | 2327 | sjacqu01 | ========== | 
| 3 | 230 | sjacqu01 | |
| 4 | 2327 | sjacqu01 | Version 1.5.0, 5 November 2017. | 
| 5 | 230 | sjacqu01 | |
| 6 | 2327 | sjacqu01 | [](https://maven-badges.herokuapp.com/maven-central/org.jfree/jfreechart) | 
| 7 | 230 | sjacqu01 | |
| 8 | 2327 | sjacqu01 | Overview | 
| 9 | 2327 | sjacqu01 | -------- | 
| 10 | 2327 | sjacqu01 | JFreeChart is a comprehensive free chart library for the Java(tm) platform that | 
| 11 | 2327 | sjacqu01 | can be used on the client-side (JavaFX and Swing) or the server side (with | 
| 12 | 2327 | sjacqu01 | export to multiple formats including SVG, PNG and PDF). | 
| 13 | 230 | sjacqu01 | |
| 14 | 2327 | sjacqu01 |  | 
| 15 | 230 | sjacqu01 | |
| 16 | 2327 | sjacqu01 | The home page for the project is: | 
| 17 | 230 | sjacqu01 | |
| 18 | 2327 | sjacqu01 | http://www.jfree.org/jfreechart | 
| 19 | 230 | sjacqu01 | |
| 20 | 2327 | sjacqu01 | JFreeChart requires JDK 1.6.0 or later. If JavaFX support is required, you | 
| 21 | 2327 | sjacqu01 | need to also include the JFreeChart-FX extensions: | 
| 22 | 2327 | sjacqu01 | |
| 23 | 2327 | sjacqu01 | https://github.com/jfree/jfreechart-fx | 
| 24 | 2327 | sjacqu01 | |
| 25 | 2327 | sjacqu01 | The library is licensed under the terms of the GNU Lesser General Public | 
| 26 | 2327 | sjacqu01 | License (LGPL) version 2.1 or later. | 
| 27 | 2327 | sjacqu01 | |
| 28 | 2327 | sjacqu01 | |
| 29 | 2327 | sjacqu01 | Using JFreeChart | 
| 30 | 2327 | sjacqu01 | ---------------- | 
| 31 | 2327 | sjacqu01 | To use JFreeChart in your projects, add the following dependency to your build tool: | 
| 32 | 2327 | sjacqu01 | |
| 33 | 2327 | sjacqu01 |     <dependency>
 | 
| 34 | 2327 | sjacqu01 | <groupId>org.jfree</groupId> | 
| 35 | 2327 | sjacqu01 | <artifactId>jfreechart</artifactId> | 
| 36 | 2327 | sjacqu01 | <version>1.5.0</version> | 
| 37 | 2327 | sjacqu01 |     </dependency>
 | 
| 38 | 2327 | sjacqu01 | |
| 39 | 2327 | sjacqu01 | |
| 40 | 2327 | sjacqu01 | Building JFreeChart | 
| 41 | 230 | sjacqu01 | ------------------- | 
| 42 | 2327 | sjacqu01 | You can build JFreeChart using Maven by issuing the following command from the root directory of the project: | 
| 43 | 230 | sjacqu01 | |
| 44 | 2327 | sjacqu01 | mvn clean install | 
| 45 | 230 | sjacqu01 | |
| 46 | 2327 | sjacqu01 | The build requires JDK 1.6.0 or later. | 
| 47 | 230 | sjacqu01 | |
| 48 | 230 | sjacqu01 | |
| 49 | 2327 | sjacqu01 | Migration from JFreeChart 1.0.x | 
| 50 | 2327 | sjacqu01 | ------------------------------- | 
| 51 | 2327 | sjacqu01 | When migrating from JFreeChart 1.0.x to JFreeChart 1.5.0, please be aware of the following API changes: | 
| 52 | 230 | sjacqu01 | |
| 53 | 2327 | sjacqu01 | * 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 | 2327 | sjacqu01 | * many methods `getBaseXXX()/setBaseXXX()` have been renamed `setDefaultXXX()/getDefaultXXX()`; | 
| 55 | 2327 | sjacqu01 | * the `ChartUtilities` class has been renamed `ChartUtils`; | 
| 56 | 2327 | sjacqu01 | * 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 | 2327 | sjacqu01 | * 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 | 2327 | sjacqu01 | * the `org.jfree.chart.utils.ParamChecks` class has been renamed `org.jfree.chart.utils.Args`. | 
| 59 | 230 | sjacqu01 | |
| 60 | 2327 | sjacqu01 | Please refer to [Issue 66](https://github.com/jfree/jfreechart/issues/66) for additional info. | 
| 61 | 230 | sjacqu01 | |
| 62 | 230 | sjacqu01 | |
| 63 | 2327 | sjacqu01 | Demos | 
| 64 | 2327 | sjacqu01 | ----- | 
| 65 | 2327 | sjacqu01 | A small set of demo applications can be found in the following projects here | 
| 66 | 2327 | sjacqu01 | at GitHub: | 
| 67 | 230 | sjacqu01 | |
| 68 | 2327 | sjacqu01 | * [JFree-Demos](https://github.com/jfree/jfree-demos "JFree-Demos Project Page at GitHub") | 
| 69 | 2327 | sjacqu01 | * [JFree-FXDemos](https://github.com/jfree/jfree-fxdemos "JFree-FXDemos Project Page at GitHub") | 
| 70 | 230 | sjacqu01 | |
| 71 | 230 | sjacqu01 | |
| 72 | 2327 | sjacqu01 | History | 
| 73 | 2327 | sjacqu01 | ------- | 
| 74 | 230 | sjacqu01 | |
| 75 | 2327 | sjacqu01 | ##### Version 1.5.0 (5 November 2017) | 
| 76 | 2327 | sjacqu01 | - all JavaFX classes moved to a separate project; | 
| 77 | 2327 | sjacqu01 | - added cleaner method to create histograms in `ChartFactory`; | 
| 78 | 2327 | sjacqu01 | - JCommon removed as a dependency, and required classes incorporated directly (including package rename); | 
| 79 | 2327 | sjacqu01 | - pull request #4 improvements to `XYStepRenderer`; | 
| 80 | 2327 | sjacqu01 | - bug #36 fix for crosshairs with multiple datasets / axes; | 
| 81 | 2327 | sjacqu01 | - bug #25 fix for `DateAxis.previousStandardDate()` method; | 
| 82 | 2327 | sjacqu01 | - bug #19 fix for default time zone in `SegmentedDateAxis`; | 
| 83 | 2327 | sjacqu01 | - SourceForge #1147 improve performance of `CategoryPlot` mapping datasets to axes; | 
| 84 | 2327 | sjacqu01 | - moved SWT code out into separate projects; | 
| 85 | 2327 | sjacqu01 | - moved demo programs to a separate project; | 
| 86 | 2327 | sjacqu01 | - dropped the Ant build; | 
| 87 | 230 | sjacqu01 | |
| 88 | 2327 | sjacqu01 | ##### Version 1.0.19 (31-Jul-2014) | 
| 89 | 2327 | sjacqu01 | - fixed clipping issues for combined plots in JavaFX; | 
| 90 | 2327 | sjacqu01 | - fixed a memory leak in the new JavaFX `ChartCanvas` class; | 
| 91 | 2327 | sjacqu01 | - `CombinedDomainXYPlot` and `CombinedRangeXYPlot` now take into account the pannable flags in the subplots; | 
| 92 | 2327 | sjacqu01 | - `FastScatterPlot` panning direction is corrected; | 
| 93 | 2327 | sjacqu01 | - added rendering hints to sharpen gridlines and borders in most output formats; | 
| 94 | 2327 | sjacqu01 | - JFreeSVG updated to version 2.0; | 
| 95 | 2327 | sjacqu01 | - 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. | 
| 96 | 230 | sjacqu01 | |
| 97 | 2327 | sjacqu01 | ##### Version 1.0.18 (3-Jul-2014) | 
| 98 | 2327 | sjacqu01 | - added JavaFX support via `FXGraphics2D`; | 
| 99 | 2327 | sjacqu01 | - improved `LogAxis` labelling; | 
| 100 | 2327 | sjacqu01 | - improved numeric tick labelling; | 
| 101 | 2327 | sjacqu01 | - center text support in `RingPlot`; | 
| 102 | 2327 | sjacqu01 | - `stepPoint` attribute in the `XYStepAreaRenderer`; | 
| 103 | 2327 | sjacqu01 | - other minor improvements and bug fixes. | 
| 104 | 230 | sjacqu01 | |
| 105 | 2327 | sjacqu01 | ##### Version 1.0.17 (22-Nov-2013) | 
| 106 | 2327 | sjacqu01 | - Enhanced `XYSplineRenderer` with new area fill (contributed by Klaus Rheinwald); | 
| 107 | 2327 | sjacqu01 | - added a notify flag to all datasets that extend `AbstractDataset`; | 
| 108 | 2327 | sjacqu01 | - extended `TimeSeriesCollection` to validate `TimeSeries` keys for uniqueness; | 
| 109 | 2327 | sjacqu01 | - added a new `DirectionalGradientPaintTransformer` (by Peter Kolb); | 
| 110 | 2327 | sjacqu01 | - updated `OHLCSeries`; | 
| 111 | 2327 | sjacqu01 | - added `HMSNumberFormat`; | 
| 112 | 2327 | sjacqu01 | - updated JCommon to version 1.0.21 (includes rotated text improvements) and fixed some minor bugs. | 
| 113 | 230 | sjacqu01 | |
| 114 | 2327 | sjacqu01 | ###### Bug Fixes | 
| 115 | 2327 | sjacqu01 | - 977 : Multithreading issue with `DateAxis`; | 
| 116 | 2327 | sjacqu01 | - 1084 : `BorderArrangement.add()` possible `ClassCastException`; | 
| 117 | 2327 | sjacqu01 | - 1099 : `XYSeriesCollection.removeSeries(int)` does not deregister listener; | 
| 118 | 2327 | sjacqu01 | - 1109 : `WaterfallBarRenderer` uses wrong color for diff 0. | 
| 119 | 230 | sjacqu01 | |
| 120 | 230 | sjacqu01 | |
| 121 | 2327 | sjacqu01 | ##### Version 1.0.16 (13-Sep-2013) | 
| 122 | 230 | sjacqu01 | |
| 123 | 2327 | sjacqu01 | *** THIS RELEASE REQUIRES JDK/JRE 1.6.0 OR LATER. *** | 
| 124 | 230 | sjacqu01 | |
| 125 | 2327 | sjacqu01 | - Provided subscript/superscript support for axis labels (via `AttributedString`); | 
| 126 | 2327 | sjacqu01 | - new axis label positioning options; | 
| 127 | 2327 | sjacqu01 | - simplified `ChartFactory` methods; | 
| 128 | 2327 | sjacqu01 | - added new methods to `DatasetUtilities` to interpolate y-values in `XYDatasets`; | 
| 129 | 2327 | sjacqu01 | - added URLs to labels on `CategoryAxis`; | 
| 130 | 2327 | sjacqu01 | - seamless integration with JFreeSVG (http://www.jfree.org/jfreesvg/) and OrsonPDF | 
| 131 | 2327 | sjacqu01 | (http://www.object-refinery.com/pdf/); | 
| 132 | 2327 | sjacqu01 | - improved the consistency of the `SWTGraphics2D` implementation; | 
| 133 | 230 | sjacqu01 | |
| 134 | 2327 | sjacqu01 | All the JUnit tests have been upgraded to JUnit 4. | 
| 135 | 230 | sjacqu01 | |
| 136 | 2327 | sjacqu01 | ###### Bug Fixes | 
| 137 | 230 | sjacqu01 | |
| 138 | 2327 | sjacqu01 | - 1107 : Fixed TimeZone issue in `PeriodAxis`; | 
| 139 | 230 | sjacqu01 | |
| 140 | 2327 | sjacqu01 | Also fixed a line drawing issue with the `StackedXYAreaRenderer`, and a memory | 
| 141 | 2327 | sjacqu01 | leak in the SWT `ChartComposite` class. | 
| 142 | 230 | sjacqu01 | |
| 143 | 230 | sjacqu01 | |
| 144 | 2327 | sjacqu01 | ##### Version 1.0.15 (4-Jul-2013) | 
| 145 | 2327 | sjacqu01 | - Added support for non-visible series in `XYBarRenderer`; | 
| 146 | 2327 | sjacqu01 | - minor gridlines in `PolarPlot`; | 
| 147 | 2327 | sjacqu01 | - legend item ordering; | 
| 148 | 2327 | sjacqu01 | - chart editor enhancements; | 
| 149 | 2327 | sjacqu01 | - updates to `StandardDialScale`; | 
| 150 | 2327 | sjacqu01 | - localisation files for Japanese; | 
| 151 | 2327 | sjacqu01 | - refactored parameter checks. | 
| 152 | 230 | sjacqu01 | |
| 153 | 2327 | sjacqu01 | This release also fixes a minor security flaw in the `DisplayChart` class, detected and reported by OSI Security: | 
| 154 | 230 | sjacqu01 | |
| 155 | 2327 | sjacqu01 | http://www.osisecurity.com.au/advisories/jfreechart-path-disclosure | 
| 156 | 230 | sjacqu01 | |
| 157 | 2327 | sjacqu01 | ###### Patches | 
| 158 | 230 | sjacqu01 | |
| 159 | 2327 | sjacqu01 | - 3500621 : `LegendTitle` order attribute (by Simon Kaczor); | 
| 160 | 2327 | sjacqu01 | - 3463807 : `ChartComposite` does not dispose popup (by Sebastiao Correia); | 
| 161 | 2327 | sjacqu01 | - 3204823 : `PaintAlpha` for 3D effects (by Dave Law); | 
| 162 | 230 | sjacqu01 | |
| 163 | 2327 | sjacqu01 | ###### Bug Fixes | 
| 164 | 230 | sjacqu01 | |
| 165 | 2327 | sjacqu01 | - 3561093 : Rendering anomaly for `XYPlots`; | 
| 166 | 2327 | sjacqu01 | - 3555275 : `ValueAxis.reserveSpace()` problem for axes with fixed dimension; | 
| 167 | 2327 | sjacqu01 | - 3521736 : `DeviationRenderer` optimisation (by Milan Ramaiya); | 
| 168 | 2327 | sjacqu01 | - 3514487 : `SWTGraphics2D` `get/setStroke()` problem; | 
| 169 | 2327 | sjacqu01 | - 3508799 : `DefaultPolarItemRenderer` does not populate `seriesKey` in `LegendItem`; | 
| 170 | 2327 | sjacqu01 | - 3482106 : Missing text in `SWTGraphics2D` (by Kevin Xu); | 
| 171 | 2327 | sjacqu01 | - 3484408 : Maven fixes (Martin Hoeller); | 
| 172 | 2327 | sjacqu01 | - 3484403 : `DateAxis` endless loop (by Martin Hoeller); | 
| 173 | 2327 | sjacqu01 | - 3446965 : `TimeSeries` calculates range incorrectly in `addOrUpdate()`; | 
| 174 | 2327 | sjacqu01 | - 3445507 : `TimeSeriesCollection.findRangeBounds()` regression; | 
| 175 | 2327 | sjacqu01 | - 3425881 : `XYDifferenceRenderer` fix (by Patrick Schlott/Christoph Schroeder); | 
| 176 | 2327 | sjacqu01 | - 2963199 : SWT print job (by Jonas Rüttimann); | 
| 177 | 2327 | sjacqu01 | - 2879650 : Path disclosure vulnerability in `DisplayChart` servlet; | 
| 178 | 230 | sjacqu01 | |
| 179 | 2327 | sjacqu01 | Also fixed a rendering issue for polar charts using an inverted axis. | 
| 180 | 230 | sjacqu01 | |
| 181 | 2327 | sjacqu01 | ##### Version 1.0.14 (20-Nov-2011) | 
| 182 | 2327 | sjacqu01 | This release contains: | 
| 183 | 230 | sjacqu01 | |
| 184 | 2327 | sjacqu01 | - support for multiple and logarithmic axes with `PolarPlot`; | 
| 185 | 2327 | sjacqu01 | - optional drop-shadows in plot rendering; | 
| 186 | 2327 | sjacqu01 | - fitting polynomial functions to a data series; | 
| 187 | 2327 | sjacqu01 | - some performance improvements in the `TimeSeriesCollection` class; | 
| 188 | 2327 | sjacqu01 | - mouse wheel rotation of pie charts; | 
| 189 | 2327 | sjacqu01 | - improved Maven support. | 
| 190 | 230 | sjacqu01 | |
| 191 | 2327 | sjacqu01 | ###### Patches | 
| 192 | 230 | sjacqu01 | |
| 193 | 2327 | sjacqu01 | - 3435734 : Fix lines overlapping item labels (by Martin Hoeller); | 
| 194 | 2327 | sjacqu01 | - 3421088 : Bugfix for misalignment in `BoxAndWhiskerRenderer`; | 
| 195 | 2327 | sjacqu01 | - 2952086 : Enhancement for finding bounds in `XYZDatasets`; | 
| 196 | 2327 | sjacqu01 | - 2954302 : `CategoryPointerAnnotation` line calculation; | 
| 197 | 2327 | sjacqu01 | - 2902842 : `HistogramDataset.addSeries()` fires change change event (by Thomas A Caswell); | 
| 198 | 2327 | sjacqu01 | - 2868608 : Whisker width attribute for `BoxAndWhiskerRenderer` (by Peter Becker); | 
| 199 | 2327 | sjacqu01 | - 2868585 : Added `useOutlinePaint` flag for `BoxAndWhiskerRenderer` (by Peter Becker); | 
| 200 | 2327 | sjacqu01 | - 2850344 : `PolarPlot` enhancements (by Martin Hoeller); | 
| 201 | 2327 | sjacqu01 | - 2795746 : Support for polynomial regression; | 
| 202 | 2327 | sjacqu01 | - 2791407 : Fixes for `findRangeBounds()` in various renderers. | 
| 203 | 230 | sjacqu01 | |
| 204 | 2327 | sjacqu01 | ###### Bug Fixes | 
| 205 | 230 | sjacqu01 | |
| 206 | 2327 | sjacqu01 | - 3440237 : Shadows always visible; | 
| 207 | 2327 | sjacqu01 | - 3432721 : `PolarPlot` doesn't work with logarithmic axis; | 
| 208 | 2327 | sjacqu01 | - 3433405 : `LineChart3D` - Problem with Item Labels; | 
| 209 | 2327 | sjacqu01 | - 3429707 : `LogAxis` endless loop; | 
| 210 | 2327 | sjacqu01 | - 3428870 : Missing argument check in `TextAnnotation`; | 
| 211 | 2327 | sjacqu01 | - 3418287 : `RelativeDateFormatTest.java` is locale dependent; | 
| 212 | 2327 | sjacqu01 | - 3353913 : Localisation fixes for `ChartPanel`, `CompassPlot` and `PiePlot3D`; | 
| 213 | 2327 | sjacqu01 | - 3237879 : `RingPlot` should respect `getSectionOutlineVisible()`; | 
| 214 | 2327 | sjacqu01 | - 3190615 : Added missing `clear()` method in `CategoryTableXYDataset`; | 
| 215 | 2327 | sjacqu01 | - 3165708 : `PolarChartPanel` localisation fix; | 
| 216 | 2327 | sjacqu01 | - 3072674 : Bad handling of `NaN` in `DefaultStatisticalCategoryDataset`; | 
| 217 | 2327 | sjacqu01 | - 3035289 : `StackedXYBarRenderer` should respect series/item visible flags; | 
| 218 | 2327 | sjacqu01 | - 3026341 : Check for null in `getDomain/RangeBounds()` for `XYShapeRenderer`; | 
| 219 | 2327 | sjacqu01 | - 2947660 : `AbstractCategoryRenderer` fix null check in `getLegendItems()`; | 
| 220 | 2327 | sjacqu01 | - 2946521 : `StandardDialScale` check `majorTickIncrement` argument; | 
| 221 | 2327 | sjacqu01 | - 2876406 : `TimeTableXYDataset` should support `Comparable` for series keys; | 
| 222 | 2327 | sjacqu01 | - 2868557 : `BoxAndWhiskerRenderer` should fire change event in `setMedianVisible()`; | 
| 223 | 2327 | sjacqu01 | - 2849731 : For `IntervalCategoryDataset` and `IntervalXYDataset`, fix `iterateRangeBounds()` in `DatasetUtilities`; | 
| 224 | 2327 | sjacqu01 | - 2840132 : `AbstractXYItemRenderer` `drawAnnotations` doesn't set renderer index; | 
| 225 | 2327 | sjacqu01 | - 2810220 : Offset problem in `StatisticalBarRenderer`; | 
| 226 | 2327 | sjacqu01 | - 2802014 : Dial value border too small; | 
| 227 | 2327 | sjacqu01 | - 2781844 : `XYPointerAnnotation` arrow drawing; | 
| 228 | 2327 | sjacqu01 | - 1937486 : `AreaRenderer` doesn't respect `AreaRendererEndType.LEVEL`; | 
| 229 | 230 | sjacqu01 | |
| 230 | 2327 | sjacqu01 | Also fixed: | 
| 231 | 2327 | sjacqu01 | - use of simple label offset in `PiePlot`; | 
| 232 | 2327 | sjacqu01 | - cached `minY` and `maxY` in `TimeSeries.createCopy()`; | 
| 233 | 2327 | sjacqu01 | - scaling issues for charts copied to the clipboard; | 
| 234 | 2327 | sjacqu01 | - use of timezone in `TimeTableXYDataset` constructor; | 
| 235 | 2327 | sjacqu01 | - duplicate series names in `XYSeriesCollection`; | 
| 236 | 2327 | sjacqu01 | - `HistogramDataset` fires a change event in `addSeries()`; | 
| 237 | 2327 | sjacqu01 | - check visibility of main chart title before drawing it; | 
| 238 | 2327 | sjacqu01 | - fixed serialization of `PowerFunction2D`, `NormalDistributionFunction2D`, and `LineFunction2D`; | 
| 239 | 2327 | sjacqu01 | - item label positioning for the `AreaRenderer` class when the plot has an horizontal orientation. | 
| 240 | 230 | sjacqu01 | |
| 241 | 2327 | sjacqu01 | ##### Version 1.0.13 (17-Apr-2009) | 
| 242 | 230 | sjacqu01 | |
| 243 | 2327 | sjacqu01 | > 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.
 | 
| 244 | 230 | sjacqu01 | |
| 245 | 2327 | sjacqu01 | This release contains: | 
| 246 | 230 | sjacqu01 | |
| 247 | 2327 | sjacqu01 | - updates to the `ChartPanel` class to support copying charts to the clipboard, | 
| 248 | 2327 | sjacqu01 | panning and mouse-wheel zooming, and an overlay mechanism that supports | 
| 249 | 2327 | sjacqu01 | crosshairs; | 
| 250 | 2327 | sjacqu01 | - enhancements to the auto-range calculation for axes, providing the ability | 
| 251 | 2327 | sjacqu01 | to use subranges only and also to skip hidden series; | 
| 252 | 2327 | sjacqu01 | - updates for many of the `CategoryItemRenderer` implementations to ensure that | 
| 253 | 2327 | sjacqu01 | they respect the `seriesVisible` flags; | 
| 254 | 2327 | sjacqu01 | - an improvement to the `TimeSeries` class so that it is no longer necessary to | 
| 255 | 2327 | sjacqu01 | specify the time period type in the constructor; | 
| 256 | 2327 | sjacqu01 | - a new `SamplingXYLineRenderer` for improving the performance of time series | 
| 257 | 2327 | sjacqu01 | charts with large datasets; | 
| 258 | 2327 | sjacqu01 | - the `XYSeries/XYSeriesCollection` classes now cache the minimum and maximum | 
| 259 | 2327 | sjacqu01 | data values to improve the performance of charts with large datasets; | 
| 260 | 2327 | sjacqu01 | - entities are now created for the chart, data area and axes, allowing mouse | 
| 261 | 2327 | sjacqu01 | clicks to be detected for these regions; | 
| 262 | 2327 | sjacqu01 | - added a bar alignment factor to the `XYBarRenderer` class; | 
| 263 | 2327 | sjacqu01 | - a new `errorIndicatorStroke` field for the `StatisticalLineAndShapeRenderer` and `XYErrorRenderer` classes; | 
| 264 | 2327 | sjacqu01 | - added a new `HeatMapDataset` interface, `DefaultHeatMapDataset` implementation, | 
| 265 | 2327 | sjacqu01 | and a `HeatMapUtilities` class to make it easier to create heat map charts; | 
| 266 | 2327 | sjacqu01 | - there is a new flag to allow an `XYDataImageAnnotation` to be included in the | 
| 267 | 2327 | sjacqu01 | automatic range calculation for the axes; | 
| 268 | 2327 | sjacqu01 | - additional attributes in the `XYTextAnnotation` class; | 
| 269 | 2327 | sjacqu01 | - added a `sampleFunction2DToSeries()` method to the `DatasetUtilities` class; | 
| 270 | 2327 | sjacqu01 | - some changes to the `ChartPanel` class that help to work around a regression in | 
| 271 | 2327 | sjacqu01 | JRE 1.6.0_10 relating to drawing in XOR mode. Regarding this final point: | 
| 272 | 2327 | sjacqu01 | * the default value for the `useBuffer` flag has changed to true, which means | 
| 273 | 2327 | sjacqu01 | that all charts will, by default, be rendered into an off-screen image | 
| 274 | 2327 | sjacqu01 | before being displayed in the `ChartPanel`; | 
| 275 | 2327 | sjacqu01 | * the zoom rectangle is drawn using XOR mode *only* when the `useBuffer` | 
| 276 | 2327 | sjacqu01 | flag has been set to false. | 
| 277 | 2327 | sjacqu01 | For most usage, this should improve performance (but at the cost of using more | 
| 278 | 2327 | sjacqu01 | memory for each `ChartPanel` used in your application); | 
| 279 | 230 | sjacqu01 | |
| 280 | 2327 | sjacqu01 | ###### Bug Fixes | 
| 281 | 230 | sjacqu01 | |
| 282 | 2327 | sjacqu01 | - 2690293 : Problem with Javascript escape characters; | 
| 283 | 2327 | sjacqu01 | - 2617557 : `StandardDialScale` ignored `tickLabelPaint`; | 
| 284 | 2327 | sjacqu01 | - 2612649 : `Stroke` selection in plot property editor; | 
| 285 | 2327 | sjacqu01 | - 2583891 : `SWTGraphics2D.fillPolygon()` not implemented; | 
| 286 | 2327 | sjacqu01 | - 2564636 : `Month` constructor ignores Locale; | 
| 287 | 2327 | sjacqu01 | - 2502355 : `ChartPanel` sending multiple events; | 
| 288 | 2327 | sjacqu01 | - 2490803 : `PeriodAxis.setRange()` method doesn't take into account that the axis | 
| 289 | 2327 | sjacqu01 | displays whole periods; | 
| 290 | 230 | sjacqu01 | |
| 291 | 2327 | sjacqu01 | In addition, a bug in the `SlidingCategoryDataset` class has been fixed, the | 
| 292 | 2327 | sjacqu01 | correct outline paint is now used by `GradientXYBarPainter`, a new method | 
| 293 | 2327 | sjacqu01 | has been added to the `ImageMapUtilities` class to escape special characters | 
| 294 | 2327 | sjacqu01 | in Javascript strings to avoid problems with the OverLIB and DynamicDrive | 
| 295 | 2327 | sjacqu01 | tooltips, and there are some important fixes in the `LogAxis` class. | 
| 296 | 230 | sjacqu01 | |
| 297 | 2327 | sjacqu01 | This release passes 2110 JUnit tests (0 failures) on JRE 1.6.0_12. | 
| 298 | 230 | sjacqu01 | |
| 299 | 230 | sjacqu01 | |
| 300 | 2327 | sjacqu01 | ##### Version 1.0.12 (31-Dec-2008) | 
| 301 | 230 | sjacqu01 | |
| 302 | 2327 | sjacqu01 | This release adds | 
| 303 | 2327 | sjacqu01 | - support for minor tick marks; | 
| 304 | 2327 | sjacqu01 | - mapping datasets to more than one axis; | 
| 305 | 2327 | sjacqu01 | - an important fix for the `XYSeries` class (relating to the `addOrUpdate()` method); | 
| 306 | 2327 | sjacqu01 | - plus numerous other bug fixes. | 
| 307 | 230 | sjacqu01 | |
| 308 | 2327 | sjacqu01 | This release passes 1996 JUnit test (0 failures) on JRE 1.6.0_10. | 
| 309 | 230 | sjacqu01 | |
| 310 | 2327 | sjacqu01 | ###### API Adjustments | 
| 311 | 2327 | sjacqu01 | - `CategoryPlot` : added `mapDatasetToDomainAxes()` and `mapDatasetToRangeAxes()` methods; | 
| 312 | 2327 | sjacqu01 | - `Month` : added a new constructor `Month(Date, TimeZone, Locale)` and deprecated `Month(Date, TimeZone)`; | 
| 313 | 2327 | sjacqu01 | - `Quarter` : added a new constructor `Quarter(Date, TimeZone, Locale)` and deprecated `Quarter(Date, TimeZone)`; | 
| 314 | 2327 | sjacqu01 | - `XYPlot` : added `mapDatasetToDomainAxes()` and `mapDatasetToRangeAxes()` methods; | 
| 315 | 2327 | sjacqu01 | - `Year` : added a new constructor `Year(Date, TimeZone, Locale)` and deprecated `Year(Date, TimeZone)`; | 
| 316 | 230 | sjacqu01 | |
| 317 | 2327 | sjacqu01 | ###### Bug Fixes | 
| 318 | 2327 | sjacqu01 | - 2471906 : `XYAreaRenderer` with dashed outline - performance problem; | 
| 319 | 2327 | sjacqu01 | - 2452078 : `StackedAreaChart` has gaps; | 
| 320 | 2327 | sjacqu01 | - 2275695 : `NullPointerException` for `SubCategoryAxis` on plot with null dataset; | 
| 321 | 2327 | sjacqu01 | - 2221495 : `XYLineAnnotation` with dashed stroke; | 
| 322 | 2327 | sjacqu01 | - 2216511 : `SWTBarChartDemo1` throws `RuntimeException`; | 
| 323 | 2327 | sjacqu01 | - 2201869 : `DateAxis` tick label position error; | 
| 324 | 2327 | sjacqu01 | - 2121818 : Label link lines for very thin `RingPlot`; | 
| 325 | 2327 | sjacqu01 | - 2113627 : `XYStepRenderer` item labels; | 
| 326 | 2327 | sjacqu01 | - 1955483 : `XYSeries.addOrUpdate()` problem. | 
| 327 | 230 | sjacqu01 | |
| 328 | 2327 | sjacqu01 | Also fixed `StackedXYBarRenderer` which was ignoring the `shadowsVisible` attribute. | 
| 329 | 230 | sjacqu01 | |
| 330 | 230 | sjacqu01 | |
| 331 | 2327 | sjacqu01 | ##### Version 1.0.11 (18-Sep-2008) | 
| 332 | 230 | sjacqu01 | |
| 333 | 2327 | sjacqu01 | This release features: | 
| 334 | 2327 | sjacqu01 | - a new chart theming mechanism to allow charts to be restyled conveniently; | 
| 335 | 2327 | sjacqu01 | - a new `BarPainter` mechanism to enhance the appearance of bar charts; | 
| 336 | 2327 | sjacqu01 | - a new `XYShapeRenderer` class; | 
| 337 | 2327 | sjacqu01 | - a scaling facility for the `XYDrawableAnnotation` for drawing images within specific data coordinates; | 
| 338 | 2327 | sjacqu01 | - some new classes (`XYTaskDataset`, `XYDataImageAnnotation` and `XYTitleAnnotation`); | 
| 339 | 2327 | sjacqu01 | - a modification to the `Year` class to support an extended range; | 
| 340 | 2327 | sjacqu01 | - various bug fixes and API improvements. | 
| 341 | 230 | sjacqu01 | |
| 342 | 2327 | sjacqu01 | There is an important bug fix for the `StackedBarRenderer3D` class (see bug 2031407). | 
| 343 | 230 | sjacqu01 | |
| 344 | 2327 | sjacqu01 | This release passes 1,961 JUnit tests (0 failures) on JRE 1.6.0_07. | 
| 345 | 230 | sjacqu01 | |
| 346 | 2327 | sjacqu01 | ###### API Adjustments | 
| 347 | 2327 | sjacqu01 | - `AbstractRenderer` - added `clearSeriesPaints()` and `clearSeriesStrokes()` methods; | 
| 348 | 2327 | sjacqu01 | - `BarRenderer` - added `shadowPaint` attribute; | 
| 349 | 2327 | sjacqu01 | - `CategoryAxis` - added `getCategoryMiddle()` method; | 
| 350 | 2327 | sjacqu01 | - `CategoryPlot` - added `getRendererCount()` method; | 
| 351 | 2327 | sjacqu01 | - `ChartFactory` - added `get/setChartTheme()` methods; | 
| 352 | 2327 | sjacqu01 | - `ChartPanel` - increased default maximum drawing width and height; | 
| 353 | 2327 | sjacqu01 | - `ChartTheme` - new interface; | 
| 354 | 2327 | sjacqu01 | - `ChartUtilities` - added `applyCurrentTheme()` method; | 
| 355 | 2327 | sjacqu01 | - `CompositeTitle` - added `backgroundPaint` attribute; | 
| 356 | 2327 | sjacqu01 | - `GradientBarPainter` - new class; | 
| 357 | 2327 | sjacqu01 | - `LegendTitle` - added `getWrapper()` method; | 
| 358 | 2327 | sjacqu01 | - `OHLCSeriesCollection` - added `xPosition` attribute; | 
| 359 | 2327 | sjacqu01 | - `PaintScaleLegend` - new subdivisions field; | 
| 360 | 2327 | sjacqu01 | - `PiePlot` - added `autoPopulate` flags, and methods to clear section attributes; | 
| 361 | 2327 | sjacqu01 | - `Plot` - added `setDrawingSupplier()` method; | 
| 362 | 2327 | sjacqu01 | - `RegularTimePeriod` - the `DEFAULT_TIME_ZONE` field has been deprecated in this release; | 
| 363 | 2327 | sjacqu01 | - `RelativeDateFormat` - added methods to control formatting of hours and minutes - see patch 2033092; | 
| 364 | 2327 | sjacqu01 | - `StandardChartTheme` - new class; | 
| 365 | 2327 | sjacqu01 | - `XYItemRendererState` - new methods; | 
| 366 | 2327 | sjacqu01 | - `XYPlot` - added `getRendererCount()` method; | 
| 367 | 2327 | sjacqu01 | - `XYShapeRenderer` - new class; | 
| 368 | 2327 | sjacqu01 | - `XYTaskDataset` - new class. | 
| 369 | 230 | sjacqu01 | |
| 370 | 2327 | sjacqu01 | ###### Patches | 
| 371 | 2327 | sjacqu01 | - 1997549 : Status calls to `XYItemRendererState` [Ulrich Voigt]; | 
| 372 | 2327 | sjacqu01 | - 2006826 : `CompositeTitle` drawing fix; | 
| 373 | 2327 | sjacqu01 | - 2033092 : Additional formatters for `RelativeDateFormat` [Cole Markham]; | 
| 374 | 230 | sjacqu01 | |
| 375 | 2327 | sjacqu01 | ###### Bug Fixes | 
| 376 | 2327 | sjacqu01 | - 1994355 : `ChartComposite` listener type; | 
| 377 | 2327 | sjacqu01 | - 2031407 : Incorrect rendering in `StackedBarRenderer3D`; | 
| 378 | 2327 | sjacqu01 | - 2033721 : `WaferMapRenderer`; | 
| 379 | 2327 | sjacqu01 | - 2051168 : No key in `LegendItemEntity` for pie charts; | 
| 380 | 230 | sjacqu01 | |
| 381 | 2327 | sjacqu01 | Also fixed drawing of alternate grid bands in `SymbolAxis`, the `totalWeight` | 
| 382 | 2327 | sjacqu01 | calculation in the `CombinedXXXPlot` classes, a `NullPointerException` in the | 
| 383 | 2327 | sjacqu01 | `XYPlot` class when drawing quadrants, outline visibility in the | 
| 384 | 2327 | sjacqu01 | `CategoryPlot` class, and auto-range calculations with `XYBarRenderer`. | 
| 385 | 230 | sjacqu01 | |
| 386 | 2327 | sjacqu01 | ##### Version 1.0.10 (8-Jun-2008) | 
| 387 | 230 | sjacqu01 | |
| 388 | 2327 | sjacqu01 | This release contains various bug fixes and minor enhancements to JFreeChart. | 
| 389 | 2327 | sjacqu01 | |
| 390 | 2327 | sjacqu01 | - PiePlot labelling has been enhanced (new curve options, and more robust bounds checking); | 
| 391 | 2327 | sjacqu01 | - The BoxAndWhiskerRenderer now has a maximumBarWidth attribute; | 
| 392 | 2327 | sjacqu01 | - the XYStepRenderer has a new stepPoint attribute; | 
| 393 | 2327 | sjacqu01 | - The RelativeDateFormat class has new options; | 
| 394 | 2327 | sjacqu01 | - 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 | 2327 | sjacqu01 | - There is a new ShortTextTitle class. | 
| 396 | 2327 | sjacqu01 | |
| 397 | 2327 | sjacqu01 | This release passes 1,929 JUnit tests (0 failures) on JRE 1.6.0_03. | 
| 398 | 2327 | sjacqu01 | |
| 399 | 2327 | sjacqu01 | ###### API Adjustments: | 
| 400 | 2327 | sjacqu01 | |
| 401 | 2327 | sjacqu01 | - BoxAndWhiskerRenderer - added maximumBarWidth attribute (see patch 1866446); | 
| 402 | 2327 | sjacqu01 | - ChartPanel - the zoomPoint attribute has been changed from Point to Point2D; | 
| 403 | 2327 | sjacqu01 | - DatasetUtilities - iterateCategoryRangeBounds() is deprecated, the method has been renamed iterateRangeBounds(CategoryDataset) for consistency; | 
| 404 | 2327 | sjacqu01 | - DefaultKeyedValue - the constructor now prevents a null key; | 
| 405 | 2327 | sjacqu01 | - LogFormat - now has a 'powerLabel' attribute; | 
| 406 | 2327 | sjacqu01 | - ShortTextTitle - a new title class; | 
| 407 | 2327 | sjacqu01 | - SlidingCategoryDataset - new class; | 
| 408 | 2327 | sjacqu01 | - SlidingGanttDataset - new class; | 
| 409 | 2327 | sjacqu01 | - TimeSeriesCollection - getSeries(String) changed to getSeries(Comparable); | 
| 410 | 2327 | sjacqu01 | - XIntervalSeriesCollection - added series removal methods; | 
| 411 | 2327 | sjacqu01 | - YIntervalSeriesCollection - added series removal methods; | 
| 412 | 2327 | sjacqu01 | - XYIntervalSeriesCollection - added series removal methods; | 
| 413 | 2327 | sjacqu01 | |
| 414 | 2327 | sjacqu01 | `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 | 2327 | sjacqu01 | |
| 416 | 2327 | sjacqu01 | ###### Patches | 
| 417 | 2327 | sjacqu01 | |
| 418 | 2327 | sjacqu01 | - 1943021 : Fix for MultiplePiePlot [Brian Cabana]; | 
| 419 | 2327 | sjacqu01 | - 1925366 : Speed improvement for DatasetUtilities [Rafal Skalny]; | 
| 420 | 2327 | sjacqu01 | - 1918209 : LogAxis createTickLabel() changed from private to protected [Andrew Mickish]; | 
| 421 | 2327 | sjacqu01 | - 1914411 : Simplification of plot event notification [Richard West]; | 
| 422 | 2327 | sjacqu01 | - 1913751 : XYPlot and CategoryPlot addMarker() methods with optional notification [Richard West]; | 
| 423 | 2327 | sjacqu01 | - 1902418 : Bug fix for LogAxis vertical labels [Andrew Mickish]; | 
| 424 | 2327 | sjacqu01 | - 1901599 : Fixes for XYTitleAnnotation [Andrew Mickish]; | 
| 425 | 2327 | sjacqu01 | - 1891849 : New curve option for pie chart label links [Martin Hilpert]; | 
| 426 | 2327 | sjacqu01 | - 1874890 : Added step point to XYStepRenderer [Ulrich Voigt]; | 
| 427 | 2327 | sjacqu01 | - 1873328 : Enhancements to RelativeDateFormat [Michael Siemer]; | 
| 428 | 2327 | sjacqu01 | - 1871902 : PolarPlot now has angleTickUnit attribute [Martin Hoeller]; | 
| 429 | 2327 | sjacqu01 | - 1868745 : Fix label anchor points on LogAxis [Andrew Mickish]; | 
| 430 | 2327 | sjacqu01 | - 1866446 : Added maximumBarWidth to BoxAndWhiskerRenderer [Rob Van der Sanden]; | 
| 431 | 2327 | sjacqu01 | |
| 432 | 2327 | sjacqu01 | ###### Bug Fixes | 
| 433 | 2327 | sjacqu01 | |
| 434 | 2327 | sjacqu01 | - 1932146 - PeriodAxis.setRange() doesn't notify listeners; | 
| 435 | 2327 | sjacqu01 | - 1927239 - Fix calculation of cumulative range; | 
| 436 | 2327 | sjacqu01 | - 1926517 - Bugs in data range calculation for combined plots; | 
| 437 | 2327 | sjacqu01 | - 1920854 - PiePlot3D labels drawn multiple times; | 
| 438 | 2327 | sjacqu01 | - 1897580 - Fix for DefaultIntervalCategoryDataset; | 
| 439 | 2327 | sjacqu01 | - 1892419 - Wrong default for minor tick count in LogAxis; | 
| 440 | 2327 | sjacqu01 | - 1880114 - VectorRenderer doesn't work for horizontal plot orientation; | 
| 441 | 2327 | sjacqu01 | - 1873160 - DialPlot clipping issues; | 
| 442 | 2327 | sjacqu01 | - 1868521 - Problem saving charts to JPEG format; | 
| 443 | 2327 | sjacqu01 | - 1864222 - Error on TimeSeries createCopy() method; | 
| 444 | 2327 | sjacqu01 | |
| 445 | 2327 | sjacqu01 | The `DatasetUtilities.sampleFunction2D()` has been changed to sample the correct | 
| 446 | 2327 | sjacqu01 | number of points - you should check any code that calls this method. The | 
| 447 | 2327 | sjacqu01 | `XYBlockRenderer` class now generates entities. Bugs in the `removeDomainMarker()` | 
| 448 | 2327 | sjacqu01 | and `removeRangeMarker()` methods in the `CategoryPlot` and `XYPlot` classes have | 
| 449 | 2327 | sjacqu01 | been fixed. A bug in the `TimePeriodValues` range calculation has been fixed. | 
| 450 | 2327 | sjacqu01 | Fixes were applied to the `clone()` methods in the `TaskSeries` and | 
| 451 | 2327 | sjacqu01 | `TaskSeriesCollection` classes. | 
| 452 | 2327 | sjacqu01 | |
| 453 | 2327 | sjacqu01 | ###### New Experimental Features | 
| 454 | 2327 | sjacqu01 | |
| 455 | 2327 | sjacqu01 | Two new classes `CombinedCategoryPlot` and `CombinedXYPlot` have been added to the | 
| 456 | 2327 | sjacqu01 | 'experimental' source tree - these were contributed by Richard West (see | 
| 457 | 2327 | sjacqu01 | patch 1924543). | 
| 458 | 2327 | sjacqu01 | |
| 459 | 2327 | sjacqu01 | ##### Version 1.0.9 (4-Jan-2008) | 
| 460 | 2327 | sjacqu01 | |
| 461 | 2327 | sjacqu01 | This release contains an important security patch as well as various bug fixes | 
| 462 | 2327 | sjacqu01 | and minor enhancements. Regarding the security patch, please see the | 
| 463 | 2327 | sjacqu01 | following advisory: | 
| 464 | 2327 | sjacqu01 | |
| 465 | 2327 | sjacqu01 | http://www.rapid7.com/advisories/R7-0031.jsp | 
| 466 | 2327 | sjacqu01 | |
| 467 | 2327 | sjacqu01 | Note that the fix incorporated in the special JFreeChart 1.0.8a release was | 
| 468 | 2327 | sjacqu01 | flawed in that it broke the URLs in the HTML image maps generated by | 
| 469 | 2327 | sjacqu01 | JFreeChart. Further amendments have been made in this release to fix this | 
| 470 | 2327 | sjacqu01 | problem. | 
| 471 | 2327 | sjacqu01 | |
| 472 | 2327 | sjacqu01 | ###### API Adjustments | 
| 473 | 2327 | sjacqu01 | |
| 474 | 2327 | sjacqu01 | A number of classes have new methods. Nothing has been removed or deprecated: | 
| 475 | 2327 | sjacqu01 | |
| 476 | 2327 | sjacqu01 | - HashUtilities - added hashCode() methods for BooleanList, PaintList and StrokeList; | 
| 477 | 2327 | sjacqu01 | - ImageMapUtilities - added htmlEscape(String); | 
| 478 | 2327 | sjacqu01 | - IntervalMarker - added new constructor; | 
| 479 | 2327 | sjacqu01 | - Range - added intersects(Range) and scale(Range, double); | 
| 480 | 2327 | sjacqu01 | - TextTitle - added protected methods arrangeNN(), arrangeFN() and arrangeRN(); | 
| 481 | 2327 | sjacqu01 | - XYDataItem - added getXValue() and getYValue() methods; | 
| 482 | 2327 | sjacqu01 | - XYPlot - added setFixedDomainAxisSpace(AxisSpace, boolean) and setFixedRangeAxisSpace(AxisSpace, boolean); | 
| 483 | 2327 | sjacqu01 | - XYSeriesCollection - added getSeries(Comparable) method. | 
| 484 | 2327 | sjacqu01 | |
| 485 | 2327 | sjacqu01 | ###### Bug Fixes | 
| 486 | 2327 | sjacqu01 | |
| 487 | 2327 | sjacqu01 | - 1852525 - CandlestickChart.getCategoryPlot() - ClassCastException; | 
| 488 | 2327 | sjacqu01 | - 1851416 - testGetFirstMillisecondWithTimeZone fails in 1.0.8a; | 
| 489 | 2327 | sjacqu01 | - 1849333 - 1.0.8a breaks URLs in HTML image maps; | 
| 490 | 2327 | sjacqu01 | - 1848961 - GroupedStackedBarRenderer works only for primary dataset; | 
| 491 | 2327 | sjacqu01 | - 1846063 - Endless loop in paint of XYPlot; | 
| 492 | 2327 | sjacqu01 | - 1840139 - Cross-site scripting vulnerabilities in image map code; | 
| 493 | 2327 | sjacqu01 | - 1837979 - Background image not shown with SWT; | 
| 494 | 2327 | sjacqu01 | - 1460195 - ChartEntity.getImageMapAreaTag() needs nohref; | 
| 495 | 2327 | sjacqu01 | - 1400917 - OverLIBToolTipTagFragmentGenerator not escaping single quote; | 
| 496 | 2327 | sjacqu01 | - 1363043 - Escape Image Map Data; | 
| 497 | 2327 | sjacqu01 | - 1178601 - AbstractRenderer.hashcode() method returns the same value; | 
| 498 | 2327 | sjacqu01 | |
| 499 | 2327 | sjacqu01 | In addition, a bug in the constructor for the Week class has been fixed. | 
| 500 | 2327 | sjacqu01 | |
| 501 | 2327 | sjacqu01 | ##### Version 1.0.8 (23-Nov-2007) | 
| 502 | 2327 | sjacqu01 | This release is primarily a bug fix release: | 
| 503 | 2327 | sjacqu01 | - a problem with pie chart labeling; | 
| 504 | 2327 | sjacqu01 | - a regression in the `DefaultCategoryDataset` class (and underlying `KeyedValues2D` class); | 
| 505 | 2327 | sjacqu01 | - a cloning bug in the `TimeSeries` class. | 
| 506 | 2327 | sjacqu01 | |
| 507 | 2327 | sjacqu01 | In addition: | 
| 508 | 2327 | sjacqu01 | - the `StatisticalBarRenderer` class has a new `errorIndicatorStroke` field and has been updated to support gradients; | 
| 509 | 2327 | sjacqu01 | - the `StandardDialScale` has had some missing accessor methods implemented; | 
| 510 | 2327 | sjacqu01 | - an override field in the `StandardXYItemRenderer` class has been deprecated; | 
| 511 | 2327 | sjacqu01 | - some warnings reported by FindBugs 1.3.0 have been addressed. | 
| 512 | 2327 | sjacqu01 | |
| 513 | 2327 | sjacqu01 | ##### Version 1.0.7 (14-Nov-2007) | 
| 514 | 2327 | sjacqu01 | This release features | 
| 515 | 2327 | sjacqu01 | - new classes `DialPlot` and `LogAxis` (previously in experimental); | 
| 516 | 2327 | sjacqu01 | - initial support for minor tick units; | 
| 517 | 2327 | sjacqu01 | - a new anchored zooming option for the `ChartPanel` class; | 
| 518 | 2327 | sjacqu01 | - optional simple labeling on pie charts; | 
| 519 | 2327 | sjacqu01 | - improvements to the "statistical" datasets and underlying data structures; | 
| 520 | 2327 | sjacqu01 | - and numerous bug fixes. | 
| 521 | 2327 | sjacqu01 | |
| 522 | 2327 | sjacqu01 | ###### API Adjustments | 
| 523 | 2327 | sjacqu01 | |
| 524 | 2327 | sjacqu01 | - `CategoryAxis` - added `getCategorySeriesMiddle()` method; | 
| 525 | 2327 | sjacqu01 | - `CategoryPlot` - added methods to remove markers; | 
| 526 | 2327 | sjacqu01 | - `ChartPanel` - added `defaultDirectoryForSaveAs` attribute; | 
| 527 | 2327 | sjacqu01 | - `DialPlot` - new class, an alternative to `MeterPlot`; | 
| 528 | 2327 | sjacqu01 | - `LogAxis` - new class, an alternative to `LogarithmicAxis`; | 
| 529 | 2327 | sjacqu01 | - `NumberTick` - new constructor that allows specification of the tick type; | 
| 530 | 2327 | sjacqu01 | - `NumberTickUnit` - new constructor to specify the minor tick count; | 
| 531 | 2327 | sjacqu01 | - `SymbolAxis` - new methods `get/setGridBandAlternatePaint()`; | 
| 532 | 2327 | sjacqu01 | - `TickType` - new class; | 
| 533 | 2327 | sjacqu01 | - `TickUnit` - added `minorTickCount` attribute; | 
| 534 | 2327 | sjacqu01 | - `ValueTick` - added `tickType` attribute; | 
| 535 | 2327 | sjacqu01 | - `StandardPieSectionLabelGenerator` - new constructors accepting a Locale; | 
| 536 | 2327 | sjacqu01 | - `StandardPieToolTipGenerator` - likewise; | 
| 537 | 2327 | sjacqu01 | - `CategoryPlot` - added `getRangeAxisIndex()`, `zoomDomainAxes()` and `zoomRangeAxes()` methods; | 
| 538 | 2327 | sjacqu01 | - `FastScatterPlot` - added new zooming methods; | 
| 539 | 2327 | sjacqu01 | - `PiePlot` - new attributes to support simple labeling; | 
| 540 | 2327 | sjacqu01 | - `PlotUtilities` - new class; | 
| 541 | 2327 | sjacqu01 | - `PolarPlot` - added new zooming methods; | 
| 542 | 2327 | sjacqu01 | - `ThermometerPlot` - likewise; | 
| 543 | 2327 | sjacqu01 | - `XYPlot` - added methods to remove markers (patch 1823697--same as for `CategoryPlot`), and added new zooming methods; | 
| 544 | 2327 | sjacqu01 | - `Zoomable` - added new zooming methods to this interface; | 
| 545 | 2327 | sjacqu01 | - `LineAndShapeRenderer` - added `useSeriesOffset` and `itemMargin` attributes; | 
| 546 | 2327 | sjacqu01 | - `MinMaxCategoryRenderer` - implemented `equals()`; | 
| 547 | 2327 | sjacqu01 | - `XYSplineAndShapeRenderer` - new class; | 
| 548 | 2327 | sjacqu01 | - `LogFormat` - new class; | 
| 549 | 2327 | sjacqu01 | - `ChartFactory` - new pie and ring chart creation methods that accept a `Locale`; | 
| 550 | 2327 | sjacqu01 | - `ChartPanel` - added `zoomAroundAnchor` attribute; | 
| 551 | 2327 | sjacqu01 | - `Series` - added `isEmpty()` method; | 
| 552 | 2327 | sjacqu01 | - `BoxAndWhiskerItem` - new convenience constructor; | 
| 553 | 2327 | sjacqu01 | - `DefaultBoxAndWhiskerCategoryDataset` - new remove methods; | 
| 554 | 2327 | sjacqu01 | - `DefaultStatisticalCategoryDataset` - likewise; | 
| 555 | 2327 | sjacqu01 | - `MeanAndStandardDeviation` - added new value accessor methods; | 
| 556 | 2327 | sjacqu01 | - `TimeTableXYDataset` - added `clear()` method; | 
| 557 | 2327 | sjacqu01 | - `Week` - added new constructor; | 
| 558 | 2327 | sjacqu01 | - `KeyedObjects` - added `insertValue()` and `clear()` methods; | 
| 559 | 2327 | sjacqu01 | - `KeyedObjects2D` - added `clear()` method. | 
| 560 | 2327 | sjacqu01 | |
| 561 | 2327 | sjacqu01 | ###### Patches | 
| 562 | 2327 | sjacqu01 | |
| 563 | 2327 | sjacqu01 | - 1823724 - updated `XYDifferenceRenderer` to support item labels; | 
| 564 | 2327 | sjacqu01 | - 1827829 - fixed possible `NullPointerException` in `XYBarRenderer`; | 
| 565 | 2327 | sjacqu01 | |
| 566 | 2327 | sjacqu01 | ###### Bug Fixes | 
| 567 | 2327 | sjacqu01 | |
| 568 | 2327 | sjacqu01 | - 1767315 - `GrayPaintScale.getPaint()` uses wrong value; | 
| 569 | 2327 | sjacqu01 | - 1775452 - Inverted `XYBarRenderer` does not render margins correctly; | 
| 570 | 2327 | sjacqu01 | - 1802195 - `Marker.listenerList` serializable; | 
| 571 | 2327 | sjacqu01 | - 1779941 - `StatisticalBarRenderer` NPE; | 
| 572 | 2327 | sjacqu01 | - 1766646 - `XYBlockRenderer` can't handle empty datasets; | 
| 573 | 2327 | sjacqu01 | - 1763413 - `PeriodAxis` labels fail to display with setInverted; | 
| 574 | 2327 | sjacqu01 | - 1737953 - Zoom doesn't work on `LogAxis` (Demo1); | 
| 575 | 2327 | sjacqu01 | - 1749124 - `JFreeChart` not added as `TitleChangeListener`; | 
| 576 | 2327 | sjacqu01 | |
| 577 | 2327 | sjacqu01 | ##### Version 1.0.6 (15-Jun-2007) | 
| 578 | 2327 | sjacqu01 | This release features: | 
| 579 | 2327 | sjacqu01 | - a new `VectorRenderer` (previously in experimental); | 
| 580 | 2327 | sjacqu01 | - a generalised `XYDifferenceRenderer`; | 
| 581 | 2327 | sjacqu01 | - better support for hotspots on legend items; | 
| 582 | 2327 | sjacqu01 | - improved performance for time series charts displaying subsets of data; | 
| 583 | 2327 | sjacqu01 | - support for `GradientPaint` in plot backgrounds; | 
| 584 | 2327 | sjacqu01 | - plus the usual slew of bug fixes and minor feature additions. | 
| 585 | 2327 | sjacqu01 | |
| 586 | 2327 | sjacqu01 | ###### API Adjustments | 
| 587 | 2327 | sjacqu01 | |
| 588 | 2327 | sjacqu01 | - `CategoryItemEntity` - replaced row and column index attributes with row and column key attributes; | 
| 589 | 2327 | sjacqu01 | - `CategoryItemRenderer` - numerous series override settings have been deprecated; | 
| 590 | 2327 | sjacqu01 | - `DefaultPieDataset` - added `insertValues()` method; | 
| 591 | 2327 | sjacqu01 | - `HexNumberFormat` - new class; | 
| 592 | 2327 | sjacqu01 | - `LegendItem` - added dataset and seriesKey attributes; | 
| 593 | 2327 | sjacqu01 | - `Plot` - added new `fillBackground()` method to support `GradientPaint`, and added `is/setOutlineVisible()` methods; | 
| 594 | 2327 | sjacqu01 | - `QuarterDateFormat` - added `GREEK_QUARTERS` field plus a new constructor; | 
| 595 | 2327 | sjacqu01 | - `SimpleHistogramDataset` - added `clearObservations()` and `removeAllBins()` methods; | 
| 596 | 2327 | sjacqu01 | - `TimeSeriesCollection` - added `indexOf()` method; | 
| 597 | 2327 | sjacqu01 | - `URLUtilities` - new class; | 
| 598 | 2327 | sjacqu01 | - `XYItemRenderer` - numerous series override settings have been deprecated; | 
| 599 | 2327 | sjacqu01 | - `XYSeriesCollection` - added indexOf() method. | 
| 600 | 2327 | sjacqu01 | |
| 601 | 2327 | sjacqu01 | ###### Bug Fixes | 
| 602 | 2327 | sjacqu01 | |
| 603 | 2327 | sjacqu01 | - 1735508 - `ClusteredXYBarRenderer` fails with inverted x-axis; | 
| 604 | 2327 | sjacqu01 | - 1726404 - `ChartComposite` tooltips; | 
| 605 | 2327 | sjacqu01 | - 1713474 - `StackedBarRenderer3D` doesn't fill shadows; | 
| 606 | 2327 | sjacqu01 | - 1713401 - `StackedBarRenderer3D` doesn't check `drawBarOutline` flag; | 
| 607 | 2327 | sjacqu01 | - 1701822 - `DefaultBoxAndWhiskerCategoryDataset` doesn't follow contracts; | 
| 608 | 2327 | sjacqu01 | - 1698965 - NPE in `CombinedDomainXYPlot`; | 
| 609 | 2327 | sjacqu01 | - 1690994 - `HideSeriesDemo1` does not work; | 
| 610 | 2327 | sjacqu01 | - 1690654 - Bug in `removeValue()` of `DefaultKeyedValues2D`; | 
| 611 | 2327 | sjacqu01 | - 1562701 - `LegendItemEntity` needs dataset index; | 
| 612 | 2327 | sjacqu01 | - 1486299 - Use `URLEncoder.encode()` for URL generators; | 
| 613 | 2327 | sjacqu01 | |
| 614 | 2327 | sjacqu01 | Plus the following bugs that didn't have entries in the database: | 
| 615 | 2327 | sjacqu01 | |
| 616 | 2327 | sjacqu01 | - `BarRenderer` - check for series visibility in `getLegendItem()`; | 
| 617 | 2327 | sjacqu01 | - `ChartPanel` - use correct insets for painting chart buffer to screen, update UI for popup menu if LookAndFeel changes; | 
| 618 | 2327 | sjacqu01 | - `DateAxis` - fixed boundary cases for `previousStandardDate()` method; | 
| 619 | 2327 | sjacqu01 | - `LineBorder` - only draw border if area has positive dimensions; | 
| 620 | 2327 | sjacqu01 | - `JFreeChart` - should register as a listener with the default legend; | 
| 621 | 2327 | sjacqu01 | - `StandardXYItemRenderer` - fixed a problem where chart entities are created for non-visible items; | 
| 622 | 2327 | sjacqu01 | - `TimePeriodValuesCollection.getDomainBounds()` now computes the bounds correctly; | 
| 623 | 2327 | sjacqu01 | - `XYLineAndShapeRenderer` - fixed a problem where chart entities are created for non-visible items; | 
| 624 | 2327 | sjacqu01 | - `XYLine3DRenderer` - `equals()` implemented, and serialization fixed; | 
| 625 | 2327 | sjacqu01 | - `XYTitleAnnotation` - fixed `equals()` method; | 
| 626 | 2327 | sjacqu01 | - various resource usage bugs in the experimental `ChartComposite` class; | 
| 627 | 2327 | sjacqu01 | |
| 628 | 2327 | sjacqu01 | ##### Version 1.0.5 (23-Mar-2007) | 
| 629 | 2327 | sjacqu01 | This release features: | 
| 630 | 2327 | sjacqu01 | - a new `DeviationRenderer` class; | 
| 631 | 2327 | sjacqu01 | - support for item labels in `StackedXYBarRenderer`; | 
| 632 | 2327 | sjacqu01 | - tooltips and URLs in the `CategoryStepRenderer`; and | 
| 633 | 2327 | sjacqu01 | - many bug fixes. | 
| 634 | 2327 | sjacqu01 | |
| 635 | 2327 | sjacqu01 | ###### API Adjustments | 
| 636 | 2327 | sjacqu01 | |
| 637 | 2327 | sjacqu01 | - `AbstractCategoryItemRenderer` - added `createState()` method; | 
| 638 | 2327 | sjacqu01 | - `StackedXYBarRenderer` - added `get/setRenderAsPercentages()` methods; | 
| 639 | 2327 | sjacqu01 | - `XYIntervalSeries` - added `getXLowValue()`, `getXHighValue()`, `getYLowValue()` and `getYHighValue()`; | 
| 640 | 2327 | sjacqu01 | - `YIntervalSeries` - added `getYLowValue()` and `getYHighValue()` methods; | 
| 641 | 2327 | sjacqu01 | |
| 642 | 2327 | sjacqu01 | ###### Bug Fixes | 
| 643 | 2327 | sjacqu01 | |
| 644 | 2327 | sjacqu01 | - 1681777 - `DefaultCategoryDataset` does not clone data; | 
| 645 | 2327 | sjacqu01 | - 1672552 - Zoom rectangle is lost when the chart is repainted; | 
| 646 | 2327 | sjacqu01 | - 1671645 - `Crosshair` incorrectly positioned in horizontal orientation; | 
| 647 | 2327 | sjacqu01 | - 1669302 - Tick labels in vertical symbol axis; | 
| 648 | 2327 | sjacqu01 | - 1669218 - `CategoryPlot.setDomainAxisLocation()` ignores parameter; | 
| 649 | 2327 | sjacqu01 | - 1667750 - Clip region not restored in `Spider` and `MeterPlot`; | 
| 650 | 2327 | sjacqu01 | - 1663380 - OutputStream not closed; | 
| 651 | 2327 | sjacqu01 | - 1659627 - `IntervalMarker` with `Double.POSITIVE_INFINITY` bound; | 
| 652 | 2327 | sjacqu01 | - 1647269 - `IntervalMarker` with `Double.MAX_VALUE as upper` bound; | 
| 653 | 2327 | sjacqu01 | - 1594477 - `XYBarRenderer` does not render bars on `LogarithmicAxis`; | 
| 654 | 2327 | sjacqu01 | - 1459958 - Log axis zoom function problem; | 
| 655 | 2327 | sjacqu01 | - 880597 - Zooming `ChartPanel` with log axes; | 
| 656 | 2327 | sjacqu01 | - 764561 - Dynamic chart zoom buggy. | 
| 657 | 2327 | sjacqu01 | |
| 658 | 2327 | sjacqu01 | Also fixed numerous bugs in equals(), cloning and serialization implementations. | 
| 659 | 2327 | sjacqu01 | |
| 660 | 2327 | sjacqu01 | ##### Version 1.0.4 (9-Feb-2007) | 
| 661 | 2327 | sjacqu01 | |
| 662 | 2327 | sjacqu01 | This release features: | 
| 663 | 2327 | sjacqu01 | - a new `XYBlockRenderer` class; | 
| 664 | 2327 | sjacqu01 | - URLs for pie chart labels in HTML image maps; | 
| 665 | 2327 | sjacqu01 | - a new dataset implementation for open-high-low-close charts; | 
| 666 | 2327 | sjacqu01 | - support for gradient paint in `ClusteredXYBarRenderer`, `StackedXYBarRenderer` and legend graphics; | 
| 667 | 2327 | sjacqu01 | - a new anchor attribute for `XYImageAnnotation`; | 
| 668 | 2327 | sjacqu01 | - improvements to the experimental SWT support; plus | 
| 669 | 2327 | sjacqu01 | - a number of additions to the API for usability; and | 
| 670 | 2327 | sjacqu01 | - many bug fixes. | 
| 671 | 2327 | sjacqu01 | |
| 672 | 2327 | sjacqu01 | ###### API Adjustments | 
| 673 | 2327 | sjacqu01 | |
| 674 | 2327 | sjacqu01 | - `DateAxis` - added `get/setTimeZone()` methods; | 
| 675 | 2327 | sjacqu01 | - `DefaultXYDataset` - now implements `PublicCloneable`; | 
| 676 | 2327 | sjacqu01 | - `StackedXYAreaRenderer2` - added `get/setRoundXValues()` methods; | 
| 677 | 2327 | sjacqu01 | - `StandardXYItemLabelGenerator` - added new constructor; | 
| 678 | 2327 | sjacqu01 | - `StandardXYToolTipGenerator` - added new constructor; | 
| 679 | 2327 | sjacqu01 | - `XYBarDataset` - added `getUnderlyingDataset()` and `get/setBarWidth()` methods; | 
| 680 | 2327 | sjacqu01 | - `XYDifferenceRenderer` - added `roundXCoordinates` attribute; | 
| 681 | 2327 | sjacqu01 | - `XYImageAnnotation` - added an image anchor attribute, a new constructor, and several accessor methods; | 
| 682 | 2327 | sjacqu01 | - `XYSeries` - added `toArray()` method; | 
| 683 | 2327 | sjacqu01 | |
| 684 | 2327 | sjacqu01 | ###### Bug Fixes | 
| 685 | 2327 | sjacqu01 | |
| 686 | 2327 | sjacqu01 | - 1654215 - `XYPlot` renderer with no corresponding dataset; | 
| 687 | 2327 | sjacqu01 | - 1652640 - `RangeMarkers` do not update properly; | 
| 688 | 2327 | sjacqu01 | - 1649686 - `Crosshairs` for `StackedXYAreaRenderer`; | 
| 689 | 2327 | sjacqu01 | - 1647749 - `IllegalArgumentException` in `SWTAxisEditor`; | 
| 690 | 2327 | sjacqu01 | - 1644877 - Replacing series data in `DefaultXYDataset`; | 
| 691 | 2327 | sjacqu01 | - 1644010 - `DateAxis.nextStandardDate()` ignores timezone; | 
| 692 | 2327 | sjacqu01 | - 1638678 - `DateAxis` code uses the default calendar; | 
| 693 | 2327 | sjacqu01 | - 1629382 - Tests fail for jfreechart-1.0.3; | 
| 694 | 2327 | sjacqu01 | - 1624067 - `StandardXYToolTipGenerator` missing constructor; | 
| 695 | 2327 | sjacqu01 | - 1616583 - Serialize `ChartDeleter`; | 
| 696 | 2327 | sjacqu01 | - 1612770 - Popup menu in wrong position for SWT `ChartComposite`; | 
| 697 | 2327 | sjacqu01 | - 1611872 - `Minute.previous()` returns null for minute == 0; | 
| 698 | 2327 | sjacqu01 | - 1608371 - Tick labels overlap with custom `NumberFormat`; | 
| 699 | 2327 | sjacqu01 | - 1606205 - Draw shared axis last on combined plots; | 
| 700 | 2327 | sjacqu01 | - 1605207 - `IntervalMarker` exceeds bounds of data area; | 
| 701 | 2327 | sjacqu01 | - 1605202 - `SpiderWebPlot` method access; | 
| 702 | 2327 | sjacqu01 | - 1599652 - Inverted `StackedBar3D` problem; | 
| 703 | 2327 | sjacqu01 | - 1598394 - `XYBarDataset` hiding its proxied object; | 
| 704 | 2327 | sjacqu01 | - 1564967 - Crosshairs on `XYDifferenceRenderer`; | 
| 705 | 2327 | sjacqu01 | - 1245305 - `NullPointerException` in `writeImageMap()`; | 
| 706 | 2327 | sjacqu01 | - 1086307 - Crosshairs on plots with multiple axes. | 
| 707 | 2327 | sjacqu01 | |
| 708 | 2327 | sjacqu01 | Also fixed numerous bugs in `equals()` and `clone()` methods throughout the API. | 
| 709 | 2327 | sjacqu01 | |
| 710 | 2327 | sjacqu01 | ##### Version 1.0.3 (17-Nov-2006) | 
| 711 | 2327 | sjacqu01 | |
| 712 | 2327 | sjacqu01 | This release features: | 
| 713 | 2327 | sjacqu01 | - several new `IntervalXYDataset` implementations; | 
| 714 | 2327 | sjacqu01 | - some significant refactoring of the time period classes (to improve performance and correctness); | 
| 715 | 2327 | sjacqu01 | - modifications to the `PiePlot` class to support reordering of dataset items; | 
| 716 | 2327 | sjacqu01 | - a new event mechanism to allow updating of markers, plus | 
| 717 | 2327 | sjacqu01 | - many other enhancements, bug fixes and documentation updates. | 
| 718 | 2327 | sjacqu01 | |
| 719 | 2327 | sjacqu01 | A new `DialPlot` implementation has been added to the 'experimental' sources. | 
| 720 | 2327 | sjacqu01 | We are looking for people to test this code and provide feedback, so that we | 
| 721 | 2327 | sjacqu01 | can stabilize the API and add this code to the main JFreeChart API. | 
| 722 | 2327 | sjacqu01 | |
| 723 | 2327 | sjacqu01 | ###### API adjustments | 
| 724 | 2327 | sjacqu01 | |
| 725 | 2327 | sjacqu01 | The following adjustments have been made to the API: | 
| 726 | 2327 | sjacqu01 | |
| 727 | 2327 | sjacqu01 | - `CategoryLabelEntity` - new class; | 
| 728 | 2327 | sjacqu01 | - `CategoryPointerAnnotation` - new class; | 
| 729 | 2327 | sjacqu01 | - `ChartPanel`: added new public method `doEditChartProperties()`; | 
| 730 | 2327 | sjacqu01 | - `ComparableObjectItem`, `ComparableObjectSeries` - new classes; | 
| 731 | 2327 | sjacqu01 | - `CrosshairState`: added several new accessor methods; | 
| 732 | 2327 | sjacqu01 | - `DefaultPieDataset`: added `sortByKeys()` and `sortByValues()` methods; | 
| 733 | 2327 | sjacqu01 | - `Markers`: a change event mechanism has been added to the `Marker` class and its subclasses; | 
| 734 | 2327 | sjacqu01 | - `StackedAreaRenderer`: added `get/setRenderAsPercentages()` methods; | 
| 735 | 2327 | sjacqu01 | - `XIntervalDataItem`, `XIntervalSeries` and `XIntervalSeriesCollection` - new classes; | 
| 736 | 2327 | sjacqu01 | - `XYErrorRenderer`: new class; | 
| 737 | 2327 | sjacqu01 | - `XYInterval`, `XYIntervalDataItem`, `XYIntervalSeries` and `XYIntervalSeriesCollection` - new classes; | 
| 738 | 2327 | sjacqu01 | - `YInterval`, `YIntervalDataItem`, `YIntervalSeries`, `YIntervalSeriesCollection` and `YWithXInterval` - new classes. | 
| 739 | 2327 | sjacqu01 | |
| 740 | 2327 | sjacqu01 | ###### Bug Fixes | 
| 741 | 2327 | sjacqu01 | |
| 742 | 2327 | sjacqu01 | - 1578293 - Unused methods in `JDBCXYDataset`; | 
| 743 | 2327 | sjacqu01 | - 1572478 - `BoxAndWhiskerRenderer` potential `NullPointerException`; | 
| 744 | 2327 | sjacqu01 | - 1569094 - `XYStepRenderer` with horizontal orientation; | 
| 745 | 2327 | sjacqu01 | - 1565168 - Crosshair position incorrect; | 
| 746 | 2327 | sjacqu01 | - 1564977 - `DateAxis` missing initial tick label; | 
| 747 | 2327 | sjacqu01 | - 1562759 - `StatisticalLineAndShapeRenderer` constructor ignores arguments; | 
| 748 | 2327 | sjacqu01 | - 1557141 - Bad locale in `ServletUtilities`; | 
| 749 | 2327 | sjacqu01 | - 1550045 - `TimeSeries.removeAgedItems()` method problems; | 
| 750 | 2327 | sjacqu01 | - 1549218 - Chart not displaying when all data values are the same and large; | 
| 751 | 2327 | sjacqu01 | - 1450447 - `Marker.setAlpha()` ignored; | 
| 752 | 2327 | sjacqu01 | |
| 753 | 2327 | sjacqu01 | Also fixed URL generation for legend items, tick mark positioning on the | 
| 754 | 2327 | sjacqu01 | `DateAxis`, the `equals()` method in the `AreaRenderer` class, hardcoded outline | 
| 755 | 2327 | sjacqu01 | attributes in the `XYBubbleRenderer`, and potential `NullPointerExceptions` in the | 
| 756 | 2327 | sjacqu01 | `ChartPanel` class. | 
| 757 | 2327 | sjacqu01 | |
| 758 | 2327 | sjacqu01 | ##### Version 1.0.2 (25-Aug-2006) | 
| 759 | 2327 | sjacqu01 | |
| 760 | 2327 | sjacqu01 | ###### API adjustments | 
| 761 | 2327 | sjacqu01 | |
| 762 | 2327 | sjacqu01 | 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 | 2327 | sjacqu01 | |
| 764 | 2327 | sjacqu01 | - `CategoryToPieDataset`: added accessor methods for underlying dataset, extract type and index (feature request 1477915); | 
| 765 | 2327 | sjacqu01 | - `DefaultXYDataset`: New dataset implementation that uses double[] arrays; | 
| 766 | 2327 | sjacqu01 | - `DefaultXYZDataset`: New dataset implementation that uses double[] arrays; | 
| 767 | 2327 | sjacqu01 | - `LegendItemBlockContainer`: New container used in legends (enables legend item entities again); | 
| 768 | 2327 | sjacqu01 | - `MultiplePiePlot`: Added new fields `aggregatedItemsKey` and `aggregatedItemsPaint`, plus accessor methods - see bug 1190647; | 
| 769 | 2327 | sjacqu01 | - `SpiderWebPlot`: Added new fields `toolTipGenerator` and `urlGenerator`, plus accessor methods (see patch 1463455); | 
| 770 | 2327 | sjacqu01 | - `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 | 2327 | sjacqu01 | - `XYPolygonAnnotation`: Added new accessor methods. | 
| 772 | 2327 | sjacqu01 | |
| 773 | 2327 | sjacqu01 | ###### Patches | 
| 774 | 2327 | sjacqu01 | |
| 775 | 2327 | sjacqu01 | - 1459313 - Add `renderAsPercentages` option to `StackedBarRenderer3D`; | 
| 776 | 2327 | sjacqu01 | - 1462727 - Modify `SpiderWebPlot` to support zero values; | 
| 777 | 2327 | sjacqu01 | - 1463455 - Modify `SpiderWebPlot` to support mouse clicks, tool tips and URLs; | 
| 778 | 2327 | sjacqu01 | |
| 779 | 2327 | sjacqu01 | ###### Bug Fixes | 
| 780 | 2327 | sjacqu01 | |
| 781 | 2327 | sjacqu01 | - 1514904 - Background image alpha in `Plot` class; | 
| 782 | 2327 | sjacqu01 | - 1499140 - `ClusteredXYBarRenderer` with margin not drawing correctly; | 
| 783 | 2327 | sjacqu01 | - 1494936 - `LineAndShapeRenderer` generates entity for non-visible item; | 
| 784 | 2327 | sjacqu01 | - 1493199 - NPE drawing `SpiderWebPlot` with null info; | 
| 785 | 2327 | sjacqu01 | - 1480978 - `AbstractPieItemLabelGenerator.clone()` doesn't clone `percentFormat`; | 
| 786 | 2327 | sjacqu01 | - 1472942 - `DateAxis.equals()` broken; | 
| 787 | 2327 | sjacqu01 | - 1468794 - `StatisticalLineAndShapeRenderer` doesn't draw error bars correctly when the plot has a horizontal orientation; | 
| 788 | 2327 | sjacqu01 | - `AbstractCategoryItemRenderer` doesn't check `seriesVisibleInLegend` flag before creating new item; | 
| 789 | 2327 | sjacqu01 | - 1440415 - Bad distribution of pie chart section labels; | 
| 790 | 2327 | sjacqu01 | - 1440346 - Bad manifest entry for JCommon in JFreeChart jar file; | 
| 791 | 2327 | sjacqu01 | - 1435461 - `NumberAxis.equals()` ignores `rangeType` field; | 
| 792 | 2327 | sjacqu01 | - 1435160 - `XYPointerAnnotation.equals()` ignores x and y fields; | 
| 793 | 2327 | sjacqu01 | - 1398672 - `LegendItemEntities` not working; | 
| 794 | 2327 | sjacqu01 | - 1380480 - `StandardXYItemRenderer` problems with `Double.NaN`; | 
| 795 | 2327 | sjacqu01 | - 1190647 - Legend and section color mismatch for `MultiplePiePlot`. | 
| 796 | 2327 | sjacqu01 | |
| 797 | 2327 | sjacqu01 | ###### Miscellaneous Changes | 
| 798 | 2327 | sjacqu01 | |
| 799 | 2327 | sjacqu01 | - Updated `CandlestickRenderer`, `CyclicXYItemRenderer`, `HighLowRenderer`, `XYStepAreaRenderer` and `TimeSeriesURLGenerator` to call dataset methods that return double primitive only; | 
| 800 | 2327 | sjacqu01 | - Updated `XYPolygonAnnotation`, adding new accessor methods and fixing problems in the `equals()/hashCode()` methods; | 
| 801 | 2327 | sjacqu01 | - `ChartFactory.createStackedXYAreaChart()` now uses `StackedXYAreaRenderer2`, for better handling of negative values; | 
| 802 | 2327 | sjacqu01 | - Added crosshair support for `XYBarRenderer`. | 
| 803 | 2327 | sjacqu01 | |
| 804 | 2327 | sjacqu01 | ###### Experimental Code | 
| 805 | 2327 | sjacqu01 | |
| 806 | 2327 | sjacqu01 | In this release, some new (incomplete) classes have been included in the | 
| 807 | 2327 | sjacqu01 | `org.jfree.experimental.*` namespace. These classes are not part of the | 
| 808 | 2327 | sjacqu01 | standard API, but are included for developers to experiment with and provide | 
| 809 | 2327 | sjacqu01 | feedback on. Hopefully in the future, refined versions of these classes will | 
| 810 | 2327 | sjacqu01 | be incorporated into the main library. PLEASE NOTE THAT THE API FOR THESE | 
| 811 | 2327 | sjacqu01 | CLASSES IS SUBJECT TO CHANGE. | 
| 812 | 2327 | sjacqu01 | |
| 813 | 2327 | sjacqu01 | ##### Version 1.0.1 (27-Jan-2006) | 
| 814 | 2327 | sjacqu01 | This is primarily a bug fix release. In addition, there are some API | 
| 815 | 2327 | sjacqu01 | adjustments (there should be no breakage of applications coded to the 1.0.0 API). | 
| 816 | 2327 | sjacqu01 | |
| 817 | 2327 | sjacqu01 | ###### API adjustments | 
| 818 | 2327 | sjacqu01 | - `BarRenderer`: added a new flag (`includeBaseInRange`), plus accessor | 
| 819 | 2327 | sjacqu01 | methods, that controls whether or not the base value for the bar is | 
| 820 | 2327 | sjacqu01 | included in the range calculated by the `findRangeBounds()` method; | 
| 821 | 2327 | sjacqu01 | - `BubbleXYItemLabelGenerator`: new class; | 
| 822 | 2327 | sjacqu01 | - `Range`: added a new method `expandToInclude(Range, double)`, this is used by | 
| 823 | 2327 | sjacqu01 | the `BarRenderer` class; | 
| 824 | 2327 | sjacqu01 | - `TaskSeriesCollection`: added two new methods, `getSeries(int)` and | 
| 825 | 2327 | sjacqu01 | `getSeries(Comparable)`; | 
| 826 | 2327 | sjacqu01 | - `TimeSeriesCollection`: the `domainIsPointsInTime` flag has been deprecated. | 
| 827 | 2327 | sjacqu01 | The flag serves no function now that renderers are used to calculate the domain | 
| 828 | 2327 | sjacqu01 | bounds, so you can safely delete any calls to the `setDomainIsPointsInTime()` | 
| 829 | 2327 | sjacqu01 | method; | 
| 830 | 2327 | sjacqu01 | - `XYPlot`: added a new `getAnnotations()` method; | 
| 831 | 2327 | sjacqu01 | - `XYSeries`: the `update(int, Number)` method has been deprecated and a new | 
| 832 | 2327 | sjacqu01 | method `updateByIndex(int, Number)` has been added; | 
| 833 | 2327 | sjacqu01 | |
| 834 | 2327 | sjacqu01 | ###### Bug fixes | 
| 835 | 2327 | sjacqu01 | |
| 836 | 2327 | sjacqu01 | - 1243050 - `XYBarRenderer` doesn't show entire range of values for a `TimeSeriesCollection`; | 
| 837 | 2327 | sjacqu01 | - 1373371 - `XYBubbleRenderer` doesn't support item labels; | 
| 838 | 2327 | sjacqu01 | - 1374222 - `BarRenderer` contains JDK 1.4 specific code; | 
| 839 | 2327 | sjacqu01 | - 1374328 - `LegendItem` serialization problem; | 
| 840 | 2327 | sjacqu01 | - 1377239 - Bad argument checking in `Quarter` constructor; | 
| 841 | 2327 | sjacqu01 | - 1379331 - Incorrect drawing of `TextTitle` at LEFT or RIGHT position; | 
| 842 | 2327 | sjacqu01 | - 1386328 - `RingPlot` entity incorrect; | 
| 843 | 2327 | sjacqu01 | - 1400442 - Inconsistent treatment of null and zero values in `PiePlot`; | 
| 844 | 2327 | sjacqu01 | - 1401856 - Bad rendering for non-zero base values in `BarRenderer`; | 
| 845 | 2327 | sjacqu01 | - 1403043 - `NullPointerException` in `CategoryAxis`; | 
| 846 | 2327 | sjacqu01 | - 1408904 - `NumberAxis3D` assumes `CategoryPlot`; | 
| 847 | 2327 | sjacqu01 | - 1415480 - `XYTextAnnotation` equals() method doesn't check (x, y); | 
| 848 | 2327 | sjacqu01 | |
| 849 | 2327 | sjacqu01 | ##### Version 1.0.0 (2-Dec-2005) | 
| 850 | 2327 | sjacqu01 | - 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 | 2327 | sjacqu01 | |
| 852 | 2327 | sjacqu01 | ##### Version 1.0.0-rc3 (28-Nov-2005) | 
| 853 | 2327 | sjacqu01 | - 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 | 2327 | sjacqu01 | - 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 | 2327 | sjacqu01 | |
| 856 | 2327 | sjacqu01 | ##### Version 1.0.0-rc2 (25-Nov-2005) | 
| 857 | 2327 | sjacqu01 | - 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 | 2327 | sjacqu01 | |
| 859 | 2327 | sjacqu01 | ##### Version 1.0.0-rc1 (2-Jun-2005) | 
| 860 | 2327 | sjacqu01 | - 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 | 2327 | sjacqu01 | |
| 862 | 2327 | sjacqu01 | ##### Version 1.0.0-pre2 (10-Mar-2005) | 
| 863 | 2327 | sjacqu01 | |
| 864 | 2327 | sjacqu01 | ##### Version 1.0.0-pre1 (29-Nov-2004) | 
| 865 | 2327 | sjacqu01 | |
| 866 | 2327 | sjacqu01 | ##### Version 0.9.21 (9-Sep-2004) | 
| 867 | 2327 | sjacqu01 | - added new axes: `PeriodAxis` and `ModuloAxis`. | 
| 868 | 2327 | sjacqu01 | - split `org.jfree.data` and `org.jfree.chart.renderer` into subpackages for 'category' and 'xy' charts. | 
| 869 | 2327 | sjacqu01 | - Sun PNG encoder is now used, if available. | 
| 870 | 2327 | sjacqu01 | - a new demo application makes it easier to preview the chart types that JFreeChart can create. | 
| 871 | 2327 | sjacqu01 | - added a new series visibility flag to the `AbstractRenderer` class. | 
| 872 | 2327 | sjacqu01 | - added support for `GradientPaint` in interval markers. | 
| 873 | 2327 | sjacqu01 | |
| 874 | 2327 | sjacqu01 | ##### Version 0.9.20 (7-Jun-2004) | 
| 875 | 2327 | sjacqu01 | - primarily bug fixes. | 
| 876 | 2327 | sjacqu01 | |
| 877 | 2327 | sjacqu01 | ##### Version 0.9.19 (28-May-2004) | 
| 878 | 2327 | sjacqu01 | - added methods to `XYDataset` that return double primitives; | 
| 879 | 2327 | sjacqu01 | - removed distinction between "primary" and "secondary" datasets, renderers and axes; | 
| 880 | 2327 | sjacqu01 | - added fixed legend item options to `CategoryPlot` and `XYPlot`; | 
| 881 | 2327 | sjacqu01 | - legend changes by Barek Naveh; | 
| 882 | 2327 | sjacqu01 | - removed Log4j dependency; | 
| 883 | 2327 | sjacqu01 | - many, many bug fixes; | 
| 884 | 2327 | sjacqu01 | |
| 885 | 2327 | sjacqu01 | ##### Version 0.9.18 (15-Apr-2004) | 
| 886 | 2327 | sjacqu01 | - new legend anchor options; | 
| 887 | 2327 | sjacqu01 | - fixed broken JPEG export; | 
| 888 | 2327 | sjacqu01 | - fixed title size problems; | 
| 889 | 2327 | sjacqu01 | - various other bug fixes; | 
| 890 | 2327 | sjacqu01 | |
| 891 | 2327 | sjacqu01 | ##### Version 0.9.17 (26-Mar-2004) | 
| 892 | 2327 | sjacqu01 | - pie chart enhancements for labelling, shading and multiple pie charts (2D or 3D) on a single plot; | 
| 893 | 2327 | sjacqu01 | - new `PolarPlot` class added; | 
| 894 | 2327 | sjacqu01 | - `XYSeries` can now be sorted or unsorted; | 
| 895 | 2327 | sjacqu01 | - `createBufferedImage()` method can now scale charts; | 
| 896 | 2327 | sjacqu01 | - domain and range markers now support intervals; | 
| 897 | 2327 | sjacqu01 | - item labels are now supported by some `XYItemRenderers`; | 
| 898 | 2327 | sjacqu01 | - tooltip and item label generators now use `MessageFormat` class; | 
| 899 | 2327 | sjacqu01 | - added new `XYBarDataset` class; | 
| 900 | 2327 | sjacqu01 | - added transparency support to PNG export; | 
| 901 | 2327 | sjacqu01 | - numerous other small enhancements and bug fixes; | 
| 902 | 2327 | sjacqu01 | |
| 903 | 2327 | sjacqu01 | ##### Version 0.9.16 (09-Jan-2004) | 
| 904 | 2327 | sjacqu01 | - 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 | 2327 | sjacqu01 | - added Spanish localisation files; | 
| 906 | 2327 | sjacqu01 | |
| 907 | 2327 | sjacqu01 | ##### Version 0.9.15 (28-Nov-2003) | 
| 908 | 2327 | sjacqu01 | - the focus of this release is bug fixes - quite a number of issues have been resolved, please check the bug database for details; | 
| 909 | 2327 | sjacqu01 | - added a new Wafer Map chart type; | 
| 910 | 2327 | sjacqu01 | - added a cyclic axis; | 
| 911 | 2327 | sjacqu01 | - added localisation files for _ru; | 
| 912 | 2327 | sjacqu01 | |
| 913 | 2327 | sjacqu01 | ##### Version 0.9.14 (17-Nov-2003) | 
| 914 | 2327 | sjacqu01 | - implemented zooming for the `FastScatterPlot` class; | 
| 915 | 2327 | sjacqu01 | - added item label support for stacked bar charts, and new fall back options for item labels that don't fit within bars; | 
| 916 | 2327 | sjacqu01 | - modified the `CategoryAxis` class to allow additional options for the alignment and rotation of category labels; | 
| 917 | 2327 | sjacqu01 | - addition of the `AxisState` class, used in the drawing of axes to eliminate a bug when multiple threads draw the same axis simultaneously; | 
| 918 | 2327 | sjacqu01 | - provided additional attributes in the `DateTickUnit` class to improve labelling on a segmented `DateAxis`; | 
| 919 | 2327 | sjacqu01 | - added support for `GradientPaint` in bar charts; | 
| 920 | 2327 | sjacqu01 | - updated the `PNGEncoder`; | 
| 921 | 2327 | sjacqu01 | - fixes for tick label positioning on axes; | 
| 922 | 2327 | sjacqu01 | - various Javadoc updates; | 
| 923 | 2327 | sjacqu01 | - numerous bug fixes; | 
| 924 | 2327 | sjacqu01 | |
| 925 | 2327 | sjacqu01 | ##### Version 0.9.13 (26-Sep-2003) | 
| 926 | 230 | sjacqu01 | - various enhancements to the stacked area XY charts; | 
| 927 | 230 | sjacqu01 | - added a completion indicator for the Gantt chart; | 
| 928 | 230 | sjacqu01 | - range and domain markers can now be placed in the foreground or the | 
| 929 | 230 | sjacqu01 | background; | 
| 930 | 230 | sjacqu01 | - more fixes for cloning and serialization; | 
| 931 | 230 | sjacqu01 | - fixed mouse event bug for combined charts; | 
| 932 | 230 | sjacqu01 | - fixed bugs in the PngEncoder class; | 
| 933 | 230 | sjacqu01 | - incorporated .properties files that were missing from the 0.9.12 | 
| 934 | 230 | sjacqu01 | distribution; | 
| 935 | 230 | sjacqu01 | |
| 936 | 2327 | sjacqu01 | ##### Version 0.9.12 (11-Sep-2003) | 
| 937 | 230 | sjacqu01 | - extended box-and-whisker plots to work with the CategoryPlot class | 
| 938 | 230 | sjacqu01 | as well as the XYPlot class (based on work by David Browning); | 
| 939 | 230 | sjacqu01 | - added a new LayeredBarRenderer (by Arnaud Lelievre); | 
| 940 | 230 | sjacqu01 | - added support for stacked area charts with the XYPlot class (thanks | 
| 941 | 230 | sjacqu01 | to Richard Atkinson); | 
| 942 | 230 | sjacqu01 | - improved HTML image map support (thanks to Richard Atkinson); | 
| 943 | 230 | sjacqu01 | - added localized resources for the chart property editors (thanks to | 
| 944 | 230 | sjacqu01 | Arnaud Lelievre). Current translations include French and Portugese | 
| 945 | 230 | sjacqu01 | (thanks to Eduardo Ramalho); | 
| 946 | 230 | sjacqu01 | - added facility for setting all rendering hints; | 
| 947 | 230 | sjacqu01 | - improved support for cloning and serialization; | 
| 948 | 230 | sjacqu01 | - fixed a bug in the XYSeries class that prevented the TableXYDataset | 
| 949 | 230 | sjacqu01 | from functioning correctly; | 
| 950 | 230 | sjacqu01 | - improved date axis labelling with segmented time lines; | 
| 951 | 230 | sjacqu01 | - fixed several bugs in the secondary dataset/axis/renderer code; | 
| 952 | 230 | sjacqu01 | - fixed bugs in the JDBCCategoryDataset class; | 
| 953 | 230 | sjacqu01 | - numerous other bug fixes; | 
| 954 | 230 | sjacqu01 | |
| 955 | 2327 | sjacqu01 | ##### Version 0.9.11 (8-Aug-2003) | 
| 956 | 230 | sjacqu01 | - added support for box-and-whisker plots, thanks to David Browning; | 
| 957 | 230 | sjacqu01 | - lots of bug fixes; | 
| 958 | 230 | sjacqu01 | |
| 959 | 2327 | sjacqu01 | ##### Version 0.9.10 (25-Jul-2003) | 
| 960 | 230 | sjacqu01 | - added support for multiple secondary axes, datasets and | 
| 961 | 230 | sjacqu01 | renderers; | 
| 962 | 230 | sjacqu01 | - minor feature enhancements and bug fixes; | 
| 963 | 230 | sjacqu01 | |
| 964 | 2327 | sjacqu01 | ##### Version 0.9.9 (10-Jul-2003) | 
| 965 | 2327 | sjacqu01 | |
| 966 | 2327 | sjacqu01 | PLEASE NOTE THAT MAJOR CHANGES HAVE BEEN MADE IN THIS | 
| 967 | 230 | sjacqu01 | RELEASE AND ONE OR TWO FEATURES MAY BE BROKEN. PLEASE REPORT BUGS SO THEY CAN | 
| 968 | 230 | sjacqu01 | BE FIXED FOR THE NEXT RELEASE. | 
| 969 | 230 | sjacqu01 | |
| 970 | 230 | sjacqu01 | - merged the HorizontalCategoryPlot and VerticalCategoryPlot classes, | 
| 971 | 230 | sjacqu01 | into the CategoryPlot class; | 
| 972 | 230 | sjacqu01 | - merged the horizontal and vertical axis classes; | 
| 973 | 230 | sjacqu01 | - merged the horizontal and vertical renderer classes; | 
| 974 | 230 | sjacqu01 | - CategoryPlot and XYPlot now support both horizontal and vertical | 
| 975 | 230 | sjacqu01 | orientation via the setOrientation(...) method; | 
| 976 | 230 | sjacqu01 | - merged horizontal and vertical methods in the ChartFactory class; | 
| 977 | 230 | sjacqu01 | - created new combined plot classes: CombinedDomainCategoryPlot, | 
| 978 | 230 | sjacqu01 | CombinedRangeCategoryPlot, CombinedDomainXYPlot and | 
| 979 | 230 | sjacqu01 | CombinedRangeXYPlot (these can all be drawn with a horizontal or | 
| 980 | 230 | sjacqu01 | vertical orientation); | 
| 981 | 230 | sjacqu01 | - Bill Kelemen has enhanced the DateAxis class to handle segmented | 
| 982 | 230 | sjacqu01 | timelines. This can be used, for example, to skip weekends for | 
| 983 | 230 | sjacqu01 | daily stock price charts; | 
| 984 | 230 | sjacqu01 | - Richard Atkinson has updated the ServletUtilities class; | 
| 985 | 230 | sjacqu01 | - Bryan Scott has added an XYDatasetTableModel class for presenting | 
| 986 | 230 | sjacqu01 | datasets in a JTable; | 
| 987 | 230 | sjacqu01 | - modified XYPlot to allow renderers to use multiple passes through | 
| 988 | 230 | sjacqu01 | the dataset; | 
| 989 | 230 | sjacqu01 | - added new XYDifferenceRenderer; | 
| 990 | 230 | sjacqu01 | - added support for colored bands between gridlines in XYPlot; | 
| 991 | 230 | sjacqu01 | - added new XYDrawableAnnotation class; | 
| 992 | 230 | sjacqu01 | - added a new attribute to control the order of dataset rendering in | 
| 993 | 230 | sjacqu01 | a CategoryPlot; | 
| 994 | 230 | sjacqu01 | - extended the value label mechanism for the renderers, to allow | 
| 995 | 230 | sjacqu01 | better (per series) control over label generation, positioning and | 
| 996 | 230 | sjacqu01 | visibility; | 
| 997 | 230 | sjacqu01 | - CategoryItemTooltipGenerator has been renamed | 
| 998 | 230 | sjacqu01 | CategoryItemLabelGenerator, since it is now being used to generated | 
| 999 | 230 | sjacqu01 | item labels as well as tooltips; | 
| 1000 | 230 | sjacqu01 | - there is now support for horizontal stacked 3D bar charts; | 
| 1001 | 230 | sjacqu01 | - added support for range markers against secondary axis in a | 
| 1002 | 230 | sjacqu01 | CategoryPlot; | 
| 1003 | 230 | sjacqu01 | - added labels to domain and range markers; | 
| 1004 | 230 | sjacqu01 | - added a new HistogramDataset class (contributed by Jelai Wang) to | 
| 1005 | 230 | sjacqu01 | make it easier to create histograms with JFreeChart; | 
| 1006 | 230 | sjacqu01 | - moved the DrawingSupplier into the plot class, renderers now | 
| 1007 | 230 | sjacqu01 | reference the supplier from the plot (parent plot for combined and | 
| 1008 | 230 | sjacqu01 | overlaid charts). This means that renderers now share a single | 
| 1009 | 230 | sjacqu01 | DrawingSupplier by default, which simplifies the creation of | 
| 1010 | 230 | sjacqu01 | combined charts; | 
| 1011 | 230 | sjacqu01 | - changed the ColorBarAxis classes that extended the NumberAxis class, | 
| 1012 | 230 | sjacqu01 | to a single ColorBar class that wraps a ValueAxis (may have broken | 
| 1013 | 230 | sjacqu01 | one or two things in the process); | 
| 1014 | 230 | sjacqu01 | - Barak Naveh has contributed new classes MatrixSeries and | 
| 1015 | 230 | sjacqu01 | MatrixSeriesCollection, along with demos: BubblyBubblesDemo.java | 
| 1016 | 230 | sjacqu01 | and BubblyBubblesDemo2.java; | 
| 1017 | 230 | sjacqu01 | - the TextTitle class now has a background paint attribute; | 
| 1018 | 230 | sjacqu01 | - the StandardLegend class now generates LegendEntity objects if a | 
| 1019 | 230 | sjacqu01 | ChartRenderingInfo instance is supplied to the draw(...) method; | 
| 1020 | 230 | sjacqu01 | - extended the CategoryTextAnnotation class to take into account a | 
| 1021 | 230 | sjacqu01 | category anchor point. See the SurveyResultsDemo.java application | 
| 1022 | 230 | sjacqu01 | for an example; | 
| 1023 | 230 | sjacqu01 | - included numerous bug fixes; | 
| 1024 | 230 | sjacqu01 | |
| 1025 | 2327 | sjacqu01 | ##### Version 0.9.8 (24-Apr-2003) | 
| 1026 | 230 | sjacqu01 | - changed package naming from com.jrefinery.* to org.jfree.*; | 
| 1027 | 230 | sjacqu01 | - added new TimePeriodValuesCollection class; | 
| 1028 | 230 | sjacqu01 | - added MIME type code to ServletUtilities class; | 
| 1029 | 230 | sjacqu01 | - reversed the order of PieDataset and KeyedValuesDataset in | 
| 1030 | 230 | sjacqu01 | the class hierarchy; | 
| 1031 | 230 | sjacqu01 | - reversed the order of CategoryDataset and KeyedValues2DDataset | 
| 1032 | 230 | sjacqu01 | in the class hierarchy; | 
| 1033 | 230 | sjacqu01 | - minor bug fixes; | 
| 1034 | 230 | sjacqu01 | |
| 1035 | 2327 | sjacqu01 | ##### Version 0.9.7 (11-Apr-2003) | 
| 1036 | 230 | sjacqu01 | - added a new ValueDataset interface and DefaultValueDataset | 
| 1037 | 230 | sjacqu01 | class, and changed the CompassPlot class to use this instead | 
| 1038 | 230 | sjacqu01 | of MeterDataset; | 
| 1039 | 230 | sjacqu01 | - added DataUtilities class, to support creation of Pareto | 
| 1040 | 230 | sjacqu01 | charts (new demo included); | 
| 1041 | 230 | sjacqu01 | - updated writeImageMap method as suggested by Xavier Poinsard | 
| 1042 | 230 | sjacqu01 | (see Feature Request 688079); | 
| 1043 | 230 | sjacqu01 | - implemented Serializable for most classes (this is likely to | 
| 1044 | 230 | sjacqu01 | require further testing); | 
| 1045 | 230 | sjacqu01 | - incorporated contour plot updates from David M. O'Donnell; | 
| 1046 | 230 | sjacqu01 | - added new CategoryTextAnnotation and XYLineAnnotation | 
| 1047 | 230 | sjacqu01 | classes; | 
| 1048 | 230 | sjacqu01 | - added new HorizontalCategoryAxis3D class contributed by | 
| 1049 | 230 | sjacqu01 | Klaus Rheinwald; | 
| 1050 | 230 | sjacqu01 | |
| 1051 | 230 | sjacqu01 | Bug fixes: | 
| 1052 | 230 | sjacqu01 | - added a workaround for JVM crash (a JDK bug) in pie charts | 
| 1053 | 230 | sjacqu01 | with small sections (see bug report 620031); | 
| 1054 | 230 | sjacqu01 | - fixed minor bug in HorizontalCategoryPlot constructor (see | 
| 1055 | 230 | sjacqu01 | bug report 702248); | 
| 1056 | 230 | sjacqu01 | - added code to ensure HorizontalNumberAxis3D is not drawn if | 
| 1057 | 230 | sjacqu01 | it is not visible (see bug report 702466); | 
| 1058 | 230 | sjacqu01 | - added small fix for suppressed chart change events (see bug | 
| 1059 | 230 | sjacqu01 | report 690865); | 
| 1060 | 230 | sjacqu01 | - added pieIndex parameter to tooltip and URL generators for | 
| 1061 | 230 | sjacqu01 | pie charts; | 
| 1062 | 230 | sjacqu01 | - fixed bug in getLastMillisecond() method for the Second | 
| 1063 | 230 | sjacqu01 | class and the getFirstMillisecond() method for the Year | 
| 1064 | 230 | sjacqu01 | class (picked up in JUnit tests); | 
| 1065 | 230 | sjacqu01 | - in TextTitle, changed width used for relative spacing to fix | 
| 1066 | 230 | sjacqu01 | bug 703050; | 
| 1067 | 230 | sjacqu01 | |
| 1068 | 2327 | sjacqu01 | ##### Version 0.9.6 (17-Feb-2003) Bug fixes: | 
| 1069 | 230 | sjacqu01 | - fixed null pointer exception in DefaultCategoryDataset; | 
| 1070 | 230 | sjacqu01 | - fixed update problem for PaintTable, StrokeTable and | 
| 1071 | 230 | sjacqu01 | ShapeTable objects; | 
| 1072 | 230 | sjacqu01 | - added methods to control colors in PiePlot (these were | 
| 1073 | 230 | sjacqu01 | inadvertantly removed in the changes made for 0.9.5); | 
| 1074 | 230 | sjacqu01 | - fixed auto-range update problem for secondary axis; | 
| 1075 | 230 | sjacqu01 | - fixed missing category labels in the overlaid category plot; | 
| 1076 | 230 | sjacqu01 | - fixed constructors for symbolic axes; | 
| 1077 | 230 | sjacqu01 | - corrected error in Javadoc generation (Ant script); | 
| 1078 | 230 | sjacqu01 | |
| 1079 | 2327 | sjacqu01 | ##### Version 0.9.5 (6-Feb-2003) | 
| 1080 | 2327 | sjacqu01 | |
| 1081 | 2327 | sjacqu01 | PLEASE NOTE THAT MAJOR CHANGES TO THE | 
| 1082 | 230 | sjacqu01 | JFREECHART API HAVE BEEN MADE IN THIS RELEASE! | 
| 1083 | 230 | sjacqu01 | |
| 1084 | 230 | sjacqu01 | - added support for secondary axes, datasets and renderers; | 
| 1085 | 230 | sjacqu01 | - added new data interfaces (Value, Values, Values2D, | 
| 1086 | 230 | sjacqu01 | KeyedValues and KeyedValues2D) and incorporated these into | 
| 1087 | 230 | sjacqu01 | the existing PieDataset and CategoryDataset interfaces. | 
| 1088 | 230 | sjacqu01 | - modified the CategoryDataset interface to be more | 
| 1089 | 230 | sjacqu01 | symmetrical, data is organised in rows and columns (as | 
| 1090 | 230 | sjacqu01 | before) but can now be accessed by row/column index or | 
| 1091 | 230 | sjacqu01 | row/column key. | 
| 1092 | 230 | sjacqu01 | - added support for reading PieDatasets and CategoryDatasets | 
| 1093 | 230 | sjacqu01 | from XML files. | 
| 1094 | 230 | sjacqu01 | - created separate packages for the axes | 
| 1095 | 230 | sjacqu01 | (com.jrefinery.chart.axis), plots (com.jrefinery.chart.plot) | 
| 1096 | 230 | sjacqu01 | and renderers (com.jrefinery.chart.renderer). | 
| 1097 | 230 | sjacqu01 | - series attributes (paint, outline paint, stroke and shape) | 
| 1098 | 230 | sjacqu01 | are now controlled by the renderer classes using lookup | 
| 1099 | 230 | sjacqu01 | tables. Introduced the DrawingSupplier interface (and | 
| 1100 | 230 | sjacqu01 | DefaultDrawingSupplier class) which is used to populate the | 
| 1101 | 230 | sjacqu01 | lookup tables from a common source (necessary to coordinate | 
| 1102 | 230 | sjacqu01 | complex combined charts). | 
| 1103 | 230 | sjacqu01 | - the chart legend can now display shapes corresponding to | 
| 1104 | 230 | sjacqu01 | series. | 
| 1105 | 230 | sjacqu01 | - moved responsibility for category distribution to the | 
| 1106 | 230 | sjacqu01 | CategoryAxis class, which tidies up the code in the | 
| 1107 | 230 | sjacqu01 | CategoryPlot classes. | 
| 1108 | 230 | sjacqu01 | - gridlines are now controlled by the CategoryPlot and XYPlot | 
| 1109 | 230 | sjacqu01 | classes, not the axes (included in this change is the | 
| 1110 | 230 | sjacqu01 | addition of gridlines for the CategoryPlot domain values). | 
| 1111 | 230 | sjacqu01 | - changed the list of titles in the JFreeChart class to a | 
| 1112 | 230 | sjacqu01 | title and a list of subtitles. | 
| 1113 | 230 | sjacqu01 | - added new renderers for XYPlot (XYBubbleRenderer and | 
| 1114 | 230 | sjacqu01 | YIntervalRenderer). | 
| 1115 | 230 | sjacqu01 | - modified Gantt chart to display sub-tasks. | 
| 1116 | 230 | sjacqu01 | - added ContourPlot class (still experimental) by David | 
| 1117 | 230 | sjacqu01 | M. O'Donnell. | 
| 1118 | 230 | sjacqu01 | - introduced new MovingAverage class. | 
| 1119 | 230 | sjacqu01 | - ChartMouseEvent now includes source chart. | 
| 1120 | 230 | sjacqu01 | - numerous bug fixes. | 
| 1121 | 230 | sjacqu01 | - lots of Javadoc updates. | 
| 1122 | 230 | sjacqu01 | |
| 1123 | 2327 | sjacqu01 | ##### Version 0.9.4 (18-Oct-2002) | 
| 1124 | 2327 | sjacqu01 | |
| 1125 | 2327 | sjacqu01 | Added a new stacked area chart (contributed by Dan | 
| 1126 | 230 | sjacqu01 | Rivett) and a compass plot (contributed by Bryan Scott). Updated | 
| 1127 | 230 | sjacqu01 | the ThermometerPlot class. Added a new XYDotRenderer for scatter | 
| 1128 | 230 | sjacqu01 | plots. Modified combined and overlaid plots to use the series colors | 
| 1129 | 230 | sjacqu01 | specified in the sub plot rather than the parent plot (this makes it | 
| 1130 | 230 | sjacqu01 | easier to align the colors in the legend). Added Regression class | 
| 1131 | 230 | sjacqu01 | for linear and power regressions. BasicTimeSeries can now | 
| 1132 | 230 | sjacqu01 | automatically drop "old" data. Some clean-up work in the code for | 
| 1133 | 230 | sjacqu01 | tooltips and the event listener mechanism. Richard Atkinson has | 
| 1134 | 230 | sjacqu01 | incorporated some useful extensions for servlets/JSP developers. | 
| 1135 | 230 | sjacqu01 | |
| 1136 | 230 | sjacqu01 | Ran Checkstyle and corrected issues reported for most classes. | 
| 1137 | 230 | sjacqu01 | Checkstyle is a free utility that you can download from: | 
| 1138 | 230 | sjacqu01 | |
| 1139 | 230 | sjacqu01 | http://checkstyle.sourceforge.net | 
| 1140 | 230 | sjacqu01 | |
| 1141 | 230 | sjacqu01 | Fixed bugs and updated documentation. | 
| 1142 | 230 | sjacqu01 | |
| 1143 | 230 | sjacqu01 | API changes include: | 
| 1144 | 230 | sjacqu01 | - added tickMarkPaint to Axis constructor (also affects | 
| 1145 | 230 | sjacqu01 | subclasses); | 
| 1146 | 230 | sjacqu01 | - added getLegendItems() to Plot, and deprecated | 
| 1147 | 230 | sjacqu01 | getLegendItemLabels(); | 
| 1148 | 230 | sjacqu01 | - added getLegendItem(int) to XYItemRenderer and | 
| 1149 | 230 | sjacqu01 | CategoryItemRenderer. | 
| 1150 | 230 | sjacqu01 | - most 'protected' member variables have been changed to | 
| 1151 | 230 | sjacqu01 | 'private'. | 
| 1152 | 230 | sjacqu01 | |
| 1153 | 2327 | sjacqu01 | ##### Version 0.9.3 (4-Sep-2002) | 
| 1154 | 230 | sjacqu01 | |
| 1155 | 2327 | sjacqu01 | - Added multiple pie charts based on `CategoryDataset`; | 
| 1156 | 2327 | sjacqu01 | - Updated logarithmic axes; | 
| 1157 | 2327 | sjacqu01 | - Improved URL support for image map generation; | 
| 1158 | 2327 | sjacqu01 | - Moved the `com.jrefinery.data` package from JCommon to JFreeChart. | 
| 1159 | 2327 | sjacqu01 | - Added simple framework for chart annotations; | 
| 1160 | 2327 | sjacqu01 | - Improved control over renderers; | 
| 1161 | 2327 | sjacqu01 | - Duplicate x-values now allowed in `XYSeries`; | 
| 1162 | 2327 | sjacqu01 | - Optional category label skipping in category axes; | 
| 1163 | 2327 | sjacqu01 | - Added `CategoriesPaint` attribute to `AbstractCategoryItemRenderer`; | 
| 1164 | 2327 | sjacqu01 | - Added new attributes to `MeterPlot` class; | 
| 1165 | 2327 | sjacqu01 | - Updated 3D pie chart to observe start angle and direction, and also foreground alpha < 1.0;
 | 
| 1166 | 2327 | sjacqu01 | - Improved Javadoc comments; | 
| 1167 | 2327 | sjacqu01 | - New demo applications, including: `AnnotationDemo1`, `EventFrequencyDemo`, `JDBCCategoryChartDemo`, `JDBCPieChartDemo`, `JDBCXYChartDemo` and `MinMaxCategoryPlotDemo`. | 
| 1168 | 230 | sjacqu01 | |
| 1169 | 2327 | sjacqu01 | Bug fixes: | 
| 1170 | 2327 | sjacqu01 | - negative percentages on `PiePlot`; | 
| 1171 | 2327 | sjacqu01 | - added listener notification to `setXXXAxis(...)` methods; | 
| 1172 | 2327 | sjacqu01 | - fixed `DomainInfo` method name clash; | 
| 1173 | 2327 | sjacqu01 | - added `DomainIsPointsInTime` flag to `TimeSeriesCollection` to give better control over auto range on axis for time series charts; | 
| 1174 | 2327 | sjacqu01 | - axis margins for date axes are no longer hard-coded; | 
| 1175 | 2327 | sjacqu01 | - fix for ordering of categories in `JdbcCategoryDataset`; | 
| 1176 | 2327 | sjacqu01 | - added check for `null` axis in mouse click handler. | 
| 1177 | 230 | sjacqu01 | |
| 1178 | 2327 | sjacqu01 | The CVS repository at SourceForge has also been restructured to match the distribution directory layout. | 
| 1179 | 230 | sjacqu01 | |
| 1180 | 230 | sjacqu01 | |
| 1181 | 2327 | sjacqu01 | ##### Version 0.9.2 (28-Jun-2002) | 
| 1182 | 230 | sjacqu01 | |
| 1183 | 2327 | sjacqu01 | - `PiePlot` now has `startAngle` and `direction` attributes; | 
| 1184 | 2327 | sjacqu01 | - added support for image map generation; | 
| 1185 | 2327 | sjacqu01 | - added a new `Pie3DPlot` class; | 
| 1186 | 2327 | sjacqu01 | - added label drawing code to bar renderers; | 
| 1187 | 2327 | sjacqu01 | - added optional range markers to horizontal number axis; | 
| 1188 | 2327 | sjacqu01 | - added bar clipping to avoid PRExceptions in bar charts; | 
| 1189 | 2327 | sjacqu01 | - `JFreeChartDemo` has been modified and now includes examples of the dial and thermometer plots. | 
| 1190 | 230 | sjacqu01 | |
| 1191 | 2327 | sjacqu01 | ######Bug fixes | 
| 1192 | 230 | sjacqu01 | |
| 1193 | 2327 | sjacqu01 | - auto range for `VerticalNumberAxis` when zero is forced to be included in the range; | 
| 1194 | 2327 | sjacqu01 | - fixed null pointer exception in `StackedVerticalBarRenderer3D`; | 
| 1195 | 2327 | sjacqu01 | - added get/set methods for min/max chart drawing dimensions in `ChartPanel`; | 
| 1196 | 2327 | sjacqu01 | - `HorizontalIntervalBarRenderer` now handles single category; | 
| 1197 | 2327 | sjacqu01 | - `verticalTickLabels` now possible in `HorizontalNumberAxis3D`; | 
| 1198 | 2327 | sjacqu01 | - removed unnecessary imports; | 
| 1199 | 230 | sjacqu01 | |
| 1200 | 230 | sjacqu01 | |
| 1201 | 2327 | sjacqu01 | ##### Version 0.9.1 (14-Jun-2002) | 
| 1202 | 230 | sjacqu01 | |
| 1203 | 2327 | sjacqu01 | Bug fixes and Javadoc updates. | 
| 1204 | 230 | sjacqu01 | |
| 1205 | 2327 | sjacqu01 | - fixed auto range calculation for category plots; | 
| 1206 | 2327 | sjacqu01 | - fixed event notification for `XYPlot`; | 
| 1207 | 2327 | sjacqu01 | - fixed auto axis range for Gantt charts; | 
| 1208 | 2327 | sjacqu01 | - check for null popup menu in `ChartPanel.mouseDragged`; | 
| 1209 | 2327 | sjacqu01 | - new checks for null info in renderers; | 
| 1210 | 2327 | sjacqu01 | - range markers now drawn only if in visible axis range; | 
| 1211 | 230 | sjacqu01 | |
| 1212 | 230 | sjacqu01 | |
| 1213 | 2327 | sjacqu01 | ##### Version 0.9.0 (7-Jun-2002) | 
| 1214 | 230 | sjacqu01 | |
| 1215 | 2327 | sjacqu01 | - new plots including an area chart, a horizontal 3D bar chart, a Gantt chart | 
| 1216 | 2327 | sjacqu01 | and a thermometer chart; | 
| 1217 | 2327 | sjacqu01 | - combination plots have been reworked to provide a simpler framework, and | 
| 1218 | 2327 | sjacqu01 | extends to allow category plots to be combined; | 
| 1219 | 2327 | sjacqu01 | - there is now a facility to add a `ChartMouseListener` to the `ChartPanel` | 
| 1220 | 2327 | sjacqu01 | (formerly `JFreeChartPanel`); | 
| 1221 | 2327 | sjacqu01 | - an interactive zooming feature (experimental at this point) is now available | 
| 1222 | 2327 | sjacqu01 | for `XYPlots`; | 
| 1223 | 2327 | sjacqu01 | - a new Polish translation has been added; | 
| 1224 | 2327 | sjacqu01 | - several fixes have been applied to the default tool tip generators; | 
| 1225 | 2327 | sjacqu01 | - a workaround has been added to fix the alignment between time series charts | 
| 1226 | 2327 | sjacqu01 | and the date axis; | 
| 1227 | 2327 | sjacqu01 | - there are some improvements to the `VerticalLogarithmicAxis` class, and now a | 
| 1228 | 2327 | sjacqu01 | corresponding `HorizontalLogarithmicAxis` class; | 
| 1229 | 2327 | sjacqu01 | - additional demonstration applications have been added; | 
| 1230 | 2327 | sjacqu01 | - fixed the popup menu bug. | 
| 1231 | 230 | sjacqu01 | |
| 1232 | 265 | sjacqu01 | |
| 1233 | 2327 | sjacqu01 | ##### Version 0.8.1 (5-Apr-2002) | 
| 1234 | 265 | sjacqu01 | |
| 1235 | 2327 | sjacqu01 | - Localised resource bundles for French, German and Spanish languages (thanks to | 
| 1236 | 2327 | sjacqu01 | Anthony Boulestreau, Thomas Meier and Hans-Jurgen Greiner for the translations); | 
| 1237 | 2327 | sjacqu01 | - an area XY plot and meter chart contributed by Hari; | 
| 1238 | 2327 | sjacqu01 | - symbol charts contributed by Anthony Boulestreau; | 
| 1239 | 2327 | sjacqu01 | - an improved `CandleStickRenderer` class from Sylvain Vieujot; | 
| 1240 | 2327 | sjacqu01 | - updated servlet code from Bryan Scott; | 
| 1241 | 2327 | sjacqu01 | - `XYItemRenderers` now have a change listener mechanism and therefore do not | 
| 1242 | 2327 | sjacqu01 | have to be immutable; | 
| 1243 | 2327 | sjacqu01 | - additional demonstration applications for individual chart types; | 
| 1244 | 2327 | sjacqu01 | - minor bug fixes. | 
| 1245 | 265 | sjacqu01 | |
| 1246 | 265 | sjacqu01 | |
| 1247 | 2327 | sjacqu01 | ##### Version 0.8.0 (22-Mar-2002) | 
| 1248 | 265 | sjacqu01 | |
| 1249 | 2327 | sjacqu01 | - all the category plots are now controlled through the one class (`CategoryPlot`) with plug-in renderers; | 
| 1250 | 2327 | sjacqu01 | - added a `ResourceBundle` for user interface items that require localisation; | 
| 1251 | 2327 | sjacqu01 | - added a logarithmic axis class contributed by Mike Duffy and some new JDBC and servlet code contributed by Bryan Scott; | 
| 1252 | 2327 | sjacqu01 | - updated the JCommon class library to improve handling of time periods in different time zones. | 
| 1253 | 265 | sjacqu01 | |
| 1254 | 265 | sjacqu01 | |
| 1255 | 2327 | sjacqu01 | ##### Version 0.7.4 (6-Mar-2002) | 
| 1256 | 265 | sjacqu01 | |
| 1257 | 2327 | sjacqu01 | - bug fixes in the JCommon Class Library; | 
| 1258 | 2327 | sjacqu01 | - various Javadoc comment updates; | 
| 1259 | 2327 | sjacqu01 | - some minor changes to the code; | 
| 1260 | 2327 | sjacqu01 | - added new domain name (http://www.object-refinery.com) in the source headers. | 
| 1261 | 265 | sjacqu01 | |
| 1262 | 265 | sjacqu01 | |
| 1263 | 2327 | sjacqu01 | ##### Version 0.7.3 (14-Feb-2002) | 
| 1264 | 265 | sjacqu01 | |
| 1265 | 2327 | sjacqu01 | Bug fixes. | 
| 1266 | 265 | sjacqu01 | |
| 1267 | 265 | sjacqu01 | |
| 1268 | 2327 | sjacqu01 | ##### Version 0.7.2 (8-Feb-2002) | 
| 1269 | 265 | sjacqu01 | |
| 1270 | 2327 | sjacqu01 | - integrated the `WindPlot` code from Achilleus Mantzios; | 
| 1271 | 2327 | sjacqu01 | - added an optional background image for the `JFreeChart` class; | 
| 1272 | 2327 | sjacqu01 | - added an optional background image for the `Plot` class; | 
| 1273 | 2327 | sjacqu01 | - added alpha-transparency for the plot foreground and background; | 
| 1274 | 2327 | sjacqu01 | - added new pie chart label types that show values; | 
| 1275 | 2327 | sjacqu01 | - fixed a bug with the legend that results in a loop at small chart sizes; | 
| 1276 | 2327 | sjacqu01 | - added some tooltip methods that were missing from the previous version; | 
| 1277 | 2327 | sjacqu01 | - changed the `Insets` class on chart titles to a new `Spacer` class that will | 
| 1278 | 2327 | sjacqu01 | allow for relative or absolute insets (the plan is to eventually replace all | 
| 1279 | 2327 | sjacqu01 | `Insets` in the `JFreeChart` classes); | 
| 1280 | 2327 | sjacqu01 | - fixed a bug in the `setAutoRangeIncludesZero` method of the `NumberAxis` class; | 
| 1281 | 2327 | sjacqu01 | - added the instructions that were missing from the copies of the GNU Lesser General Public Licence included with JFreeChart. | 
| 1282 | 265 | sjacqu01 | |
| 1283 | 265 | sjacqu01 | |
| 1284 | 2327 | sjacqu01 | ##### Version 0.7.1 (25-Jan-2002) | 
| 1285 | 265 | sjacqu01 | |
| 1286 | 2327 | sjacqu01 | - added tooltips, crosshairs and zooming functions, thanks to Jonathan Nash and Hans-Jurgen Greiner | 
| 1287 | 2327 | sjacqu01 | for contributing the code that these features are based on; | 
| 1288 | 2327 | sjacqu01 | - moved the combination charts into the package `com.jrefinery.chart.combination`; | 
| 1289 | 2327 | sjacqu01 | - made a number of other small API changes and fixed some bugs; | 
| 1290 | 2327 | sjacqu01 | - removed the Javadoc HTML from the download to save space (you can regenerate it from the source code if you need it). | 
| 1291 | 265 | sjacqu01 | |
| 1292 | 265 | sjacqu01 | |
| 1293 | 2327 | sjacqu01 | ##### Version 0.7.0 (11-Dec-2001) | 
| 1294 | 265 | sjacqu01 | |
| 1295 | 2327 | sjacqu01 | - new combination plots developed by Bill Kelemen; | 
| 1296 | 2327 | sjacqu01 | - added Wolfgang Irler's servlet demo to the standard download; | 
| 1297 | 2327 | sjacqu01 | - the About window in the demo application now includes a list of developers that have contributed to the project. | 
| 1298 | 265 | sjacqu01 | |
| 1299 | 265 | sjacqu01 | |
| 1300 | 2327 | sjacqu01 | ##### Version 0.6.0 (27-Nov-2001) | 
| 1301 | 265 | sjacqu01 | |
| 1302 | 2327 | sjacqu01 | - new plots including scatter plot, stacked bar charts and 3D bar charts; | 
| 1303 | 2327 | sjacqu01 | - improved pie chart; | 
| 1304 | 2327 | sjacqu01 | - data interfaces and classes moved to the JCommon class library; | 
| 1305 | 2327 | sjacqu01 | - new properties to control spacing on bar charts; | 
| 1306 | 2327 | sjacqu01 | - new auto-tick mechanism; | 
| 1307 | 2327 | sjacqu01 | - `JFreeChartPanel` now incorporates buffering, and popup menu; | 
| 1308 | 2327 | sjacqu01 | - Javadocs revised; | 
| 1309 | 2327 | sjacqu01 | - fixed numerous bugs from version 0.5.6; | 
| 1310 | 2327 | sjacqu01 | - demo application updated. | 
| 1311 | 265 | sjacqu01 | |
| 1312 | 265 | sjacqu01 | |
| 1313 | 2327 | sjacqu01 | CONTRIBUTORS | 
| 1314 | 2327 | sjacqu01 | ------------ | 
| 1315 | 2327 | sjacqu01 | JFreeChart wouldn't be half the library that it is today without the contributions (large and small) that have been made by the developers listed below: | 
| 1316 | 265 | sjacqu01 | |
| 1317 | 2327 | sjacqu01 | - Eric Alexander | 
| 1318 | 2327 | sjacqu01 | - Richard Atkinson | 
| 1319 | 2327 | sjacqu01 | - David Basten | 
| 1320 | 2327 | sjacqu01 | - David Berry | 
| 1321 | 2327 | sjacqu01 | - Chris Boek | 
| 1322 | 2327 | sjacqu01 | - Zoheb Borbora | 
| 1323 | 2327 | sjacqu01 | - Anthony Boulestreau | 
| 1324 | 2327 | sjacqu01 | - Jeremy Bowman | 
| 1325 | 2327 | sjacqu01 | - Nicolas Brodu | 
| 1326 | 2327 | sjacqu01 | - Jody Brownell | 
| 1327 | 2327 | sjacqu01 | - David Browning | 
| 1328 | 2327 | sjacqu01 | - Soren Caspersen | 
| 1329 | 2327 | sjacqu01 | - Thomas A Caswell | 
| 1330 | 2327 | sjacqu01 | - Chuanhao Chiu | 
| 1331 | 2327 | sjacqu01 | - Brian Cole | 
| 1332 | 2327 | sjacqu01 | - Pascal Collet | 
| 1333 | 2327 | sjacqu01 | - Martin Cordova | 
| 1334 | 2327 | sjacqu01 | - Paolo Cova | 
| 1335 | 2327 | sjacqu01 | - Greg Darke | 
| 1336 | 2327 | sjacqu01 | - Mike Duffy | 
| 1337 | 2327 | sjacqu01 | - Don Elliott | 
| 1338 | 2327 | sjacqu01 | - Rune Fauske | 
| 1339 | 2327 | sjacqu01 | - Jonathan Gabbai | 
| 1340 | 2327 | sjacqu01 | - Serge V. Grachov | 
| 1341 | 2327 | sjacqu01 | - Daniel Gredler | 
| 1342 | 2327 | sjacqu01 | - Joao Guilherme Del Valle | 
| 1343 | 2327 | sjacqu01 | - Hans-Jurgen Greiner | 
| 1344 | 2327 | sjacqu01 | - Nick Guenther | 
| 1345 | 2327 | sjacqu01 | - Aiman Han | 
| 1346 | 2327 | sjacqu01 | - Cameron Hayne | 
| 1347 | 2327 | sjacqu01 | - Martin Hoeller (xS+S) | 
| 1348 | 2327 | sjacqu01 | - Jon Iles | 
| 1349 | 2327 | sjacqu01 | - Wolfgang Irler | 
| 1350 | 2327 | sjacqu01 | - Sergei Ivanov | 
| 1351 | 2327 | sjacqu01 | - Nina Jeliazkova | 
| 1352 | 2327 | sjacqu01 | - Adriaan Joubert | 
| 1353 | 2327 | sjacqu01 | - Darren Jung | 
| 1354 | 2327 | sjacqu01 | - Xun Kang | 
| 1355 | 2327 | sjacqu01 | - Bill Kelemen | 
| 1356 | 2327 | sjacqu01 | - Norbert Kiesel | 
| 1357 | 2327 | sjacqu01 | - Petr Kopac | 
| 1358 | 2327 | sjacqu01 | - Gideon Krause | 
| 1359 | 2327 | sjacqu01 | - Dave Law; | 
| 1360 | 2327 | sjacqu01 | - Pierre-Marie Le Biot | 
| 1361 | 2327 | sjacqu01 | - Simon Legner | 
| 1362 | 2327 | sjacqu01 | - Arnaud Lelievre | 
| 1363 | 2327 | sjacqu01 | - Wolfgang Lenhard | 
| 1364 | 2327 | sjacqu01 | - Leo Leung | 
| 1365 | 2327 | sjacqu01 | - David Li | 
| 1366 | 2327 | sjacqu01 | - Yan Liu | 
| 1367 | 2327 | sjacqu01 | - Tin Luu | 
| 1368 | 2327 | sjacqu01 | - Craig MacFarlane | 
| 1369 | 2327 | sjacqu01 | - Achilleus Mantzios | 
| 1370 | 2327 | sjacqu01 | - John Matthews | 
| 1371 | 2327 | sjacqu01 | - Thomas Meier | 
| 1372 | 2327 | sjacqu01 | - Jim Moore | 
| 1373 | 2327 | sjacqu01 | - Jonathan Nash | 
| 1374 | 2327 | sjacqu01 | - Barak Naveh | 
| 1375 | 2327 | sjacqu01 | - David M. O'Donnell | 
| 1376 | 2327 | sjacqu01 | - Krzysztof Paz | 
| 1377 | 2327 | sjacqu01 | - Eric Penfold | 
| 1378 | 2327 | sjacqu01 | - Tomer Peretz | 
| 1379 | 2327 | sjacqu01 | - Xavier Poinsard | 
| 1380 | 2327 | sjacqu01 | - Andrzej Porebski | 
| 1381 | 2327 | sjacqu01 | - Viktor Rajewski | 
| 1382 | 2327 | sjacqu01 | - Eduardo Ramalho | 
| 1383 | 2327 | sjacqu01 | - Michael Rauch | 
| 1384 | 2327 | sjacqu01 | - Klaus Rheinwald | 
| 1385 | 2327 | sjacqu01 | - Cameron Riley | 
| 1386 | 2327 | sjacqu01 | - Dan Rivett | 
| 1387 | 2327 | sjacqu01 | - Lukasz Rzeszotarski | 
| 1388 | 2327 | sjacqu01 | - Scott Sams | 
| 1389 | 2327 | sjacqu01 | - Michel Santos | 
| 1390 | 2327 | sjacqu01 | - Thierry Saura | 
| 1391 | 2327 | sjacqu01 | - Patrick Schlott | 
| 1392 | 2327 | sjacqu01 | - Andreas Schneider | 
| 1393 | 2327 | sjacqu01 | - Christoph Schroeder | 
| 1394 | 2327 | sjacqu01 | - Jean-Luc SCHWAB | 
| 1395 | 2327 | sjacqu01 | - Bryan Scott | 
| 1396 | 2327 | sjacqu01 | - Tobias Selb | 
| 1397 | 2327 | sjacqu01 | - Darshan Shah | 
| 1398 | 2327 | sjacqu01 | - Mofeed Shahin | 
| 1399 | 2327 | sjacqu01 | - Michael Siemer | 
| 1400 | 2327 | sjacqu01 | - Pady Srinivasan | 
| 1401 | 2327 | sjacqu01 | - Greg Steckman | 
| 1402 | 2327 | sjacqu01 | - Roger Studner | 
| 1403 | 2327 | sjacqu01 | - Gerald Struck | 
| 1404 | 2327 | sjacqu01 | - Irv Thomae | 
| 1405 | 2327 | sjacqu01 | - Eric Thomas | 
| 1406 | 2327 | sjacqu01 | - Rich Unger | 
| 1407 | 2327 | sjacqu01 | - Daniel van Enckevort | 
| 1408 | 2327 | sjacqu01 | - Laurence Vanhelsuwe | 
| 1409 | 2327 | sjacqu01 | - Sylvain Vieujot | 
| 1410 | 2327 | sjacqu01 | - Jelai Wang | 
| 1411 | 2327 | sjacqu01 | - Mark Watson | 
| 1412 | 2327 | sjacqu01 | - Alex Weber | 
| 1413 | 2327 | sjacqu01 | - Richard West | 
| 1414 | 2327 | sjacqu01 | - Matthew Wright | 
| 1415 | 2327 | sjacqu01 | - Benoit Xhenseval | 
| 1416 | 2327 | sjacqu01 | - Christian W. Zuckschwerdt | 
| 1417 | 2327 | sjacqu01 | - Hari | 
| 1418 | 2327 | sjacqu01 | - Sam (oldman) | 
| 1419 | 265 | sjacqu01 | |
| 1420 | 2327 | sjacqu01 | It is possible that I have missed someone on this list, if that applies to you, please e-mail me. | 
| 1421 | 265 | sjacqu01 | |
| 1422 | 2327 | sjacqu01 | Dave Gilbert (david.gilbert@object-refinery.com) | 
| 1423 | 265 | sjacqu01 | |
| 1424 | 2327 | sjacqu01 | JFreeChart Project Leader |