# What changed in pydantic-monty

> 72 changes in pydantic-monty 1 from its official release notes, upgrade guides and advisories: 6 breaking, 1 security, 35 new APIs and options. Each one cited. Sources checked 2026-10-21. HTML: https://unstale.sh/pypi/pydantic-monty/

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

## pydantic-monty 1

### Breaking changes

- re.split() results now include capture groups. (1.2.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.2.0)
- Rejects a script path that collides with the type stubs file. (1.1.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.1.0)
- Dumps switch from postcard to CBOR. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- `AutoOsCalls` is renamed to `OsPolicy`. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- Session `max_duration` is replaced with feed and turn limits. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- Wire types are restricted to a whitelist; other values use a proxy. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)

### Security

- Resource limit checks were added for binascii and base64 operations. (1.2.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.2.0)

### New APIs and options

- The bisect module is now available. (1.2.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.2.0)
- The csv module is implemented and available to Monty programs. (1.2.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.2.0)
- Dataclasses support field(), default_factory, and __post_init__. (1.2.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.2.0)
- The hashlib module is implemented and available to Monty programs. (1.2.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.2.0)
- Host calls can now be imported. (1.2.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.2.0)
- json.dump is available. (1.2.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.2.0)
- json.load is available. (1.2.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.2.0)
- Match statements are now supported. (1.2.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.2.0)
- The os.path module is implemented and available to Monty programs. (1.2.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.2.0)
- Path.scan is available as an os call. (1.2.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.2.0)
- The tomllib module is implemented and available to Monty programs. (1.2.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.2.0)
- Adds the complex type. (1.1.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.1.0)
- `asyncio.sleep()` is added. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- Sessions gain auto-resume. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- Automatic OS calls are added. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- Percent formatting is supported for string and bytes format strings. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- The copy module is added. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- Current working directory support is added. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- Ephemeral sessions are supported. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- `eval()` is implemented. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- `exec()` is implemented. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- The `format()` builtin is implemented. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- `locals()` is implemented. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- Remaining math aggregation functions are implemented. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- `fma` is implemented in the math module. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- An `os.urandom` host call is added. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- The random module is added, along with an `os.urandom` host call. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- Runtime definitions such as `tuple[int, str]` and `dict | dict` are supported. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- Sessions can be forked. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- Sessions gain IDs, forking, ephemeral sessions, and auto-resume. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- The sys constants with known values are implemented. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- The time module is extended. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- `time.sleep()` is added. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- `time.time()` is added. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- Timezone support is added. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)

### Performance

- F-string concatenation now optimizes buffer preallocation and refcount churn. (1.2.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.2.0)
- Sequence unpacking was optimized to use direct unpacking. (1.2.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.2.0)

### Behavior and default changes

- File objects are now iterable. (1.2.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.2.0)
- The binary module is now loaded eagerly at package import. (1.2.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.2.0)
- Sets and frozensets now support ordering comparisons. (1.2.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.2.0)
- Many more dunder methods are now supported on user instances. (1.2.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.2.0)
- Await handling becomes eager. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- Monty drops its experimental framing ahead of v1. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- The source position of every suspension is reported. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)

### Tooling

- Wheels are built for Python 3.14t. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)

### Fixes and other changes

- Float format precision is capped at INT_MAX - 1024, matching CPython 3.14.8. (1.2.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.2.0)
- JavaScript print callbacks no longer swallow thrown null. (1.2.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.2.0)
- List slice assignment is now supported. (1.2.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.2.0)
- open() now honours its newline argument. (1.2.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.2.0)
- Restored session budgets are capped at the destination limits. (1.2.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.2.0)
- Treats bool values as int values in arithmetic expressions. (1.1.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.1.0)
- Scans raise, assert, and except expressions for closure captures. (1.1.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.1.0)
- Fixes octal escapes in the re module. (1.1.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.1.0)
- The module gains uu, quoted-printable, and CRC-16 conversions. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- `casefold` and other case methods gain improved compatibility. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- `date.today()` is answered during standard execution. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- `datetime.now()` is answered during standard execution. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- Exception classes are resolved directly and modeled inbound. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- Integer/float arithmetic on long integers and float power overflow match CPython. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- The math module accepts long integers. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- Container growth is checked against the memory limit before allocation. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- `pow()` accepts long integers. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- `print(file=sys.stderr)` is supported. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- `round()` accepts long integers. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
- Unpacking supports attribute and subscript targets. (1.0.0) — [release notes](https://github.com/pydantic/monty/releases/tag/v1.0.0)
