**<span style="color:red" style="text-decoration:underline">Support for Python versions < 3.5 will be dropped in the next version of FloPy (version 3.3.0)</span>**
* ModflowFlwob: Variable `irefsp` is now a zero-based integer ([596](https://github.com/modflowpy/flopy/pull/596))
* ModflowFlwob: Added a load method and increased precision of `toffset` when writing to file ([598](https://github.com/modflowpy/flopy/pull/598))
* New feature GridIntersect ([610](https://github.com/modflowpy/flopy/pull/610)): The GridIntersect object allows the user to intersect shapes (Points, LineStrings and Polygons) with a MODFLOW grid. These intersections return a numpy.recarray containing the intersection information, i.e. cell IDs, lengths or areas, and a shapely representation of the intersection results. Grids can be structured or vertex grids. Two intersections methods are implemented: `"structured"` and `"strtree"`: the former accelerates intersections with structured grids. The latter is more flexible and also works for vertex grids. The GridIntersect class is available through `flopy.utils.gridintersect`. The functionality requires the Shapely module. See the [example notebook](../examples/Notebooks/flopy3_grid_intersection_demo.ipynb) for an overview of this new feature.
* New feature `Raster` ([634](https://github.com/modflowpy/flopy/pull/634)): The Raster object allows the user to load raster files (Geotiff, arc ascii, .img) and sample points, sample polygons, create cross sections, crop, and resample raster data to a Grid. Cropping has been implemented using a modified version of the ray casting algorithm for speed purposes. Resampling a raster can be performed with structured, vertex, and unstructured Grids. Rasters will return a numpy array of resampled data in the same shape as the Grid. The Raster class is available by calling `flopy.utils.Raster`. The functionality requires rasterio, affine, and scipy. See the ([example notebook](../examples/Notebooks/flopy3_raster_intersection.ipynb)) for an overview of this feature.
* Modify NAM and MFList output files to remove excessive whitespace ([622](https://github.com/modflowpy/flopy/pull/622), [#722](https://github.com/modflowpy/flopy/pull/722))
* Deprecate `crs` class from `flopy.utils.reference` in favor of `CRS` class from `flopy.export.shapefile_utils` ([608](https://github.com/modflowpy/flopy/pull/608))
* New feature in `PlotCrossSection` ([660](https://github.com/modflowpy/flopy/issues/660)). Added a `geographic_coords` parameter flag to `PlotCrossSection` which allows the user to plot cross sections with geographic coordinates on the x-axis. The default behavior is to plot distance along cross sectional line on the x-axis. See the ([example notebook](../examples/Notebooks/flopy3_PlotCrossSection_demo.ipynb)) for an overview of this feature.
* New feature with binaryfile readers, including `HeadFile` and `CellBudgetFile` ([669](https://github.com/modflowpy/flopy/pull/669)): [`with` statement](https://docs.python.org/3/reference/compound_stmts.html#with) is supported to open files for reading in a context manager, which automatically close when done or if an exception is raised.
* Improved the flopy list reader for MODFLOW stress packages (for mf2005, mfnwt, etc.), which may use SFAC to scale certain columns depending on the package. The list reading now supports reading from external files, in addition to open/close. The (binary) option is also supported for both open/close and external. This new list reader is used for reading standard stress package lists and also lists used to create parameters. The new list reader should be consistent with MODFLOW behavior.
* SfrFile detects additional columns ([708](https://github.com/modflowpy/flopy/issues/708))
* Add a `default_float_format` property to mfsfr2, which is string formatted by NumPy versions > 1.14.0, or `{:.8g}` for older NumPy versions ([710](https://github.com/modflowpy/flopy/issues/710))
* Support for pyshp 1.2.1 dropped, pyshp 2.1.0 support maintained
* Improved VTK export capabilities. Added export for VTK at array level, package level, and model level. Added binary head file export and cell by cell file export. Added the ability to export point scalars in addition to cell scalars, and added smooth surface generation. VTK export now supports writing transient data as well as exporting to binary .vtu files.
* Support for copying model and package instances with `copy.deepcopy()`
* Added link to Binder on [README](README.md) and [notebooks_examples](../examples/docs/notebook_examples.md) markdown documents. Binder provides an environment that runs and interactively serves the FloPy Jupyter notebooks.
* Bug fixes:
* When using the default `iuzfbnd=None` in the `__init__` routine of mtuzt.py, instantiation of IUZBND was generating a 3D array instead of a 2D array. Now generates a 2D array
* ModflowSfr2 `__init__` was being slowed considerably by the `ModflowSfr2.all_segments` property method. Modified the `ModflowSfr2.graph` property method that describes routing connections between segments to handle cases where segments aren't listed in stress period 0.
* Ensure disordered fields in `reach_data` (Dataset 2) can be supported in `ModflowSfr2` and written to MODFLOW SFR input files.
* When loading a MF model with UZF active, item 8 ("`[IUZROW]` `[IUZCOL]` `IFTUNIT` `[IUZOPT]`") wasn't processed correctly when a user comment appeared at the end of the line
* MODFLOW-6 DISU JA arrays are now treated as zero-based cell IDs. JA, IHC, CL12 are outputted as jagged arrays.
* Models with multiple MODFLOW-6 WEL packages now load and save correctly.
* Exporting individual array and list data to a shapefile was producing an invalid attribute error. Attribute reference has been fixed.
* Fix UnboundLocalError and typo with `flopy.export.shapefile_utils.CRS` class ([608](https://github.com/modflowpy/flopy/pull/608))
* Fix Python 2.7 issue with `flopy.export.utils.export_contourf` ([625](https://github.com/modflowpy/flopy/pull/625))
* When loading a MT3D-USGS model, keyword options (if used) were ignored ([649](https://github.com/modflowpy/flopy/pull/649))
* When loading a modflow model, spatial reference information was not being passed to the SpatialReference class ([659](https://github.com/modflowpy/flopy/issues/659))
* Fix specifysurfk option in UZF, ModflowUZF1 read and write surfk variable
* Fix minor errors in flopy gridgen wrapper
* Close opened files after loading, to reduce `ResourceWarning` messages ([673](https://github.com/modflowpy/flopy/issues/673))
* Fix bugs related to flake8's F821 "undefined name 'name'", which includes issues related to Mt3dPhc, ModflowSfr2, ModflowDe4, ListBudget, and ModflowSms ([686](https://github.com/modflowpy/flopy/issues/686))
* Fix bugs related to flake8's F811 "redefinition of unused 'name'" ([688](https://github.com/modflowpy/flopy/issues/688))
* Fix bugs related to flake8's W605 "invalid escape sequence '\s'" (or similar) ([700](https://github.com/modflowpy/flopy/issues/700))
* Fix EpsgReference class behavior with JSON user files ([702](https://github.com/modflowpy/flopy/issues/702))
* Fix ModflowSfr2 read write logic for all combinations of isfropt and icalc
* IRCH array of the Recharge Package is now a zero-based variable, which means an IRCH value of 0 corresponds to the top model layer ([715](https://github.com/modflowpy/flopy/issues/715))
* MODFLOW lists were not always read correctly if they used the SFAC or binary options or were used to define parameters ([683](https://github.com/modflowpy/flopy/issues/683))
* Changed VDF Package density limiter defaults to zero ([646](https://github.com/modflowpy/flopy/issues/646))