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.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 10d ago