Releases: SoFluffyOS/lumide_api
1.2.0
What's Changed
- 🔴 Add Debugging support APIs by @simonpham in #1
✨ This release introduces the first public Debug API for Lumide plugins, including host-controlled sessions, breakpoints, stack inspection, variable loading, and exception pause mode support.
New features
- Debug API — Added
context.debugfor starting, updating, and ending debug sessions from plugins. - Session State — Added
LumideDebugSession,LumideDebugSessionState, andLumideDebugCapabilitiesfor describing debugger state and supported actions. - Breakpoint Sync — Added
LumideDebugBreakpoint,updateBreakpoints, andonSetBreakpointsfor bidirectional breakpoint synchronization. - Stack / Scope / Variable Inspection — Added
LumideDebugStackFrame,LumideDebugScope,LumideDebugVariable,onGetStackFrames,onGetScopes, andonGetVariables. - Expression Evaluation — Added
LumideDebugEvaluationResultandonEvaluate. - Exception Filters — Added
LumideDebugExceptionPauseModeandonSetExceptionPauseMode. - Output Integration —
LumideDebugSession.outputChannelIdcan now bind a debug session to an existing output channel, so plugins can reuse one log stream in both Output and Debug surfaces. - Expandable Variables —
LumideDebugVariable.variablesReferenceandLumideDebugEvaluationResult.variablesReferencenow support lazy child-variable loading.
Full Changelog: 1.1.0...1.2.0
1.1.0
✨ This release introduces significant enhancements to the Languages API, including custom LSP requests and inline completion support, alongside new window and workspace capabilities.
New features
- Languages API — Support for registering inline completion providers via
languages.registerInlineCompletionProvider. - Custom LSP Requests — Added
languages.sendLspRequestto send non-standard JSON-RPC requests to active language servers. - Enhanced LSP Registration —
languages.registerLanguageServernow supports optionalicon,iconPath, and authentication callbacks (checkStatus,signIn,signOut). - Window API — Added
window.showDeviceAuthDialogto streamline OAuth and device-based authentication flows for plugins. - Workspace Configuration — Support for programmatically updating workspace settings via
workspace.updateConfiguration.
Full Changelog: 1.0.0...1.1.0
1.0.0
🦊 Initial stable release for lumide_api. The API is now mostly feature-complete for Language Server Protocol (LSP) integrations and core editor extensions.
New features
- Languages API — Added
languages.registerLanguageServerto register custom Language Server Protocol (LSP) providers for specific file extensions. - FileSystem API — Added
fs.downloadFileto download files natively from the IDE with built-in progress tracking and optional.tar.gz/.zipextraction.
Full Changelog: 0.9.0...1.0.0
0.9.0
New features
- Quick Pick Improvements —
QuickPickItemnow supports atooltipfield for rendering rich hover tooltips on individual options.
Full Changelog: 0.8.0...0.9.0
0.8.0
New features
- Workspace —
getRootUri()to get the workspace root path,findFiles(glob)to search files by glob pattern. - FileSystem —
isDirectory(path)to check if a path is a directory. - Editor —
getDocumentText(uri)to read open document content,openDocument(uri)to open files,revealRange()to navigate to a specific location. - Window —
showConfirmDialog(message)for OK/Cancel dialogs,titleparameter onshowMessage(). - Shell —
workingDirectoryparameter onrun()to execute commands in a specific directory.
Full Changelog: 0.7.1...0.8.0
0.7.1
Improvements
- Plugin lifecycle —
LumidePlugin.run()now guaranteesonDeactivate()is called even when the host IDE crashes or the stdio pipe breaks unexpectedly. This prevents orphaned child processes from plugins that spawn external processes.
Full Changelog: 0.7.0...0.7.1
0.7.0
New features
- Theming system — Support contributing color themes and icon themes via
contributes.themesandcontributes.iconThemesinplugin.yaml. - Manifest improvements — Added
copyWithtoLumideManifestfor easier state modification.
Full Changelog: 0.6.0...0.7.0
0.6.0
New features
- WebViews — Create and manage custom UI panels via
window.createWebviewPanel. - URL Opening — Open external URLs via
window.openUrl. - Output Control — Added
LumideOutputChannel.clear()to clear logs programmatically.
Full Changelog: 0.5.0...0.6.0
0.5.0
New features
- Activation Events —
LumideManifestnow supportsactivationEventsto control plugin loading (e.g.,onCommand,workspaceContains). - Quick Pick Icons —
QuickPickItemnow supportsiconPath(SVG/Image),enabledstate, andisSeparator. - Status Bar Icons —
LumideStatusBaritems now supporticonPathfor rendering SVGs. - Toolbar Icons —
LumideToolbaritems now supporticonPathfor rendering SVGs.
Full Changelog: 0.4.0...0.5.0
0.4.0
New features
- Structured Logging —
LumideOutputChannel.appendLogallows appending structured log records (LumideLogRecord) with levels, error details, and stack traces.
Full Changelog: 0.3.0...0.4.0