Skip to content

Commit 992f257

Browse files
authored
Merge pull request #75 from mathworks/dklilley/release/1.3.8
MATLAB language server - v1.3.8
2 parents 81106be + da49eac commit 992f257

File tree

110 files changed

+15506
-1487
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

110 files changed

+15506
-1487
lines changed

.github/workflows/test.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
matrix:
2626
node-version: [18.x, 20.x, 22.x]
2727
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
28-
os: [windows-latest, ubuntu-latest, macos-13]
28+
os: [windows-latest, ubuntu-latest, macos-14]
2929
steps:
3030
- name: Checkout
3131
uses: actions/checkout@v4
@@ -50,7 +50,7 @@ jobs:
5050
fail-fast: false
5151
matrix:
5252
matlab-version: [R2021b, R2022a, R2022b, R2023a, R2023b, R2024a, latest]
53-
os: [windows-latest, ubuntu-latest, macos-13]
53+
os: [windows-latest, ubuntu-latest, macos-14]
5454
steps:
5555
- name: Checkout
5656
uses: actions/checkout@v4

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [1.3.8] - 2026-01-08
11+
12+
Added:
13+
- Support for using the pause button to pause in the debugger (Addresses [mathworks/MATLAB-extension-for-vscode#263](https://github.com/mathworks/MATLAB-extension-for-vscode/issues/263))
14+
- Improvements to symbol renaming, symbol highlighting, find references, and go to definitions as a result of advanced MATLAB program file indexing (Addresses [mathworks/MATLAB-extension-for-vscode#94](https://github.com/mathworks/MATLAB-extension-for-vscode/issues/94))
15+
16+
Fixed:
17+
- Changes the default value of `MATLAB.defaultEditor` to `true`
18+
- Resolves issues with the `savepath` function by ensuring that MATLAB language server files are not saved to the MATLAB search path (Addresses [mathworks/MATLAB-extension-for-vscode#299](https://github.com/mathworks/MATLAB-extension-for-vscode/issues/299))
19+
- Resolves potential crashes when breakpoints are set
20+
- Applied patches for CVE-2025-15284, CVE-2025-64718, and CVE-2025-64756
21+
1022
## [1.3.7] - 2025-11-12
1123

1224
### Fixed
-432 Bytes
Binary file not shown.
960 Bytes
Binary file not shown.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
function range = makeRange (lineStart, charStart, lineEnd, charEnd)
2+
% Creates a matrix representing a range with line and character positions.
3+
% This is structured as [lineStart, charStart, lineEnd, charEnd].
4+
%
5+
% This does not create a struct in LSP format to boost performance - It
6+
% is significantly faster to create a matrix than a struct, especially
7+
% when called for many ranges within the document.
8+
9+
% Copyright 2025 The MathWorks, Inc.
10+
11+
range = [lineStart, charStart, lineEnd, charEnd];
12+
end
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
function preventSavingFolderToPath (folder)
2+
% Prevents the provided folder from being saved to the MATLAB path
3+
% when the `addpath` function is called.
4+
%
5+
% If `folder` represents a semicolon-delimited list of paths (e.g.
6+
% from `genpath`), each path is added to the excluded list.
7+
8+
% Copyright 2025 The MathWorks, Inc.
9+
folders = strsplit(folder, ';');
10+
for f = folders
11+
if strlength(f) > 0
12+
doPreventSavePath(f)
13+
end
14+
end
15+
end
16+
17+
function doPreventSavePath (folder)
18+
if isMATLABReleaseOlderThan('R2024a')
19+
matlab.internal.language.ExcludedPathStore.getInstance.setExcludedPathEntry(folder);
20+
else
21+
matlab.internal.path.ExcludedPathStore.addToCurrentExcludeList(folder);
22+
end
23+
end

matlab/initmatlabls.m

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@ function initmatlabls (outFile)
88
disp('matlabls: Beginning initialization')
99
fprintf('matlabls: matlabroot is \n%s\n', matlabroot)
1010

11-
% Ensure the language server code is on the path
11+
% Ensure the language server code is on the path, but cannot be saved to the path
1212
folder = fileparts(mfilename('fullpath'));
13+
matlabls.utils.preventSavingFolderToPath(genpath(folder));
1314

1415
% Shadow necessary functions
1516
matlabls.setupShadows(folder);

0 commit comments

Comments
 (0)