Skip to content

verso-v1.0.21

Choose a tag to compare

@github-actions github-actions released this 07 Jun 18:22
· 89 commits to main since this release

Release adding a "New Notebook" command so you can start a Verso scratchpad from the command palette without first creating a file on disk, much smarter SQL parameter handling that stops flagging false positives and now understands Oracle's :name bind syntax, better Jupyter and Polyglot import that brings per-cell SQL kernels and connection setup across cleanly, automatic Oracle provider resolution where the package and assembly names differ, import that now runs every code-bearing cell type rather than only plain code, and a new Mermaid diagrams guide.

Thanks to @fluentfoundation for sponsoring and supporting this project.

New: "New Notebook" Command and Scratch Notebooks

  • A Verso: New Notebook command palette entry opens a blank notebook instantly, without first creating and saving a .verso file in a folder
  • New notebooks are backed by a temporary scratch file so they behave like an untitled document; the first save prompts for a real location and the editor rebinds to the kept file
  • If a scratch notebook is closed without keeping it, its temporary file is cleaned up; choosing "Don't Save" on an edited scratch also removes it
  • Save and Save As always write to the location you choose rather than silently leaving the notebook in the temp directory

Improved: SQL Parameter Detection

  • Parameter detection was rewritten as a single-pass scanner that ignores anything inside comments and string literals, so those no longer produce spurious binding warnings
  • A local-scope analyzer recognizes parameters that are declared locally (for example via DECLARE) and excludes them from "unresolved parameter" warnings
  • Locally declared variables no longer spill across statement boundaries when a semicolon is omitted, so kernel and @@global references in a following statement are not mistaken for locals
  • Comprehensive unit tests cover the dialect resolver, scanner, local-scope analyzer, and the kernel's diagnostics and execution paths

New: Oracle and Dialect-Specific Parameter Syntax

  • SQL parameter handling is now dialect-aware: Oracle uses the :name bind prefix while other providers continue to use @name
  • Non-bind uses of a colon are correctly ignored, including := assignment, positional binds like :1, the :: cast operator, and trigger pseudo-records such as :new and :old
  • Oracle named binds are enabled automatically so :name parameters resolve correctly at execution time
  • Diagnostics, parameter names, and warnings all use the active dialect's prefix; documentation and tests were expanded to cover Oracle and other dialect edge cases

Improved: Jupyter and Polyglot SQL Import

  • Importing a Jupyter or Polyglot notebook now reads each cell's kernel, so per-cell languages are resolved correctly instead of assuming a single notebook-wide language
  • Polyglot SQL cells are converted to native Verso SQL cells, and #!connect lines are translated into #!sql-connect (including --create-dbcontext handling)
  • Polyglot #r "nuget:" provider references are rewritten to the matching ADO provider packages and de-duplicated so a connection's provider is added only once
  • CLI conversions now run the same import transforms as the editor, so verso convert produces the same result

Improved: Automatic Oracle Provider Resolution

  • Provider invariant names are now mapped to their NuGet package id and assembly name for cases where the two differ, most notably Oracle
  • Provider DLLs are located by assembly name while the NuGet resolver is invoked with the package id, so connecting to Oracle works without manual package wrangling
  • The database connectivity guide explains the package and assembly differences and the automatic resolution

Improved: Import Executes All Code-Bearing Cells

  • Importing a notebook now runs every cell that carries source (anything other than markdown or raw), so SQL, Python, and other non-code cells execute on import with their language preserved
  • The import summary reports the number of executed cells

New: Mermaid Diagrams Guide

  • A new guide documents native Mermaid cell support: creating Mermaid cells, the supported diagram types, @variable substitution, and theming options, including following the active Verso theme
  • The README links to the guide from the Rich Content Cells section