Skip to content

Commit 19438c8

Browse files
authored
Merge pull request #80 from mathworks/dklilley/release/1.3.9
MATLAB language server - v1.3.9
2 parents 6c7e6b4 + 40f8239 commit 19438c8

File tree

13 files changed

+715
-438
lines changed

13 files changed

+715
-438
lines changed

CHANGELOG.md

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

88
## [Unreleased]
99

10+
## [1.3.9] - 2026-03-09
11+
12+
### Fixed
13+
- Resolves an issue starting MATLAB when the `HOME` environment variable is set to an invalid folder (Addresses [mathworks/MATLAB-extension-for-vscode#164](https://github.com/mathworks/MATLAB-extension-for-vscode/issues/164))
14+
- Applied patches for CVE-2025-13465, CVE-2025-68157, CVE-2025-68458, CVE-2026-2391, CVE-2026-27606, CVE-2026-27903
15+
1016
## [1.3.8] - 2026-01-09
1117

1218
### Added

package-lock.json

Lines changed: 439 additions & 271 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "matlab-language-server",
3-
"version": "1.3.8",
3+
"version": "1.3.9",
44
"description": "Language Server for MATLAB code",
55
"main": "./src/index.ts",
66
"bin": "./out/index.js",

src/debug/MatlabDebugAdaptor.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
// Copyright 2025 The MathWorks, Inc.
1+
// Copyright 2025-2026 The MathWorks, Inc.
22

33
import * as debug from '@vscode/debugadapter'
44
import { DebugProtocol } from '@vscode/debugprotocol';
55
import { DebugServices, BreakpointInfo } from './DebugServices'
66
import { ResolvablePromise, createResolvablePromise } from '../utils/PromiseUtils'
7-
import { IMVM, MVMError, MatlabState } from '../mvm/impl/MVM';
7+
import { IMVM, MVMError, MatlabMVMConnectionState } from '../mvm/impl/MVM';
88
import fs from 'node:fs';
99

1010
enum BreakpointChangeType {
@@ -92,8 +92,8 @@ export default class MatlabDebugAdaptor {
9292
this._pendingSetBreakpointPromise = undefined;
9393
this._pendingTemporaryStackChangePromise = undefined;
9494

95-
this._mvm.on(IMVM.Events.stateChange, (state: MatlabState) => {
96-
if (state === MatlabState.DISCONNECTED) {
95+
this._mvm.on(IMVM.Events.stateChange, (state: MatlabMVMConnectionState) => {
96+
if (state === MatlabMVMConnectionState.DISCONNECTED) {
9797
this._handleDisconnect();
9898
this._matlabBreakpoints = [];
9999
}

src/licensing/gui/package-lock.json

Lines changed: 238 additions & 134 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/lifecycle/GraphicsPrewarmService.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
// Copyright 2025 The MathWorks, Inc.
1+
// Copyright 2025-2026 The MathWorks, Inc.
22

33
import Logger from '../logging/Logger';
4-
import MVM, { IMVM, MatlabState } from '../mvm/impl/MVM';
4+
import MVM, { IMVM, MatlabMVMConnectionState } from '../mvm/impl/MVM';
55
import { ConfigurationManager } from './ConfigurationManager';
66

77
/**
@@ -27,10 +27,10 @@ export default class GraphicsPrewarmService {
2727
*
2828
* @param state The MVM state
2929
*/
30-
private async handleMvmStateChange (state: MatlabState): Promise<void> {
31-
if (state === MatlabState.READY) {
30+
private async handleMvmStateChange (state: MatlabMVMConnectionState): Promise<void> {
31+
if (state === MatlabMVMConnectionState.CONNECTED) {
3232
await this.handleMatlabConnectionReady()
33-
} else if (state === MatlabState.DISCONNECTED) {
33+
} else if (state === MatlabMVMConnectionState.DISCONNECTED) {
3434
// Reset hasPrewarmed flag when MATLAB is disconnected
3535
this.hasPrewarmed = false
3636
}

src/lifecycle/MatlabCommunicationManager.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/lifecycle/PathSynchronizer.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
// Copyright 2024-2025 The MathWorks, Inc.
1+
// Copyright 2024-2026 The MathWorks, Inc.
22

33
import { WorkspaceFolder, WorkspaceFoldersChangeEvent } from 'vscode-languageserver'
44
import ClientConnection, { Connection } from '../ClientConnection'
55
import Logger from '../logging/Logger'
66
import MatlabLifecycleManager from './MatlabLifecycleManager'
77
import * as os from 'os'
88
import path from 'path'
9-
import MVM, { IMVM, MatlabState } from '../mvm/impl/MVM'
9+
import MVM, { IMVM, MatlabMVMConnectionState } from '../mvm/impl/MVM'
1010
import parse from '../mvm/MdaParser'
1111
import * as FileNameUtils from '../utils/FileNameUtils'
1212

@@ -25,8 +25,8 @@ export default class PathSynchronizer {
2525
initialize (): void {
2626
const clientConnection = ClientConnection.getConnection()
2727

28-
this.mvm.on(IMVM.Events.stateChange, (state: MatlabState) => {
29-
if (state === MatlabState.READY) {
28+
this.mvm.on(IMVM.Events.stateChange, (state: MatlabMVMConnectionState) => {
29+
if (state === MatlabMVMConnectionState.CONNECTED) {
3030
void this.handleMatlabConnected(clientConnection)
3131
}
3232
})

src/mvm/MVMServer.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
// Copyright 2024-2025 The MathWorks, Inc.
1+
// Copyright 2024-2026 The MathWorks, Inc.
22

33
import NotificationService, { Notification } from '../notifications/NotificationService'
4-
import MVM, { IMVM, MatlabState, EvalRequest, EvalResponse, FEvalRequest, FEvalResponse, BreakpointRequest, PromptState } from './impl/MVM'
4+
import MVM, { IMVM, MatlabMVMConnectionState, EvalRequest, EvalResponse, FEvalRequest, FEvalResponse, BreakpointRequest, PromptState } from './impl/MVM'
55

66
/**
77
* Provides an interface for sending evals and fevals and listening to the results.
@@ -32,7 +32,7 @@ export default class MVMServer {
3232
this._mvm.on(IMVM.Events.promptChange, this._handlePromptChange.bind(this));
3333
}
3434

35-
private _handleMvmStateChange (state: MatlabState, release?: string): void {
35+
private _handleMvmStateChange (state: MatlabMVMConnectionState, release?: string): void {
3636
this._notificationService.sendNotification(Notification.MVMStateChange, { state, release });
3737
}
3838

src/mvm/impl/MVM.d.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,9 @@ export * from './MVMInterface';
66
/**
77
* Used to represent the state of MATLAB
88
*/
9-
export declare enum MatlabState {
9+
export declare enum MatlabMVMConnectionState {
1010
DISCONNECTED = "disconnected",
11-
READY = "ready",
12-
BUSY = "busy"
11+
CONNECTED = "connected"
1312
}
1413
/**
1514
* Provides an interface for sending evals and fevals and listening to the results.

0 commit comments

Comments
 (0)