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:
'...' % fooandb'...' % barby @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
fmaby @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
binasciiwith 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
examplesdependency 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.pyby @samuelcolvin in https://github.com/pydantic/monty/pull/854 - Accept long ints across
pow(),round()and themathmodule by @samuelcolvin in https://github.com/pydantic/monty/pull/853 - Eager awaits by @samuelcolvin in https://github.com/pydantic/monty/pull/833
- Better
casefoldand 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
itertoolscallables barteeby @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]anddict | dictby @samuelcolvin in https://github.com/pydantic/monty/pull/858 - Implement the
sysconstants 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,pairwiseandaccumulateby @rewitt94 in https://github.com/pydantic/monty/pull/843 - Missing
itertoolsmethods 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
randommodule and anos.urandomhost call by @samuelcolvin in https://github.com/pydantic/monty/pull/867 - Add the
copymodule 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
datetimeby @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_callby @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_LIMITvariable frommonty-allocby @davidhewitt in https://github.com/pydantic/monty/pull/763 - Add
time.time(),time.sleep()andasyncio.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.mdby @davidhewitt in https://github.com/pydantic/monty/pull/887 - Replace session
max_durationwith 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
StaticStringsalphabetically by @rewitt94 in https://github.com/pydantic/monty/pull/889 - Change
DumpErrorfor future compatibility by @rewitt94 in https://github.com/pydantic/monty/pull/890 - Implement
eval(),exec()andlocals()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
timemodule 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
AutoOsCallstoOsPolicyby @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