🚀 Performance improvements
- Keep more parallelism when CSE plan cache hits (#17463)
- Batch parquet primitive decoding (#17462)
- Respect allow_threading in some more operators (#17450)
- Parallelize parquet metadata deserialization (#17399)
- Use underlying fileno for Python files when possible (#17315)
- Add future arg to Series.to_arrow (#17371)
✨ Enhancements
- Add "future" versioning (#17421)
- Apply slice pushdown immediately to in-memory frames (#17459)
- Support writing hive partitioned parquet (#17324)
- Add right join support (#17441)
- Support hive partitioning in
scan_ipc
(#17434) - Improve error message when passing string key to
Series.__getitem__
(#17408)
🐞 Bug fixes
- Handle DB cursor descriptions that contain more fields than the DBAPI2 standard (#17468)
- Fix decimal dyn float supertype (#17464)
- Verify the integrity of pandas column names before implied string conversion (#17433)
- Don't rechunk on phys_repr (#17461)
- Harden alchemy session for old sqlalchemy versions (#17366)
- Fix swapping rename schema (#17458)
- Make boolean reads consistent across all
read_excel
engines (#17448) - Raise on oob decimal precision (#17445)
- Fix handling of TextIOWrapper in write_csv (#17328)
- Support sa session (#17435)
- Fix
from_pandas
for string columns with missing values (#17397) - Fix a global variable table-discovery edge case for the
SQL
interface (#17400) - Don't allow json inference method to be chunked/streaming (#17396)
- Set literal nesting to 0 (#17392)
- Fix scanning cloud paths with spaces (#17379)
- Fix
slice
length no longer allowingNone
(#17372) - Fix typo in
SchemaError
exception message (#17350) - Raise proper error for mismatching parquet schema instead of panicking (#17321)
📖 Documentation
- Add examples for scanning hive datasets to user guide (#17431)
- Update
partition_by
docstring to match new behavior (#17394) - Update
GroupBy.__iter__
docstring to match new behavior (#17383)
📦 Build system
- Add support for NumPy 2.0 (#17384)
🛠️ Other improvements
- Add automated check for PR title formatting (#17412)
- Remove transmute for object store path (#17395)
- Fix Python version resolver in release drafter (#17390)
- Avoid use of
np.trapz
in tests to prepare for NumPy 2.0 (#17387) - Avoid writing to disk when running
sink_csv
test (#17386)
Thank you to all our contributors for making this release possible!
@alexander-beedie, @brunobbaraujo, @cmdlineluser, @coastalwhite, @dependabot, @dependabot[bot], @nameexhaustion, @orlp, @phi-friday, @ritchie46, @ruihe774, @sherlockbeard, @stinodego, @tylerriccio33 and @wence-