Jonathan J. Helmus;
v0.8.0 (2 August 2016)
This release includes new features and bug fixes, including several breaking changes.
Dropped support for Python 2.6 (#855).
Indexing on multi-index now drop levels, which is consistent with pandas. It also changes the name of the dimension / coordinate when the multi-index is reduced to a single index (#802).
Contour plots no longer add a colorbar per default (#866). Filled contour plots are unchanged.
DataArray.values and .data now always returns an NumPy array-like object, even for 0-dimensional arrays with object dtype (#867). Previously, .values returned native Python objects in such cases. To convert the values of scalar arrays to Python objects, use the .item() method.
Groupby operations now support grouping over multidimensional variables. A new method called xarray.Dataset.groupby_bins has also been added to allow users to specify bins for grouping. The new features are described in groupby.multidim and examples.multidim. By Ryan Abernathey.
DataArray and Dataset method where now supports a drop=True option that clips coordinate elements that are fully masked. By Phillip J. Wolfram.
New top level merge function allows for combining variables from any number of Dataset and/or DataArray variables. See merge for more details. By Stephan Hoyer.
DataArray and Dataset method resample now supports the keep_attrs=False option that determines whether variable and dataset attributes are retained in the resampled object. By Jeremy McGibbon.
Better multi-index support in DataArray and Dataset sel and loc methods, which now behave more closely to pandas and which also accept dictionaries for indexing based on given level names and labels (see multi-level indexing). By Benoit Bovy.
New (experimental) decorators xarray.register_dataset_accessor and xarray.register_dataarray_accessor for registering custom xarray extensions without subclassing. They are described in the new documentation page on internals. By Stephan Hoyer.
Round trip boolean datatypes. Previously, writing boolean datatypes to netCDF formats would raise an error since netCDF does not have a bool datatype. This feature reads/writes a dtype attribute to boolean variables in netCDF files. By Joe Hamman.
2D plotting methods now have two new keywords (cbar_ax and cbar_kwargs), allowing more control on the colorbar (#872). By Fabien Maussion.
New Dataset method filter_by_attrs, akin to netCDF4.Dataset.get_variables_by_attributes, to easily filter data variables using its attributes. Filipe Fernandes.
Attributes were being retained by default for some resampling operations when they should not. With the keep_attrs=False option, they will no longer be retained by default. This may be backwards-incompatible with some scripts, but the attributes may be kept by adding the keep_attrs=True option. By Jeremy McGibbon.
Concatenating xarray objects along an axis with a MultiIndex or PeriodIndex preserves the nature of the index (#875). By Stephan Hoyer.
Fixed bug in arithmetic operations on DataArray objects whose dimensions are numpy structured arrays or recarrays #861, #837. By Maciek Swat.
decode_cf_timedelta now accepts arrays with ndim >1 (#842). This fixes issue #665. Filipe Fernandes.
Fix a bug where xarray.ufuncs that take two arguments would incorrectly use to numpy functions instead of dask.array functions (#876). By Stephan Hoyer.
Support for pickling functions from xarray.ufuncs (#901). By Stephan Hoyer.
Variable.copy(deep=True) no longer converts MultiIndex into a base Index (#769). By Benoit Bovy.
Fixes for groupby on dimensions with a multi-index (#867). By Stephan Hoyer.
Fix printing datasets with unicode attributes on Python 2 (#892). By Stephan Hoyer.