v0.0.17

safing/portmasterv0.0.17Apr 22, 2026by davidhewitt

AI Summary

This release focuses on memory management and garbage collection improvements, including fixes for integer overflow and heap tracking issues.

Key Highlights

  • Implemented `setattr` builtin function
  • Fixed memory limit issues caused by empty tuple singletons
  • Fixed panics when negating i64::MIN
  • Fixed GC interval ignored in ResourceTracker and Heap
  • Improved GC coverage

New Features

  • setattr builtin function

Full Release Notes

## What's Changed
* Implement `setattr` builtin function by @friendlymatthew in https://github.com/pydantic/monty/pull/67
* stop empty tuple singleton contributing to memory limit by @davidhewitt in https://github.com/pydantic/monty/pull/363
* fix panics when overflowing negating i64::MIN by @davidhewitt in https://github.com/pydantic/monty/pull/368
* fixes GC interval ignored in ResourceTracker and Heap by @sathish-t in https://github.com/pydantic/monty/pull/371
* monty-js: allows maxMemory, allocation, recursion depth, and gc interval limits above u32::MAX by @sathish-t in https://github.com/pydantic/monty/pull/344
* fix gc coverage by @samuelcolvin in https://github.com/pydantic/monty/pull/376
* add even more GC coverage by @davidhewitt in https://github.com/pydantic/monty/pull/381


**Full Changelog**: https://github.com/pydantic/monty/compare/v0.0.16...v0.0.17