v1.0.0-beta.2

THU-MAIC/OpenMAICv1.0.0-beta.2Sep 21, 2026by samuelcolvin

Upgrading?

AI Summary

Beta 2 of Monty v1.0.0, focusing on standard library implementation, fixing dependency issues, and supporting Python 3.14t.

Key Highlights

  • Bump to beta 2 to fix monty-proto dependency
  • Drop experimental framing
  • Implement format(), eval(), exec(), and locals()
  • Support for Python 3.14t wheels
  • Full implementation of random, copy, binascii, and itertools modules

New Features

  • Standard library implementations (math, sys, random, copy, binascii, itertools)
  • Auto OS calls
  • Timezone support
  • Dependency fixes

Full Release Notes

## What's Changed
* bump to b2, fix `monty-proto`'s self dev-dependency by @samuelcolvin in https://github.com/pydantic/monty/pull/908

## v1.0.0-beta.1 - 2026-09-21

(`v1.0.0-beta.1` released failed on crates.io, hence beta 2 release)

* Drop the experimental framing ahead of v1 by @rewitt94 in https://github.com/pydantic/monty/pull/811
* Percent formatting: `'...' % foo` and `b'...' % bar` by @samuelcolvin in https://github.com/pydantic/monty/pull/825
* fix flakey js test by @samuelcolvin in https://github.com/pydantic/monty/pull/826
* Implement the `format()` builtin by @samuelcolvin in https://github.com/pydantic/monty/pull/827
* Answer `date.today()` / `datetime.now()` in standard execution by @rewitt94 in https://github.com/pydantic/monty/pull/812
* Implement remaining math aggregation functions and `fma` by @samuelcolvin in https://github.com/pydantic/monty/pull/831
* fix telemetry context propagation by @davidhewitt in https://github.com/pydantic/monty/pull/830
* Support `print(file=sys.stderr)` by @rewitt94 in https://github.com/pydantic/monty/pull/818
* Finish `binascii` with the uu, quoted-printable and CRC-16 conversions by @rewitt94 in https://github.com/pydantic/monty/pull/816
* Build Python 3.14t wheels by @Kludex in https://github.com/pydantic/monty/pull/832
* make it possible to run smoke test from npm by @davidhewitt in https://github.com/pydantic/monty/pull/619
* fix browser smoke test install by @samuelcolvin in https://github.com/pydantic/monty/pull/844
* Move examples-only Python deps out of the dev group by @samuelcolvin in https://github.com/pydantic/monty/pull/849
* Match CPython for int/float arithmetic on long ints and float pow overflow by @samuelcolvin in https://github.com/pydantic/monty/pull/834
* Make the `examples` dependency group opt-in by @samuelcolvin in https://github.com/pydantic/monty/pull/852
* CWD support by @samuelcolvin in https://github.com/pydantic/monty/pull/828
* Add a watchdog for the CPython side of test cases and deflake `lookup__mutation.py` by @samuelcolvin in https://github.com/pydantic/monty/pull/854
* Accept long ints across `pow()`, `round()` and the `math` module by @samuelcolvin in https://github.com/pydantic/monty/pull/853
* Eager awaits by @samuelcolvin in https://github.com/pydantic/monty/pull/833
* Better `casefold` and other case methods compatibility by @samuelcolvin in https://github.com/pydantic/monty/pull/857
* Deps update by @samuelcolvin in https://github.com/pydantic/monty/pull/859
* Add the remaining `itertools` callables bar `tee` by @samuelcolvin in https://github.com/pydantic/monty/pull/860
* Revert itertools by @samuelcolvin in https://github.com/pydantic/monty/pull/861
* Support runtime definition of types like `tuple[int, str]` and `dict | dict` by @samuelcolvin in https://github.com/pydantic/monty/pull/858
* Implement the `sys` constants with a known value by @samuelcolvin in https://github.com/pydantic/monty/pull/863
* Support attribute and subscript targets in unpacking by @samuelcolvin in https://github.com/pydantic/monty/pull/865
* Add the antigravity example, running Monty in the browser by @samuelcolvin in https://github.com/pydantic/monty/pull/864
* Fix re-entrant source windows in `chain`, `pairwise` and `accumulate` by @rewitt94 in https://github.com/pydantic/monty/pull/843
* Missing `itertools` methods by @samuelcolvin in https://github.com/pydantic/monty/pull/862
* Add a regression test for the trailing-slash symlink escape by @samuelcolvin in https://github.com/pydantic/monty/pull/868
* Add the `random` module and an `os.urandom` host call by @samuelcolvin in https://github.com/pydantic/monty/pull/867
* Add the `copy` module by @rewitt94 in https://github.com/pydantic/monty/pull/791
* Check container growth against the memory limit before it allocates by @rewitt94 in https://github.com/pydantic/monty/pull/845
* Follow-ups for `datetime` by @rewitt94 in https://github.com/pydantic/monty/pull/838
* Fix two container-reentrancy panics by @rewitt94 in https://github.com/pydantic/monty/pull/846
* don't make static strings a requirement for dump stability by @davidhewitt in https://github.com/pydantic/monty/pull/810
* establish tampered snapshots as permitted: garbage in garbage out by @davidhewitt in https://github.com/pydantic/monty/pull/873
* Fix async task scheduling for batched host failures by @flyingmutant in https://github.com/pydantic/monty/pull/875
* Give each callable type its own `PyTrait::py_call` by @rewitt94 in https://github.com/pydantic/monty/pull/878
* Flat layout for wire value type by @samuelcolvin in https://github.com/pydantic/monty/pull/871
* Serialize dumps after the header in place, without a second buffer by @samuelcolvin in https://github.com/pydantic/monty/pull/881
* Shrink the largest dag decode bench to fit the decode budget by @samuelcolvin in https://github.com/pydantic/monty/pull/883
* remove needless `SOFT_LIMIT` variable from `monty-alloc` by @davidhewitt in https://github.com/pydantic/monty/pull/763
* Add `time.time()`, `time.sleep()` and `asyncio.sleep()` by @samuelcolvin in https://github.com/pydantic/monty/pull/866
* expose otel trace context from snapshots by @davidhewitt in https://github.com/pydantic/monty/pull/885
* purge `pool-architecture.md` by @davidhewitt in https://github.com/pydantic/monty/pull/887
* Replace session `max_duration` with feed and turn limits by @rewitt94 in https://github.com/pydantic/monty/pull/880
* add a general solution for wire decoding budgets by @davidhewitt in https://github.com/pydantic/monty/pull/874
* try to hide object internals by @davidhewitt in https://github.com/pydantic/monty/pull/886
* fix merge conflict by @davidhewitt in https://github.com/pydantic/monty/pull/891
* Comment and documentation fixes by @rewitt94 in https://github.com/pydantic/monty/pull/888
* Sort `StaticStrings` alphabetically by @rewitt94 in https://github.com/pydantic/monty/pull/889
* Change `DumpError` for future compatibility by @rewitt94 in https://github.com/pydantic/monty/pull/890
* Implement `eval()`, `exec()` and `locals()` by @samuelcolvin in https://github.com/pydantic/monty/pull/855
* Auto OS calls by @samuelcolvin in https://github.com/pydantic/monty/pull/892
* Use sleep and random in the antigravity example by @samuelcolvin in https://github.com/pydantic/monty/pull/897
* Timezone support by @samuelcolvin in https://github.com/pydantic/monty/pull/898
* Poll the time limit in large three-argument pow by @samuelcolvin in https://github.com/pydantic/monty/pull/899
* Reject overlapping host directories at mount registration by @samuelcolvin in https://github.com/pydantic/monty/pull/741
* Extend `time` module by @samuelcolvin in https://github.com/pydantic/monty/pull/901
* Replace wire types with whitelist of allowed types, and proxy for everything else by @samuelcolvin in https://github.com/pydantic/monty/pull/900
* Rename `AutoOsCalls` to `OsPolicy` by @samuelcolvin in https://github.com/pydantic/monty/pull/902
* Resolve exception classes directly and model them inbound by @samuelcolvin in https://github.com/pydantic/monty/pull/905
* Describe Monty as a sandbox and name the open-source form "OSS Monty" by @samuelcolvin in https://github.com/pydantic/monty/pull/904
* Uprev `ruff`, pre-check source by @samuelcolvin in https://github.com/pydantic/monty/pull/906
* Bump to v1.0.0-beta.1 by @samuelcolvin in https://github.com/pydantic/monty/pull/903

## New Contributors
* @Kludex made their first contribution in https://github.com/pydantic/monty/pull/832
* @flyingmutant made their first contribution in https://github.com/pydantic/monty/pull/875

**Full Changelog**: https://github.com/pydantic/monty/compare/v1.0.0-beta.1...v1.0.0-beta.2

Related Repositories