Releases: uiua-lang/uiua
Releases · uiua-lang/uiua
Latest Build
This release contains binaries for the latest main branch.
0.18.1
0.18.0
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⇡₁
- This breaks all uses of subscripted
- 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 ?toargs ? - Enable mutually recursive functions if one function is defined inside another
- Make sided
fill ⬚work withstencil ⧈ - 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 integersparse ⋕now ignores leading and trailing whitespace- Stabilize
evert ⧋modifier - Stabilize
reciprocal ⨪function - Add
compressfunction 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
shufandshufflealiases forun °sort ⍆ - Remove the 2-character ASCII aliases for comparison functions in favor of 2-letter aliases
- These symbolic aliases created conflicts with other language syntax
!=fornot equals ≠is nowne<=forless or equal ≤is nowle>=forgreater or equal ≥is nowge
- Add
incanddecaliases - Add
bwalias forbackward ˜ - Add
flaalias fordeshape ♭, which is a prefix offlat - Add
eps/epsilonalias forε, for easy access to the machine epsilon - Stabilize
un °under ⍜ - Add
json₅for serializing to pretty JSON5 - Add
&camlistfunction to list available webcams&camcapmay now take a webcam name instead of an index
- Add modifier version of
gif, written asgif!- Operates similar to
fold ∧ - Encodes frames as they are generated
- Good for when gif frames don't fit all at once in memory
- Operates similar to
- Add experimental
noisefunction, which generates random noise from a seed and coordinates - Add experimental
&fetchfunction to easily fetch data from a url - Add experimental monadic and triadic
backward ˜ - Add experimental sided subscripts for
under ⍜, which automaticallydip ⊙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
PlanetSymbolsandZodiacSymbolsconstants, symbolic versions ofPlanetsandZodiac - Add
ElementsandElementSymbolsconstants 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 ⤙andoff ⤚, allowing them to work on monadic functions - Remove previously deprecated
progressive indexof ⊘function - Remove previously deprecated
tagfunction
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
Amenaudio constant - Add
oggsupport toaudio - 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/--stdinflag touiua runanduiua evalto pipe stdin to the first argument in a program - Add
-flag touiua runto 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
You can find the working changelog here.
0.18.0-dev.3
You can find the working changelog here.
0.18.0-dev.2
You can find the working changelog here.
0.18.0-dev.1
You can find the working changelog here.