Announcing Aqua 0.5.0. This release fixes the issue with using streams within
This is a breaking change: Aqua 0.5 targets the latest AquaVM bundled within FluenceJS 0.15.0+ and Fluence Node v0.0.23+.
With Aqua 0.5, we expect no more critical bugs in the compiler. So if you find any, please assume that it is unknown and file an issue.
for loops. Now streams are restricted to the scope of the iteration or of a function, which is much more intuitive. See the documentation updates here.This is a breaking change: Aqua 0.5 targets the latest AquaVM bundled within FluenceJS 0.15.0+ and Fluence Node v0.0.23+.
fldist does not support the new AIR scripts at the moment, so please use aqua --run to run Aqua from CLI.With Aqua 0.5, we expect no more critical bugs in the compiler. So if you find any, please assume that it is unknown and file an issue.
Added
It enables the timeout pattern between parallel execution branches: wait for some code to be executed, or do a failover if it does not respond in time. See Timeout pattern in the Aqua Book for the usage example.
Peer.timeout(delay_ms: u32, message: string): string function to the Fluence Peer's builtins, available in @fluencelabs/aqua-lib v0.2.1.It enables the timeout pattern between parallel execution branches: wait for some code to be executed, or do a failover if it does not respond in time. See Timeout pattern in the Aqua Book for the usage example.
GitHub
Release aqua-lib v0.2.1 · fluencelabs/aqua-lib
Changes since v0.2.0
#16 Peer.timeout: make message non-optional
#15 Add Peer.timeout
NPM package
v0.2.1 @ NPM registry
#16 Peer.timeout: make message non-optional
#15 Add Peer.timeout
NPM package
v0.2.1 @ NPM registry
🔔Developer community call, today, in 15 min, 17.00 CET/10 am CT
Jump in/out anytime
Agenda:
- Updates from the core team
- Demo by community members
- Q&A, open discussions
- Lecture: JS SDK, Fluence for JS developers
👉Join via link https://us06web.zoom.us/meeting/register/tZYtdeytqjwtHNPupTLlURpqIqpKzCeCImJM
Add event in your calendar
Jump in/out anytime
Agenda:
- Updates from the core team
- Demo by community members
- Q&A, open discussions
- Lecture: JS SDK, Fluence for JS developers
👉Join via link https://us06web.zoom.us/meeting/register/tZYtdeytqjwtHNPupTLlURpqIqpKzCeCImJM
Add event in your calendar
The new minor release of fluence-js has arrived: 0.15.1
It fixes the bug in service registration functions when the service is implemented as a class.
Now the correct class context is preserved when storing such implementations. Also includes minor bug fixes.
Please, refer to the changelog for more info.
It fixes the bug in service registration functions when the service is implemented as a class.
Now the correct class context is preserved when storing such implementations. Also includes minor bug fixes.
Please, refer to the changelog for more info.
The last developer community call of the year is tomorrow, Dec 16, 17.00 CET / 10 am CT
- Fluence tech AMA
- Yearly tech recap
- Nodes architecture talk
Add to calendar
Join the call
- Fluence tech AMA
- Yearly tech recap
- Nodes architecture talk
Add to calendar
Join the call
Zoom Video
Join our Cloud HD Video Meeting
Zoom is the leader in modern enterprise video communications, with an easy, reliable cloud platform for video and audio conferencing, chat, and webinars across mobile, desktop, and room systems. Zoom Rooms is the original software-based conference room solution…
Announcing Aqua 0.5.1. This release adds a lot of features into aqua run command. Now you can pass any arguments as JSON, change log level, print generated air code, etc. Also you can create and pass your secret key. All features you can see in aqua run --help or in new documentation for CLI.
For the more detailed update, refer to the changelog.
For the more detailed update, refer to the changelog.
Just released the new Aqua 0.5.2. This version contains one new feature: CLI command to upload files to Fluence Peer's companion IPFS, as a part of the effort to sunset fldist and move its logic into Aqua CLI.
Another big change is done under the hood: topology reasoning and transform was completely rewritten, eliminating all the known topology-related issues.
Another big change is done under the hood: topology reasoning and transform was completely rewritten, eliminating all the known topology-related issues.
We are proud to announce a holidays present for all Fluence JS users.
Starting from version 0.17.1 all particles are being processed in background thread by default. It gives a massive performance boost especially in applications with lots of aqua code. This is achieved by using AVM runner instead of embedded AVM Interpreter.
The latest version of the package is 0.18.0. It contains the most up to date AquaVM. Please use this one when you upgrade.
Important note: using Fluence JS in browsers now requires additional configuration. See documentation for info.
You can find the full Fluence JS changelog here: https://doc.fluence.dev/docs/fluence-js/changelog
Starting from version 0.17.1 all particles are being processed in background thread by default. It gives a massive performance boost especially in applications with lots of aqua code. This is achieved by using AVM runner instead of embedded AVM Interpreter.
The latest version of the package is 0.18.0. It contains the most up to date AquaVM. Please use this one when you upgrade.
Important note: using Fluence JS in browsers now requires additional configuration. See documentation for info.
You can find the full Fluence JS changelog here: https://doc.fluence.dev/docs/fluence-js/changelog
GitHub
GitHub - fluencelabs/avm-runner-background
Contribute to fluencelabs/avm-runner-background development by creating an account on GitHub.
🎉3
Introducing Aqua 0.5.3. In this version we enrich the language with an explicit
-- now stream contains at least n+1 elements
Follow the links in the changelog to find out the details.
join expression, and access to collection elements using non-literal indices:func collectResponding(peers: []string, n: i16) -> []string:
stream: *string
for p <- peers par:
on p:
stream <<- p
join stream[n]-- now stream contains at least n+1 elements
<- streamFollow the links in the changelog to find out the details.
If you are looking to learn how to implement a dedicated signing node with Fluence JS or wrap EVM RPC APIs with Marine and use Aqua to seamlessly compose those services into protocols, look no further than the recently released near-integration examples.
GitHub
examples/aqua-examples/near-integration at main · fluencelabs/examples
Quickstart with Fluence, Aqua, and Marine. Contribute to fluencelabs/examples development by creating an account on GitHub.
Finally, the rust node is switched to the recent vanilla rust-libp2p v0.42.0 and fluence-js is updated to the latest typescript-compatible js-libp2p v0.33.0. The changes are not backwards compatible, so you need to update your projects to at least fluence-js v0.19.0. But feel free to run our examples, they are up-to-date.
GitHub
Release v0.42.0 · libp2p/rust-libp2p
Larger release, among many other things adding most of the components required for hole-punching.
See individual changelogs for details.
See individual changelogs for details.
Aqua 0.6.1 (as well as 0.6.0) is out. While 0.6.0 was mainly focused on internal changes to unlock new language features in the near future, 0.6.1 brings new functionality to work with the Fluence network, most notably deploy and remove services with
We have also completely deprecated
aqua dist.We have also completely deprecated
fldist tool that was previously used to interact with the network. Be sure to switch over from fldist to aqua everywhere!The next developer community call is tomorrow, on Thursday at 18.00 CET/11 AM CT!
Agenda
- Demos of the projects built with Fluence by the community members
- Q&A
- Fluence Registry, the default routing layer for the Fluence network. Design overview & demo
Add to calendar
The call is via zoom
We are going to present Fluence Registry, the default routing layer for the Fluence network. Will have design overview and demo. Going to be fun (everyone will be able to participate in the demo, if it's going to work actually:), and useful for almost any real-life use-case of Fluence: replica sets, worker clusters, peer-to-peer message delivery, and more. Also we will touch TrustGraph, but it's not going to be covered
Agenda
- Demos of the projects built with Fluence by the community members
- Q&A
- Fluence Registry, the default routing layer for the Fluence network. Design overview & demo
Add to calendar
The call is via zoom
We are going to present Fluence Registry, the default routing layer for the Fluence network. Will have design overview and demo. Going to be fun (everyone will be able to participate in the demo, if it's going to work actually:), and useful for almost any real-life use-case of Fluence: replica sets, worker clusters, peer-to-peer message delivery, and more. Also we will touch TrustGraph, but it's not going to be covered
Released Aqua 0.6.2 – a minor update with two user-facing changes: support for scheduling scripts on the Fluence network using Aqua CLI, and support for Top/Bottom types for better debugging experience that's going to be delivered to
aqua-lib/builtins.aqua later. See the Changelog for details.We are proud to announce that we have reached the 1st milestone of Marine-web! It is a technology intended to run wasm modules in browser and Node.js environments. It works like wasm-bindgen, but has more potential and can run wasm modules built with marine.
The Marine-web project is divided into 3 milestones:
✅Moving AquaVM from wasm-bindgen to Marine-web. Integrated into fluence-js 0.20
☑️ Single-module marine services support: it will be possible to run them smoothly in Node.js and browser, like on Rust Fluence Peer.
☑️ Multi-module services support. We will use it to implement a full-featured Fluence JS Peer with full WASM support.
It is not only a huge improvement of the Fluence network, but also a WASM ecosystem upgrade: it is the first browser runtime that supports Interface Types with its ability to easily pass complex structures and arrays between JS and WASM modules!
The Marine-web project is divided into 3 milestones:
✅Moving AquaVM from wasm-bindgen to Marine-web. Integrated into fluence-js 0.20
☑️ Single-module marine services support: it will be possible to run them smoothly in Node.js and browser, like on Rust Fluence Peer.
☑️ Multi-module services support. We will use it to implement a full-featured Fluence JS Peer with full WASM support.
It is not only a huge improvement of the Fluence network, but also a WASM ecosystem upgrade: it is the first browser runtime that supports Interface Types with its ability to easily pass complex structures and arrays between JS and WASM modules!
GitHub
Implement marine-web · Issue #132 · fluencelabs/marine
We need the ability to run modules built using marine in the browser. The modules will have the same hash as modules for desktop mode, users will not have to compile services both to marine and to ...
Released AquaVM 0.21 with a support of recursive streams. Such streams allows extentsion while iterating over it - it's possible to write to a stream inside a
fold block and then iterate over new values again. It lets on to implement a bunch of distributed algos and was a major blocker for Kademlia.GitHub
Release AIR interpreter 0.21.0 · fluencelabs/aquavm
0.21.0 @ NPM registry
0.21.0 @ crates.io
0.21.0 @ crates.io
Just released Aqua 0.6.3, a minor update with one syntax addition that's expected to be very useful: collection creation. Now you can use
["hello"] to create a value of type []string, ?[flag!] to create ?bool, and even *[1, 2, 3] to create a stream of numbers. Compiler will try to derive the type of the resulting collection by intersecting all the argument types. See more in the Aqua PR#445.Aqua 0.6.4 fixes the closures behavior. Now closures, whenever called, execute on the definition site's peer, adding all the necessary topology moves. Previously there was no way to enclose over topology.
If, for any reason, you want to have a "topologically detached" closure, it's still possible with new syntax. See closures documentation for details.
If, for any reason, you want to have a "topologically detached" closure, it's still possible with new syntax. See closures documentation for details.
Released Aqua 0.7.0 that is switching FluenceJS Compiler interfaces from v2 to v3. Works only with FluenceJS version 0.21.3 or later – that's a breaking change. It improves JS support for optional Aqua types. Also, all features from the deprecated
aqua remote --help
...
fldist tool moved to Aqua CLI. All interactions with peer moved to aqua remote subcommand:aqua remote --help
...
Subcommands:
deploy_service
Deploy service from WASM modules
remove_service
Remove service
create_service
Deploy service from existing blueprint
add_blueprint
Add blueprint to a peer
list_modules
List all modules on a peer
list_blueprints
List all blueprints on a peer
list_interfaces
List all service interfaces on a peer by a given owner
get_interface
Show interface of a service
Descriptions of all commands can be found in Aqua bookWe are proud to announce the release of Fluence Registry with Aqua Routing API. This is an essential part of the Fluence protocol that provides service advertisement and discovery. Routing API and Registry specify the unified approach to register and resolve services by stable identifiers like IPNS.
To start using Registry, read the documentation.
For more in-depth materials, see our community talk.
See Registry in action on demo presentations (1, 2).
To start using Registry, read the documentation.
For more in-depth materials, see our community talk.
See Registry in action on demo presentations (1, 2).
npm
npm: @fluencelabs/registry
Aqua Registry library. Latest version: 0.8.7, last published: 2 months ago. Start using @fluencelabs/registry in your project by running `npm i @fluencelabs/registry`. There is 1 other project in the npm registry using @fluencelabs/registry.