Releases: SoFluffyOS/lumide_api
Releases · SoFluffyOS/lumide_api
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
0.3.0
New features
- Toolbar API — Register items in the top toolbar via
LumideToolbar. Supports icons, tooltips, alignment, and priority. - Terminal API — Create, control, and interact with integrated terminals via
LumideTerminal. - Output API — Create and write to output channels via
LumideOutputChannel. - Editor Selection API —
getSelectedTextandreplaceSelectionfor easier text manipulation. - Quick Pick Improvements —
showQuickPicknow supports richQuickPickItemobjects with descriptions, details, and icons. - Window Positioning —
showQuickPickaccepts an optional anchor position.
Breaking changes
- Commands API —
LumideCommands.registerCommandcallback now accepts an optionalMap<String, dynamic>? argsparameter. Existing callbacks must be updated.
Full Changelog: 0.2.0...0.3.0
0.2.0+1
New features
- Commands API — Register commands for the Command Palette via
LumideCommands.registerCommand(). - Keybindings — Declare keybindings in
plugin.yamlundercontributes.keybindings. - Status Bar API — Create, update, show/hide, and dispose status bar items via
LumideStatusBar. - Editor events —
editor.onDidChangeSelectionsandeditor.onDidChangeActiveDocumentpush selection and focus changes to plugins. - Workspace events —
workspace.onDidSaveTextDocumentnotifies when a document is saved.
Breaking changes
workspace/onDidChangeConfigurationis now a host-to-plugin method (was previously plugin-to-IDE). Plugins receive configuration updates passively instead of polling.
Full Changelog: 0.1.0...0.2.0+1