# Changelog

## 0.6.0

- Language reimplemented in Typescript instead of Rescript.
- 2x performance boost on average on typical Squiggle code. Most improvements come from optimizations in distribution operations.
- Color fixes and improved distribution charts in components.
`mean()`

on mixed pointsets now works correctly.

## 0.5.1

- Error locations and stacktraces.
- New functions:
`List.length`

,`Dist.set`

and`Dist.map`

. - Improved
`to`

precedence order. - Improvements to
`->`

operator: more stuff can be passed on the right side, e.g. anonymous functions. - Support for empty records (
`{}`

). - Various performance improvements; overall speedup on real code is around 5%.

## 0.5.0

- Performance improvements:
- Interpreter is now 5x-20x faster on code written in Squiggle
- SampleSet to PointSet conversions are 2x faster
- cdf function on SampleSets is 30x faster
- overall speedup is about 2x on average on real code written in Squiggle

- 50% smaller bundle size for @quri/squiggle-lang; 20% smaller bundle size for @quri/squiggle-components.

### Breaking changes

Some rarely used math functions got removed or moved to the `Math`

namespace.

For example, `cos(x)`

is now `Math.cos(x)`

, and `atanh(x)`

doesn't exist.

If your code is now failing with `<function> is not defined`

for anything from this list, try adding `Math.`

prefix first, and then complain on Github issues.