Skip to content

verso-v1.0.22

Choose a tag to compare

@github-actions github-actions released this 16 Jun 22:34
· 76 commits to main since this release

Release overhauling notebook keybindings with Jupyter-style command and edit modes, render-only cells (such as Markdown) that render when you leave edit mode, clearing outputs that preserves rendered cells, correct editor language for newly created cells, SQL Server batching that respects GO-delimited batches, per-cell and per-connection SQL command timeouts, smarter detection of mistyped SQL directives, normalized database table types, more robust Node.js discovery, a theme-aware error panel, and expanded documentation alongside new contributor guides.

Thanks to @fluentfoundation and @fiVISION for sponsoring and supporting this project.

Improved: Notebook Keybindings and Edit/Command Modes

  • Keybindings are now gated per editor, so Shift+Enter and Ctrl+Enter run the focused cell's editor instead of whichever cell was created last
  • Jupyter-style command-mode keys are supported: a inserts a cell above, b inserts a cell below, x deletes the selected cell, and dd deletes it as well
  • Command-mode keys stand down while a cell editor has focus, so typing a, b, x, or d edits code instead of mutating the notebook
  • Escape leaves edit mode and returns focus to the notebook, so command-mode keys work immediately afterward
  • Pressing Enter to start editing no longer leaks a newline into the editor

New: Render-Only Cells Render When You Leave Edit Mode

  • Render-only cells such as Markdown now render when you leave edit mode through Escape, editor blur, or keyboard navigation, matching Jupyter and Polyglot behavior
  • Code cells remain unexecuted when they lose focus, so only render-only cells update on blur
  • The cell preview is hidden while you are editing a render-only cell

Improved: Clearing Outputs Preserves Rendered Cells

  • Clear All Outputs no longer collapses rendered Markdown back to raw source; rendered cells stay rendered while code outputs are cleared, matching Jupyter and Polyglot semantics

Improved: Correct Language for New Cells

  • Newly created cells resolve their editor language from the registered cell type's kernel, for example SQL, and fall back to the notebook default for unknown types
  • This gives new cells the right syntax highlighting and editing behavior from the moment they are created

Improved: SQL Server Batching and Statement Splitting

  • SQL Server statements are split on GO-delimited batches rather than semicolons, so T-SQL variable scope is preserved
  • All result sets from a single command are displayed, so multiple SELECT statements each show their results
  • Records-affected is summarized only when a statement produces no result set, reducing noise

New: Per-Cell and Per-Connection SQL Command Timeouts

  • The #!sql-connect magic accepts a --command-timeout option to set a connection-wide default
  • A per-cell --timeout directive overrides the connection default, where 0 means no limit and an omitted value uses the provider default
  • The database connectivity guide documents the precedence and semantics

Improved: SQL Directive Diagnostics and Magic Handling

  • Directives mistyped with a space after the dashes, for example -- connection, are detected and a hint explains they were treated as a comment
  • Multiple suppressing magic commands in a single cell now all run, while trailing code is still prevented from executing

Improved: Database Table Type Normalization

  • INFORMATION_SCHEMA table types are normalized, for example BASE TABLE becomes TABLE, for consistent handling across database providers

Improved: Node.js Discovery

  • A VERSO_NODE_PATH environment override is honored when locating Node.js
  • Discovery enumerates candidates from the environment, PATH, and well-known locations instead of taking the first match, and avoids following shims whose target has a different name, improving reliability across version managers and environments

Improved: Theme-Aware Error Panel

  • The error panel uses VS Code theme variables for its colors so it matches light and dark themes, contributed by @marlonwq (#72)

Improved: Documentation and Contributor Guides

  • The README gains a Quick Start, a consolidated Features section, and a Command Line reference
  • A new CONTRIBUTING.md documents the contribution workflow and the Developer Certificate of Origin (DCO) sign-off, with example commands
  • A DCO check runs on pull requests to verify each commit is signed off