Releases: geospace-code/matlab-stdlib
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()
R2019b+ Linux, and most fcns for WIndows, macOS
- add functions matlabOlderThan(), allToolboxes(), toolbox_used()
- Vectorize more functions
- remove type validation where not strictly needed to speedup runtime
stdlib.matlabOlderThan(release) works back at least to R2011b, which was the oldest Matlab we tried.
Add numerous functions. Add optional .NET and Python backends to Java
Full Changelog: v5.5.0...v5.6.0
- add numerous functions
- Vectorize (take scalar or array input) several filesystem inquiry functions
- remove MEX C++ backend (at least for now) since the complexity is not needed with fallback to .NET, Python, Java, and even system() calls as a last resort if native Matlab code can't implement a function
- greatly improve the test coverage, with each function backend being tested if the backend is available on the test computer
- optional Matlab test can do incremental tests as there's over 600 self-tests.
add numerous functions, remove WSL functions
distinguish absolute() and resolve()
add get_shell(), handle2filename(), hard_link_count(), is_rosetta(), root(), root_name(), file_size(), drop_slash(), is_prefix(), cpu_arch(), os_version(), java_vendor()
ci: add jobs without Java VM "-nojvm"
CI: auto-publish inline documentation
benchmark Java vs. non-Java under example/ directory
all functions default to not use Java, except functions that are only implemented in Java
Most functions GNU Octave compatible
Numerous speed and correctness improvements
CI: test java/non-java for each function so capable.
Remove WSL functions
Test:implement with parameterization for best practice
remove absolute_path() -- use resolve(). Add new functions.
Add functions
- get_username()
- get_owner()
- null_file()
- is_regular_file()
- hostname()
- getpid()
- get_permissions()
- java_version()
- java_api()
canonical(), resolve() add option expand_tilde (default true)
remove absolute_path() that duplicated resolve() functionality
use non-deprecated Java methods if available in JRE
add documentation for selecting JRE (optional)
v5.3.0
Full Changelog: v5.2.1...v5.3.0
add HDF4 h4{size,exists,variables}
remove h5ndims, ncndims
flatten namespace
speedup functions
- h5exists, ncexists: 2x-100x speedup
- stem, read_symlink: string Posix output
- use isSymbolicLink, createSymbolicLink if available.
add numerous functions
add is_symlink, create_symlink, read_symlink.
ncsave: require dimensions for non-scalar
add sys.cpu_count, touch, get_modtime, set_modtime, relative_to(), proximate_to, is_subdir, filesystem_type()
is_absolute_path => is_absolute