Repository navigation
This release contains behavior changes that are not backward compatible, hence the
major version (Python 3.8 dropped, cache key, default delimiters, timeouts, sh://
path resolution, fz list JSON). Read the summary below before upgrading. It also fixes wrong results with some
sh:// commands and a command-injection issue present in 1.2: upgrading is recommended.
Upgrading from 1.2: behavior changes at a glance
Each item is detailed in its section below.
- Python 3.8 is no longer supported (
requires-python >= 3.9). "path"case directory names percent-encode unsafe characters (a/b->a%2Fb).cache://uses a SHA-256.fz_hash("v2"); caches written by fz <= 1.2 are ignored
unlessFZ_CACHE_ACCEPT_LEGACY=1.ssh://andslurm://have no default timeout (was 3600 s);timeout=0and
FZ_RUN_TIMEOUT=0now mean "no timeout" (they timed every case out immediately).- A model without
delimreads both$(x)and${x}as variables (Python read only
$(x), the CLI only${x}). fzr()raisesValueErrorwhenresults_dirlooks like a calculator URI.sh://resolves a word to the launch directory only if the file exists there and not
in the case directory (results of commands such ascat in.txt > out.txtobtained
with 1.2 should be re-checked).fz list --format json: calculators are keyed by alias name (withpath,uri).fz-mcp:FZ_MCP_TRUSTED=0restricts at the MCP layer; network transports need
FZ_MCP_ALLOW_NETWORK_TRANSPORT=1.- Code that patched
fz.runners.run_commandmust patchfz.runners.sh.run_command.
Also in 2.0
slurm-array://calculator (onesbatch --arrayjob for all cases).- Campaign traceability:
manifest.jsonand RO-Crate metadata written byfzrandfzd. cache://identity:code_id/version_cmdon calculator aliases,FZ_CACHE_STRICT=1.fz-mcpMCP server for AI agents (pip install 'funz-fz[mcp]', Python >= 3.10).- Security: case-name / remote-command injection and credential leakage fixed; threat model documented.
- Warning when a model without
delimreads${...}shell text as variables. - Release tooling: the wheel is built once, checked, and installed on the CI matrix before publishing.
Full notes: NEWS.md ·
Documentation: https://funz.github.io/fz.github.io