Skip to content

Releases: SoFluffyOS/lumide_api

1.0.0

06 Mar 08:13
7818d86

Choose a tag to compare

🦊 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.registerLanguageServer to register custom Language Server Protocol (LSP) providers for specific file extensions.
  • FileSystem API — Added fs.downloadFile to download files natively from the IDE with built-in progress tracking and optional .tar.gz/.zip extraction.

Full Changelog: 0.9.0...1.0.0

0.9.0

28 Feb 06:46
920ec13

Choose a tag to compare

New features

  • Quick Pick ImprovementsQuickPickItem now supports a tooltip field for rendering rich hover tooltips on individual options.

Full Changelog: 0.8.0...0.9.0

0.8.0

28 Feb 06:45
b1b32b6

Choose a tag to compare

New features

  • WorkspacegetRootUri() to get the workspace root path, findFiles(glob) to search files by glob pattern.
  • FileSystemisDirectory(path) to check if a path is a directory.
  • EditorgetDocumentText(uri) to read open document content, openDocument(uri) to open files, revealRange() to navigate to a specific location.
  • WindowshowConfirmDialog(message) for OK/Cancel dialogs, title parameter on showMessage().
  • ShellworkingDirectory parameter on run() to execute commands in a specific directory.

Full Changelog: 0.7.1...0.8.0

0.7.1

28 Feb 02:56
899a355

Choose a tag to compare

Improvements

  • Plugin lifecycleLumidePlugin.run() now guarantees onDeactivate() 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

19 Feb 13:07
03b3b4e

Choose a tag to compare

New features

  • Theming system — Support contributing color themes and icon themes via contributes.themes and contributes.iconThemes in plugin.yaml.
  • Manifest improvements — Added copyWith to LumideManifest for easier state modification.

Full Changelog: 0.6.0...0.7.0

0.6.0

19 Feb 13:06
b76cf10

Choose a tag to compare

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

12 Feb 17:45
b59ccc7

Choose a tag to compare

New features

  • Activation EventsLumideManifest now supports activationEvents to control plugin loading (e.g., onCommand, workspaceContains).
  • Quick Pick IconsQuickPickItem now supports iconPath (SVG/Image), enabled state, and isSeparator.
  • Status Bar IconsLumideStatusBar items now support iconPath for rendering SVGs.
  • Toolbar IconsLumideToolbar items now support iconPath for rendering SVGs.

Full Changelog: 0.4.0...0.5.0

0.4.0

12 Feb 08:07
1ec60fa

Choose a tag to compare

New features

  • Structured LoggingLumideOutputChannel.appendLog allows appending structured log records (LumideLogRecord) with levels, error details, and stack traces.

Full Changelog: 0.3.0...0.4.0

0.3.0

12 Feb 08:01
159ca0e

Choose a tag to compare

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 APIgetSelectedText and replaceSelection for easier text manipulation.
  • Quick Pick ImprovementsshowQuickPick now supports rich QuickPickItem objects with descriptions, details, and icons.
  • Window PositioningshowQuickPick accepts an optional anchor position.

Breaking changes

  • Commands APILumideCommands.registerCommand callback now accepts an optional Map<String, dynamic>? args parameter. Existing callbacks must be updated.

Full Changelog: 0.2.0...0.3.0

0.2.0+1

11 Feb 05:49

Choose a tag to compare

New features

  • Commands API — Register commands for the Command Palette via LumideCommands.registerCommand().
  • Keybindings — Declare keybindings in plugin.yaml under contributes.keybindings.
  • Status Bar API — Create, update, show/hide, and dispose status bar items via LumideStatusBar.
  • Editor eventseditor.onDidChangeSelections and editor.onDidChangeActiveDocument push selection and focus changes to plugins.
  • Workspace eventsworkspace.onDidSaveTextDocument notifies when a document is saved.

Breaking changes

  • workspace/onDidChangeConfiguration is 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