Skip to content

v9.4.5 released

Latest

Choose a tag to compare

@funlang funlang released this 20 Oct 12:56
· 14 commits to main since this release
Fun 9.4.5

Manifest-driven packages and project-aware runs.

Highlights since v9.4.4:

- `fun package init/add/remove/tidy` manage a `package.fun` manifest, install
  exact git revisions into a shared `~/.fun` cache, verify git tree hashes,
  and record a generated `resolved` block. Path dependencies are used in
  place; only git dependencies need `git`.

- `fun run [args...]` runs the manifest `bin` from the project root with its
  dependencies available. In a package directory, a plain `fun <script>` takes
  the same project-aware path, and `FUN_PACKAGE_READY=1` opts out. Runs stay
  read-only and refuse a missing or stale dependency.

- `fun pack` now defaults to the manifest `bin`, resolves paths against the
  project root, and embeds resolved dependencies, so a bundle runs without
  `~/.fun`.

- Bundled console apps keep their output when stdout is redirected, unless
  `-gui` is requested.

- Packages are documented in both READMEs with a runnable
  `fun/demos/package-demo`, and covered by an end-to-end regression test.

Full list: CHANGELOG.md / CHANGELOG.zh.md.