# What’s new in 1.1.3 (October 5, 2020)

These are the changes in pandas 1.1.3. See Release notes for a full changelog including other versions of pandas.

## Enhancements

### Added support for new Python version

pandas 1.1.3 now supports Python 3.9 (GH36296).

### Development Changes

- The minimum version of Cython is now the most recent bug-fix version (0.29.21) (GH36296).

## Fixed regressions

- Fixed regression in `DataFrame.agg()`, `DataFrame.apply()`, `Series.agg()`, and `Series.apply()` where internal suffix is exposed to the users when no relabelling is applied (GH36189)

- Fixed regression in `IntegerArray` unary plus and minus operations raising a `TypeError` (GH36063)

- Fixed regression when adding a `timedelta_range()` to a `Timestamp` raised a `ValueError` (GH35897)

- Fixed regression in `Series.__getitem__()` incorrectly raising when the input was a tuple (GH35534)

- Fixed regression in `Series.__getitem__()` incorrectly raising when the input was a frozenset (GH35747)

- Fixed regression in modulo of `Index`, `Series` and `DataFrame` using `numexpr` using C not Python semantics (GH36047, GH36526)

- Fixed regression in `read_excel()` with `engine="odf"` caused `UnboundLocalError` in some cases where cells had nested child nodes (GH36122, GH35802)

- Fixed regression in `DataFrame.replace()` inconsistent replace when using a float in the replace method (GH35376)

- Fixed regression in `Series.loc()` on a `Series` with a `MultiIndex` containing `Timestamp` raising `InvalidIndexError` (GH35858)

- Fixed regression in `DataFrame` and `Series` comparisons between numeric arrays and strings (GH35700, GH36377)

- Fixed regression in `DataFrame.apply()` with `raw=True` and user-function returning string (GH35940)

- Fixed regression when setting empty `DataFrame` column to a `Series` in preserving name of index in frame (GH36527)

- Fixed regression in `Period` incorrect value for ordinal over the maximum timestamp (GH36430)

- Fixed regression in `read_table()` raised `ValueError` when `delim_whitespace` was set to `True` (GH35958)

- Fixed regression in `Series.dt.normalize()` when normalizing pre-epoch dates the result was shifted one day (GH36294)

## Bug fixes

- Bug in `read_spss()` where passing a `pathlib.Path` as `path` would raise a `TypeError` (GH33666)

- Bug in `Series.str.startswith()` and `Series.str.endswith()` with `category` dtype not propagating `na` parameter (GH36241)

- Bug in `Series` constructor where integer overflow would occur for sufficiently large scalar inputs when an index was provided (GH36291)

- Bug in `DataFrame.sort_values()` raising an `AttributeError` when sorting on a key that casts column to categorical dtype (GH36383)

- Bug in `DataFrame.stack()` raising a `ValueError` when stacking `MultiIndex` columns based on position when the levels had duplicate names (GH36353)

- Bug in `Series.astype()` showing too much precision when casting from `np.float32` to string dtype (GH36451)

- Bug in `Series.isin()` and `DataFrame.isin()` when using `NaN` and a row length above 1,000,000 (GH22205)

- Bug in `cut()` raising a `ValueError` when passed a `Series` of labels with `ordered=False` (GH36603)

## Other

- Reverted enhancement added in pandas-1.1.0 where `timedelta_range()` infers a frequency when passed `start`, `stop`, and `periods` (GH32377)

## Contributors

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