Skip to content

Releases: fastly/cli

v15.1.0

13 May 16:34
v15.1.0
e58c0f5

Choose a tag to compare

v15.1.0 (2026-05-13)

Bug Fixes:

  • fix(auth): honor deprecated --profile/-o when resolving the API token; an unknown profile name is now a hard error instead of a silent fallback to the default token (#1792)
  • fix(text): send deprecation warnings to stderr instead of stdout (#1782)

Enhancements:

  • feat(compute): add file field support for setup.kv_stores bulk import (#1784)
  • feat(compute): add support for cpp for compute (#1773)

Dependencies:

  • refactor(deps): migrate from mholt/archiver/v3 to mholt/archives v0.1.5 (#1787)
  • build(deps): golang.org/x/sys from 0.43.0 to 0.44.0 (#1785)
  • build(deps): golang.org/x/term from 0.42.0 to 0.43.0 (#1785)
  • build(deps): golang.org/x/crypto from 0.50.0 to 0.51.0 (#1785)
  • build(deps): golang.org/x/mod from 0.35.0 to 0.36.0 (#1785)
  • build(deps): golang.org/x/text from 0.36.0 to 0.37.0 (#1785)

v15.0.0

08 May 14:04
v15.0.0
d3c266e

Choose a tag to compare

v15.0.0 (2026-05-08)

Breaking:

  • breaking(ngwaf/workspace): change flag name to match API spec (#1768)

Bug Fixes:

  • fix(compute/deploy): remove compute trial activation code because trials no longer exist (#1730)
  • fix(auth): SSO token expiration status now reflects the actual API token lifetime (~12 hours) instead of the internal JWT refresh token (~30 minutes), preventing spurious warnings and premature re-authentication #1728
  • fix(argparser): skip ListVersions API call for numeric versions #1774

Enhancements:

  • feat(service/backend): add support for the max_use and max_lifetime parameters (#1779)

v14.3.1

13 Apr 14:18
v14.3.1
9ea8706

Choose a tag to compare

v14.3.1 (2026-04-13)

Bug Fixes:

  • fix(publish_release): add back perms for publishing to npm #1724

v14.3.0

10 Apr 18:02
v14.3.0
2d67890

Choose a tag to compare

v14.3.0 (2026-04-10)

Bug Fixes:

  • fix(vcl/condition): --comment flag in condition update now correctly sets the comment instead of overwriting the statement #1714
  • fix(manifest): env_file parsing no longer rejects values containing = characters (e.g. KEY=val=ue) #1715

Enhancements:

  • feat(auth): add auth revoke subcommand for revoking API tokens via --current, --name, --token-value, --id, or --file (bulk) #1717
  • feat(service/logging/debug): add support for logging endpoint error streaming via the service logging debug subcommand #1721
  • feat(stats): accept --json / -j as an alias for --format=json on all stats and help subcommands, matching the flag style used by the rest of the CLI #1719

Dependencies:

  • build(deps): github.com/andybalholm/brotli from 1.2.0 to 1.2.1 (#1716)
  • build(deps): github.com/go-jose/go-jose/v3 from 3.0.4 to 3.0.5 (#1716)
  • build(deps): github.com/mattn/go-runewidth from 0.0.21 to 0.0.22 (#1716)
  • build(deps): github.com/mattn/go-isatty from 0.0.20 to 0.0.21 (#1720)
  • build(deps): golang.org/x/sys from 0.42.0 to 0.43.0 (#1720)
  • build(deps): github.com/coreos/go-oidc/v3 from 3.17.0 to 3.18.0 (#1720)
  • build(deps): github.com/mattn/go-runewidth from 0.0.22 to 0.0.23 (#1720)
  • build(deps): github.com/fastly/go-fastly/v14 from 13.1.2 to 14.2.0 (#1722)

v14.2.0

24 Mar 15:43
v14.2.0
bee7ac6

Choose a tag to compare

v14.2.0 (2026-03-24)

Bug Fixes:

  • fix(auth): fastly profile, fastly sso and fastly auth-token commands now correctly respect the --quiet flag #1710

Enhancements:

  • feat(vcl/snippet): add support for the '--content' flag, allowing for the raw output of VCL. #1706

Dependencies:

  • build(deps): github.com/fatih/color from 1.18.0 to 1.19.0 (#1707)
  • build(deps): github.com/klauspost/compress from 1.18.4 to 1.18.5 (#1707)

v14.1.1

18 Mar 16:55
v14.1.1
548fb34

Choose a tag to compare

v14.1.1 (2026-03-18)

Bug Fixes:

  • fix(compute): compute pack, compute validate, and install no longer require authentication. #1701

v14.1.0

17 Mar 17:09
v14.1.0
34ad25a

Choose a tag to compare

v14.1.0 (2026-03-17)

Bug Fixes:

  • fix(stats): stats historical now returns write errors instead of silently swallowing them #1678

Deprecations:

  • deprecated(auth): fastly profile, fastly sso, and fastly auth-token command trees are deprecated and will be removed in a future release. Use fastly auth subcommands instead. #1676
  • deprecated(auth): --profile and --enable-sso global flags are deprecated. Use --token <name> to select a stored auth token by name, or fastly auth login --sso --token <name> for SSO. #1676

Enhancements:

  • feat(auth): auth login --sso now requires --token <name> to explicitly name the stored token. This prevents accidentally overwriting tokens in multi-user SSO workflows. #1676
  • feat(auth): add FASTLY_DISABLE_AUTH_COMMAND env var to hide the fastly auth command tree from help, completions, and invocation. #1676
  • feat(auth): when FASTLY_DISABLE_AUTH_COMMAND is set, the --token/-t global flag is also disabled. Use FASTLY_API_TOKEN or stored config tokens instead. #1676
  • feat(stats): add --field flag to stats historical to filter to a single stats field. #1678
  • feat(stats): add stats aggregate subcommand for cross-service aggregated stats. #1678
  • feat(stats): add stats usage subcommand for bandwidth/request usage, with --by-service breakdown. #1678
  • feat(stats): add stats domain-inspector subcommand for domain-level metrics. #1678
  • feat(stats): add stats origin-inspector subcommand for origin-level metrics. #1678
  • feat(apisecurity/discoveredoperations): add support for 'list' and 'update' support for 'API discovery'. #1689
  • feat(apisecurity/operations): add CRUD support for 'API Inventory' operations. #1689
  • feat(apisecurity/tags): add API Security Operations tag support (#1688)
  • feat(service/version): add support for service validation. #1695
  • feat(compute/build): Block version 1.93.0 of Rust to avoid a wasm32-wasip2 bug. (#1653)
  • feat(service/vcl): escape control characters when displaying VCL content for cleaner terminal output (#1637)

Dependencies:

  • build(deps): golang.org/x/net from 0.50.0 to 0.51.0 (#1674)
  • build(deps): actions/upload-artifact from 6 to 7 (#1675)
  • build(deps): actions/download-artifact from 7 to 8 (#1675)
  • build(deps): golang.org/x/sys from 0.41.0 to 0.42.0 (#1679)
  • build(deps): github.com/mattn/go-runewidth from 0.0.20 to 0.0.21 (#1679)
  • build(deps): github.com/pierrec/lz4/v4 from 4.1.25 to 4.1.26 (#1679)
  • build(deps): golang.org/x/oauth2 from 0.35.0 to 0.36.0 (#1679)
  • build(deps): golang.org/x/sync from 0.19.0 to 0.20.0 (#1679)
  • build(deps): github.com/fastly/go-fastly/v13 from 13.0.0 to 13.0.1 (#1679)
  • build(deps): golang.org/x/term from 0.40.0 to 0.41.0 (#1687)
  • build(deps): golang.org/x/mod from 0.33.0 to 0.34.0 (#1687)
  • build(deps): golang.org/x/text from 0.34.0 to 0.35.0 (#1687)
  • build(deps): github.com/fastly/go-fastly/v13 from 13.0.1 to 13.1.0 (#1687)
  • build(deps): golang.org/x/crypto from 0.48.0 to 0.49.0 (#1693)
  • build(deps): golang.org/x/net from 0.51.0 to 0.52.0 (#1693)
  • build(deps): github.com/fastly/go-fastly/v13 from 13.1.0 to 13.1.1 (#1693)
  • build(deps): github.com/fastly/go-fastly/v13 from 13.1.1 to 13.1.2 (#1696)
  • build(deps): actions/create-github-app-token from 2 to 3 (#1692)

v14.0.4

26 Feb 16:52
v14.0.4
5ee75f8

Choose a tag to compare

v14.0.4 (2026-02-26)

Documentation:

  • fix(changelog): change code blocks to be all on one line #1670

v14.0.0

25 Feb 17:26
v14.0.0

Choose a tag to compare

v14.0.0 (2026-02-25)

BREAKING CHANGES

This release of the Fastly CLI includes a significant reorganization
of the commands which are used to manage the configuration of Fastly
services (both Delivery and Compute services). Specifically, each of
the command families listed below have been changed from
fastly <family> create/delete/describe/list/update to
fastly service <family> create/delete/describe/list/update. For nearly all of these
command families, the previous commands are still available but are
not listed in the fastly help output. In addition, invocations of
the previous commands will generate a deprecation message, which
includes the new command that should be used instead.

The fastly domain family of commands are the lone exception; those
commands exist in both the old and new forms, but the top-level
commands are used to manage 'versionless' domains (a new feature of
the Fastly platform, and those commands were previously named
fastly domain-v1 create/delete/describe/list/update), while the
service-level commands are used to manage 'classic' domains. As a
result, you will need to update any scripts or workflows which used the
fastly domain create/delete/describe/list/update commands to use the
fastly service domain create/delete/describe/list/update commands
instead.

The command families which have been reorganized and are available in
both the old and new forms are:

  • acl
  • aclentry
  • alert
  • backend
  • dictionary
  • dictionary-entry
  • healthcheck
  • imageoptimizerdefaults
  • logging
  • purge
  • rate-limit
  • resource-link
  • service-auth
  • service-version
  • vcl

Breaking:

  • breaking(domain) - service-version oriented domain commands have been moved under the service domain command. Versionless domain-v1 commands have been moved to the domain command (#1615)

Enhancements:

  • feat(ngwaf/rules): Upgrade go-fastly to v13.0.0 and allow ngwaf rules to accept multival conditions (#1655)
  • feat(rust): Allow testing with prerelease Rust versions (#1604)
  • feat(compute/hashfiles): remove hashsum subcommand (#1608)
  • feat(ngwaf/rules): add support for CRUD operations for NGWAF rules (#1605)
  • feat(compute/deploy): added the --no-default-domain flag to allow for the skipping of automatic domain creation when deploying a Compute service(#1610)
  • refactor(argparser/flags.go): add flag conversion utilities for converting string flags to bools and checking ascending and desecnding flags (#1611)
  • feat(service/purge): Add 'service purge' command as replacement for 'purge', with an unlisted and deprecated alias of 'purge'. (#1612)
  • feat(service/version): Add 'service version ...' commands as replacements for 'service-version ...', with unlisted and deprecated aliases of 'service-version ...'. (#1614)
  • feat(service/vcl): moved the vcl command under the service command, with an unlisted and deprecated alias of vcl (#1616)
  • feat(service/healthcheck): moved the healthcheck command under the service command, with an unlisted and deprecated alias of healthcheck (#1619)
  • feat(service/backend): moved the backend command under the service command, with an unlisted and deprecated alias of backend (#1621)
  • feat(service/acl): moved the acl and aclentry commands under the service command, with a unlisted and deprecated aliases of acl and aclentry (#1621)
  • feat(version): If the latest version is at least one major version higher than the current version, provide links to the release notes for the major version(s) so the user can review them before upgrading. (#1623)
  • feat(service/imageoptimizerdefaults): moved the imageoptimizerdefaults commands under the service command, with an unlisted and deprecated alias of imageoptimizerdefaults (#1627)
  • feat(service/alert): moved the alerts command to the service alert command, with an unlisted and deprecated alias of alerts (#1616)
  • feat(service/dictionary-entry): moved the dictionary-entry commands under the service command, with an unlisted and deprecated alias of dictionary-entry (#1628)
  • feat(service/dictionary): moved the dictionary command under the service command, with an unlisted and deprecated alias of dictionary (#1621)
  • feat(service/ratelimit): moved the rate-limit commands under the service command, with an unlisted and deprecated alias of rate-limit (#1632)
  • feat(compute/build): Remove Rust version restriction, allowing 1.93.0 and later versions to be used. (#1633)
  • feat(service/resourcelink): moved the resource-link commands under the service command, with an unlisted and deprecated alias of resource-link (#1635)
  • feat(service/logging): moved the logging commands under the service command, with an unlisted and deprecated alias of logging (#1642)
  • feat(service/auth): moved the service-auth commands under the service command and renamed to auth, with an unlisted and deprecated alias of service-auth (#1643)

Bug fixes:

  • fix(docker): Use base image toolchain instead of reinstalling stable, which could pull in an unvalidated Rust version.
  • fix(compute/serve): ensure hostname has a port number when building pushpin routes (#1631)
  • fix(manifest): Correct setup.Defined to include checks for ObjectStores and SecretStores (#1639)

Dependencies:

  • build(deps): golang from 1.24 to 1.25 (#1651)
  • build(deps): actions/upload-artifact from 5 to 6 (#1603)
  • build(deps): actions/download-artifact from 6 to 7 (#1603)
  • build(deps): golang.org/x/term from 0.37.0 to 0.38.0 (#1602)
  • build(deps): golang.org/x/crypto from 0.45.0 to 0.46.0 (#1602)
  • build(deps): golang.org/x/mod from 0.30.0 to 0.31.0 (#1602)
  • build(deps): golang.org/x/net from 0.47.0 to 0.48.0 (#1602)
  • build(deps): golang.org/x/text from 0.31.0 to 0.32.0 (#1602)
  • build(deps): github.com/pierrec/lz4/v4 from 4.1.22 to 4.1.23 (#1606)
  • build(deps): github.com/google/go-querystring from 1.1.0 to 1.2.0 (#1607)
  • build(deps): golang.org/x/sys from 0.39.0 to 0.40.0 (#1613)
  • build(deps): golang.org/x/term from 0.38.0 to 0.39.0 (#1613)
  • build(deps): golang.org/x/crypto from 0.46.0 to 0.47.0 (#1613)
  • build(deps): golang.org/x/mod from 0.31.0 to 0.32.0 (#1613)
  • build(deps): golang.org/x/net from 0.48.0 to 0.49.0 (#1613)
  • build(deps): golang.org/x/text from 0.32.0 to 0.33.0 (#1613)
  • build(deps): github.com/fastly/go-fastly/v13 from 12.1.0 to 12.1.1 (#1613)
  • build(deps): github.com/clipperhouse/uax29/v2 from 2.3.0 to 2.3.1 (#1625)
  • build(deps): github.com/klauspost/compress from 1.18.2 to 1.18.3 (#1625)
  • build(deps): github.com/pierrec/lz4/v4 from 4.1.23 to 4.1.25 (#1625)
  • build(deps): github.com/clipperhouse/uax29/v2 from 2.3.1 to 2.4.0 (#1634)
  • build(deps): github.com/clipperhouse/uax29/v2 from 2.4.0 to 2.5.0 (#1647)
  • build(deps): golang.org/x/sys from 0.40.0 to 0.41.0 (#1652)
  • build(deps): golang.org/x/term from 0.39.0 to 0.40.0 (#1652)
  • build(deps): golang.org/x/crypto from 0.47.0 to 0.48.0 (#1652)
  • build(deps): golang.org/x/mod from 0.32.0 to 0.33.0 (#1652)
  • build(deps): github.com/clipperhouse/uax29/v2 from 2.5.0 to 2.6.0 (#1652)
  • build(deps): github.com/klauspost/compress from 1.18.3 to 1.18.4 (#1652)
  • build(deps): golang.org/x/net from 0.49.0 to 0.50.0 (#1652)
  • build(deps): golang.org/x/oauth2 from 0.34.0 to 0.35.0 (#1652)
  • build(deps): golang.org/x/text from 0.33.0 to 0.34.0 ([#1652](https:/...
Read more

v13.3.0

11 Dec 20:42
v13.3.0
0719b16

Choose a tag to compare

v13.3.0 (2025-12-11)

Enhancements:

  • feat(toml/rust): add support for Rust 1.92 (#1599)