Releases: cotrin8672/matlas
Release list
matlas v0.7.0
Changes
- Allow
WorkspaceScopeandMatFilehandles to coexist through sharedMatlabborrows. - Reject property access, generic MAT-file writes, and full-value MAT-file reads while a workspace value is borrowed.
- Add
PlainArrayRefandMatFile::put_plainfor direct MAT-file writes of numeric, logical, and character arrays, including supported sparse arrays. Cell, struct, string, and object arrays are excluded. - Document the callback audit and add MATLAB integration coverage for guarded operations and v7.3 primitive writes.
Validation
Passed cargo test --workspace --locked, Clippy with warnings denied, rustdoc with warnings denied, Rust 1.77 workspace build, cargo package --locked, API coverage audit, and the MATLAB R2024a integration suite (156 array-direction checks across five formats).
matlas v0.6.0
matlas v0.6.0
- Convert MATLAB character rows and scalar
stringvalues to Rust text withArrayRef::to_text, preserving Unicode and embedded NUL characters and rejecting missing strings. - Read and create logical scalars with
ArrayRef::logical_scalarandMatlab::logical_scalar. - Receive fixed callback outputs through
Matlab::call_array::<N>andWorkspaceScope::call_array::<N>. - Set validated MATLAB exception identifiers with
Error::with_id. - Declare fixed MEX argument counts with
Inputs<'mex, N>andOutputs<'mex, N>;inputs.into_array()supports array destructuring. Existing variable-count handlers remain supported.
Compatibility: Error now has a private identifier field, so construct errors with Error::new instead of a struct literal.
Validated with the full MATLAB R2024a integration suite, Rust 1.77.0 build, Clippy, docs, API coverage audit, and cargo package --locked.
matlas v0.5.0
Workspace pointer handoff
- Add
Matlab::workspace_scope,WorkspaceScope::get, and consumingWorkspaceScope::callso multiplemexGetVariablePtrvalues can be passed to MATLAB without a Rust-side array copy. - Accept ordinary
ArrayRefinputs alongside workspace values in callback argument order. Reject a callback while an unused workspace value remains live. - Replace
Matlab::workspace_borrowandWorkspaceRefwith the scope API.
Validation
Rust tests, Clippy, docs, API coverage audit, and cargo package --locked passed. The MATLAB integration suite passed on R2024a, and the workspace built with Rust 1.77.0.
matlas v0.4.0
First release under the matlas name. Provides ownership-aware Rust APIs for MATLAB R2025a Matrix, MEX, and MAT-file interfaces. Validated on Windows with MATLAB R2025a; building requires MATLAB headers and libraries.