Releases: aya-lang/aya
v0.7.0
What's Changed
- Update "Publish Release" workflow to automatically bump patch version number by @nick-paul in #164
Full Changelog: v0.6.0...v0.7.0
v0.6.0
Language & Syntax
- Change dict syntax from
{, ...}to:{...}by @nick-paul in #124 - Improved type annotations, container types, and return types by @nick-paul in #153
- Block self reference by @nick-paul in #154
Features
- Dynamic Instruction Loading
- Allow adding instructions dynamically using Java SPI by @BlazingTwist in #111
- Load new operators at runtime by @nick-paul in #125
Tooling
- Improved Documentation Search
- AyaIDE: Persistent settings, redesigned Quick-Search, new search modes by @BlazingTwist in #145
- Command Line Interface
- Refactor command line arguments; add additional options by @nick-paul in #141
- Enable/Disable runtime type checks with CLI flag by @nick-paul in #152
- Linter
- Add
-cflag to only check a file for syntax errors but not run it by @nick-paul in #142
- Add
- Package Manager
- Package Manager &
importchanges by @nick-paul in #129 - Add package manager command line interface by @nick-paul in #156
- Package Manager &
API (Operators & Standard Library)
- Path ops: isdir and absolute by @nick-paul in #126
- Add operator for getting the path to the current file (M0) by @nick-paul in #127
- Add ascii_table to std/ for presenting 2D data as a table by @BlazingTwist in #134
- Add support for "subtables" in asciitable by @BlazingTwist in #135
- Allow
.Gto write single bytes and lists of bytes to files by @BlazingTwist in #144 - Golf : compress binary and ascii strings to fewer characters. by @BlazingTwist in #146
- Short circuit behavior for
&and|by @nick-paul in #149 - Add instruction to draw an image to the canvas by @nick-paul in #155
- Remove std/matrix by @nick-paul in #157
- [N>...] is the same as [N|...] (will remove [N|..] in future) by @nick-paul in #158
- Add (SSN) overload to .& operator for extracting regex group matches by @BlazingTwist in #159
- Make if/else :? return the entire stack, allow blocks as conditions by @BlazingTwist in #160
- Extend Filesystem Instructions by @BlazingTwist in #161
- Make :(json.loads) and :(json.dumps) support any value type by @BlazingTwist in #163
- Add Instructions for reading and writing XML by @BlazingTwist in #132
Fixes
- Don't truncate string values when converting dicts to strings by @nick-paul in #128
- Fix classloader and parser handling for libraries, add tests by @BlazingTwist in #130
- fix a regression when parsing Json with decimals by @BlazingTwist in #131
- Attempt to fix inconsistencies for non-basic Symbols by @BlazingTwist in #133
- Fix crash when attempting to load an empty file by @nick-paul in #140
- Update README.md to work with the current version of aya. by @BlazingTwist in #143
- Unicode surrogate fix2 by @BlazingTwist in #148
- Fix broken scope in match operator by @nick-paul in #150
- Fix editor window deadlock by @nick-paul in #151
- [web] Fix exception
[0] [] :Jin web version. Fix['a] ['b 2] :J. by @BlazingTwist in #138 - [web] Fix out of bounds index incorrectly returning NaN in web version by @nick-paul in #139
Full Changelog: v0.5.0...v0.6.0
v0.6.0-SNAPSHOT-b
What's Changed
- Update version to 0.6.0 snapshot by @nick-paul in #123
- Change dict syntax from
{, ...}to:{...}by @nick-paul in #124 - Load new operators at runtime by @nick-paul in #125
- Allow adding instructions dynamically using Java SPI by @BlazingTwist in #111
- Path ops: isdir and absolute by @nick-paul in #126
- Add operator for getting the path to the current file (M0) by @nick-paul in #127
- Don't truncate string values when converting dicts to strings by @nick-paul in #128
- Fix classloader and parser handling for libraries, add tests by @BlazingTwist in #130
- Package Manager &
importchanges by @nick-paul in #129 - fix a regression when parsing Json with decimals by @BlazingTwist in #131
- Add ascii_table to std/ for presenting 2D data as a table by @BlazingTwist in #134
- Attempt to fix inconsistencies for non-basic Symbols by @BlazingTwist in #133
- Add support for "subtables" in asciitable by @BlazingTwist in #135
- Fix exception
[0] [] :Jin web version. Fix['a] ['b 2] :J. by @BlazingTwist in #138 - Fix out of bounds index incorrectly returning NaN in web version by @nick-paul in #139
- Fix crash when attempting to load an empty file by @nick-paul in #140
- Refactor command line arguments; add additional options by @nick-paul in #141
- Add
-cflag to only check a file for syntax errors but not run it by @nick-paul in #142
Full Changelog: v0.5.0...v0.6.0-SNAPSHOT-b
v0.5.0
Syntax & Features
- Argument unpacking (#88)
- Multithreading (#92)
- Axis agnostic array broadcasting (#97)
- Refactor plotting, add many new chart types (#101)
- Refactor image, support many new image types (#107)
Operators
- .Z NEW, permutations (#90)
- :{fstream.readallbytes} NEW, read bytes from a file (#98)
- :{canvas.get_pixels} NEW, read canvas pixel data (#100)
- :{canvas.points} NEW, draw a batch of points
- .C now allows sorting with strings (#102)
Language Internals
- Improve tracebacks (#87)
- Refactor internal representation of blocks (#89)
- Refactor filesystem handling (#93)
- Optimizations for matrix multiplication and flatten (#99)
Fixes
- Fix docs for .& (#91)
- Fix NullPointerException when calling image.write (#95)
- Fix escape sequences failing on windows (#103)
- Fix file resolution on windows (#104)
- Bump json version (#113)
- Fix broadcast rules for numberlists (#117)
- Clean up standard library (#121)
Organization & Building
- Add maven build system (#106)
- Implement automation using github actions (#110) (note: still need to integrate auto releases)
- Add JavaScript runtime (#112)
- Add JS and desktop profiles (#120)
Full Changelog: v0.4.0...v0.5.0
v0.4.0
Focus of v0.4: Vectorization & Performance Improvements
Changes
- Generalized vectorization for n-dimensional lists (ex:
[[1 2][3 4]] 10 *is now valid) #78 - Added a few operators for working with multi-dim lists (
:Eshape,.Srotate, ..) #78 - Changed a handful of existing operators as several of them conflicted with new vectorization rules #78
- Remove
matrixfrom all examples asmatrixoperations can be done with built-in lists #78 - Vectorized operations for lists of doubles are much faster (still need proper metrics but some quick examples are on #79)
- Lists of plain doubles are rendered with a leading
dfor now, it will be removed before releasing 0.4
- Lists of plain doubles are rendered with a leading
- General performance optimizations #80
- Bug fixes (#86 #83)
v0.4.0-rc1
Focus of v0.4: Vectorization & Performance Improvements
Changes
- Generalized vectorization for n-dimensional lists (ex:
[[1 2][3 4]] 10 *is now valid) #78 - Added a few operators for working with multi-dim lists (
:Eshape,.Srotate, ..) #78 - Changed a handful of existing operators as several of them conflicted with new vectorization rules #78
- Remove
matrixfrom all examples asmatrixoperations can be done with built-in lists #78 - Vectorized operations for lists of doubles are much faster (still need proper metrics but some quick examples are on #79)
- Lists of plain doubles are rendered with a leading
dfor now, it will be removed before releasing 0.4
- Lists of plain doubles are rendered with a leading
- General performance optimizations #80
v0.3.3
v0.3.2
v0.3.1
v0.3.0
A significant number of changes have been made since the v0.2 release 4+ years ago. Please see the Tour of Aya page for a tour of the current state of the language.