Skip to content

Releases: eiserv/easySFTP

v3.5.0

Choose a tag to compare

@github-actions github-actions released this 17 Aug 22:35
c057a1d

3.5.0 (2026-08-17)

Features

  • benchmark: aggregate in Go, with the jq implementation as the oracle (#190) (#192) (62ce841)
  • benchmark: measure and store in Go only, add optional analysis (#190) (#196) (6111881)
  • benchmark: measure, sweep and store in Go (#190) (#194) (5d98313)

Bug Fixes

  • benchmark: restore stored result artifacts (#198) (7565929)
  • uploader: do not retry permanent SFTP status codes (#202) (8e9ec63)
  • uploader: fall back when a server lacks posix-rename (#203) (b4a6eac), closes #152
  • uploader: keep the full plan out of sync's stale-temp sweep (#201) (9a940d6), closes #186

Documentation

  • publish providers guide on docs site (#199) (d3d042d)

v3.4.0

Choose a tag to compare

@github-actions github-actions released this 31 Jul 09:49
ae799b7

3.4.0 (2026-07-31)

Features

  • benchmark: keep per-cell metrics and add a canary cell (#184) (#187) (4708dc9)
  • benchmark: keep the delete sweep that already runs (#184) (#189) (5b23cba)
  • benchmark: measure the deploys that actually happen (#184) (#188) (f147d42)
  • benchmark: phase and process metrics, connections/concurrency matrix (#181) (f938e96)
  • benchmark: record and control the link profile (#184) (#185) (5b991f0)
  • benchmark: sweep the axes that move, and score what auto picks (#184) (#191) (223cdd9)
  • uploader: optional connection pool for parallel uploads (#179) (c21cca9)

Bug Fixes

  • store nanosecond mtimes in the sync manifest so same-second edits deploy (#182) (5f4e1a0), closes #162
  • sweep stale temp files left behind by a killed run (#183) (924a789)

Documentation

  • removed routine-sessions from CLAUDE.md (989c791)

v3.3.2

Choose a tag to compare

@github-actions github-actions released this 27 Jul 16:56
afe5aaf

3.3.2 (2026-07-27)

Bug Fixes

  • benchmarks: stop using the jq keyword "label" as a variable (#176) (17b57ef)

v3.3.1

Choose a tag to compare

@github-actions github-actions released this 27 Jul 15:55
3bf5602

3.3.1 (2026-07-27)

Bug Fixes

  • ci: call the release benchmark from the release workflow (#173) (f43da6c)

v3.3.0

Choose a tag to compare

@github-actions github-actions released this 27 Jul 14:30
fa01dd9

3.3.0 (2026-07-27)

Features

  • manually triggered SFTP benchmark workflow (#170) (cceade3)

v3.2.2

Choose a tag to compare

@github-actions github-actions released this 26 Jul 19:27
e4b7d21

3.2.2 (2026-07-26)

Bug Fixes

  • name the real config key when the delete guard aborts a run (#144) (2e8aef3)

v3.2.1

Choose a tag to compare

@github-actions github-actions released this 26 Jul 19:21
33fbcc2

3.2.1 (2026-07-26)

Documentation

  • issue forms and a PR template (#139) (2861aa0)
  • migration guide from Dylan700/sftp-upload-action (#141) (611344f)
  • provider notes with a self-service discovery section (#143) (5d1b7d4)

v3.2.0

Choose a tag to compare

@github-actions github-actions released this 26 Jul 19:03
57b9253

3.2.0 (2026-07-26)

Features

  • settable file-mode, dir-mode and preserve-times inline (#136) (5187a44), closes #133

v3.1.0

Choose a tag to compare

@github-actions github-actions released this 26 Jul 18:34
cebae9b

3.1.0 (2026-07-26)

Features

  • human-readable sizes in the job summary and final log line (#129) (f1b62af), closes #16

Bug Fixes

  • scope SETSTAT warn-once messages to the deployment, not the run (#128) (96e0b0e), closes #121

Documentation

  • bump actions/checkout to v7 in examples (#127) (e8f82d2)
  • note that Windows runners have no local permission bits to mirror (#132) (5c7c602), closes #109
  • refresh CLAUDE.md for the v3 configuration model (#135) (013b737)
  • Revise CHANGELOG for v3 configuration updates (cae9255)

v3.0.0

Choose a tag to compare

@github-actions github-actions released this 23 Jul 19:17
1099f2b

3.0.0 (2026-07-23)

⚠ BREAKING CHANGES

  • server was renamed to host, uploads was replaced by source + target, strategy is now mode, ignore is now exclude, host-key-fingerprint is now host-key, config-file is now config.
  • Multiple upload mappings require a config file; inline mode supports exactly one deployment.
  • All advanced/tuning inputs (concurrency, retries, timeout, stall-timeout, sftp-request-concurrency, sync-fast-path, skip-unchanged, manifest-name, dir-mode, file-mode, preserve-times, max-deletes) moved into the config file.
  • All proxy/bastion connection inputs moved into the config file (connection.proxy); only the proxy credentials remain inputs.
  • The config file format changed: version: 3, connection settings live in the file, and targets became named deployments.
  • Host key verification is required. A run without host-key / known-hosts fails unless allow-any-host-key: true is set explicitly (v2 printed a warning and accepted any key).
  • build-mode was removed; the build mode is selected automatically from the action ref (release tags download the verified prebuilt binary, development refs build from source).
  • The default log no longer prints one line per file; per-file output moved to log-level: verbose (see Logging changes).
  • The delete tombstone input from v1 was finally removed.

Features

  • v3 configuration model (inline vs config file, no mixed mode) (#124) (2887530), closes #123