MFTPlus v0.3.0 — Transfer Triggers, Oneshot Retry, and Network Discovery

MFTPlus v0.3.0 ships four features. The biggest one answers the question every enterprise prospect asks first: “Can it watch a folder and send the file when it arrives?”

Transfer Triggers

Transfer Triggers are event-driven file transfer automation. You configure a trigger to watch a directory, match files by glob pattern, and auto-transfer when a file appears. No cron jobs. No polling scripts. No human in the loop.

How it works:

  1. Create a trigger in the dashboard
  2. Set the source directory and glob pattern (e.g. /outgoing/*.csv)
  3. Set the destination (any configured MFTPlus agent endpoint)
  4. Configure the destination filename using a template language: report-{{date}}-{{uuid}}.csv

When a file matching the pattern lands in the watched directory, the trigger fires and the transfer begins. The dashboard shows trigger firing history with full audit trail: what matched, when it fired, whether the transfer succeeded.

Filename templates support:

  • {{date}} — date stamp at time of firing
  • {{uuid}} — unique identifier per transfer
  • {{seq}} — sequential counter per trigger
  • {{original}} — the original filename

Why this matters: Every enterprise file transfer workflow eventually needs “file arrives, file transfers, nobody touches it.” Before triggers, the answer was a cron job that checked every five minutes and a shell script that broke when the filename format changed. Triggers make it a platform feature with logging, retry, and a UI.

Oneshot Retry

Failed one-shot jobs now retry automatically. Up to 3 retries with configurable backoff.

Previously, a one-shot transfer that failed due to a network blip, an auth timeout, or a temporary DNS resolution failure was consumed. The job was gone. Someone had to notice the failure and manually re-submit it.

That’s fine when you’re running ten transfers a day. It breaks at scale. A five-second network interruption shouldn’t require a human to fix it.

Retry backoff is configurable per job. Default: exponential. First retry after 30 seconds, second after 2 minutes, third after 8 minutes.

Compression Wiring

MFTPlus had a compression module. It existed in the codebase but wasn’t wired into the actual transfer path. In v0.3.0 it is.

gzip and zlib compression are now available as per-job options. Enable it on the job configuration. Data compresses before transit, decompresses at the destination. Useful for large CSV exports, log files, and batch transfers over bandwidth-constrained links.

mft-discover

mft-discover is a CLI tool that scans a Linux network for existing file transfer activity. It finds SSH configurations, cron jobs, shell scripts, and other transfer-related artifacts, then produces a report in JSON or HTML.

Why it exists: The hardest part of selling MFT to an enterprise isn’t the product demo. It’s getting the prospect to admit what they actually have. Most organisations don’t know how many file transfers are running across their infrastructure. There’s the scheduled SFTP job the DBA set up three years ago. The cron script that pulls nightly reports. The ad-hoc SCP command someone put in a wiki page and forgot about.

mft-discover gives the sales engineer a tool to walk into a meeting and say “here’s what’s running on your network.” JSON output for integration into existing tooling. HTML report for the slide deck.

Available as Linux and Windows binaries.

What’s next

Four items on the near-term roadmap:

  • Smart retry with resume — breakpoint resume for interrupted transfers. Pick up where it left off instead of restarting.
  • SFTP gateway mode — on-prem to cloud bridge. Agents on both sides, transfers flow through the gateway.
  • Cross-tenant file sharing — transfer files between MFTPlus tenants without a shared filesystem.
  • Cryptographic chain of custody — tamper-evident audit log for compliance. Each transfer entry chained to the previous one. Any modification to the log breaks the chain.

MFTPlus v0.3.0 is available now at mftplus.co.za. Existing installations: check the release notes for update instructions.

FAQ

What is a transfer trigger?

A transfer trigger is an automated rule that watches a directory for files matching a pattern and transfers them to a destination when they appear. No manual intervention or cron scheduling required.

How is a transfer trigger different from a cron job?

Cron jobs run on a schedule regardless of whether a file exists. Transfer triggers respond to file events. A trigger fires only when a matching file lands in the watched directory. There’s no empty polling and no missed windows.

What file patterns do transfer triggers support?

Transfer triggers use glob patterns. Examples: *.csv matches all CSV files, report-*.pdf matches PDF files starting with “report-”, data/2026/**/*.xlsx matches all Excel files in the 2026 subdirectory tree.

Can transfer triggers rename files during transfer?

Yes. Destination filenames support template variables: {{date}} for date stamps, {{uuid}} for unique identifiers, {{seq}} for sequential numbers, and {{original}} for the source filename.

What happens if a triggered transfer fails?

Failed triggered transfers appear in the trigger firing history with the failure reason. The trigger continues watching for new files. Failed one-shot transfers retry automatically up to 3 times with configurable backoff.

How does oneshot retry work?

When a one-shot transfer fails, the system retries it automatically. You configure the maximum retry count (up to 3) and the backoff strategy (exponential by default). Transient failures like network timeouts or temporary DNS issues resolve without manual intervention.

What does mft-discover do?

mft-discover scans a network for file transfer activity. It identifies SSH configurations, cron jobs, shell scripts, and other transfer-related artifacts. Output is available in JSON (for tooling integration) or HTML (for reports and presentations).

Is compression available on all transfers?

Compression is a per-job option. Enable it in the job configuration. gzip and zlib are supported. Data compresses before transit and decompresses at the destination.

How do I upgrade to v0.3.0?

Existing MFTPlus installations: see the release notes for update instructions. New installations are available at mftplus.co.za.