cyx-6 created an issue (apache/tvm-ffi#934)

Dear community:

This is a call for vote to release apache-tvm-ffi version v0.1.16. The main 
highlights of this release are

* C++20 baseline — TVM FFI now requires C++20 for its core and Cython builds, 
exported CMake targets, `tvm-ffi-config --cxxflags`, and Python C++/CUDA 
extension builds. The examples, documentation, and ORC JIT build settings have 
been updated accordingly. C++20-only clang-tidy syntax rewrites remain optional.
* Rust object interop — `downcast_ref` adds borrowed object downcasts to `Any`, 
`AnyView`, and managed references. The `rs_class` macro has been renamed to 
`rs_object`.
* Rust matching and dispatch — `match_any!` supports scalar patterns and typed 
mutation views, with borrowed matching and a unified runtime dispatch 
interface. Dispatch argument and return types are declared explicitly.
* Structural traversal — Rust visiting and mutation support generic native base 
types, scoped structural views, and composed mutation storage. Traversal 
engines and adapters have been simplified, hot paths have been streamlined, and 
root-type hooks provide richer traversal error context. Rust structural map and 
mutate handlers now return `Result<UnchangedOr<Any>>`, with explicit unchanged 
results. `WalkResult::interrupt_with` is replaced by the `InterruptWith` 
variant. Core Rust APIs include runnable documentation examples.
* Rust reference conversions — `IntoObjectRef<T>` accepts owned or borrowed 
references and declared subtypes. Borrowed upcasts use `AsRef`; `downcast_ref`, 
dispatch, and `match_any!` borrow references and values in place. `Array` 
supports in-place indexing and `from_vec`; `Optional` gains `as_ref`. Rust 
examples and method names have been updated.
* Intel GPU and DLPack — this release adds Intel GPU support and updates the 
bundled DLPack dependency to version 1.4.
* Fixes — small moved strings and bytes are constructed inline, the Torch addon 
cache is invalidated when its generator changes, Torch allocation uses the 
DLPack v1 dtype mapping, custom dtype formatting preserves bit widths, 
reference counting compiles on MSVC x86, and static-library consumers receive 
`TVM_FFI_EXPORTS`.
* Source-level changes to watch — C++ consumers need a C++20-capable compiler 
and build configuration. Rust code using `rs_class` needs to use `rs_object`, 
and callers of the evolving matching, dispatch, and structural traversal APIs 
should review the updated Rust guide.

Link to draft release notes:
https://github.com/apache/tvm-ffi/releases/tag/v0.1.16-rc2

Link to release candidate:
https://dist.apache.org/repos/dist/dev/tvm/tvm-ffi-v0.1.16-rc2/

Everyone is welcomed to vote. Please vote by replying to this thread 
explicitly. The vote will last at least 72 hours, please vote

+1 = approve
+0 = no opinion
-1 = disapprove (provide reason)

NOTE: this thread is being mirrored in dev@


-- 
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm-ffi/issues/934
You are receiving this because you are subscribed to this thread.

Message ID: <apache/tvm-ffi/issues/[email protected]>

Reply via email to