This release is the first comprehensive overhaul of `geoplot` since its initial design and release in early 2017. While this release adds no new "large-scale" features, you can except a much more polished user experience with `0.3.0` than previously existed.
Breaking changes include (highlights in bold):
* **The `categorical` argument has been removed. `geoplot` will now infer when a column is categorical automatically.**
* The overly complicated `aggplot` plot type has been removed and replaced with the simplified `quadtree`. Most parameters are the same, but the convex hull and auto-choropleth features have been removed.
* Plots now use the center of the `GeoDataFrame` bounding box geometry (via `GeoDataFrame.total_bounds`) instead of the cumulative average of the individual geometries, which is both faster and more accurate.
* The order of arguments for the `extent` parameter has changed. Previously it took a tuple of `(xmin, xmax, ymin, ymax)`; now it takes a tuple of `(xmin, ymin, xmax, ymax)`, for compatibility with `GeoDataFrame.total_bounds`.
* **When overplotting multiple plots on a single axis, the projection now need only be specified once, instead of once per plot function.**
* The `sankey` has been reworked. `path`, `from`, and `to` have been removed; line geometries are now read from the `GeoDataFrame` instead of transformed just-in-time. This brings `sankey` more in line with the rest of the plots in the `geoplot`.
* The `trace` and `trace_kwargs` parameters have been removed from `cartogram`. To add a trace to a `cartogram` plot, overplot a `polyplot` instead.
* **`cmap` now defaults to `viridis` (as in `matplotlib`) instead of `Set1`.**
* The minimum Python version has been raised from 3.5 to 3.6.
* `polyplot` now defaults to `zorder=-1` (e.g. "bottom of the plot").
* `kdeplot` now defaults to `shade_lowest=False`.
* The `vmin` and `vmax` parameters have been removed.
Other changes include:
* A number of edge cases have been addressed and reliability has been improved, particularly in the case of the `voronoi` and `quadtree` plot types.
* Certain common bad combinations of parameters will now raise helpful error messages instead of failing inexplicably or doing the wrong thing.
* **The documentation has been completely rewritten for ease of use and clarity.**
* Certain parameters like `clip` now accept more types of inputs.
* Code has been refactored with new `Plot` and `{Feature}Mixin` classes, which greatly increases code reuse and extensibility and will make adding new plot types in the future much easier.