Skip to content

Releases: geospace-code/matlab-stdlib

Broad compatibility including GNU Octave

18 Sep 16:09
d47528a
Compare
Choose a tag to compare

Most functions work with R2017b and newer

16 Sep 17:24
c6ee369
Compare
Choose a tag to compare

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

14 Sep 21:57
0cb8d12
Compare
Choose a tag to compare

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

03 Sep 01:07
6122442
Compare
Choose a tag to compare
  • 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

26 Aug 21:55
8703a7f
Compare
Choose a tag to compare

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

26 Aug 13:06
3edb3a1
Compare
Choose a tag to compare

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

13 Aug 07:02
94d0d6d
Compare
Choose a tag to compare
  • 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

04 Aug 23:06
b56f744
Compare
Choose a tag to compare

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

29 Dec 05:27
db006e7
Compare
Choose a tag to compare

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.

18 Sep 17:50
5173fff
Compare
Choose a tag to compare

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)