Skip to content

Releases: uiua-lang/uiua

Latest Build

18 Mar 19:15

Choose a tag to compare

Latest Build Pre-release
Pre-release

This release contains binaries for the latest main branch.

0.18.1

14 Feb 23:50

Choose a tag to compare

0.18.1 - 2026-02-14

Interpreter

  • Fix a crash in filled dyadic pervasives
  • Fix signature of &invk
  • Fix parsing of = followed by subscript
  • Fix some built-in macros not being experimental

0.18.0

05 Feb 17:55

Choose a tag to compare

0.18.0 - 2026-02-05

Language

  • Breaking Change - Subscripted range ⇡ now makes the range inclusive up to the maximum while still changing the start, rather than offsetting the entire range
    • This breaks all uses of subscripted range ⇡ other than ⇡₁
  • Stabilize data functions
  • Allow for multiple fill ⬚ values by returning multiple values from the fill function.
  • Add anti ⌝by ⊸ for dyadic functions
  • Add digit separators for number literals with ,. Ex: 123,456.078,9
  • Rename stack ? to args ?
  • Enable mutually recursive functions if one function is defined inside another
  • Make sided fill ⬚ work with stencil ⧈
  • Add sided subscripts for join ⊂, which joins with one side as the list
  • Add numeric subscripts for classify ⊛, which classifies all subrows of a given rank
  • Add numeric subscripts for table ⊛, which operates on all combinations of subrows of a given rank
  • Add sided subscripts for stencil ⧈ for simpler chunking
  • Add chained field accessors for data definitions
  • anti ⌝ keep ▽ now accepts non-boolean integers
  • parse ⋕ now ignores leading and trailing whitespace
  • Stabilize evert ⧋ modifier
  • Stabilize reciprocal ⨪ function
  • Add compress function to compress arrays of bytes
  • A function/constant and a module with the same name can now be in scope at the same time
  • Allow for private imports/exports from modules
  • Change reach ∪'s glyph
  • Change how sided reach ∪ works
  • Add shuf and shuffle aliases for un °sort ⍆
  • Remove the 2-character ASCII aliases for comparison functions in favor of 2-letter aliases
  • Add inc and dec aliases
  • Add bw alias for backward ˜
  • Add fla alias for deshape ♭, which is a prefix of flat
  • Add eps/epsilon alias for ε, for easy access to the machine epsilon
  • Stabilize un ° under ⍜
  • Add json for serializing to pretty JSON5
  • Add &camlist function to list available webcams
    • &camcap may now take a webcam name instead of an index
  • Add modifier version of gif, written as gif!
    • Operates similar to fold ∧
    • Encodes frames as they are generated
    • Good for when gif frames don't fit all at once in memory
  • Add experimental noise function, which generates random noise from a seed and coordinates
  • Add experimental &fetch function to easily fetch data from a url
  • Add experimental monadic and triadic backward ˜
  • Add experimental sided subscripts for under ⍜, which automatically dip ⊙ on net-positive second functions
  • Add experimental fold ∧ function packs, which allows a condition to be specified for early termination. You can read more here
  • Add mathematical constants φ (golden ratio) and γ (Euler-Mascheroni)
  • Add PlanetSymbols and ZodiacSymbols constants, symbolic versions of Planets and Zodiac
  • Add Elements and ElementSymbols constants listing the chemical elements
  • Change experimental subscripted transpose ⍉ to transpose the first N axes
  • Deprecate duplicate .
  • Deprecate flip :
  • Remove the previously deprecated signature promoting behavior of with ⤙ and off ⤚, allowing them to work on monadic functions
  • Remove previously deprecated progressive indexof ⊘ function
  • Remove previously deprecated tag function

Interpreter

  • Upgrade to Rust 2024 edition
  • Increase minimum Rust version to 1.88.0
  • Many bug/crash fixes
  • Compiled dependecies are now cached, increasing performance with large dependencies in the online pad and local LSP
  • Gifs now use Floyd-Steinberg dithering rather than color quantization
    • It's both faster and looks better
  • Add option to provide folder as test cases destination
  • Add an Amen audio constant
  • Add ogg support to audio
  • Optimize evert ⧋ on pervasives
  • Optimize °ₑ₂ and °ₑ₁₀ to be both faster and more correct
  • Optimize ˙×⌵ on complex numbers to not do a square root
  • Optimize ⊢⍆ and ⊣⍆ to be O(n)
  • Extend table ⊞ list optimizations to non-lists
  • Values generated on the same line in code will appear on the same line in output
  • Add -i/--stdin flag to uiua run and uiua eval to pipe stdin to the first argument in a program
  • Add - flag to uiua run to run stdin as a program
  • Add gh: prefix for import strings to shorten GitHub imports
  • Add support for multiline input in REPL by ending lines with a \
  • Change map empty and tombstone characters to U+2ffff and U+2fffe

Website

  • Reword all documentation and tutorials to no longer refer to a stack
    • Introduce argument manipulation modifiers earlier in the tutorial
  • Remove hidden cases from tutorial challenges
  • Pad links will automatically be compressed if it would be shorter
  • Add gray color option for pad

0.18.0-dev.4

27 Dec 20:16

Choose a tag to compare

0.18.0-dev.4 Pre-release
Pre-release

You can find the working changelog here.

0.18.0-dev.3

30 Nov 21:17
c62b65e

Choose a tag to compare

0.18.0-dev.3 Pre-release
Pre-release

You can find the working changelog here.

0.18.0-dev.2

04 Nov 03:51

Choose a tag to compare

0.18.0-dev.2 Pre-release
Pre-release

You can find the working changelog here.

0.18.0-dev.1

25 Oct 16:55

Choose a tag to compare

0.18.0-dev.1 Pre-release
Pre-release

You can find the working changelog here.

0.17.3

07 Oct 16:55

Choose a tag to compare

0.17.3 - 2025-10-07

Interpreter

0.17.2

02 Oct 18:10

Choose a tag to compare

0.17.2 - 2025-10-02

Interpreter

  • Fix a bug in /F⊞G
  • Fix a bug in function callability checking
  • Fix a bug in filled adjacent stencil ⧈
  • Fix a bug in filled scan \\

0.17.1

27 Sep 23:39

Choose a tag to compare

0.17.1 - 2025-09-27

Interpreter

  • Fix a bug in /◇⊂⍚
  • Fix a bug in repr