What's Changed
- [FEAT] Recursive DLPack container conversion for auto torch.Tensor return by @Kathryn-cat in #517
- [fix] Move container stream scanning from Cython to C++ for efficiency by @Kathryn-cat in #521
- chore(release): Version bump after release v0.1.10 by @junrushao in #522
- build(deps): replace cmake version exclusion with uv exclude-newer by @junrushao in #524
- Revert "build(deps): replace cmake version exclusion with uv exclude-newer" by @junrushao in #525
- build(deps): replace cmake version exclusion with uv exclude-newer by @junrushao in #526
- fix(cython): Segfault in free-threaded Py_DecRef Cleanup by @junrushao in #529
- feat(c_class): warn when reflected fields lack Python type annotations by @junrushao in #531
- fix(py_class): support
super().__init__()ininit=Falsesubclasses by @junrushao in #532 - fix(py_class): propagate parent total_size through empty intermediate classes by @junrushao in #539
- fix(py_class): support
tvm_ffi.dtypeandtvm_ffi.Deviceas field type annotations by @junrushao in #540 - refactor(dataclass): consolidate dunder method installation into _dunder.py by @junrushao in #541
- fix(c_class): restore
__init__installation from__ffi_init__TypeAttrColumn by @junrushao in #543 - feat(py_class): support
frozen=Truefor immutable instances by @junrushao in #542 - feat(container): add structural
__eq__/__ne__/__hash__to Array, List, Map, Dict by @junrushao in #545 - fix(init): register ffi_init as TypeMethod and use MISSING sentinel by @junrushao in #546
- perf(container): use iterator lookup instead of exception handling in Map/Dict by @junrushao in #548
- feat(dataclass): emit ffi_init stubs, harden field registration, and support Python 3.14 by @junrushao in #549
- feat(string): add String::Split, EscapedStringPy, and rename EscapeString by @junrushao in #550
- fix(py_class): remove ffi_init_inplace to fix memory leak by @junrushao in #551
- feat(dataclass): Introduce more utility methods in
tvm_ffi.dataclasses.*by @junrushao in #555 - feat(dataclass): add asdict, astuple, and match_args support by @junrushao in #556
- feat(core): Introduce Attribute-Carrying Language-Agnostic Enums by @junrushao in #554
- fix(enum): add class iteration and len by @junrushao in #558
- fix(dataclass): resolve cross-module forward refs by @junrushao in #559
- [FEAT] Enhance map_dataclass_to_tuple with JIT unpack_dataclass_to_tuple by @tqchen in #563
- fix(dataclass): distinguish containers from dataclasses by @junrushao in #557
- fix(container): align sequence equality and contains by @junrushao in #560
- refactor(enum)!: hide identity fields, add IntEnum/StrEnum, consolidate accessors by @junrushao in #564
- doc: clarify structural_eq semantics and py_class eq/hash interaction by @yaoyaoding in #566
- feat: Added typed method registration for py_class by @Kathryn-cat in #567
- feat(enum): add payload enum compatibility behavior by @junrushao in #568
- [REFACTOR] Optimized Python callback path via TVMFFIPyCallbackArgSetter by @tqchen in #569
- [REFACTOR] libinfo: add extra_lib_paths parameter for foreign-caller support by @tqchen in #570
- [FIX] Handle kTVMFFIRawStr / kTVMFFIByteArrayPtr in callback args path by @tqchen in #573
- [OrcJIT] Arena JITLinkMemoryManager with GOTPCRELX fix (Linux) by @cyx-6 in #527
Full Changelog: v0.1.10...v0.1.11