# What changed in billiard

> 12 changes in billiard 4 from its official release notes, upgrade guides and advisories: 8 breaking. Each one cited. Sources checked 2026-10-25. HTML: https://unstale.sh/pypi/billiard/

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

## billiard 4

### Breaking changes

- Pool numeric arguments processes, timeouts, and limits reject bool values. (4.3.1) — [release notes](https://github.com/celery/billiard/releases/tag/v4.3.1)
- Pool rejects non-positive maxtasksperchild values. (4.3.1) — [release notes](https://github.com/celery/billiard/releases/tag/v4.3.1)
- Closing a Process that is still running is refused. (4.3.1) — [release notes](https://github.com/celery/billiard/releases/tag/v4.3.1)
- Using a closed Queue raises ValueError. (4.3.1) — [release notes](https://github.com/celery/billiard/releases/tag/v4.3.1)
- The Python version requirement is now 3.10. (4.3.0) — [release notes](https://github.com/celery/billiard/releases/tag/v4.3.0)
- On darwin, the default start method is now spawn to avoid a macOS fork-safety crash. (4.3.0) — [release notes](https://github.com/celery/billiard/releases/tag/v4.3.0)
- MemoryError raised by pool callbacks is propagated. (4.3.0) — [release notes](https://github.com/celery/billiard/releases/tag/v4.3.0)
- BaseException raised in pool workers is propagated. (4.3.0) — [release notes](https://github.com/celery/billiard/releases/tag/v4.3.0)

### Fixes and other changes

- Pool rejects a process count below one. (4.3.1) — [release notes](https://github.com/celery/billiard/releases/tag/v4.3.1)
- A shutdown SystemExit is no longer reported as the job's result. (4.3.1) — [release notes](https://github.com/celery/billiard/releases/tag/v4.3.1)
- Made einfo compatible with inspect. (4.3.0) — [release notes](https://github.com/celery/billiard/releases/tag/v4.3.0)
- A pool worker exits after a task raises SystemExit or KeyboardInterrupt. (4.3.0) — [release notes](https://github.com/celery/billiard/releases/tag/v4.3.0)
