Skip to content

Releases: flooooooooooow/flow

Flow v1.0.1

Choose a tag to compare

@github-actions github-actions released this 23 Aug 11:09

What's Changed

  • Improve test coverage and encourage Flow idioms by @godofecht in #477
  • docs: enable MkDocs Material instant navigation features by @godofecht in #513
  • 🧪 Add unit tests for resolve_modules by @godofecht in #502
  • 🧪 [testing improvement description] by @godofecht in #498
  • Fix empty gutter beside docs sidebar by @godofecht in #514
  • fix: emit via FLOWC_IN/OUT in bootstrap_from_c.sh by @godofecht in #516
  • ⚡ Optimize regex compilation in simd_check loop by @godofecht in #501
  • Implement note string parser in note_to_midi by @godofecht in #512
  • 🧹 Fix nested generics parsing to support pointer arrays for Audio Buffer by @godofecht in #511
  • Refactor planet.flow to use procgen.flow by @godofecht in #509
  • feat(audio): implement Comb and Allpass filters for Reverb by @godofecht in #506
  • 🧹 [Code Health] Apply Synthesizer Filter in Synth Module by @godofecht in #504
  • 🧪 [testing improvement] Add test coverage for get_module_resolver and resolve_modules by @godofecht in #488
  • 🧪 [testing improvement] Add unit tests for generate_metal_shaders by @godofecht in #485
  • 🧪 test: add edge case tests for propagate_effects by @godofecht in #484
  • 🧪 Add testing for gpu_copy_from_device and other gpu_runtime functions by @godofecht in #483
  • 🧪 test: add test coverage for reachable_functions by @godofecht in #492
  • 🧪 Add comprehensive test for FIR analysis orchestration by @godofecht in #493
  • 🧪 Testing improvement: add tests for call_graph_edges by @godofecht in #499
  • Wiki home showcase and clearer navigation by @godofecht in #515
  • docs: refresh repository statistics by @godofecht in #518
  • wasm gallery: 158/158 — every example builds and runs as a card by @godofecht in #464
  • Fix TCO miscompiling extern/@cEmbed shim tail calls into infinite loops (#517) by @godofecht in #523
  • test: coverage plan, meta-agents notes, and small unit tests by @godofecht in #522
  • docs: refresh repository statistics by @godofecht in #526
  • Add first-class MLIR to wasm32 compilation target by @godofecht in #529
  • Execute direct MLIR wasm32 output in CI by @godofecht in #530
  • Exercise direct wasm32 linear-memory marshalling by @godofecht in #532
  • Fix private function collisions across modules by @godofecht in #531
  • Fix time.h extern prototype clashes by @godofecht in #533
  • Execute allocation-backed Flow under direct wasm32 by @godofecht in #534
  • Gate direct wasm32 against native MLIR parity by @godofecht in #535
  • MLIR: rotate counted loops and inline trivial accessors by @godofecht in #538
  • docs: measure whether the documented examples compile by @godofecht in #540
  • docs: make every anchor resolve, on the wiki as well as GitHub by @godofecht in #542
  • docs: check that every part of the language has a documented home by @godofecht in #543
  • docs: one nav manifest, validated, and every page reachable by @godofecht in #544
  • docs: retire the core library page, which documented an API that does not exist by @godofecht in #545
  • docs: cover the direct wasm32 target, and let CI run on docs-only PRs by @godofecht in #539
  • ci: gate documentation coverage and examples by @godofecht in #546
  • docs: resolve imports when checking examples, and mark the aspirational ones by @godofecht in #548
  • fix: lib/stdlib/posix.flow and net.flow never parsed by @godofecht in #549
  • fix: posix.flow function names that are libc macros by @godofecht in #551
  • docs: fix the vacuity check, four broken tutorials, and an unsafe stdlib extern by @godofecht in #552
  • Add a BPF (bpfel) compilation target by @godofecht in #555
  • ci: let the coverage gate see every backend, and document the one it caught by @godofecht in #556
  • docs: preamble= for running examples, and three more Book fixes by @godofecht in #553
  • docs: refresh repository statistics by @godofecht in #554
  • design: anchor the wiki shell, set headings in Archivo, harden against clipping by @godofecht in #558
  • Expand effects and capabilities documentation by @godofecht in #557
  • Lower sum(range) to closed-form arithmetic by @godofecht in #536
  • docs: show the verification result on every example, and publish the totals by @godofecht in #559
  • fix: capability method bodies did not know their own parameter types by @godofecht in #560
  • docs: correct three effects limitations that were broader than the truth by @godofecht in #565
  • Stop using Image.getdata, which Pillow 14 removes by @godofecht in #568
  • Connect the two effects pages where a reader actually needs the link by @godofecht in #570
  • Range algebra: union and intersection inside sum (#476) by @godofecht in #567
  • Report an undeclared type as undeclared, not as a type failing to match itself by @godofecht in #571
  • Report a capability used as a value in Flow terms, not as a clang error (#561) by @godofecht in #569
  • Return array<T, N> by value instead of pointing into the dead frame (#573) by @godofecht in #576
  • Tag three rejection demos, and make the ledger say what each one proves by @godofecht in #572
  • Make lib/stdlib/audio/README.md describe the API that exists by @godofecht in #574
  • Represent array<array<T, N>, M> as rows, not as an array of pointers (#575) by @godofecht in #578
  • String concatenation is a string, whatever the other operand is (#577) by @godofecht in #580
  • Implement from=, so a page that inlines a program cannot drift from it by @godofecht in #582
  • Run defers after the return value is read, and on every return (#594) by @godofecht in #595
  • Run the documentation examples, not only compile them by @godofecht in #596
  • Release 0.12.0 by @godofecht in #597
  • add Solve It the Flow Way problem gallery by @godofecht in #581
  • Let a flow member be elided and carry a dimension by @godofecht in #599
  • Record the furthest meaningful failure for unverified examples too (#588) by @godofecht in #600
  • Let a documentation block build on an earlier one on the same page (#584) by @godofecht in #601
  • Call a C math function by the name that is actually emitted (#590 part 1) by @godofecht in #603
  • Tag the two lifetime-domain rejection demos expect-error (#593) by @godofecht in #602
  • Classify metasyntactic fences, with three corrections (#589) by @godofecht in #604
  • Two galleries of recorded clips existed with no gallery to show them by @godofecht in #605
  • Make every example in the dynamics API reference compile by @godofecht in #606
  • Bind POSIX and sockets through the system headers (#550) by @godofecht in #598
  • Parse array repeat initializers [value; N] (#585) by @godofecht in #609
  • fix: link Python-host flow run with libm by @godofecht in https://github.com/flooooooooooow/...
Read more

Flow v1.0.0

Choose a tag to compare

@github-actions github-actions released this 22 Aug 09:52

What's Changed

  • Improve test coverage and encourage Flow idioms by @godofecht in #477
  • docs: enable MkDocs Material instant navigation features by @godofecht in #513
  • 🧪 Add unit tests for resolve_modules by @godofecht in #502
  • 🧪 [testing improvement description] by @godofecht in #498
  • Fix empty gutter beside docs sidebar by @godofecht in #514
  • fix: emit via FLOWC_IN/OUT in bootstrap_from_c.sh by @godofecht in #516
  • ⚡ Optimize regex compilation in simd_check loop by @godofecht in #501
  • Implement note string parser in note_to_midi by @godofecht in #512
  • 🧹 Fix nested generics parsing to support pointer arrays for Audio Buffer by @godofecht in #511
  • Refactor planet.flow to use procgen.flow by @godofecht in #509
  • feat(audio): implement Comb and Allpass filters for Reverb by @godofecht in #506
  • 🧹 [Code Health] Apply Synthesizer Filter in Synth Module by @godofecht in #504
  • 🧪 [testing improvement] Add test coverage for get_module_resolver and resolve_modules by @godofecht in #488
  • 🧪 [testing improvement] Add unit tests for generate_metal_shaders by @godofecht in #485
  • 🧪 test: add edge case tests for propagate_effects by @godofecht in #484
  • 🧪 Add testing for gpu_copy_from_device and other gpu_runtime functions by @godofecht in #483
  • 🧪 test: add test coverage for reachable_functions by @godofecht in #492
  • 🧪 Add comprehensive test for FIR analysis orchestration by @godofecht in #493
  • 🧪 Testing improvement: add tests for call_graph_edges by @godofecht in #499
  • Wiki home showcase and clearer navigation by @godofecht in #515
  • docs: refresh repository statistics by @godofecht in #518
  • wasm gallery: 158/158 — every example builds and runs as a card by @godofecht in #464
  • Fix TCO miscompiling extern/@cEmbed shim tail calls into infinite loops (#517) by @godofecht in #523
  • test: coverage plan, meta-agents notes, and small unit tests by @godofecht in #522
  • docs: refresh repository statistics by @godofecht in #526
  • Add first-class MLIR to wasm32 compilation target by @godofecht in #529
  • Execute direct MLIR wasm32 output in CI by @godofecht in #530
  • Exercise direct wasm32 linear-memory marshalling by @godofecht in #532
  • Fix private function collisions across modules by @godofecht in #531
  • Fix time.h extern prototype clashes by @godofecht in #533
  • Execute allocation-backed Flow under direct wasm32 by @godofecht in #534
  • Gate direct wasm32 against native MLIR parity by @godofecht in #535
  • MLIR: rotate counted loops and inline trivial accessors by @godofecht in #538
  • docs: measure whether the documented examples compile by @godofecht in #540
  • docs: make every anchor resolve, on the wiki as well as GitHub by @godofecht in #542
  • docs: check that every part of the language has a documented home by @godofecht in #543
  • docs: one nav manifest, validated, and every page reachable by @godofecht in #544
  • docs: retire the core library page, which documented an API that does not exist by @godofecht in #545
  • docs: cover the direct wasm32 target, and let CI run on docs-only PRs by @godofecht in #539
  • ci: gate documentation coverage and examples by @godofecht in #546
  • docs: resolve imports when checking examples, and mark the aspirational ones by @godofecht in #548
  • fix: lib/stdlib/posix.flow and net.flow never parsed by @godofecht in #549
  • fix: posix.flow function names that are libc macros by @godofecht in #551
  • docs: fix the vacuity check, four broken tutorials, and an unsafe stdlib extern by @godofecht in #552
  • Add a BPF (bpfel) compilation target by @godofecht in #555
  • ci: let the coverage gate see every backend, and document the one it caught by @godofecht in #556
  • docs: preamble= for running examples, and three more Book fixes by @godofecht in #553
  • docs: refresh repository statistics by @godofecht in #554
  • design: anchor the wiki shell, set headings in Archivo, harden against clipping by @godofecht in #558
  • Expand effects and capabilities documentation by @godofecht in #557
  • Lower sum(range) to closed-form arithmetic by @godofecht in #536
  • docs: show the verification result on every example, and publish the totals by @godofecht in #559
  • fix: capability method bodies did not know their own parameter types by @godofecht in #560
  • docs: correct three effects limitations that were broader than the truth by @godofecht in #565
  • Stop using Image.getdata, which Pillow 14 removes by @godofecht in #568
  • Connect the two effects pages where a reader actually needs the link by @godofecht in #570
  • Range algebra: union and intersection inside sum (#476) by @godofecht in #567
  • Report an undeclared type as undeclared, not as a type failing to match itself by @godofecht in #571
  • Report a capability used as a value in Flow terms, not as a clang error (#561) by @godofecht in #569
  • Return array<T, N> by value instead of pointing into the dead frame (#573) by @godofecht in #576
  • Tag three rejection demos, and make the ledger say what each one proves by @godofecht in #572
  • Make lib/stdlib/audio/README.md describe the API that exists by @godofecht in #574
  • Represent array<array<T, N>, M> as rows, not as an array of pointers (#575) by @godofecht in #578
  • String concatenation is a string, whatever the other operand is (#577) by @godofecht in #580
  • Implement from=, so a page that inlines a program cannot drift from it by @godofecht in #582
  • Run defers after the return value is read, and on every return (#594) by @godofecht in #595
  • Run the documentation examples, not only compile them by @godofecht in #596
  • Release 0.12.0 by @godofecht in #597
  • add Solve It the Flow Way problem gallery by @godofecht in #581
  • Let a flow member be elided and carry a dimension by @godofecht in #599
  • Record the furthest meaningful failure for unverified examples too (#588) by @godofecht in #600
  • Let a documentation block build on an earlier one on the same page (#584) by @godofecht in #601
  • Call a C math function by the name that is actually emitted (#590 part 1) by @godofecht in #603
  • Tag the two lifetime-domain rejection demos expect-error (#593) by @godofecht in #602
  • Classify metasyntactic fences, with three corrections (#589) by @godofecht in #604
  • Two galleries of recorded clips existed with no gallery to show them by @godofecht in #605
  • Make every example in the dynamics API reference compile by @godofecht in #606
  • Bind POSIX and sockets through the system headers (#550) by @godofecht in #598
  • Parse array repeat initializers [value; N] (#585) by @godofecht in #609
  • fix: link Python-host flow run with libm by @godofecht in https://github.com/flooooooooooow/...
Read more

Flow v0.11.1

Choose a tag to compare

@github-actions github-actions released this 14 Aug 09:28

Full Changelog: v0.11.0...v0.11.1

Flow v0.11.0

Choose a tag to compare

@github-actions github-actions released this 13 Aug 23:48

What's Changed

  • Fixes #269 #270 #264 #265 — MISRA Phase 0: flags, sanitizers, div0/shift guards by @godofecht in #287
  • feat(safety): overflow-checked signed integer arithmetic (#263) by @godofecht in #289
  • feat(safety): safety manifest generator (--emit-manifest) by @godofecht in #290
  • docs: update README to 0.10.0 with safety profiles and current stats by @godofecht in #292
  • fix(cgen): lower nested assignment expressions by @godofecht in #291
  • Fixes #266 #279 — null deref + unified fault handler + if-expressions by @godofecht in #288
  • Fixes #267 #268 #271 #272 — temp arena, recursion, @max_iterations, bigint/HashMap by @godofecht in #393
  • Fixes #274 #275 #276 #277 #278 #280 #281 #283 #284 — MISRA Phase 2 by @godofecht in #394
  • feat(rf): c64/c128 complex types, DFT + IQ mixer examples by @godofecht in #395
  • feat(rf): phantom rate Signal with compile-time rate checking by @godofecht in #397
  • feat(dsp): pipeline stdlib with map/filter/reduce/scan + |> chaining by @godofecht in #398
  • feat(dsp): compile-time pipeline fusion for map/scale/offset stages by @godofecht in #399
  • refactor: remove MISRA overflow codegen, improve MLIR statics by @godofecht in #402
  • fix(mlir): drop unsigned flag on no-op cast; update cert docs by @godofecht in #403
  • feat(safety): enforce MISRA 17.2/17.4, route println through FLOW_LOG by @godofecht in #404
  • feat: strtod fix, --export ABI, wasm32 datalayout, Python runner by @godofecht in #405
  • feat(wcet): WCET and stack depth analysis, MLIR const static init by @godofecht in #406
  • feat(plans): generalise multi-implementation selection beyond sort by @godofecht in #407
  • fix: multiple compiler bugs and project conventions by @godofecht in #419
  • fix: -O2 default, pointer address type check, regression tests by @godofecht in #428
  • fix: overload string->ptr compatibility, add parser self-test by @godofecht in #432
  • feat(flowc): semicolon and elif support in self-hosted parser by @godofecht in #433
  • feat(flowc): println/print intrinsics by @godofecht in #434
  • fix(flowc): emit stdbool.h for bool type by @godofecht in #435
  • feat(flowc): generic skip, bitwise ~ and &, more integer types by @godofecht in #436
  • fix(flowc): DOTDOT lex, for-range check, newline struct fields, array by @godofecht in #437
  • feat(flowc): scientific notation, attribute skip, type aliases by @godofecht in #438
  • feat(flowc): bitwise | ^, lenient bundle typecheck, fir_analysis by @godofecht in #439
  • feat(flowc): function pointer types, unit declarations by @godofecht in #440
  • feat(flowc): effect/capability blocks, postfix calls by @godofecht in #441
  • feat(flowc): top-level let, hex literals by @godofecht in #442
  • feat(flowc): shift operators, compound assignments by @godofecht in #443
  • feat(flowc): not keyword, keyword field names, extern function by @godofecht in #444
  • feat(flowc): stmt attrs, generic structs, ref/slice types, export type by @godofecht in #445
  • feat(flowc): trailing commas, fix generic arg vs comparison by @godofecht in #446
  • feat(flowc): stdlib import resolution, math.h, keyword let fix, new ported modules by @godofecht in #447
  • feat(flowc): array<T,N> struct fields, c64/c128 types, new ported modules by @godofecht in #454
  • fix(flowc): keyword field names in struct literal detection by @godofecht in #455
  • feat(flowc): detect string-typed identifiers for str_concat lowering by @godofecht in #456
  • feat(flowc): parse extern block signatures and emit forward declarations by @godofecht in #457
  • fix(flowc): self-referential struct pointer fields use struct tag by @godofecht in #458
  • feat(flowc): lower c64/c128 complex constructors in C generator by @godofecht in #459
  • fix(flowc): lower return void to bare return, skip sprintf/snprintf externs by @godofecht in #460
  • fix(flowc): skip Flow-defined functions shadowing C standard library names by @godofecht in #461
  • fix(flowc): expand libc skip list with more stdio functions by @godofecht in #462
  • fix(flowc): emit array<T,N> top-level lets as T name[N] not T* name by @godofecht in #463

Full Changelog: v0.10.0...v0.11.0

flowc flowc-v0.10.0

Choose a tag to compare

@github-actions github-actions released this 09 Aug 20:54

Self-hosted Flow compiler (Stage-A), built from
compiler/bootstrap/flowc_stage_a.c — the compiler emitted by
itself as a single C translation unit.

Each archive was checked three generations deep: flowc compiles
all of compiler/src, that compiler recompiles it, and so does
its child, byte for byte identical each time.

No Python is involved in building or using these archives.

What's Changed

Full Changelog: v0.10.0...flowc-v0.10.0

Flow v0.10.0

Choose a tag to compare

@github-actions github-actions released this 08 Aug 05:02

Flow v0.10.0 — 310 commits since v0.9.0: the MLIR/WASM epic, self-hosted flowgen, lifetime domains, and the sorting family.

MLIR / WASM epic #221 (complete)

  • MLIR backend on par with C for the affected surface: uN/null/
    memref coercions, bitwise and shift ops lowered to arith, per-function
    symbol-table restores, module globals in loops/if/vectorizer, variadic
    externs (...) with llvm.call vararg, fixed-size arrays as llvm.array
    struct fields, and static string-array globals.
  • WebAssembly gallery: 118 Flow examples compiled to site/wasm/.
  • wasm crossings: CPython embedding routed to Pyodide, browser file I/O
    (MEMFS + IDBFS), host-page-sized canvas.
  • SPIR-V GPU emission advanced alongside the CPU backend.

Compiler frontend

  • flowc self-hosting: checked-in bootstrap, whole-compiler self-compile
    three generations deep, CI-gated; string concatenation and inferred C type
    for unannotated let.
  • flow explain subcommand with the float total-order resolution.
  • Cost-based plan selector for sort/find (merge/quick/gap/heap
    families), adaptive ordering benchmark with measured numbers.

Language

  • Lifetime domain annotations and their four checks; frame domain wired to
    the arena; LSP hover for @lifetime; an audio example split across all
    four domains.
  • Float total order per the spec.

Standard library

  • render3d — software 3D renderer with pipeline documentation and measured
    rates.
  • psychstats and experiment — the analysis and presentation halves of
    experiment support; automata cellular-automaton framework.
  • Audio safety chain, WAV render target, and DSP fixes.

Runtime

  • flow_rt_sysinfo reduced to syscalls and compile-time facts; race
    detection relocated to lib/runtime/race.flow; zombie headers deleted.

Examples and gallery

  • Morphogenesis wave-2 (19 examples, gallery GIFs); genetics suites; planet
    pipeline (cubesphere, tectonics, elevation).
  • Games: physics3d, raycast_shooter, Icy Tower, The Falling Sand Game,
    billboard particles; software-3D clips recorded offline.
  • Numerical: Carrier–Greengard–Rokhlin adaptive FMM.

Branding, editor, CI

  • Flow logos replace text F glyphs; VS Code uses the logo as the .flow
    icon.
  • CI/Discord: rich embeds via a single action, worded #announcements,
    PR notices, docs deploy pings, and a #projects forum for releases.

Assets: flow-v0.10.0.tar.gz, flow-v0.10.0.zip, SHA256SUMS.txt.

Flow v0.9.0

Choose a tag to compare

@github-actions github-actions released this 05 Aug 20:34

What's Changed

  • Official language follow-up: stable Homebrew + flowc CI + repo policy by @godofecht in #171
  • Document Homebrew install + complete issue templates by @godofecht in #180
  • Evolution cards: rk4, always, connect, represent linear by @godofecht in #184
  • GPU gradients, process stdlib, Flow install script by @godofecht in #187
  • Pattern adoption roadmap + API sketches by @godofecht in #183
  • Add apps/http_json_cache adoption demo by @godofecht in #185
  • chore(deps): bump actions/upload-artifact from 4 to 7 by @dependabot[bot] in #173
  • chore(deps): bump actions/deploy-pages from 4 to 5 by @dependabot[bot] in #174
  • chore(deps): bump actions/upload-pages-artifact from 3 to 5 by @dependabot[bot] in #175
  • chore(deps): bump softprops/action-gh-release from 2 to 3 by @dependabot[bot] in #176
  • chore(deps): bump actions/checkout from 5 to 7 by @dependabot[bot] in #177
  • chore(deps): update tomli requirement from >=2.0.0 to >=2.4.1 by @dependabot[bot] in #178
  • LSP intel catalog + hover wiring by @godofecht in #186
  • chore(deps): bump vscode-languageclient from 8.1.0 to 10.1.0 in /third_party/integrations/vscode/flow-language by @dependabot[bot] in #179
  • chore(deps-dev): bump @types/vscode from 1.107.0 to 1.125.0 in /third_party/integrations/vscode/flow-language by @dependabot[bot] in #181
  • chore(deps-dev): bump typescript from 5.9.3 to 7.0.2 in /third_party/integrations/vscode/flow-language by @dependabot[bot] in #182
  • Debugging docs, python-in-flow, MLIR pass tests, compiler demos by @godofecht in #188
  • flowc Phase B: deps-first bundle emit (fix parser TU order) by @godofecht in #189
  • flowc: fixed-point on C emit identity, not .o bytes by @godofecht in #191
  • Pattern adoption P0: evolves demos, gfx_run, Lorenz flow by @godofecht in #190
  • Pattern-adoption P1: BLAS LU, grad XOR, owned HttpBody by @godofecht in #193
  • Phase C: default ./flow to Stage-A flowc (FLOW_HOST) by @godofecht in #192
  • docs: FLOW_HOST=flowc default in getting-started by @godofecht in #195
  • Pattern-adoption P2: PDE, portrait trail, discrete LQR by @godofecht in #194
  • Dual operator sugar (+ - * /) for forward-mode AD by @godofecht in #196
  • Spring-mass sim via state_step (closed-loop plant.step MVP) by @godofecht in #198
  • Phase D slice 1: pip-free flowc compile CI by @godofecht in #197
  • Pipeline composition: placeholders, fork records, and flows as stages by @godofecht in #199
  • dsys plant binding + mut Net params (#160/#161) by @godofecht in #201
  • represent phase_portrait + slim Lorenz (#165) by @godofecht in #202
  • field / boundary grammar + heat demo (#163) by @godofecht in #203
  • analyze { lqr } DSL beyond n=2 (#162) by @godofecht in #204
  • Tensor ops sugar + Tier-0 roadmap sync (#161/#169) by @godofecht in #205
  • Count repository statistics in Flow, published to the README by CI by @godofecht in #200
  • MLIR opt pass flags on CLI (#166) by @godofecht in #206
  • Fix string-concat truncation that broke the Flow repo-stats JSON by @godofecht in #207
  • Publish repository stats via PR; refresh current counts by @godofecht in #209
  • flowc: inferred let + bundle typecheck main (#151) by @godofecht in #208
  • docs: refresh repository statistics by @godofecht in #210
  • Tolerate missing Actions create-PR permission in stats bot by @godofecht in #211
  • flowc: typecheck dogfood on + line:col diagnostics (#151) by @godofecht in #212
  • flowc: file path on typecheck diagnostics (#151) by @godofecht in #213
  • vscode: publish under quilio Open VSX namespace by @godofecht in #214
  • Restore compiler demos; fix strncmp libc conflict in cgen by @godofecht in #216
  • fix: avoid broken apt sources in stats workflow by @godofecht in #215
  • docs: fill LANGUAGE_SPEC gaps for shipped language surfaces by @godofecht in #217

New Contributors

Full Changelog: v0.8.0...v0.9.0

Flow v0.8.0 — Official public release

Choose a tag to compare

@godofecht godofecht released this 05 Aug 11:24

Flow 0.8.0 — official public release

The first annotated public release of the Flow programming language.

Highlights

  • Docs: https://flooooooooooow.github.io/flow/
  • Self-hosting: Stage-A flowc under compiler/plan
  • Declarative ordering, GPU/unified memory, fill-shaders, dynamics/constraints/units
  • Community: Code of Conduct, Security Policy, CITATION.cff, Governance

Install

git clone https://github.com/flooooooooooow/flow.git
cd flow
git checkout v0.8.0
./flow run examples/basics/hello_world.flow

Or download the source archives attached to this release.

Links

Flow v0.7.0 — Security audit closure

Choose a tag to compare

@godofecht godofecht released this 05 Aug 11:25

Flow 0.7.0

Security and quality audit cut (2026-02-09).

  • 98/98 audit issues resolved across compiler, stdlib, runtime, CLI, and CI
  • Critical fixes: CLI shell injection, Vulkan system() injection, module path traversal

Full notes: CHANGELOG