What’s new in 3.0.6 (September 17, 2026)#
These are the changes in pandas 3.0.6. See Release notes for a full changelog including other versions of pandas.
Pandas 3.0.6 is now compatible with Python 3.15#
Pandas 3.0.6 is the first version of pandas that is generally compatible with the upcoming Python 3.15, and binary wheels will be available on PyPI for all supported platforms.
Fixed regressions#
Fixed a regression in
read_csv()where a mixed-dtype column selected byusecolsraisedIndexErrorinstead of emitting aDtypeWarning, and where that warning named the wrong column or the wrong index (GH 67375)Fixed a regression in
DataFrame.plot.bar()andDataFrame.plot.barh()raisingAttributeErrorfor a regularly-spacedDatetimeIndexwhosefreqattribute is unset (GH 66771)Fixed a regression in
Series.str.split(),Series.str.rsplit(),Series.str.partition(), andSeries.str.rpartition()onCategoricalDtypeSeries withexpand=Falsereturning stringified lists/tuples instead of actual lists/tuples (GH 66341)Fixed a regression in
Timestamp.tz_convert()andTimestamp.tz_localize()and theirIndexandSeriescounterparts returning a UTC offset a few minutes off for dates before the specified timezone adopted a standard time (typically early 20th century); this only affected older systems whosetzdatawas compiled with a toolchain from between 2013 and 2018, such as Amazon Linux 2 and RHEL 8 and its derivatives (GH 67066)Fixed a regression in full-slice assignment (
df.loc[:, "col"] = value) into a PyArrow-backed array where the result shared memory withvalue, so later modifyingvaluealso changed the assigned-to object, violating Copy-on-Write semantics (GH 67990)Fixed a bug in setting with
.locor.ilocusing a boolean mask to select the columns into a 1-column DataFrame with an extension dtype, which surfaced as a regression for a DataFrame with string data (GH 66527, GH 66255)Fixed a regression in
read_csv()wheresep=NoneraisedTypeError: object of type 'NoneType' has no len()instead of sniffing the separator with thepythonengine; passingsep=Nonetogether withengine="c"orengine="pyarrow", which cannot sniff the separator, again raises an informativeValueErrorinstead of raisingTypeErroror silently parsing each line as a single column (GH 66639)Fixed a regression in
Series.interpolate()withmethod="linear"and a pyarrow-backed dtype leaving consecutive and trailing missing values unfilled, and truncating interpolated values for integer dtypes; the result now matches the equivalent masked (e.g.Int64) dtype (GH 65345)
Bug fixes#
Fixed a bug in
RangeIndexwhere missing Copy-on-Write reference tracking allowed external modification via aSeriesto silently corrupt the index (GH 67060)Fixed memory leak in
read_csv()withengine="c"when a string orcategorycolumn failed to decode, for example invalid UTF-8 underencoding="utf-8"and the defaultencoding_errors="strict"(GH 67931)
Contributors#
A total of 11 people contributed patches to this release. People with a “+” by their names contributed a patch for the first time.
Apoorv Darshan +
Benhur Stephen +
Fangchen Li
Joris Van den Bossche
Lumberbot (aka Jack)
Matthew Roeschke
Natalia Mokeeva
Parth Saini +
jbrockmendel
pandas Development Team
Álvaro Kothe