What's Changed
- Populate class
__annotations__(stringized) by @rewitt94 in #593 - tidy up max allocations remnants by @davidhewitt in #618
- fix
npm auditwarnings inmonty jsby @davidhewitt in #617 - Remove the
ResourceTrackergeneric, always useResourceTrackerby @samuelcolvin in #613 - Track iterator types for GC so their cycles can't evade collection by @rewitt94 in #620
- Support function decorators by @rewitt94 in #590
- Support Path / Path and reflected str / Path in the / operator by @samuelcolvin in #621
- Update yanked spin 0.9.8 -> 0.9.9 and 0.10.0 -> 0.10.1 in Cargo.lock by @samuelcolvin in #623
- Bound nesting of class-body expressions walked before parsing by @rewitt94 in #624
- unify
ExtFunctiontypes by @davidhewitt in #598 - create cells for captured comprehension values by @davidhewitt in #605
- split all binary operators to be proper methods on
PyTraitby @davidhewitt in #568 - split
MontyIterinto dedicated iterator types by @davidhewitt in #602 - implement file handle API for TS by @davidhewitt in #599
- clean up old opcodes, add dump version at the Rust level by @davidhewitt in #607
- Dispatch user-defined
__iter__/__next__/__contains__by @rewitt94 in #609 - Count the module's pending result in the strict ref-count check by @rewitt94 in #627
- Move
py_containsontoPyTrait, fixinfor bytes, add coverage by @rewitt94 in #625 - Implement
os.listdirand filesystem wrappers in the os module by @samuelcolvin in #622 - Fix remaining
py_containsissues from the #625 review by @rewitt94 in #628 - Add a
ShutdownDumpturn-ender and cheap frame classification by @samuelcolvin in #630 - Add
itertoolsfoundation withcountandrepeatby @rewitt94 in #632 - cleanups to some drop branches by @davidhewitt in #633
- Native
@dataclassdefined inside the sandbox by @rewitt94 in #626 - Add
collections: deque, namedtuple, defaultdict, Counter by @rewitt94 in #608 - Bound the source-pattern text retained by the regex cache by @samuelcolvin in #644
- Bound native dataclass equality by the recursion-depth limit by @rewitt94 in #641
- Make monty-pool async end-to-end by @samuelcolvin in #639
- Refactor try/finally compilation onto a CPython-style frame-block stack by @samuelcolvin in #648
- Review Skills by @samuelcolvin in #651
- make benchmarks async properly by @davidhewitt in #652
- Shrink
HeapDatafrom 160 to 80 bytes by boxing large variants by @samuelcolvin in #636 - Apply new drop standards to the collections code by @rewitt94 in #653
- Add
itertoolsadaptors:pairwise,compress,islice,chain,cycleby @rewitt94 in #635 - move
py_set_attrontoPyTraitby @davidhewitt in #638 - implement
NotImplementedand use it for user equality by @davidhewitt in #567 - Make bytes substring search linear and interruptible by @rewitt94 in #643
- Apply memory limit via custom allocator by @samuelcolvin in #646
- Windows path-parsing mount escape by @rewitt94 in #655
- attempt to configure telemetry via bindings or monty-runtime logfire by @davidhewitt in #662
- Re-validate cached overlay host paths on every read by @rewitt94 in #656
- Memory limit followups by @samuelcolvin in #667
- move to soft memory limit in allocator by @davidhewitt in #668
- vendor abc.pyi so
@abstractmethodmembers keep their types by @samuelcolvin in #671 - Cleanup typechecking by @samuelcolvin in #674
- uprev pyo3 to 0.29.2 by @samuelcolvin in #675
- Fix test_type_check_format_not_a_string against pyo3 0.29.2 by @rewitt94 in #677
- Add Macroscope review config (correctness tuning, ignore, approvability) by @strawgate in #679
- Confine mounts with cap-std descriptors instead of path checks by @rewitt94 in #669
- Mount confinement defects by @samuelcolvin in #680
- Close the mount defects the confinement PR deferred by @samuelcolvin in #681
- Drop
logfirefrom CLI by default by @samuelcolvin in #683 - Split
pydantic-montyinto a metapackage over client and runtime by @samuelcolvin in #678 - Stop mount path walks costing a lookup per level squared by @samuelcolvin in #684
- Add raw wire-level turns to monty-pool, bump logfire to 0.12 by @samuelcolvin in #687
- Remove the peek module by @samuelcolvin in #688
- Move monty version to types by @samuelcolvin in #689
- Bound nested itertools adaptors by the recursion limit by @samuelcolvin in #685
- rename files to
mod.rs, stop annoyingusize_fieldwarnings by @samuelcolvin in #690 - Collapse the two dump versions into one session dump format by @samuelcolvin in #692
- Send a WebSocket Close frame on worker teardown by @samuelcolvin in #691
- Ci split
test-rustby @samuelcolvin in #694 - Version the wire protocol independently of the package by @samuelcolvin in #693
- Bump version to v0.0.20 by @samuelcolvin in #695
Full Changelog: v0.0.19...v0.0.20