Skip to content

Releases: andrewdavidmackenzie/flow

v0.135.0

19 Sep 11:01
Compare
Choose a tag to compare
chore: Release flowcore version 0.135.0

v0.134.0

19 Sep 10:50
Compare
Choose a tag to compare
chore: Release flowcore version 0.134.0

v0.133.0

18 Aug 08:49
Compare
Choose a tag to compare
chore: Release flowcore version 0.133.0

v0.92.0

20 Feb 22:50
Compare
Choose a tag to compare
build debug versions of flowc and flowstdlib for use in building flow…

v0.91.0

25 Dec 18:27
8e54684
Compare
Choose a tag to compare

This release improves testing and increases (real and reported) coverage by restructuring which executables are used while executing tests (those instrumented for coverage) and using flowc directly in flow execution tests instead of recreating it's logic. Also, how client-server discovery is done has been made more reliable. Test cases have been added where coverage was low, and now all modules are close to 80% or higher.

v0.90.0 Documentation revamped and complete

26 Nov 10:12
3137a37
Compare
Choose a tag to compare

This release is mainly about the documentation in the "flow guide" that is in the docs/ subfolder, that has been updated and gaps filled so it covers most subjects.

In particular doc updates:

  • describe how to use two flowrinstances in client server
  • describes flowrexand how to use it combined with flowr for distributed job execution
  • provide more description of how to write flows, and how to do some things based on how you would do them in a procedural language

I have a milestone for remaining work to rewrite and fix the 'dot' graph generation (which are included in the docs) and make sure publishing is working correctly, but at least the right content is there now.

v0.80.0 Distributed job execution across network of heterogeneous nodes

10 Nov 21:34
9182f88
Compare
Choose a tag to compare

The main addition in this release over the previous one (v0.70.0) is the ability to distribute jobs over the network and have them executed by any available executor, in the same process or different process or on a different node.

  • The flowr binary distributes jobs over the network to ZeroMQ job queues that it advertises via discovery mechanism.
  • flowr has build-in executors in separate threads (as before) that listen for these jobs and execute them as before.
  • Additional executors on the network (same node or a different node) can discover the job and results queues and take jobs from the job queue, execute it and return results via the results queue.
  • A new flow runner binary called flowrex that only has executors (and no Coordinator, no Context for STDIO, etc) is now built. This can be built on other machine architectures (ARM was tested via a Pi400) and jobs distributed across heterogenous nodes on the local network.

v0.70.0 Generic and Type Checking improvements

01 Oct 09:29
Compare
Choose a tag to compare

This release cleans up some of the semantics and workarounds required

  • removes the need for buffer functions by allowing initializers on flow inputs and other fixes
  • removes the buffer function from flowstdlib
  • improvements to generic types for inputs and outputs, clarifying "object" is different
  • data type checking on connections not just within a flow but end-to-end as connections are collapsed
  • correct execution of sub-flows using same semantics as functions, holding off inputs until they complete
  • removal of unnecessary blocking of sending functions within a flow, allowing more parallelism

A couple of issues remain related to flow initializers, and feedback of inputs to a flow as part of outputs (like can be done with a function) but the majority of the semantics and type checking is now working as intended.

v0.60.0 Debugger Improvements

24 May 14:40
Compare
Choose a tag to compare

Made a number of improvements to the debugger, such as being able to run with different flow parameters specified on the command line, or to modify state variables (like maximum number of parallel jobs) from the debugger prompt, as well as a number of internal code changes to improve readability.

v0.50.0

18 May 14:01
Compare
Choose a tag to compare

It's been a long time since I did a release and will try to do them more frequently going forward.

This release has all the samples working correctly now, including the ones with "nested" loops or "nested" flows, which was one area that was blocking progress.

The docs cover quite a lot of the project (not all!) but are a little out of date. There are lots of issues to extend and update the docs in the future.

Note that if you checkout the project and build from scratch you will need to define two envars to get things working smoothly:

FLOW_LIB_PATH=$flow_root_directory/target
FLOW_CONTEXT_ROOT=$flow_root_directory/flowr/src/context

In the future I will add hints and checks to the Makefile for them.

Note also that building the flowstdlib WASM version from scratch the first time takes A LONG time, so if you do the install and make seems to be running fine, go take a coffee or a stroll. Afterwards, dependency tracking takes care of this (unless you make clean). I am trying to make the developer builds faster by JUST building the native version of it, but that's a WIP.