verso-v1.0.0
·
283 commits
to main
since this release
The first public release of Verso — an open-source, extensible interactive notebook platform for .NET.
Core Engine
- Headless notebook engine with no UI dependencies
- C# kernel powered by Roslyn with IntelliSense, diagnostics, hover info, and NuGet references
- Execution pipeline with persistent state across cells and a thread-safe variable store
- Magic commands: #!time, #!nuget, #!restart, #!about, #!import
- .verso native file format (JSON, diff-friendly) and .ipynb import (nbformat v4+)
- Ten extension interfaces — every built-in feature is an extension on the same public API
Verso.FSharp
- F# Interactive kernel powered by FSharp.Compiler.Service
- IntelliSense, diagnostics, hover info, and NuGet/script directive support
- Rich data formatting for discriminated unions, records, options, results, maps, sets, tuples, and collections
- Bidirectional variable sharing between F# and other kernels
- Polyglot Notebooks F# import
Verso.Ado
- Provider-agnostic SQL database connectivity via ADO.NET
- SQL kernel with IntelliSense,
@parameterbinding, GO batch separators, and paginated result tables - Connection management, schema inspection, CSV/JSON export, and EF Core scaffolding
- Polyglot Notebooks SQL import
Front-Ends
- VS Code extension with native notebook API and embedded Blazor WebAssembly editor
- Standalone Blazor Server web application
- Shared Razor component library powering both hosts
Theming and Layouts
- Three built-in themes: Light, Dark, and High Contrast (WCAG 2.1 AA)
- Two layout engines: Notebook (linear) and Dashboard (12-column CSS grid)
Extension Authoring
- Verso.Abstractions — pure interfaces package for extension authors
- Verso.Testing — test stubs and fakes for unit testing extensions
- Verso.Templates — dotnet new verso-extension project template
- Documentation guides for extensions, themes, layouts, and testing
CI/CD
- Cross-platform CI (Ubuntu, Windows, macOS) with code coverage reporting
- Automated NuGet publishing and GitHub Release creation on tag push