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 quickly
  • BREAKING part is incremented for each breaking change when old .aqua files need to be updated to compile with the new version
  • ENHANCING part is incremented for every syntax addition
  • RELEASE is the release number, shows internal compiler changes, bugfixes that keep the language untouched

​0.7.2 – April 26, 2022

  • FluenceJS was updated to 0.23.0 (#503)
  • noXor, noRelay, const and verbose options in aqua run (#473 #475)
  • 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)
  • A lot of bug fixes: (#499 #463 #85 #166 #435 #460 #473 #478 #385)

​0.7.1 – March 25, 2022

​0.7.0 – March 22, 2022

  • Moving all features from deprecated fldist to aqua. All interactions with peers moved to aqua remote subcommand. Descriptions of all commands can be found in Aqua book (#457)
  • 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

​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 deploy to deploy a service to the Fluence network (#413, #419, #422, #431)
  • aqua dist remove to remove a deployed service (#428)
  • aqua env to show a list of known Fluence peers (#434)
  • Many, many bugfixes (#414, #415, #420, #426, #427)
  • 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 in aqua run (#400)
  • Added helper for aqua run development process (#407)
  • Various bugfixes (#412, #405, #397)

​0.5.3 – January 13, 2022

​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/builtins" 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 emitted AIR via fldist). Use aqua 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 language feature: closures (#327)
  • New CLI option --scheduled to compile Aqua for the Fluence's Script Storage (#355)
  • Bugfixes for using streams to construct more complex streams (#277)
  • Better errors rendering (#322, #337)
  • Bugfix for comparing Option types (#343)

​0.4.0 – October 25, 2021

​0.3.2 – October 13, 2021

  • Experimental feature: now can run Aqua from Aqua CLI (#324):
1
aqua run -i aqua/caller.aqua -f "callFunc(\"arg1\",\"arg2\")"
Copied!

​0.3.1 – September 13, 2021

  • Now .aqua extension in imports is optional: you may import "file.aqua" or just import "file" with the same effect (#292)
  • CLI improvements: --dry run (#290), output directory is created if not present (#287)
  • Many bugfixes: for imports (#289), TypeScript backend (#285, #294, #298), and language semantics (#275).

​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-available HOST_PEER_ID and INIT_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 (was aqua-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)
  • Many performance optimizations and bugfixes (#255, #254, #252, #249)

​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​
  • Internal changes: migrate to Scala3 (#228), added Product type (#168)

​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

  • Added <<- operator to push a value into a stream, see #214, #209.
​
Last modified 22d ago