Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
matrix:
node-version: [18.x, 20.x, 22.x]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
os: [windows-latest, ubuntu-latest, macos-13]
os: [windows-latest, ubuntu-latest, macos-14]
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -50,7 +50,7 @@ jobs:
fail-fast: false
matrix:
matlab-version: [R2021b, R2022a, R2022b, R2023a, R2023b, R2024a, latest]
os: [windows-latest, ubuntu-latest, macos-13]
os: [windows-latest, ubuntu-latest, macos-14]
steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [1.3.8] - 2026-01-08

Added:
- 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))
- 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))

Fixed:
- Changes the default value of `MATLAB.defaultEditor` to `true`
- 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))
- Resolves potential crashes when breakpoints are set
- Applied patches for CVE-2025-15284, CVE-2025-64718, and CVE-2025-64756

## [1.3.7] - 2025-11-12

### Fixed
Expand Down
Binary file modified matlab/+matlabls/+internal/computeCodeData.p
Binary file not shown.
Binary file added matlab/+matlabls/+internal/getSectionData.p
Binary file not shown.
12 changes: 12 additions & 0 deletions matlab/+matlabls/+utils/makeRange.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
function range = makeRange (lineStart, charStart, lineEnd, charEnd)
% Creates a matrix representing a range with line and character positions.
% This is structured as [lineStart, charStart, lineEnd, charEnd].
%
% This does not create a struct in LSP format to boost performance - It
% is significantly faster to create a matrix than a struct, especially
% when called for many ranges within the document.

% Copyright 2025 The MathWorks, Inc.

range = [lineStart, charStart, lineEnd, charEnd];
end
23 changes: 23 additions & 0 deletions matlab/+matlabls/+utils/preventSavingFolderToPath.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
function preventSavingFolderToPath (folder)
% Prevents the provided folder from being saved to the MATLAB path
% when the `addpath` function is called.
%
% If `folder` represents a semicolon-delimited list of paths (e.g.
% from `genpath`), each path is added to the excluded list.

% Copyright 2025 The MathWorks, Inc.
folders = strsplit(folder, ';');
for f = folders
if strlength(f) > 0
doPreventSavePath(f)
end
end
end

function doPreventSavePath (folder)
if isMATLABReleaseOlderThan('R2024a')
matlab.internal.language.ExcludedPathStore.getInstance.setExcludedPathEntry(folder);
else
matlab.internal.path.ExcludedPathStore.addToCurrentExcludeList(folder);
end
end
3 changes: 2 additions & 1 deletion matlab/initmatlabls.m
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@ function initmatlabls (outFile)
disp('matlabls: Beginning initialization')
fprintf('matlabls: matlabroot is \n%s\n', matlabroot)

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

% Shadow necessary functions
matlabls.setupShadows(folder);
Expand Down
Loading