mirror of
https://github.com/fluencelabs/aqua-book
synced 2024-12-04 23:30:18 +00:00
7.7 KiB
7.7 KiB
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.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 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
- 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)
- Various bugfixes for AIR generation and the compiler behavior (#328, #335, #336, #338)
0.3.2 – October 13, 2021
- Experimental feature: now can run Aqua from Aqua CLI (#324):
aqua run -i aqua/caller.aqua -f "callFunc(\"arg1\",\"arg2\")"
- Many performance-related updates, compiler now runs faster (#308, #324)
- UX improvements for CLI and JS/TS backend (#307, #313, #303, #305, #301, #302)
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) - 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-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) - 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.