v0.0.9
pydantic/montyv0.0.9Mar 28, 2026by samuelcolvin
AI Summary
A significant release adding datetime and JSON modules, along with major refactoring to pass VM instead of heap/interns throughout the codebase.
Key Highlights
- Implemented `datetime` module
- Implemented `json` module
- Major refactoring to pass VM instead of heap/interns
- Added `INT_MAX_STR_DIGITS` limit for BigInt string conversion
- Support nested subscript assignment
- Support max() kwargs/default
New Features
- datetime module
- json module
- max() with kwargs and defaults
- str.expandtabs() method
Full Release Notes
## What's Changed * try to pass vm around instead of `(heap, interns)` by @davidhewitt in https://github.com/pydantic/monty/pull/234 * Fix stack-depth tracking after break/continue in unreachable code by @thomasst in https://github.com/pydantic/monty/pull/268 * Change hashbrown version to 0.16 by @CremboC in https://github.com/pydantic/monty/pull/267 * Make scheduler required by @davidhewitt in https://github.com/pydantic/monty/pull/274 * don't commit editor settings by @davidhewitt in https://github.com/pydantic/monty/pull/275 * split heap structure methods into `HeapItem` trait by @davidhewitt in https://github.com/pydantic/monty/pull/276 * pass VM instead of heap/interns in bytes & str methods by @davidhewitt in https://github.com/pydantic/monty/pull/277 * Support max() kwargs/default. by @evalstate in https://github.com/pydantic/monty/pull/272 * Make heap allocation only require shared reference by @davidhewitt in https://github.com/pydantic/monty/pull/278 * Add `INT_MAX_STR_DIGITS` limit for BigInt string conversion by @samuelcolvin in https://github.com/pydantic/monty/pull/284 * Support nested subscript assignment by @samuelcolvin in https://github.com/pydantic/monty/pull/285 * Track memory growth in mutable container operations by @samuelcolvin in https://github.com/pydantic/monty/pull/286 * Run getsentry/codecov-action alongside Codecov in CI by @MathurAditya724 in https://github.com/pydantic/monty/pull/287 * Implement `str.expandtabs(tabsize)` method by @sjhddh in https://github.com/pydantic/monty/pull/266 * Replace `take_data!` pattern inside `Heap` with `HeapReader` API by @davidhewitt in https://github.com/pydantic/monty/pull/265 * update CLAUDE.md for `HeapReader` API by @davidhewitt in https://github.com/pydantic/monty/pull/291 * support named single kwarg by @samuelcolvin in https://github.com/pydantic/monty/pull/288 * Implement `datetime` by @samuelcolvin in https://github.com/pydantic/monty/pull/290 * deny `absolute_paths` with length > 2 with clippy by @samuelcolvin in https://github.com/pydantic/monty/pull/292 * `json` module by @samuelcolvin in https://github.com/pydantic/monty/pull/293 ## New Contributors * @thomasst made their first contribution in https://github.com/pydantic/monty/pull/268 * @CremboC made their first contribution in https://github.com/pydantic/monty/pull/267 * @MathurAditya724 made their first contribution in https://github.com/pydantic/monty/pull/287 * @sjhddh made their first contribution in https://github.com/pydantic/monty/pull/266 **Full Changelog**: https://github.com/pydantic/monty/compare/v0.0.8...v0.0.9