Published July 27, 2023

@quri/squiggle-lang (opens in a new tab)

Breaking changes

  • SampleSet distributions are now used as the default.
    • This change is important because only SampleSet distributions handle correlations, and users expecting correlations got confused when the defaults were for symbolic distributions instead. If you want to use symbolic formats, you can, like: Sym.normal(5,2).
  • a to b expressions always evaluate to lognormal distributions, limited to positive-only arguments.
  • |> pipes syntax is removed, in favor of the -> syntax.
    • We had two syntaxes that did the same thing, and wanted to clean this up.
  • # comments support is removed, in favor of the // syntax.
  • Renamed functions such as scaleLog, scalePow, etc. to Danger.mapYLog, Danger.mapYPow, etc.
    • These were infrequently used and prone to errors.
  • Default sampleCount in squiggle-lang is now 1k, matching playground.

New features


  • Exponentiation is right-associative
  • Units are whitelisted; 100blah is a syntax error
  • Fixed error message when ternary condition is wrong

Performance improvements

  • ~2x speedup on synthetic lambda-heavy benchmarks; similar improvements on real code, on average

@quri/squiggle-components (opens in a new tab)

Breaking changes

  • Many @quri/squiggle-lang APIs have changed, so this package should be updated at the same time as @quri/squiggle-components
  • "Input variables" tab was removed; you can inject your JSON data directly into Squiggle instead

New features

  • Movable divider between editor and graph view
  • Support for new plots: Plot.scatter, Table.make and others
  • New default tick format. This fixes an error that small numbers (0.01) were shown as 10m; #2007.
  • Ability to "zoom in" on any variable in viewer; #1913
  • "Find in editor" button in viewer
  • Other various updates to the playground UI


  • Display Infinity as "Infinity"
  • Fix shortcut tooltips on non-macs
  • Charts filter out infinity values from the domain
  • Improve tooltip for errors in editor

VS Code extension (opens in a new tab)

  • Improvements to syntax highlighter

@quri/prettier-plugin-squiggle (opens in a new tab)

Initial release. Install this package to format any Squiggle code with Requires Prettier v3.


Initial release with common UI components by QURI, used in squiggle-components and Squiggle Hub. Storybook (opens in a new tab)

You probably shouldn't use this package directly if you don't work at QURI, because we don't have any stability guarantees and optimize for our convenience.