Releases: geospace-code/matlab-stdlib
Release list
5.9.2
v5.9.1
restore use of function argument validation
test: use abstract classes to deduplicate
python; default off
inode can return larger than 64-bit integer, use string in that case
add private/filterBackends function for one-source-of-truth backend auto-selection
add get_public_ipaddr()
set_permissions requires Matlab >= R2025a for robustness - fileattrib is too unreliable for setting set_permissions
subprocess_run now has separate stdout, stderr pipes. This uses matlab system() with temporary file redirection for stderr
add matlab_git_version() using loadlibrary() FFI
Matlab >= R2020b
add robustness throughout by requiring R2020b or newer.
End of older Matlab less than R2020b
It was an interesting exercise to support old releases of Matlab. However, not using arguments syntax introduced in R2019b and validators of R2020b hampers good code style and maintenance. We respect those on older releases, but we choose to up the minimum Matlab release for better style for most of our users.
Broad compatibility including GNU Octave
v5.8.5 test tag
Most functions work with R2017b and newer
Except for subprocess_run(), most functions work with Matlab R2017b and newer. This should cover almost all users of Matlab in the present era.
improve speed and reliability
More careful approach to catching exceptions, using try-catch as a first line approach for speed.
add has_parallel_toolbox(), no walk up on Normalize, relative_to
- add has_parallel_toolbox()
Don't walk up ".." directories with normalize, relative_to as this can be surprising if symlinks are removed from a path. This also affects canonical strict=false when path doesn't exist.
matlab.perftest.TestCase benchmarking, 100x speedups on Windows to some functions
use matlab.perftest.TestCase to test and compare certain functions and improve speed of certain functions up to 100x on Windows.
more consistent error handling
add Perl backend and functions
Added Perl backend (in addition to .NET, Java, and Python) to allow for faster execution when available.
Since Perl is bundled with Matlab on Windows and generally available on macOS and Linux systems, Perl is useful as an additional backend.
In particular, for the stdlib.samepath() function, Perl is like 20x or more faster than using multiple system() calls as a fallback.
All of these backends are optional, but generally faster than system() calls.
The core functionality is done with native Matlab code when possible.
Added functions:
- is_dev_drive()
- get_uid()
- get_process_priority()