Changelog
Aqua compiler's versioning scheme is the following: 0.BREAKING.ENHANCING.RELEASE
0
shows that Aqua does not meet its vision yet, so syntax and semantics can change quicklyBREAKING
part is incremented for each breaking change when old.aqua
files need to be updated to compile with the new versionENHANCING
part is incremented for every syntax additionRELEASE
is the release number, shows internal compiler changes, bugfixes that keep the language untouched
0.7.5 – August 22, 2022
added AIR validation on Aqua compilation
Aqua parser will throw an error on negative array indexes
plugins feature added. Read here for more details
improvements in
go-to definition
feature in VSCodea lot of bugs fixed
0.7.4 – June 24, 2022
Use JSON for arguments in
aqua run
without extra brackets for optional fields (#517)
0.7.3 – June 10, 2022
0.7.2 – April 26, 2022
FluenceJS was updated to 0.23.0 (#503)
aqua run
functions can now handle arrays as arguments (#497)aqua run
will match JSON arguments with given types (#492)aqua fully supports mathematical expressions (#476)
A lot of help and error messages were rewritten (#494)
0.7.1 – March 25, 2022
Now Aqua supports arithmetic operators (e.g.
1 + x
), arrow calls in any place (e.g.for x <- foo(3 + bar()) par
...) and simple comparison (e.g.if a > 3
) (#461 -> #410)
0.7.0 – March 22, 2022
Update FluenceJS to 0.21.5 (#456)
Switching to v3 FluenceJS API. Improves JS support for optional Aqua types (#453)
Add message when function not found (#454)
0.6.4 – March 15, 2022
0.6.3 – March 4, 2022
Added collections creation syntax (#445)
0.6.2 – February 24, 2022
Added top and bottom types to the parser – will be used for debugging functions (#442)
Schedule scripts using Aqua CLI (#440)
Better timeouts handling for CLI (#437)
0.6.1 – February 16, 2022
aqua dist remove
to remove a deployed service (#428)aqua env
to show a list of known Fluence peers (#434)Dependencies updated (#430)
0.6.0 – February 4, 2022
Big internal refactoring for better testability & inline syntax additions (#403) – breaks backward compatibility due to breaking change in Fluence-JS
Join expression was changed to generate
noop
(#406)Now can use default imports for
aqua
compile just like inaqua run
(#400)Added helper for
aqua run
development process (#407)
0.5.3 – January 13, 2022
New expression: explicit
join
to wait for results computed in parallel branches (#402)New syntax to access a collection element by index:
array[5]
. With this syntax, non-literal indices are allowed, likearray[conf.length]
(#401)Refactoring of the compiler's internals: introducing
raw
model for values (#398)
0.5.2 – December 24, 2021
Topology transformations were completely rewritten: the same Aqua scripts may produce different AIR, probably more efficient, but new bugs might be introduced as well (#371)
CLI: as an effort to move all the Fluence services management routines to Aqua, uploading files to Fluence's companion IPFS is now available via Aqua CLI (#390)
CLI: bugfixes (#388)
0.5.1 – December 10, 2021
CLI: Support for secret key in
aqua run
(#375)CLI: Add log level, print generated AIR (#368)
Improved topology calculation in
par
blocks (#369)JAR file is not pushed to releases anymore. JS is the sole compilation target now
CLI: path to @fluencelabs/aqua-lib is provided as an imports folder by default.
import "@fluencelabs/aqua-lib/builtin.aqua"
should always work now, even outside of an NPM project (#384)CLI: Pass arguments to
aqua run
as JSON via--data
or--data-path
flag (#386)
0.5.0 – November 24, 2021
Breaking semantic change: Stream restrictions. This fixes many obscure bugs which happened when using streams inside
for
cycles (#321)This version of Aqua is not compatible with
fldist
so far (cannot run the emittedAIR
viafldist
). Useaqua run
to run Aqua instead (#358)Added timeout parameter support for
aqua run
(#360)You need to update FluenceJS to 0.15.0+ and Fluence Node to v0.0.23+ for Aqua 0.5 support, previous versions will not work.
0.4.1 – November 10, 2021
New CLI option
--scheduled
to compile Aqua for the Fluence's Script Storage (#355)Bugfixes for using streams to construct more complex streams (#277)
Bugfix for comparing Option types (#343)
0.4.0 – October 25, 2021
Now Aqua compiler emits JS/TS code for Fluence JS 0.14. The new JS/TS SDK is heavily rewritten to support async service functions declaration. It also embeds a deeply refactored AquaVM. (#334)
0.3.2 – October 13, 2021
Experimental feature: now can run Aqua from Aqua CLI (#324):
0.3.1 – September 13, 2021
Now
.aqua
extension in imports is optional: you mayimport "file.aqua"
or justimport "file"
with the same effect (#292)
0.3.0 – September 8, 2021
TypeScript output of the compiler now targets a completely rewritten TypeScript SDK (#251)
Constants are now
UPPER_CASED
, including always-availableHOST_PEER_ID
andINIT_PEER_ID
(#260)The compiler is now distributed as @fluencelabs/aqua package (was
aqua-cli
) (#278)aqua
is the name of the compiler CLI command now (wasaqua-cli
) (#278)JVM version of the compiler is now available with
aqua-j
command; JS build is called by default – so no more need to have JVM installed (#278)Now you can have a file that contains only a header with imports, uses, declares, and exports, and no new definitions (#274)
0.2.1 – August 31, 2021
Javascript build of the compiler is now distributed via NPM: to run without Java, use
aqua-js
command (#256)Now dots are allowed in the module declarations:
module Space.Module
& many bugfixes (#258)
0.2.0 – August 27, 2021
Now the compiler emits AIR with the new
(ap
instruction, hence it's not backwards compatible (#241)
0.1.14 – August 20, 2021
Aqua file header changes:
module
,declares
,use
,export
expressions (#245), see Imports and Exports for the docs.Experimental Scala.js build of the compiler (#247)
0.1.13 – August 10, 2021
Functions can export (return) several values, see #229
0.1.12 – August 4, 2021
Can have functions consisting of a return operand only, returning a literal or an argument
0.1.11 – August 3, 2021
Added
host_peer_id
, a predefined constant that points on the relay if Aqua compilation is configured so, and on%init_peer_id%
otherwise, see #218.
0.1.10 – July 26, 2021
Last updated
Was this helpful?