v1.0.0-beta.1
vadimdemedes/inkv1.0.0-beta.1Sep 21, 2026by samuelcolvin
Upgrading?
AI Summary
This beta release for Monty implements core Python built-ins like `format()`, `eval()`, and `exec()`, adds modules such as `random` and `copy`, and introduces sandboxing improvements along with Python 3.14t wheel support.
Key Highlights
- Implement core built-ins (`format`, `eval`, `exec`, `locals`)
- Add modules (`random`, `copy`, `binascii`, `time`)
- Support Python 3.14t wheels
- Introduce runtime type definitions
- Replace wire types with whitelist of allowed types
Breaking Changes
- Drop experimental framing ahead of v1
- Replace wire types with whitelist of allowed types
New Features
- Implement core built-ins (`format`, `eval`, `exec`, `locals`)
- Add modules (`random`, `copy`, `binascii`, `time`)
- Support Python 3.14t wheels
- Introduce runtime type definitions
- Replace wire types with whitelist of allowed types
Full Release Notes
## What's Changed * 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/v0.0.23...v1.0.0-beta.1
Related Repositories
openclaw/openclaw★ 392,756
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
nilbuild/developer-roadmap★ 370,127
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
morluto/rea★ 363,926
Reverse engineer anything with agents, from app behavior down to native binaries.
anomalyco/opencode★ 220,052
The open source coding agent.
n8n-io/n8n★ 208,332
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.