# What changed in tqdm

> 18 changes in tqdm 4 from its official release notes, upgrade guides and advisories: 6 new APIs and options. Each one cited. Sources checked 2026-10-21. HTML: https://unstale.sh/pypi/tqdm/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## tqdm 4

### New APIs and options

- process_map supports max_tasks_per_child. (4.70.0) — [release notes](https://github.com/tqdm/tqdm/releases/tag/v4.70.0)
- process_map supports mp_context. (4.70.0) — [release notes](https://github.com/tqdm/tqdm/releases/tag/v4.70.0)
- thread_map supports thread_name_prefix. (4.70.0) — [release notes](https://github.com/tqdm/tqdm/releases/tag/v4.70.0)
- Concurrent mapping supports buffersize. (4.70.0) — [release notes](https://github.com/tqdm/tqdm/releases/tag/v4.70.0)
- Concurrent mapping supports timeout. (4.70.0) — [release notes](https://github.com/tqdm/tqdm/releases/tag/v4.70.0)
- Adds tqdm.concurrent.intepreter_map. (4.70.0) — [release notes](https://github.com/tqdm/tqdm/releases/tag/v4.70.0)

### Behavior and default changes

- ETA calculation is improved. (4.70.0) — [release notes](https://github.com/tqdm/tqdm/releases/tag/v4.70.0)
- Concurrent mapping uses the default max_workers. (4.70.0) — [release notes](https://github.com/tqdm/tqdm/releases/tag/v4.70.0)
- Rich integration now supports generators without len. (4.69.1) — [release notes](https://github.com/tqdm/tqdm/releases/tag/v4.69.1)

### Fixes and other changes

- Fixes handling of iterables without a length in contrib.concurrent. (4.70.1) — [release notes](https://github.com/tqdm/tqdm/releases/tag/v4.70.1)
- asyncio supports iterables that only implement __aiter__. (4.70.0) — [release notes](https://github.com/tqdm/tqdm/releases/tag/v4.70.0)
- as_completed is updated. (4.70.0) — [release notes](https://github.com/tqdm/tqdm/releases/tag/v4.70.0)
- reset supports reset(float("inf")). (4.70.0) — [release notes](https://github.com/tqdm/tqdm/releases/tag/v4.70.0)
- total is based on the shortest iterable length. (4.70.0) — [release notes](https://github.com/tqdm/tqdm/releases/tag/v4.70.0)
- Filters are now preserved by contrib.logging. (4.69.1) — [release notes](https://github.com/tqdm/tqdm/releases/tag/v4.69.1)
- Fixes a potential AttributeError on exit in the rich integration. (4.69.1) — [release notes](https://github.com/tqdm/tqdm/releases/tag/v4.69.1)
- Fixes handling of total=float('inf'). (4.69.1) — [release notes](https://github.com/tqdm/tqdm/releases/tag/v4.69.1)
- Fixes a potential AttributeError on exit. (4.69.1) — [release notes](https://github.com/tqdm/tqdm/releases/tag/v4.69.1)
