UNSeQueL
Home / Documentation / Roadmap

Roadmap

Priorities come from dogfooding the five real queries and from keeping the supported subset honest. The full lists live in the repository backlogs; this page is the summary.

Compiler — next up

PriorityItemWhy
P1Window frame clauses (rows between ...)Running totals and moving averages currently need the sql hatch.
P1More aggregate functions (MEDIAN, STDDEV, STRING_AGG)Common analyst functions outside the core five.
P1Date literals and temporal type checksDate comparisons are string literals against inferred columns today.
P2Extension polish and Marketplace publishCurrently installed from a VSIX; Marketplace needs a publisher account.
P2Standalone binariesA single unsequel executable so users need neither Node nor npm.
P2Per-source delimiter settings and --data globsThe delimiter flag applies to every CSV in one command.

Deferred and out of scope

  • Second SQL target (e.g. PostgreSQL): deferred until external feedback confirms warehouse portability is a core requirement. DuckDB remains the locked first target.
  • DDL/DML (CREATE, INSERT, UPDATE, DELETE), recursive queries, user-defined functions, and streaming execution are intentionally out of scope.
  • Scalar subqueries inside expressions: use with definitions or the sql hatch instead.

Prototype

  • Native window syntax for the ordered .usql surface (today the SQL hatch covers it).
  • Stage-located runtime errors for the memory engine (parse and schema errors already point at stage and line).
  • Resolve remaining cross-engine policy differences: division by zero and normalized float rendering.

Recently shipped

  • Grammar v1.5: with definitions, subquery sources, set operators, write statements, scientific-notation literals, and CAST type parameters.
  • Grammar v1.2: composable stages, right/full/cross joins, backtick identifiers, select *, name = expr, over (), strftime/date_trunc, and sort order that survives later stages.
  • Whole-column CSV inference with --delimiter and --column-type; strict ambiguous-column errors; the VS Code extension; a REPL and self-contained query files.

How to influence it

Open a thread in Discussions with the query you wanted to write and what happened instead. Feedback on the guided first task in compiler/docs/first-task.md is especially useful, and the issue templates exist for concrete bugs and feature requests.