# Version 0.19.2 (December 24, 2016)

This is a minor bug-fix release in the 0.19.x series and includes some small regression fixes, bug fixes and performance improvements. We recommend that all users upgrade to this version.

Highlights include:

- Compatibility with Python 3.6

- Added a Pandas Cheat Sheet. (GH13202).

What’s new in v0.19.2

- Enhancements

- Performance improvements

- Bug fixes

- Contributors

## Enhancements

The `pd.merge_asof()`, added in 0.19.0, gained some improvements:

- `pd.merge_asof()` gained `left_index`/`right_index` and `left_by`/`right_by` arguments (GH14253)

- `pd.merge_asof()` can take multiple columns in `by` parameter and has specialized dtypes for better performance (GH13936)

## Performance improvements

- Performance regression with `PeriodIndex` (GH14822)

- Performance regression in indexing with getitem (GH14930)

- Improved performance of `.replace()` (GH12745)

- Improved performance `Series` creation with a datetime index and dictionary data (GH14894)

## Bug fixes

- Compat with python 3.6 for pickling of some offsets (GH14685)

- Compat with python 3.6 for some indexing exception types (GH14684, GH14689)

- Compat with python 3.6 for deprecation warnings in the test suite (GH14681)

- Compat with python 3.6 for Timestamp pickles (GH14689)

- Compat with `dateutil==2.6.0`; segfault reported in the testing suite (GH14621)

- Allow `nanoseconds` in `Timestamp.replace` as a kwarg (GH14621)

- Bug in `pd.read_csv` in which aliasing was being done for `na_values` when passed in as a dictionary (GH14203)

- Bug in `pd.read_csv` in which column indices for a dict-like `na_values` were not being respected (GH14203)

- Bug in `pd.read_csv` where reading files fails, if the number of headers is equal to the number of lines in the file (GH14515)

- Bug in `pd.read_csv` for the Python engine in which an unhelpful error message was being raised when multi-char delimiters were not being respected with quotes (GH14582)

- Fix bugs (GH14734, GH13654) in `pd.read_sas` and `pandas.io.sas.sas7bdat.SAS7BDATReader` that caused problems when reading a SAS file incrementally.

- Bug in `pd.read_csv` for the Python engine in which an unhelpful error message was being raised when `skipfooter` was not being respected by Python’s CSV library (GH13879)

- Bug in `.fillna()` in which timezone aware datetime64 values were incorrectly rounded (GH14872)

- Bug in `.groupby(..., sort=True)` of a non-lexsorted MultiIndex when grouping with multiple levels (GH14776)

- Bug in `pd.cut` with negative values and a single bin (GH14652)

- Bug in `pd.to_numeric` where a 0 was not unsigned on a `downcast='unsigned'` argument (GH14401)

- Bug in plotting regular and irregular timeseries using shared axes (`sharex=True` or `ax.twinx()`) (GH13341, GH14322).

- Bug in not propagating exceptions in parsing invalid datetimes, noted in python 3.6 (GH14561)

- Bug in resampling a `DatetimeIndex` in local TZ, covering a DST change, which would raise `AmbiguousTimeError` (GH14682)

- Bug in indexing that transformed `RecursionError` into `KeyError` or `IndexingError` (GH14554)

- Bug in `HDFStore` when writing a `MultiIndex` when using `data_columns=True` (GH14435)

- Bug in `HDFStore.append()` when writing a `Series` and passing a `min_itemsize` argument containing a value for the `index` (GH11412)

- Bug when writing to a `HDFStore` in `table` format with a `min_itemsize` value for the `index` and without asking to append (GH10381)

- Bug in `Series.groupby.nunique()` raising an `IndexError` for an empty `Series` (GH12553)

- Bug in `DataFrame.nlargest` and `DataFrame.nsmallest` when the index had duplicate values (GH13412)

- Bug in clipboard functions on linux with python2 with unicode and separators (GH13747)

- Bug in clipboard functions on Windows 10 and python 3 (GH14362, GH12807)

- Bug in `.to_clipboard()` and Excel compat (GH12529)

- Bug in `DataFrame.combine_first()` for integer columns (GH14687).

- Bug in `pd.read_csv()` in which the `dtype` parameter was not being respected for empty data (GH14712)

- Bug in `pd.read_csv()` in which the `nrows` parameter was not being respected for large input when using the C engine for parsing (GH7626)

- Bug in `pd.merge_asof()` could not handle timezone-aware DatetimeIndex when a tolerance was specified (GH14844)

- Explicit check in `to_stata` and `StataWriter` for out-of-range values when writing doubles (GH14618)

- Bug in `.plot(kind='kde')` which did not drop missing values to generate the KDE Plot, instead generating an empty plot. (GH14821)

- Bug in `unstack()` if called with a list of column(s) as an argument, regardless of the dtypes of all columns, they get coerced to `object` (GH11847)

## Contributors

For contributors, please see /usr/share/doc/contributors_list.txt or https://github.com/pandas-dev/pandas/graphs/contributors