Releases: flooooooooooow/flow
Release list
Flow v1.0.1
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_modulesby @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_midiby @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_shadersby @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 runwith libm by @godofecht in https://github.com/flooooooooooow/...
Flow v1.0.0
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_modulesby @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_midiby @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_shadersby @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 runwith libm by @godofecht in https://github.com/flooooooooooow/...
Flow v0.11.1
Full Changelog: v0.11.0...v0.11.1
Flow v0.11.0
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
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
- Sort out the CI by @godofecht in #245
- docs: consolidate remaining unique admin docs after #245 by @godofecht in #246
- fix(mlir): wasm32 ABI on MLIR→emcc path; CI mlir-18 (#230) by @godofecht in #247
- fix(mlir): null-init ptr statics + short-circuit and/or (#230) by @godofecht in #249
- wasm gallery: real pthreads over SharedArrayBuffer, host-extern stubs, sizeof fix by @godofecht in #248
- fix(mlir): doom #230 MLIR→wasm playable path by @godofecht in #250
- docs+ci: MLIR doom preview + unblock docs-only CI (#230) by @godofecht in #251
- fix(mlir): doom -O2 path; close out #253/#254 and ILP32 ptr sizing (#255) by @godofecht in #257
- docs: doom-flow MLIR -O2 patch + close checklist for #253/#254/#256 by @godofecht in #258
- fix+docs: close resolved open issues (#253–#256, #144–#148, #151, #153) by @godofecht in #259
- Fixes #254 #255 #256 #144 #145 #146 #148 #151 #153 by @godofecht in #261
Full Changelog: v0.10.0...flowc-v0.10.0
Flow v0.10.0
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 toarith, per-function
symbol-table restores, module globals in loops/if/vectorizer, variadic
externs (...) withllvm.call vararg, fixed-size arrays asllvm.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
flowcself-hosting: checked-in bootstrap, whole-compiler self-compile
three generations deep, CI-gated; string concatenation and inferred C type
for unannotatedlet.flow explainsubcommand 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.psychstatsandexperiment— the analysis and presentation halves of
experiment support;automatacellular-automaton framework.- Audio safety chain, WAV render target, and DSP fixes.
Runtime
flow_rt_sysinforeduced to syscalls and compile-time facts; race
detection relocated tolib/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#projectsforum for releases.
Assets: flow-v0.10.0.tar.gz, flow-v0.10.0.zip, SHA256SUMS.txt.
Flow v0.9.0
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
- @dependabot[bot] made their first contribution in #173
Full Changelog: v0.8.0...v0.9.0
Flow v0.8.0 — Official public release
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
flowcundercompiler/— 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.flowOr download the source archives attached to this release.
Links
Flow v0.7.0 — Security audit closure
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