doc/changelogs/CHANGELOG-2022.md
watch expression errors #11953toggle sticky scroll command and menu item #11926enableForms field to WebviewOptions #11983 - Contributed on behalf of STMicroelectronicsnotebook related VS Code APIs #11993- Contributed on behalf of STMicroelectronicsDebugSession.parentSession VS Code API #11925InlineCompletion related VS Code APIs #11901TaskGroup.id VS Code API #11944TaskGroup.isDefault VS Code API #11944hcLight VS Code API #11589<a name="breaking_changes_1.33.0">Breaking Changes:</a>
MenuModelRegistry changed from CompositeMenuNode to MutableCompoundMenuNode. To mutate a menu, use the updateOptions method or add a check for instanceof CompositeMenuNode, which will be true in most cases #11910UInt8Array as type for message parameters instead of string - Contributed on behalf of STMicroelectronics.objects.ts #11762zh-cn localizations #11842nls metadata to VS Code v1.55.2 #11824dugite-extra from v0.1.16 to v0.1.17 #11782monaco to VS Code v1.73.3 #11787explorer.decorations.colors preference #11802Task#runOptions field and RunOptions interface #11759 - Contributed on behalf of STMicroelectronicsTerminalOptions.shellArgs VS Code API #11767withScmProgress VS Code API #11798DebugSessionOptions#lifecycleManagedByParent VS Code API #11751HoverProvider.provideHover with VS Code #11862 - Contributed on behalf of STMicroelectronicsseparator in quick-open menus #11834v1.53.2 to v1.55.2 #11823minimatch from v3.0.4 to v5.1.0 #11820lerna from v5.5.4 to v6.0.1 #11820mocha dependency and configurations from ^7.0.0 to ^10.1.0 #11820reevaluateOnRerun run option #11759 - Contributed on behalf of STMicroelectronics<a name="breaking_changes_1.32.0">Breaking Changes:</a>
circular-dependency-plugin #11864download:plugins script to download and resolve plugins sequentially by default #11860PreferenceHeaderRendererContribution to preference-node-renderer-creator.ts #11432reevaluateOnRerun run option in the task description needs to be set to true from now on #11759 - Contributed on behalf of STMicroelectronicsworkspace.supportMultiRootWorkspace preference #11538isMultiRootWorkspaceEnabled from WorkspaceService #11538unstage all command #11805editor-* preferences not being applied properly #11711registerTextEditorCommand are declared in the package.json #11764Tests VS Code API #11717InlayHints VS Code API #11736InlineValues VS Code API #11729 - Contributed on behalf of STMicroelectronicsRelativePattern.baseUri VS Code API #11670Terminal.state VS Code API #11733TerminalLinkProviders VS Code API #11552 - Contributed on behalf of STMicroelectronicsTerminalOptions.hideFromUser VS Code API #11630TreeDataProvider.resolveTreeItem VS Code API #11708 - Contributed on behalf of STMicroelectronicsTypeHierarchy VS Code API #11694HostedPluginSupport #11755theia-extra.d.ts for plugin APIs specific to Theia #11684dash-licenses #11766yarn upgrade #11773ubuntu-18.04 to ubuntu-latest #11731lerna to v5.5.4 #11738<a name="breaking_changes_1.31.0">Breaking Changes:</a>
gen-webpack.config.js) now exports an array of two webpack configs instead of a single one: the first contains the config for
generating the main code bundle (as before), the second serves to generate a *.css file for inclusion into secondaryWindow.html #11707when clauses removed from codeToTheiaMappings #11741AbstractCmdClickTerminalContribution API has been removed in favor of the TerminalLinkProvider interface #11552 - Contributed on behalf of STMicroelectronicscallhierarchy-type-converters.ts was renamed to hierarchy-types-converters.ts
toDefinition was renamed to toItemHierarchyDefinition and the overloaded signatures were removed.fromDefinition was replaced for fromItemHierarchyDefinition to convert both TypeHierarchyItem and CallHierarchyItem to a common HierarchyItem.type-converters.ts #fromCallHierarchyItem was replaced by fromHierarchyItem to convert from CallHierarchyItem or TypeHierarchyItem to HierarchyItem.@theia/secondary-window extension which contributes the UI to enable the new feature.about dialog rendering when closed and re-opened #11687id #11622about dialog to include additional framework information #11687code guidelines and code organization docs #11529>=14.18.0 #11621edt quick-pick entries by area and groups #11611Discard All for new files #11677unstage bug where all files were reverted #11635closed all toolbar enablement and visibility #11634save all tabs toolbar enablement and visibility #11634OutputEditorFactory and OutputEditorModelFactory #11615buttons support in the QuickPickItem VS Code API #11650MarkdownString tooltips in TreeItem #11661FoldingRangeProvider#onDidChangeFoldingRanges VS Code API #11696Pseudoterminal#onDidChangeName VS Code API #11657Terminal#creationOptions VS Code API #11623TerminalOptions.strictEnv VS Code API #11641show overload #11649autoSave behavior for custom-editors #11599EventEmitter.fire signature according to the VS Code API #11655theia.d.ts docs, typings and syntax errors #11493color and icon theme preference selection #11678env when building commands #11609CodeActionTriggerKind #11695nls localizations #11637options to open and reload window methods #11571<a name="breaking_changes_1.30.0">Breaking Changes:</a>
ApplicationShell: SecondaryWindowHandler #11048 - Contributed on behalf of ST Microelectronics and Ericsson and by ARM and EclipseSourceFrontendApplicationConfig#defaultTheme from string to DefaultTheme #11570
DefaultTheme#defaultForOSTheme to derive the string theme ID.ctrlcmd+shift+l keybinding for pluginsView:toggle #11608applicationName in the frontend generator #11575included preference schema property #11588workbench.action.focusNthEditorGroup #11496toggle breadcrumbs command #11548msgpackr for encoding of rpc messages #11447next group and previous group commands #11545@electron/get to v2.0.0 #11573discard changes on a new file #11532@theia/memory-inspector extension #11394EvaluatableExpressions #11484 - Contributed on behalf of STMicroelectronicskeys in the Memento VS Code API #11487InputBoxValidationMessage VS Code API #11492no-unreachable eslint rule #11476any #11490toggle terminal command #11193terminal clear command to not require terminal focus #11565Extensions view #11494Open VSX Registry #11523<a name="breaking_changes_1.29.0">Breaking Changes:</a>
Emitter fields by Event fields in both DescriptionWidget and BadgeWidget #11601react-virtualized with react-virtuoso for tree rendering. Removed the TreeWidget#forceUpdate, TreeWidget#handleScroll and TreeWidget.View#renderTreeRow methods in the process #11553updateThemePreference and updateThemeFromPreference removed from CommonFrontendContribution. Corresponding functionality as been moved to the respective theme service. load removed from IconThemeService #11473WidgetManager.widgetPromises; use WidgetManager.widgets instead #11555react and react-dom dependencies to version 18, which introduce new root API for rendering (replaces ReactDOM.render). Since React no longer supports render callbacks, the onRender field from ReactDialog and ReactWidget was removed. #11455 - Contributed on behalf of STMicroelectronicsDefaultWorkspaceServer#untitledWorkspaceStaleThreshhold; use DefaultWorkspaceServer#untitledWorkspaceStaleThreshold instead #11603WidgetManager to compare keys using deep equal #11450StopReason to OnWillStopAction #11428caption rendering for ViewContainer #11422InstructionBreakpoints #111866Disassembly view #11186vscode-ripgrep to @[email protected] #11389FileChangeEvent#contains #11409dugite-extra to v0.1.16 #11445activeItem handling in the QuickPick menu #11438tokenization performance #11416v1.67.2 #11331New File and New Folder to only appear for folders #11453activeParameter in the SignatureInformation VS Code API #11426title in the QuickPickOptions VS Code API #11418vscode.env VS Code API namespace #11446DebugProtocolBreakpoint and DebugProtocolSource VS Code API #10011 - Contributed on behalf of STMicroelectronicsTerminalOptions#message VS Code API #11385workbench.action.saveWorkspaceAs command #11395SourceControlInputBox#visible #11412 - Contributed on behalf of STMicroelectronicsLocationLink definition #11465lsof on macOS #11411Find in Folder to only apply for folders #11456vscode-ripgrep to @[email protected] #11389<a name="breaking_changes_1.28.0">Breaking Changes:</a>
handleDefault, handleElectronDefault method no longer called in BrowserMainMenuFactory.registerMenu(), DynamicMenuWidget.buildSubMenus() or ElectronMainMenuFactory.fillSubmenus(). Override the respective calling function rather than handleDefault. The argument to each of the three methods listed above is now MenuNode and not CompositeMenuNode, and the methods are truly recursive and called on entire menu tree. ActionMenuNode.action removed; access relevant field on ActionMenuNode.command, .when etc. #11290CommonCommands.NEW_FILE to CommonCommands.NEW_UNTITLED_FILE #11429CodeEditorWidgetUtil moved to packages/plugin-ext/src/main/browser/menus/vscode-theia-menu-mappings.ts. MenusContributionPointHandler extensively refactored. See PR description for details. #11290LocalFilePluginDeployerResolver moved to plugin-ext local-vsix-file-plugin-deployer-resolver.ts. #11466Plugin: Deploy Plugin by Id command #11417downloadPath field from VSXExtensionResolver. Plugins are now placed directly in user plugin directory. #11466url and fs path comparison for stop requests #11229CompressedTreeWidget nodes #11230TreeWidget focus handling and keyboard navigation #11200uri creation for untitled resources #11347Configure Display Language command to align with VS Code #11289cursor for active menu items #11223runtime-import-check errors for DebugPluginConfiguration #11224all files filter in Electron on Linux when no other filters exist #11325nsfw to simplify event path resolution #11322multer dependency to 1.4.4-lts.1 #11215git.untrackedChanges preference #11256monaco #11257open editors UI #10940output-widget from handling any drag/drop events #11275@playwright/test dependency #11313Thenable type to API and replaced PromiseLike with Thenable #11352 - Contributed on behalf of STMicroelectronicsview welcome #11312TreeItemLabel in TreeItem #11288 - Contributed on behalf of STMicroelectronicscolor of ThemeIcon #11243 - Contributed on behalf of STMicroelectronicsOnEnterRule.previousLineText VS Code API #11225TextEditor#show() and TextEditor#hide() VS Code API #11168 - Contributed on behalf of STMicroelectronicslanguages.configuration.onEnterRules VS Code API #11225TaskPresentationOptions#clear #11298 - Contributed on behalf of STMicroelectronicsruntime-import-check errors #11224WebviewViewResolveContext from window to root namespace #11216 - Contributed on behalf of STMicroelectronicsno-Info messages #11354runtime-import-check eslint plugin #11212gzip encoding #11337extensions view #11248Install Another Version... command #11303<a name="breaking_changes_1.27.0">Breaking Changes:</a>
TreeImpl.refresh to accept a cancellation token as a second parameter. Extensions that added their own second parameter may be marked as no longer class conforming #11340workbench.tab.maximize preference #11279vscode-ws-jsonrpc with a custom RPC protocol that is better suited for handling binary data and enables message tunneling #11228 - Contributed on behalf of STMicroelectronics.
Connection object and uses a generic Channel implementation instead.vscode-json-rpc's Connection with the new generic Channel. Affects AbstractConnectionProvider, MessagingService, IPCConnectionProvider, ElectronMessagingServiceMessagingService: No longer offers the listen and forward method. Use wsChannel instead.RemoteFileSystemServer: Use UInt8Array instead of plain number arrays for all arguments and return type that store binary dataDebugAdapter: Replaced the debug-service internal Channel implementation with the newly introduced generic Channel.ThemeService.get(); inject the ThemeService instead. Removed ColorApplicationContribution.initBackground(); by default the editor.background color variable will be initialized through the normal theme initialization process. It is now expected that the ThemeService will call this.deferredInitializer.resolve() when the ThemeService finishes its initialization. Failure to do so in any overrides may cause failures to apply default themes #11213DebugSessionWidget is now used for all debug sessions. Code related to opening debug sessions in different areas has been removed, including DebugViewLocation, DebugSessionWidgetFactory, DebugSessionContextCommands.OPEN_LEFT, ...OPEN_RIGHT, ...OPEN_BOTTOM, the preference debug.debugViewLocation, DebugViewOptions. The bindings of the component widgets have also been changed to allow them to be created using the WidgetManager rather than via inversify injection. #11277DebugConfigurationManager.find to receive a target DebugConfiguration instead of a configuration's name.
NOTE: The original signature is still available but no longer used inside the framework and therefore marked as deprecateddebug-configuration-widget.tsx to the new file debug-configuration-select.tsx.DebugConfiguration.dynamic.DebugService: fetchDynamicDebugConfiguration as well as the property onDidChangedDebugConfigurationProviders.DebugPrefixConfiguration#runDynamicConfigurationSelectComponentProps was updated to rename a property from value to defaultValuenode to common #10748init(), register(), restore(), updateBodyUiTheme() from MonacoThemingService; use instance methods initialize(), registerParsedTheme(), restore(), updateBodyUiTheme() instead. Removed MonacoThemeRegistry.SINGLETON, inject MonacoThemeRegistry instead. #11213debug file to debug-ext #10748registerDebuggersContributions to include an additional parameter in the signature pluginType to specify frontend or backend #10748TreeItem2 from the proposed plugin API, TreeItem can be used instead #11288 - Contributed on behalf of STMicroelectronics@theia/debug/lib/browser/debug-contribution/DebugPluginConfiguration to: plugin-dev/src/common/PluginDebugConfiguration #11224current-editor-access.ts file #11185ColorRegistry no longer exports Color, ColorDefaults, ColorDefinition and ColorCssVariable. Import from core/lib/common/color instead #11185ContextMenuRenderer method render #11185FOLDER_ICON and FILE_ICON #11185JsonType re-export from preference-schema #11185onVisibilityChanged event from view-container #11185theme re-export, should be imported from common/theme instead #11185preference-contribution #11185
overridePreferenceName.testOverrideValue.overriddenPreferenceName.OVERRIDE_PROPERTY_PATTERN re-export.defaultIgnorePatterns #11185MiniBrowserEndpoint and MiniBrowserEndpoint.HANDLE_PATH #11185setVisibility from OutputChannelManager #11185OUTPUT_WIDGET_KIND #11185glob.ts and paths.ts #11185untitled-resource.ts #11185ContextMenuCallbacks #11185input, output and errorOutput #11185VSXExtensionsCommands re-export #11185getDefaultWorkspacePath #11185replaceResult and confirmReplaceAll to now require a parameter replacementText #11374validatePreferencesSchema to control whether to validate preferences on start #11189download:plugins script to respect proxy settings #11043TheiaDockPanel factory binding for extensibility #11154visible option for menuBarVisibility when in fullscreen #11119onclick handling #11117UntitledResourceResolver binding so it is available outside the plugin system #11195ApplicationError to not re-register the same codes #11160onHide callback in MonacoContextMenuService #11152when and custom context keys were ignored by monaco #11095DebugSession#workspaceFolder VS Code API #11090 - Contributed on behalf of STMicroelectronicsExtensionMode VS Code API #10201 - Contributed on behalf of STMicroelectronicsLinkedEditingRanges VS Code API #11137Terminal#exitStatus VS Code API #11175@theia/request package to send proxy-aware http requests to other services #11043kind is a file #11190<a name="breaking_changes_1.26.0">Breaking Changes:</a>
paths.ts and glob.ts moved to core/src/common; language-selector.ts moved to editor/src/common. Any imports will need to be updated #11083disallowReloadKeybinding from dev-packages/application-package/src/application-props.ts file and corresponding test #11099@theia/filesystem/lib/browser/filesystem-watcher:
FileChangeType, FileChange, FileChangeEvent, FileMoveEvent, FileEvent, FileOperationEmitter, FileSystemWatcher@theia/filesystem/lib/node/node-file-upload:
NodeFileUpload@theia/filesystem/lib/node/nsfw-watcher/nsfw-filesystem-watcher:
WatcherOptions, NsfwFileSystemWatcherServer@theia/filesystem/lib/common/filesystem:
FileSystem, FileMoveOptions, FileDeleteOptions, FileStat, FileSystemErrorFileStatNodeData.fileStat to use the non-deprecated FileStat from @theia/core/lib/common/files #11176callhierarchy providers #10857property-view API documentation #11022selection-service API documentation #11022showQuickPick resolves on hide #11068Disposable.NULL #11053save as #11032core from plugin-ext and allow users to open untitled editors with New File command #10868unload #11075moment to resolve vulnerability #11009selection in monaco editors #11049detail to EditorMouseEvent to fix CommentThread issue #11065lib folder #11014CancellationToken logic for withProgress API #11027canReply support to CommentThread #11062 - Contributed on behalf of STMicroelectronicsid, name and backgroundColor to StatusBarItem #11026 - Contributed on behalf of STMicroelectronicsAccessibilityInformation #10961 - Contributed on behalf of STMicroelectronicsAccessibility VS Code API #10961ShellQuotedStrings in Tasks API #10997SnippetString.appendChoice #10969 - Contributed on behalf of STMicroelectronicskeepScrollPosition in QuickPick #11002CodeActionProvider #10988showQuickPick with the VS Code API #10974onDidTerminateDebugSession #10954files.eol preference rendering #11079null values #11074<a name="breaking_changes_1.25.0">Breaking Changes:</a>
Definition, Caller and Callee removed and replaced with CallHierarchyItem, CallHierarchyIncomingCall, CallHierarchyOutgoingCall #10857(Async)LocalizationProvider#getAvailableLanguages from string[] to LanguageInfo[] #11018QuickInputService.showQuickPick and its implementation in MonacoQuickInputService to Promise<T | undefined>. undefined will be returned if the user closes the quick pick without making a selection #11068Saveable.createSnapshot from object to { value: string } | { read(): string | null } #11032undefined | null #10999:
nullProblemDecorator and SCMNavigatorDecorator classes. They are no longer bound in the inversify container by default #10846expose-loader #10845defaultLocale #10956click check on macOS #10883socket.io endpoint path #10858TreeWidget #10898TreeContainerProps #10881undefined preference values #10887requestretry from v3.1.0 to v7.0.0 #10831monaco dependency from 0.23 to ca. 0.33 (state as of VSCode 1.65.2) #10736initiallyCollapsed option for the 'Open Editors' #10930add folder command #10840THEIA_CONFIG_DIR #10925SourceFixAll declaration #10921allow attributes in webviews #10848CompletionItemLabel VS Code API #10929DocumentSymbolProviderMetadata #10811 - Contributed on behalf of STMicroelectronicsUri.from #10903replace in OutputChannel #10915title option for InputBoxOptions VS Code API #10920asWebviewUri #10849Task.detail with VS Code API expectations #10905breakpoint namespace with VS Code API expectations #10919getSession with VS Code API expectations #10837updateWorkspaceFolders with VS Code API expectations #10918PreferenceContext #10911yarn upgrade #10939requestretry from v3.1.0 to v7.0.0 #10831'save as' for untitled schemes #10608path in the dialog #10814<a name="breaking_changes_1.24.0">Breaking Changes:</a>
attachGlobalShortcuts from ElectronMainApplication. Attaching shortcuts in that way interfered with internal shortcuts. Use internal keybindings instead of global shortcuts #10869model was renamed to getModel and accepts an optional URI parameter #10875DebugService#provideDynamicDebugConfigurations changes the return type to Record<string, DebugConfiguration[]> #10910
This impacts the corresponding return type for DebugConfigurationManager#provideDynamicDebugConfigurations.
The following functions under plugin-api-rpc.ts#DebugExt and in the PluginDebugAdapterContribution are deprecated
PluginDebugAdapterContributionRegistrator interface has been removedgenerateUniqueResourceURI method from the FileSystemUtils class has an updated signature. Additionally, the method now returns a generated Uri that uses spaces as separators. The naming scheme was also changed to match VSCode. 10767ProblemDecorator reimplemented to reduce redundancy and align more closely with VSCode. collectMarkers now returns Map<string, TreeDecoration.Data>, getOverlayIconColor renamed to getColor, getOverlayIcon removed, appendContainerMarkers returns void #10820QuickPickItem is now only for selectable items. Use QuickPickItemOrSeparator when either an item or a separator is intended.editor.autoSave preference renamed files.autoSave and accepts off, afterDelay, onFocusChange, onWindowChange. Use !== 'off' to check for any active state, as on is no longer a valid value.editor.autoSaveDelay renamed files.autoSaveDelay.commandService, instantiationService removed from MonacoEditor. Use StandaloneServices.get(IInstantationService / ICommandService) instead.DecorationMiniMapOptions.position, DecorationOverviewRulerOptions.position no longer optional.MonacoEditorFactory accept the type EditorServiceOverrides rather than {[key: string]: any}.WorkspaceService: ApplicationShell, StorageService, LabelProvider, SelectionService, CommandRegistry, WorkspaceCommandContribution. #10868path-browserify to polyfill path in the browser #10745changes-stream with nano #10764electron-rebuild to v3.2.7 #10726setPreference handling for language overrides #10665debuggingForeground theming #10760dugite-extra to v0.1.15 which supports newer Node versions #10722untitledDocumentData for CustomDocumentOpenContext #10784Authentication API at [email protected] #10709disabled, isPreferred and documentation fields for code actions #10777vscode.CodeActionProvider.resolveCodeAction #10730 - Contributed on behalf of STMicroelectronicsvscode.window.createStatusBarItem #10754 - Contributed on behalf of STMicroelectronicsvscode.window.createTerminal API with VS Code #10683WebviewView API #10705Workspace Trust API #10473typescript to v4.5.5 #10355@theia/toolbar extension to contribute a global toolbar to the framework #10731recentworkspace.json format and entries #10711<a name="breaking_changes_1.23.0">Breaking Changes:</a>
attachReadyToShow, restoreMaximizedState, attachCloseListeners, handleStopRequest, checkSafeToStop, handleReload, reload from ElectronMainApplication into new class TheiaElectronWindow #10600attachGlobalShortcuts from ElectronMainApplication. Attaching shortcuts in that way interfered with internal shortcuts. Use internal keybindings instead of global shortcuts. #10704Event.maxListeners field; The feature still exists but please use Event.getMaxListeners(event) and Event.setMaxListeners(event, maxListeners) instead.open and save dialogs are now modal by default #10769PseudoTerminalOptions. ExternalTerminalOptions should be used from now on instead #10683 - Contributed on behalf of STMicroelectronicslogMeasurement of PluginDeployerImpl class and browser class HostedPluginSupport is replaced by measure using the new Stopwatch API #10407BackendApplication class no longer invokes the initialize method. Instead, the @postConstruct configure method now starts by calling initialize #10407ProblemWidgetFileNavigatorWidgetTerminalServerTimelineTreeWidgetTypeHierarchyTreeWidgetcolors with chalk #10612node-fetch from 2.6.6 to 2.6.7 #10670appearance sub-menu to view main-menu #10220keymaps.json #10613open folder #10357window.menuBarVisibility is set to compact #10626ApplicationShell#activateWidget #10570markdown-it dependency from 8.4.0 to 12.3.2 #10634editor layout sub-menu to view main-menu #1022015.3.5 #9936PluginContext.extension #10650PluginContext.logUri #10650vscode.debug.stopDebugging API #10638vscode.debug.startDebugging API to the latest version #10656joinPath on Windows #10434showOpenDialog fallback to use workspace root #10573AbstractResourcePreferenceProvider providers no longer maintain a reference to a MonacoTextModel.padding-left statement #10623onKey event #10617copy relative path #10674workbenchState context key #10550<a name="breaking_changes_1.22.0">Breaking Changes:</a>
ContextKeyService is now an interface. Extenders should extend ContextKeyServiceDummyImpl #10546MarkdownRenderer class #10589unfocusSearchFieldContainer, doUnfocusSearchFieldContainer() #10625Open Containing Folder command #10523PluginDeployerImpl now uses the UnresolvedPluginEntry: { id: string, type: PluginType } interface as parameter types for resolving plugins. Affected methods: deploy, deployMultipleEntries and resolvePlugins #10624ViewContextKeyService#with method removed. Use ContextKeyService#with instead. PluginViewWidget and PluginTreeWidget inject the ContextKeyService rather than ViewContextKeyService. #10546id and label from theia.Command #10512AbstractResourcePreferenceProvider#model, textModelService, workspace, messageService, acquireLocks, releaseLocks, readPreferences, singleChangeLock, transactionLock removed. AbstractResourcePreferenceProvider#handleDirtyEditor moved to PreferenceTransaction. AbstractResourcePreferenceProvider#getEditOperations moved to MonacoJSONCEditor. #10562