|
2 | 2 | All notable changes to this project will be documented in this file.
|
3 | 3 | This project adheres to [Semantic Versioning](http://semver.org/).
|
4 | 4 |
|
5 |
| -## [2.7.1] - [UNRELEASED] |
| 5 | +## [3.3.0] - 2018-09-28 |
| 6 | + |
| 7 | +### Updated |
| 8 | + - Updated Plotly.js to version 1.41.3. Select highlights included below, see |
| 9 | + [the plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#1413----2018-09-25) |
| 10 | + for more information. |
| 11 | + - Do not create or check permissions on the `~/.plotly` configuration |
| 12 | + directory until a configuration write operation is performed |
| 13 | + ([#1195](https://github.com/plotly/plotly.py/pull/1195)). This change |
| 14 | + avoids some concurrency problems associated with running many instances of |
| 15 | + plotly.py simultaneously |
| 16 | + ([#1068](https://github.com/plotly/plotly.py/issues/1068)). |
| 17 | + |
| 18 | +### Added |
| 19 | + - Enable selection by clicking on points via new layout attribute `clickmode` and flag `'select'` |
| 20 | + ([#2944](https://github.com/plotly/plotly.js/pull/2944)) |
| 21 | + - Added stacked area charts via new attributes `stackgroup` and `stackgaps` in scatter traces |
| 22 | + ([#2960](https://github.com/plotly/plotly.js/pull/2960)) |
| 23 | + - Added `barpolar` trace type - which replace and augment area traces |
| 24 | + ([#2954](https://github.com/plotly/plotly.js/pull/2954)) |
| 25 | + - Added `polar.hole` layout parameter to punch hole at the middle of polar |
| 26 | + subplot offsetting the start of the radial range |
| 27 | + ([#2977](https://github.com/plotly/plotly.js/pull/2977), [#2996](https://github.com/plotly/plotly.js/pull/2996)) |
| 28 | + - Figures may now be easily converted to and from JSON using the new |
| 29 | + `to_json`, `from_json`, `read_json`, and `write_json` functions in the |
| 30 | + `plotly.io` package |
| 31 | + ([#1188](https://github.com/plotly/plotly.py/pull/1188)) |
| 32 | + - Figures and graph objects now support `deepcopy` and `pickle` operations |
| 33 | + ([#1191](https://github.com/plotly/plotly.py/pull/1191)) |
| 34 | + - The location of the `"~/.plotly"` settings directory may now be customized |
| 35 | + using the `PLOTLY_DIR` environment variable |
| 36 | + ([#1195](https://github.com/plotly/plotly.py/pull/1195)) |
| 37 | + - Added optional `scaleratio` argument to the `create_quiver` figure factory. |
| 38 | + When specified, the axes are restricted to this ratio and the quiver arrows |
| 39 | + are computed to have consistent lengths across angles. |
| 40 | + ([#1197](https://github.com/plotly/plotly.py/pull/1197)) |
| 41 | + |
| 42 | +### Fixed |
| 43 | + - Replace use of `pkg_resources.resource_string` with `pkgutil.get_data` to |
| 44 | + improve compatibility with `cx_Freeze` |
| 45 | + ([#1201](https://github.com/plotly/plotly.py/pull/1201)) |
| 46 | + - An exception is no longer raised when an optional dependency raises an |
| 47 | + exception on import. The exception is logged and plotly.py continues as if |
| 48 | + the dependency were not installed |
| 49 | + ([#1192](https://github.com/plotly/plotly.py/pull/1192)) |
| 50 | + - Fixed invalid dendrogram axis labels when the points being clustered contain |
| 51 | + duplicate values |
| 52 | + ([#1186](https://github.com/plotly/plotly.py/pull/1186)) |
| 53 | + - Added missing LICENSE.txt file to PyPI source distribution |
| 54 | + ([#765](https://github.com/plotly/plotly.py/issues/765)) |
| 55 | + |
| 56 | +### JupyterLab Versions |
| 57 | +For use with JupyterLab, the following versions of the following packages |
| 58 | +must be installed: |
| 59 | + |
| 60 | + - Python Packages |
| 61 | + - plotly==3.3.0 |
| 62 | + - ipywidgets>=7.2 |
| 63 | + - notebook>=5.3 |
| 64 | + - jupyterlab==0.34 |
| 65 | + |
| 66 | + - JupyterLab Extensions |
| 67 | + |
| 68 | + - @jupyter-widgets/jupyterlab-manager@0.37 |
| 69 | + - @jupyterlab/plotly-extension@0.17 |
| 70 | + |
| 71 | +## [3.2.1] - 2018-09-14 |
| 72 | +This is a patch release that fixes a few bugs and reintroduces a few |
| 73 | +version 2 features that were not supported in version 3. |
| 74 | + |
| 75 | +The bundled version of plotly.js remains at 1.40.1 |
| 76 | + |
| 77 | +### JupyterLab Versions |
| 78 | +For use with JupyterLab, the following versions of the following packages |
| 79 | +must be installed: |
| 80 | + |
| 81 | + - Python Packages |
| 82 | + - plotly==3.2.1 |
| 83 | + - ipywidgets>=7.2 |
| 84 | + - notebook>=5.3 |
| 85 | + - jupyterlab==0.34 |
| 86 | + |
| 87 | + - JupyterLab Extensions |
| 88 | + |
| 89 | + - @jupyter-widgets/jupyterlab-manager@0.37 |
| 90 | + - @jupyterlab/plotly-extension@0.17 |
| 91 | + |
| 92 | +### Added |
| 93 | + - An optional `skip_invalid` argument has been added to the `Figure` and |
| 94 | + `FigureWidget` constructors. By default, `skip_invalid` is `False` and invalid |
| 95 | + figure properties will result in an exception (this is identical to the |
| 96 | + previous behavior). When `skip_invalid` is set to `True`, invalid properties |
| 97 | + will instead be silently ignored. This argument replaces the `_raise` |
| 98 | + argument that was available in version 2, and makes it possible to import |
| 99 | + figure definitions from different plotly versions, where incompatible |
| 100 | + properties are ignored rather than causing an exception. |
| 101 | + - A `to_ordered_dict` method has been added to the `Figure` and `FigureWidget` |
| 102 | + classes. This method returns a representation of the figure as a nested |
| 103 | + structure of `OrdererdDict` and `list` instances where the keys in each |
| 104 | + `OrderedDict` are sorted alphabetically. This method replaces the |
| 105 | + `get_ordered` method that was available in version 2, and makes it possible |
| 106 | + to traverse the nested structure of a figure in a deterministic order. |
| 107 | + |
| 108 | +### Fixed |
| 109 | + - Pandas `Series` and `Index` objects storing `datetime` values were |
| 110 | + incorrectly cast to numeric arrays |
| 111 | + ([plotly/plotly.py#1160](https://github.com/plotly/plotly.py/issues/1160), |
| 112 | + [plotly/plotly.py#1163](https://github.com/plotly/plotly.py/pull/1163)) |
| 113 | + - Numpy arrays with `uint64` datatype caused a `FigureWidget` error, |
| 114 | + and no figure was displayed |
| 115 | + ([plotly/plotly.py#1155](https://github.com/plotly/plotly.py/issues/1155), |
| 116 | + [plotly/plotly.py#1163](https://github.com/plotly/plotly.py/pull/1163)) |
| 117 | + |
| 118 | +## [3.2.0] - 2018-09-05 |
| 119 | +This release introduces the long-anticipated ability to programmatically |
| 120 | +export figures as high quality static images in both raster and vector |
| 121 | +formats. |
| 122 | + |
| 123 | +### JupyterLab Versions (Python 3.5+) |
| 124 | +For use with JupyterLab, the following versions of the following packages |
| 125 | +must be installed: |
| 126 | + |
| 127 | + - Python Packages |
| 128 | + - plotly==3.2.0 |
| 129 | + - ipywidgets>=7.2 |
| 130 | + - notebook>=5.3 |
| 131 | + - jupyterlab==0.34 |
| 132 | + |
| 133 | + - JupyterLab Extensions |
| 134 | + |
| 135 | + - @jupyter-widgets/jupyterlab-manager@0.37 |
| 136 | + - @jupyterlab/plotly-extension@0.17 |
| 137 | + |
| 138 | +### Added |
| 139 | + - plotly.js version 1.40.1, which introduces the following features: |
| 140 | + - Allow `contour`, `contourcarpet` and `histogram2dcontour` to have corresponding legend items using `showlegend` |
| 141 | + ([plotly/plotly.js#2891](https://github.com/plotly/plotly.js/pull/2891), |
| 142 | + [plotly/plotly.js#2914](https://github.com/plotly/plotly.js/pull/2914)) |
| 143 | + - Add scatterpolar and scatterpolargl attributes `r0`, `dr`, `theta0` and `dtheta` |
| 144 | + ([plotly/plotly.js#2895](https://github.com/plotly/plotly.js/pull/2895)) |
| 145 | + - Add layout attributes `piecolorway` and `extendpiecolors` for more control over pie colors |
| 146 | + ([plotly/plotly.js#2870](https://github.com/plotly/plotly.js/pull/2870)) |
| 147 | + - Add `splom` attribute `dimensions[i].axis.type` to easily override axis type in splom-generated axes |
| 148 | + ([plotly/plotly.js#2899](https://github.com/plotly/plotly.js/pull/2870)) |
| 149 | + - Add support for on-graph text in `scatterpolargl` traces |
| 150 | + ([plotly/plotly.js#2895](https://github.com/plotly/plotly.js/pull/2895)) |
| 151 | + - See [the plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#1400----2018-08-16) |
| 152 | + for bug fixes and more information. |
| 153 | + - Support for offline static image export with the `to_image` and `write_image` |
| 154 | + functions in the new `plotly.io` package ([#1120](https://github.com/plotly/plotly.py/pull/1120)). |
| 155 | + - Note: Image export requires the plotly [orca](https://github.com/plotly/orca) |
| 156 | + command line utility and the [`psutil`](https://github.com/giampaolo/psutil) Python package. |
| 157 | + - New documentation sections covering [Static Image Export](https://plot.ly/python/static-image-export/) |
| 158 | + and [Orca Management](https://plot.ly/python/orca-management/) |
| 159 | + - Support for displaying `FigureWidget` instances in static contexts |
| 160 | + (e.g. [nbviewer](http://nbviewer.jupyter.org/)) just like the built-in ipywidgets |
| 161 | + ([#1117](https://github.com/plotly/plotly.py/pull/1117)) |
| 162 | + - Full integration of the Cividis colorscale ([#883](https://github.com/plotly/plotly.py/pull/883)) |
| 163 | + - conda packaging |
| 164 | + - From here forward, new versions of plotly.py will be published to the [plotly anaconda channel](https://anaconda.org/plotly/) |
| 165 | + on the same day they are published to PyPI. |
| 166 | + ([72ad0e4](https://github.com/plotly/plotly.py/commit/72ad0e4bf54bb8a06445d2ca55488ffc11c836a7)) |
| 167 | + - The [`README`](README.md) now includes conda installation instructions alongside the pip instructions. |
| 168 | + - In addition to the existing installation approaches, orca is now also available as a |
| 169 | + [conda package](https://anaconda.org/plotly/plotly-orca) from the plotly anaconda channel. |
| 170 | + |
6 | 171 | ### Updated
|
7 |
| -- error message for `plotly.figure_factory.create_choropleth` is now helpful to Anaconda users who do not have the correct modules installed for the County Choropleth figure factory. |
| 172 | + - Show traces at the top of the Gantt chart's colorbar ([#1110](https://github.com/plotly/plotly.py/pull/1110)) |
| 173 | + - Significantly improved validation performance for numeric pandas `Series` objects ([#1149](https://github.com/plotly/plotly.py/pull/1149)) |
| 174 | + - Specialize auto-generated docstrings for Python syntax |
| 175 | + - More robust and specific logic for retrying requests to the plot.ly cloud service ([#1146](https://github.com/plotly/plotly.py/pull/1146)) |
| 176 | + - Support basic authentication when using the streaming API behind a proxy server ([#1133](https://github.com/plotly/plotly.py/pull/1133)) |
| 177 | + |
| 178 | +### Fixed |
| 179 | + - Validators for `dash` properties (e.g. `scatter.line.dash`) incorrectly rejected dash length lists ([#1136](https://github.com/plotly/plotly.py/pull/1136)) |
| 180 | + - Annotated heatmap error when custom colorscale was specified ([#1151](https://github.com/plotly/plotly.py/pull/1151)) |
| 181 | + - Incorrect deprecation warning for deprecated `plotly.graph_objs.Annotations` class ([#1138](https://github.com/plotly/plotly.py/pull/1138)) |
| 182 | + - Harmless JavaScript console error when opening an html file produced by `plotly.offline.plot` ([#1152](https://github.com/plotly/plotly.py/pull/1152)) |
| 183 | + - Incorrect validation errors when writing data to the streaming API ([#1145](https://github.com/plotly/plotly.py/pull/1145)) |
| 184 | + |
| 185 | + |
| 186 | +## [3.1.1] - 2018-08-10 |
| 187 | +This release is a minor bug-fix update to version 3.1.0 |
| 188 | + |
| 189 | +### JupyterLab Versions |
| 190 | +For use with JupyterLab, the following versions of the following packages |
| 191 | +must be installed: |
| 192 | + |
| 193 | + - Python Packages |
| 194 | + - plotly==3.1.1 |
| 195 | + - ipywidgets>=7.2 |
| 196 | + - notebook>=5.3 |
| 197 | + - jupyterlab==0.33 |
| 198 | + |
| 199 | + - JupyterLab Extensions |
| 200 | + |
| 201 | + - @jupyter-widgets/jupyterlab-manager@0.36 |
| 202 | + - @jupyterlab/plotly-extension@0.16 |
| 203 | + |
| 204 | +### Updated |
| 205 | + - Updated plotly.js to version 1.39.4. |
| 206 | + - This is a bug-fix release of plotly.js |
| 207 | + - See [the plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#1394----2018-08-02) for more information |
| 208 | + |
| 209 | +### Fixed |
| 210 | + - Fixed error in validation of configkeys |
| 211 | + [plotly/plotly.js#1065](https://github.com/plotly/plotly.py/pull/1065) |
| 212 | + - Fixed error in presentation of named colorscales |
| 213 | + [plotly/plotly.js#1089](https://github.com/plotly/plotly.py/pull/1089) |
| 214 | + - Fixed numerical precision error when using `plotly.tools.make_subplots` |
| 215 | + to create figures with a large number of subplots |
| 216 | + [plotly/plotly.js#1091](https://github.com/plotly/plotly.py/pull/1091) |
| 217 | + - Fixed problem that prevented the use of the `.update` method to initialize |
| 218 | + an array property (e.g. `layout.shapes`) |
| 219 | + [plotly/plotly.js#1091](https://github.com/plotly/plotly.py/pull/1092) |
| 220 | + - Fixed `FigureWidget` problem causing scroll zoom on 3D plots to stutter |
| 221 | + [plotly/plotly.js#1094](https://github.com/plotly/plotly.py/pull/1094) |
| 222 | + - Fixed invalid `tickmode` property in `matplotlylib` |
| 223 | + [plotly/plotly.js#1101](https://github.com/plotly/plotly.py/pull/1101) |
| 224 | + |
| 225 | +## [3.1.0] - 2018-07-20 |
| 226 | + |
| 227 | +### JupyterLab Versions |
| 228 | +For use with JupyterLab, the following versions of the following packages |
| 229 | +must be installed. See [README.md](README.md) for instructions. |
| 230 | + |
| 231 | + - Python Packages |
| 232 | + - plotly==3.1.0 |
| 233 | + - ipywidgets>=7.2 |
| 234 | + - notebook>=5.3 |
| 235 | + - jupyterlab==0.32.1 |
| 236 | + |
| 237 | + - JupyterLab Extensions |
| 238 | + |
| 239 | + - @jupyter-widgets/jupyterlab-manager@0.35 |
| 240 | + - @jupyterlab/plotly-extension@0.16 |
| 241 | + |
| 242 | +### Updated |
| 243 | + - Updated Plotly.js to version 1.39.2 |
| 244 | + - See highlights below |
| 245 | + - See [the plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#1392----2018-07-16) for more information. |
| 246 | + |
| 247 | +### Added |
| 248 | + - Added 3D streamtube traces |
| 249 | + [plotly/plotly.js#2658](https://github.com/plotly/plotly.js/pull/2658) |
| 250 | + - Added support for on-graph text in scattergl traces |
| 251 | + - Added gridshape attribute to polar subplots with values 'circular' (the default) and 'linear' (to draw polygon grids) |
| 252 | + [plotly/plotly.js#2739](https://github.com/plotly/plotly.js/pull/2739) |
| 253 | + |
| 254 | +## [3.0.2] - 2018-07-17 |
| 255 | +This is a minor bug-fix release to 3.0.0 |
| 256 | + |
| 257 | +### JupyterLab plotlywidget version: 0.1.1 |
| 258 | + |
| 259 | +### Plotly.js version: 1.38.3 |
| 260 | + |
| 261 | +### Fixed |
| 262 | + - Several errors related to numbered subplot labels (e.g. xaxis2, polar3, etc.) |
| 263 | + [GH1057](https://github.com/plotly/plotly.py/pull/1057) |
| 264 | + - Error where the `v` property was ignored in `cone` traces |
| 265 | + [GH1060](https://github.com/plotly/plotly.py/pull/1060) |
| 266 | + - Assorted performance improvements when constructing graph objects |
| 267 | + [GH1061](https://github.com/plotly/plotly.py/pull/1061) |
| 268 | + |
| 269 | +## [3.0.1] - 2018-07-17 [YANKED] |
| 270 | +Note: This release's installation was broken. It has been removed from PyPI |
| 271 | + |
| 272 | +## [3.0.0] - 2018-07-05 |
| 273 | + |
| 274 | +This is a major version with many exciting updates. See the [Introducing plotly.py 3.0.0](https://medium.com/@plotlygraphs/introducing-plotly-py-3-0-0-7bb1333f69c6) post for more information. |
| 275 | + |
| 276 | +### JupyterLab plotlywidget version: 0.1.1 |
| 277 | + |
| 278 | +### Plotly.js version: 1.38.3 |
| 279 | + |
| 280 | +### Added |
| 281 | +- Full Jupyter ipywidgets integration with the new `graph_objs.FigureWidget` class |
| 282 | +- `FigureWidget` figures can be updated interactively using property assignment syntax |
| 283 | +- The full trace and layout API is generated from the plotly schema to provide a great experience for interactive use in the notebook |
| 284 | +- Support for setting array properties as numpy arrays. When numpy arrays are used, ipywidgets binary serialization protocol is used to avoid converting these to JSON strings. |
| 285 | +- Context manager API for animation. Run `help(go.Figure().batch_animate)` for the full doc string. |
| 286 | +- Perform automatic retries when communicating with plot.ly services. This introduces a new required dependency on the [retrying](https://pypi.org/project/retrying/) library. |
| 287 | +- Improved data validation covering the full API with clear, informative error messages. This means that incorrect properties and/or values now always raise a `ValueError` with a description of the error, the invalid property, and the available properties on the level that it was placed in the graph object. Eg. `go.Scatter(foo=123)` raises a validation error. See https://plot.ly/python/reference/ for a reference to all valid properties and values in the Python API. |
| 288 | +- Error message for `plotly.figure_factory.create_choropleth` is now helpful to Anaconda users who do not have the correct modules installed for the County Choropleth figure factory. |
| 289 | + |
| 290 | +### Changed / Deprecated |
| 291 | +Please see the [migration guid](migration-guide.md) for a full list of the changes and deprecations in version 3.0.0 |
| 292 | + |
| 293 | + |
8 | 294 |
|
9 | 295 | ## [2.7.0] - 2018-05-23
|
10 | 296 | ### Updated
|
|
0 commit comments