Releases: oyarsa/fleche
Releases · oyarsa/fleche
v9.0.0
Changed (breaking)
- Bare
fleche run <arg>now treats<arg>strictly as a configured job name.
Usefleche run --command "..."for ad hoc commands. This prevents job-name
typos from silently becoming shell commands. - Commands that default to a recent job now scope implicit job selection to the
current project whenfleche.tomlis present. Numeric indices shown by
fleche statusresolve within the same project scope. outputs_syncedis now set only after downloading all configured outputs from
a terminal job. Downloads using--path,--glob, or--partialno longer
mark the whole job as synced.
Added
fleche initnow creates a runnable localsmokejob.- Local jobs can run from configs without a
[remote]section when the job or
CLI host islocal. - README examples for GPU Python and
uvconfigurations.
v8.2.0
Fixed
doctor/diagnostics cleanup suggestions and theclean"specify a target"
error message now reference--beforeinstead of the removed--older-than.
v8.1.0
Changed
- Updated the bundled AI-agent skill (
docs/skill.md, shown byfleche skill)
to match the current CLI: the unified-f/--filter 'type:query'selection,
download --glob, andclean --before. No code changes.
v8.0.0
Changed (breaking)
clean --older-thanis replaced byclean --before, which accepts either a
relative delta (7d,24h,30m) or an absolute timestamp (2026-06-05,
'2026-06-05 14:30', or an RFC3339 datetime). Bare/naive timestamps are read
in the local timezone. The cutoff is exclusive (created before), so
--before=2026-06-05cleans jobs up to but not including the start of that
local day. Migrate--older-than 7dto--before 7d.
v7.0.0
Changed (breaking)
- Job filtering is unified under a single
-f/--filter 'type:query'flag
acrossstatus,watch,logs,download,cancel,clean,wait, and
stats. Types arestatus,name(ID regex),tag(key=value), andnote
(regex). A value with no type prefix is a status, so-f completedworks.
Filters are repeatable and ANDed together (-f status:running -f tag:env=prod).
Note filtering is now available on all of these commands. download's output-glob filter moved from--filterto--glob, freeing
--filterfor job selection.
Removed (breaking)
- The standalone
--name,--tag, and--notefilter flags. Migrate:--tag key=value→-f tag:key=value--name <regex>→-f name:<regex>--note <regex>→-f note:<regex>--filter completed(status) is unchanged (-f completedstill works)fleche download --filter '*.json'→fleche download --glob '*.json'
Note:logskeeps-fas the short for--follow, so its job filter is the
long--filteronly.
v6.26.0
Changed
- Long job IDs in status tables are now truncated in the middle, preserving the
trailing random suffix that disambiguates them (e.g.
train_glen-20260604-135603…-19ab) instead of dropping it. Truncation uses a
single-character ellipsis (…) and is now Unicode-safe (notes with
multi-byte characters no longer risk a panic).
v6.25.0
Fixed
- Concurrent
fleche run --bgsubmissions from one shell no longer race on
the shared SSHControlMastersocket. Previously all but one invocation
failed at the rsync step ([2/4] Syncing project code) because they raced
to create the master before it was accepting connections. Master creation is
now serialized with a per-host file lock held only around the directory
warm-up, so the data transfers still run in parallel. The lock is acquired
off the async runtime and is a no-op on non-Unix platforms (which don't use
ControlMaster). - rsync failures now surface the real SSH error instead of the
OpenSSH_x.y
verbose banner, which previously masked the underlying cause.
v6.24.0
Added
fleche watchcontinuously displays the recent-jobs status table, redrawing
in place every N seconds (--interval/-i, default 1s, fractional allowed).
It accepts the same filters asfleche statusand runs until interrupted
with Ctrl+C. Redraws use synchronized terminal output (mode 2026) to avoid
flicker on supporting terminals.
v6.23.0
Changed
- Release assets now build each published platform with its explicit Rust
target triple and package the target-specific binary. The release workflow
covers Linux x86_64, Linux aarch64, and macOS Apple Silicon, and smoke-tests
each binary before uploading it.
v6.22.0
Fixed
fleche execnow also rejects emptyinputsentries (the same protection
added tofleche runin 6.21.0). Previously the exec path collected job
inputs without validation and would silently skip empty entries; it now fails
fast with a clear error before touching the network.