Skip to content

Commit 59b6ba2

Browse files
authored
Merge branch 'main' into rcaril/CDTOOL-1269-refactor-commands-using-old-scenario-framework
2 parents 57dc5f3 + 3ad7986 commit 59b6ba2

643 files changed

Lines changed: 1197 additions & 907 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/publish_release.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ on:
66
- published
77
permissions:
88
id-token: write
9-
contents: read
9+
contents: write
10+
packages: write
1011
jobs:
1112
npm_release:
1213
runs-on: ubuntu-latest

.github/workflows/tag_to_draft_release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
- name: "Store AUR_KEY in local file"
3434
run: echo '${{ secrets.AUR_KEY }}' > '${{ github.workspace }}/aur_key' && chmod 600 '${{ github.workspace }}/aur_key'
3535
- name: "Run GoReleaser"
36-
uses: goreleaser/goreleaser-action@v6
36+
uses: goreleaser/goreleaser-action@v7
3737
with:
3838
# goreleaser version (NOT goreleaser-action version)
3939
# update inline with the Makefile

CHANGELOG.md

Lines changed: 110 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,93 @@
33
## [Unreleased]
44

55
### Breaking:
6+
7+
### Bug Fixes:
8+
9+
### Enhancements:
10+
11+
### Dependencies:
12+
13+
## [v14.0.4](https://github.com/fastly/cli/releases/tag/v14.0.4) (2026-02-26)
14+
15+
### Documentation:
16+
17+
- fix(changelog): change code blocks to be all on one line [#1670](https://github.com/fastly/cli/pull/1670)
18+
19+
## [v14.0.3](https://github.com/fastly/cli/releases/tag/v14.0.3) (2026-02-25)
20+
21+
### Bug Fixes:
22+
23+
- fix(npm): add contents write perms [#1667](https://github.com/fastly/cli/pull/1667)
24+
25+
## [v14.0.2](https://github.com/fastly/cli/releases/tag/v14.0.2) (2026-02-25)
26+
27+
### Bug Fixes:
28+
29+
- fix(npm): add write perms [#1665](https://github.com/fastly/cli/pull/1665)
30+
31+
## [v14.0.1](https://github.com/fastly/cli/releases/tag/v14.0.1) (2026-02-25)
32+
33+
### Bug Fixes:
34+
35+
- fix(npm): Include repository info in package.json of subpackages required for trusted publishing [#1663](https://github.com/fastly/cli/pull/1663)
36+
37+
## [v14.0.0](https://github.com/fastly/cli/releases/tag/v14.0.0) (2026-02-25)
38+
39+
## BREAKING CHANGES
40+
41+
This release of the Fastly CLI includes a significant reorganization
42+
of the commands which are used to manage the configuration of Fastly
43+
services (both Delivery and Compute services). Specifically, each of
44+
the command families listed below have been changed from
45+
`fastly <family> create/delete/describe/list/update` to
46+
`fastly service <family> create/delete/describe/list/update`. For nearly
47+
all of these command families, the previous commands are still available
48+
but are not listed in the `fastly help` output. In addition, invocations
49+
of the previous commands will generate a deprecation message, which
50+
includes the new command that should be used instead.
51+
52+
The `fastly domain` family of commands are the lone exception; those
53+
commands exist in both the old and new forms, but the top-level
54+
commands are used to manage 'versionless' domains (a new feature of
55+
the Fastly platform, and those commands were previously named
56+
`fastly domain-v1 create/delete/describe/list/update`), while
57+
the service-level commands are used to manage 'classic' domains. As a
58+
result, you will need to update any scripts or workflows which used the
59+
`fastly domain create/delete/describe/list/update` commands to use the
60+
`fastly service domain create/delete/describe/list/update` commands
61+
instead.
62+
63+
The command families which have been reorganized and are available in
64+
both the old and new forms are:
65+
66+
* acl
67+
* aclentry
68+
* alert
69+
* backend
70+
* dictionary
71+
* dictionary-entry
72+
* healthcheck
73+
* imageoptimizerdefaults
74+
* logging
75+
* purge
76+
* rate-limit
77+
* resource-link
78+
* service-auth
79+
* service-version
80+
* vcl
81+
82+
### Breaking:
83+
684
- 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](https://github.com/fastly/cli/pull/1615))
785

886
### Enhancements:
87+
88+
- feat(ngwaf/rules): Upgrade go-fastly to v13.0.0 and allow ngwaf rules to accept multival conditions ([#1655](https://github.com/fastly/cli/pull/1655))
989
- feat(rust): Allow testing with prerelease Rust versions ([#1604](https://github.com/fastly/cli/pull/1604))
1090
- feat(compute/hashfiles): remove hashsum subcommand ([#1608](https://github.com/fastly/cli/pull/1608))
1191
- feat(ngwaf/rules): add support for CRUD operations for NGWAF rules ([#1605](https://github.com/fastly/cli/pull/1605))
12-
- feat(compute/deploy): added the `--no-default-domain` flag to allow for the skipping of automatic domain creation when deploying a Compute service([#1610](https://github.com/fastly/cli/pull/1610))
92+
- feat(compute/deploy): added the `--no-default-domain` flag to allow for the skipping of automatic domain creation when deploying a Compute service([#1610](https://github.com/fastly/cli/pull/1610))
1393
- refactor(argparser/flags.go): add flag conversion utilities for converting string flags to bools and checking ascending and desecnding flags ([#1611](https://github.com/fastly/cli/pull/1611))
1494
- feat(service/purge): Add 'service purge' command as replacement for 'purge', with an unlisted and deprecated alias of 'purge'. ([#1612](https://github.com/fastly/cli/pull/1612))
1595
- feat(service/version): Add 'service version ...' commands as replacements for 'service-version ...', with unlisted and deprecated aliases of 'service-version ...'. ([#1614](https://github.com/fastly/cli/pull/1614))
@@ -29,10 +109,13 @@
29109
- 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](https://github.com/fastly/cli/pull/1643))
30110

31111
### Bug fixes:
32-
- fix(compute/serve): ensure hostname has a port nubmer when building pushpin routes ([#1631](https://github.com/fastly/cli/pull/1631))
112+
113+
- fix(docker): Use base image toolchain instead of reinstalling stable, which could pull in an unvalidated Rust version.
114+
- fix(compute/serve): ensure hostname has a port number when building pushpin routes ([#1631](https://github.com/fastly/cli/pull/1631))
33115
- fix(manifest): Correct setup.Defined to include checks for ObjectStores and SecretStores ([#1639](https://github.com/fastly/cli/pull/1639))
34116

35117
### Dependencies:
118+
36119
- build(deps): `golang` from 1.24 to 1.25 ([#1651](https://github.com/fastly/cli/pull/1651))
37120
- build(deps): `actions/upload-artifact` from 5 to 6 ([#1603](https://github.com/fastly/cli/pull/1603))
38121
- build(deps): `actions/download-artifact` from 6 to 7 ([#1603](https://github.com/fastly/cli/pull/1603))
@@ -49,32 +132,49 @@
49132
- build(deps): `golang.org/x/mod` from 0.31.0 to 0.32.0 ([#1613](https://github.com/fastly/cli/pull/1613))
50133
- build(deps): `golang.org/x/net` from 0.48.0 to 0.49.0 ([#1613](https://github.com/fastly/cli/pull/1613))
51134
- build(deps): `golang.org/x/text` from 0.32.0 to 0.33.0 ([#1613](https://github.com/fastly/cli/pull/1613))
52-
- build(deps): `github.com/fastly/go-fastly/v12` from 12.1.0 to 12.1.1 ([#1613](https://github.com/fastly/cli/pull/1613))
135+
- build(deps): `github.com/fastly/go-fastly/v13` from 12.1.0 to 12.1.1 ([#1613](https://github.com/fastly/cli/pull/1613))
53136
- build(deps): `github.com/clipperhouse/uax29/v2` from 2.3.0 to 2.3.1 ([#1625](https://github.com/fastly/cli/pull/1625))
54137
- build(deps): `github.com/klauspost/compress` from 1.18.2 to 1.18.3 ([#1625](https://github.com/fastly/cli/pull/1625))
55138
- build(deps): `github.com/pierrec/lz4/v4` from 4.1.23 to 4.1.25 ([#1625](https://github.com/fastly/cli/pull/1625))
56139
- build(deps): `github.com/clipperhouse/uax29/v2` from 2.3.1 to 2.4.0 ([#1634](https://github.com/fastly/cli/pull/1634))
57140
- build(deps): `github.com/clipperhouse/uax29/v2` from 2.4.0 to 2.5.0 ([#1647](https://github.com/fastly/cli/pull/1647))
141+
- build(deps): `golang.org/x/sys` from 0.40.0 to 0.41.0 ([#1652](https://github.com/fastly/cli/pull/1652))
142+
- build(deps): `golang.org/x/term` from 0.39.0 to 0.40.0 ([#1652](https://github.com/fastly/cli/pull/1652))
143+
- build(deps): `golang.org/x/crypto` from 0.47.0 to 0.48.0 ([#1652](https://github.com/fastly/cli/pull/1652))
144+
- build(deps): `golang.org/x/mod` from 0.32.0 to 0.33.0 ([#1652](https://github.com/fastly/cli/pull/1652))
145+
- build(deps): `github.com/clipperhouse/uax29/v2` from 2.5.0 to 2.6.0 ([#1652](https://github.com/fastly/cli/pull/1652))
146+
- build(deps): `github.com/klauspost/compress` from 1.18.3 to 1.18.4 ([#1652](https://github.com/fastly/cli/pull/1652))
147+
- build(deps): `golang.org/x/net` from 0.49.0 to 0.50.0 ([#1652](https://github.com/fastly/cli/pull/1652))
148+
- build(deps): `golang.org/x/oauth2` from 0.34.0 to 0.35.0 ([#1652](https://github.com/fastly/cli/pull/1652))
149+
- build(deps): `golang.org/x/text` from 0.33.0 to 0.34.0 ([#1652](https://github.com/fastly/cli/pull/1652))
150+
- build(deps): `github.com/clipperhouse/uax29/v2` from 2.6.0 to 2.7.0 ([#1657](https://github.com/fastly/cli/pull/1657))
151+
- build(deps): `golang.org/x/text` from 0.33.0 to 0.34.0 ([#1652](https://github.com/fastly/cli/pull/1652))
152+
- build(deps): `github.com/mattn/go-runewidth` from 0.0.19 to 0.0.20 ([#1659](https://github.com/fastly/cli/pull/1659))
153+
- build(deps): `goreleaser/goreleaser-action` from 6 to 7 ([#1660](https://github.com/fastly/cli/pull/1660))
58154

59155
## [v13.3.0](https://github.com/fastly/cli/releases/tag/v13.3.0) (2025-12-11)
60156

61157
### Enhancements:
158+
62159
- feat(toml/rust): add support for Rust 1.9.2 ([#1599](https://github.com/fastly/cli/pull/1599))
63160

64161
## [v13.2.0](https://github.com/fastly/cli/releases/tag/v13.2.0) (2025-12-10)
65162

66163
### Enhancements:
164+
67165
- feat(commands/ngwaf/workspaces): add support for update operation for NGWAF workspaces ([#1578](https://github.com/fastly/cli/pull/1578))
68166
- feat(commands/ngwaf/lists): add support for CRUD operations for NGWAF Lists at account and workspace levels ([#1582](https://github.com/fastly/cli/pull/1582))
69167
- feat(commands/ngwaf/workspaces/alerts): add support for operations for NGWAF alerts ([#1589](https://github.com/fastly/cli/pull/1589))
70168
- feat(commands/ngwaf/customsignals): add support for CRUD operations for NGWAF Custom Signals ([#1592](https://github.com/fastly/cli/pull/1592))
71169
- feat(commands/ngwaf/threshold): add support for CRUD operations for NGWAF Thresholds ([#1595](https://github.com/fastly/cli/pull/1595))
72170

73171
### Bug fixes:
172+
74173
- fix(commands/ngwaf/virtualpatch): ensured a check was in place for the 'update' command that disallowed the --json and --verbose flag to be ran at the same time. ([#1596](https://github.com/fastly/cli/pull/1596))
75-
- fix(commands/ngwaf/redaction): ensured a check was in place for the 'create' and 'update' commands that disallowed the --json and --verbose flag to be ran at the same time. ([#1596](https://github.com/fastly/cli/pull/1596))
174+
- fix(commands/ngwaf/redaction): ensured a check was in place for the 'create' and 'update' commands that disallowed the --json and --verbose flag to be ran at the same time. ([#1596](https://github.com/fastly/cli/pull/1596))
76175

77176
### Dependencies:
177+
78178
- build(deps): `golang.org/x/crypto` from 0.43.0 to 0.45.0 ([#1584](https://github.com/fastly/cli/pull/1584))
79179
- build(deps): `actions/checkout` from 5 to 6 ([#1587](https://github.com/fastly/cli/pull/1587))
80180
- build(deps): `golang.org/x/mod` from 0.29.0 to 0.30.0 ([#1588](https://github.com/fastly/cli/pull/1588))
@@ -88,13 +188,15 @@
88188
## [v13.1.0](https://github.com/fastly/cli/releases/tag/v13.1.0) (2025-11-12)
89189

90190
### Enhancements:
191+
91192
- feat(service-version): Add JSON support to service-version clone command ([#1550](https://github.com/fastly/cli/pull/1550))
92193
- feat(compute/build): Allow usage of Rust 1.91.1 and later patch releases ([#1576](https://github.com/fastly/cli/pull/1576))
93194
- feat(commands/ngwaf/workspaces): add support for CRUD operations for NGWAF workspaces ([#1570](https://github.com/fastly/cli/pull/1570))
94195
- feat(commands/ngwaf/virtualpatch): add support for CRUD operations for NGWAF virtual patches ([#1579](https://github.com/fastly/cli/pull/1579))
95196
- feat(commands/ngwaf/redaction): add support for CRUD operations for NGWAF redactions ([#1581](https://github.com/fastly/cli/pull/1581))
96197

97198
### Dependencies:
199+
98200
- build(deps): `golangci/golangci-lint-action` from 8 to 9 ([#1575](https://github.com/fastly/cli/pull/1575))
99201
- build(deps): `golang.org/x/sys` from 0.37.0 to 0.38.0 ([#1574](https://github.com/fastly/cli/pull/1574))
100202
- build(deps): `golang.org/x/oauth2` from 0.32.0 to 0.33.0 ([#1574](https://github.com/fastly/cli/pull/1574))
@@ -103,19 +205,23 @@
103205
## [v13.0.0](https://github.com/fastly/cli/releases/tag/v13.0.0) (2025-10-30)
104206

105207
### Breaking:
208+
106209
- breaking(tls-custom): correct 'tls-custom activation enable' command parameters to reflect expected input from API ([#1562](https://github.com/fastly/cli/pull/1562))
107210
- breaking(compute/build): Block version 1.91.0 of Rust as it produces broken WASM packages. ([#1571](https://github.com/fastly/cli/pull/1571))
108211

109212
### Enhancements:
213+
110214
- feat(compute/serve): set sig_iss and sig_key to allow client code to test Grip-Sig signing ([#1569](https://github.com/fastly/cli/pull/1569))
111215
- build(dockerfile-rust): add wasm tools to the rust docker container ([#1552](https://github.com/fastly/cli/pull/1552))
112216
- feat(env): add detection for workspace ID ([#1560](https://github.com/fastly/cli/pull/1560))
113217

114218
### Bug fixes:
219+
115220
- fix(compute): clarify fastly.toml error message when file not found ([#1556](https://github.com/fastly/cli/pull/1556))
116221
- fix(purge/key): ensures that single-key purges will work even if the key contains URL-unsafe characters ([#1566](https://github.com/fastly/cli/pull/1566))
117222

118223
### Dependencies:
224+
119225
- build(deps): `github.com/hashicorp/cap` from 0.10.0 to 0.11.0 ([#1546](https://github.com/fastly/cli/pull/1546))
120226
- build(deps): `github.com/coreos/go-oidc/v3` from 3.15.0 to 3.16.0 ([#1546](https://github.com/fastly/cli/pull/1546))
121227
- build(deps): `stefanzweifel/git-auto-commit-action` from 6 to 7 ([#1549](https://github.com/fastly/cli/pull/1549))
@@ -134,7 +240,6 @@
134240
- build(deps): `actions/upload-artifact` from 4 to 5 ([#1565](https://github.com/fastly/cli/pull/1565))
135241
- build(deps): `actions/download-artifact` from 5 to 6 ([#1565](https://github.com/fastly/cli/pull/1565))
136242

137-
138243
## [v12.1.0](https://github.com/fastly/cli/releases/tag/v12.1.0) (2025-09-30)
139244

140245
### Breaking:

Dockerfile-rust

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
FROM rust:latest
22
LABEL maintainer="Fastly OSS <oss@fastly.com>"
33

4-
ENV RUST_TOOLCHAIN=stable
5-
RUN rustup toolchain install ${RUST_TOOLCHAIN} \
6-
&& rustup target add wasm32-wasip1 --toolchain ${RUST_TOOLCHAIN} \
4+
ENV RUSTUP_TOOLCHAIN=$RUST_VERSION
5+
RUN rustup target add wasm32-wasip1 \
76
&& apt-get update && apt-get install -y curl jq && apt-get -y clean && rm -rf /var/lib/apt/lists/* \
87
&& cargo install wasm-tools --locked \
98
&& export FASTLY_CLI_VERSION=$(curl -s https://api.github.com/repos/fastly/cli/releases/latest | jq -r .tag_name | cut -d 'v' -f 2) \

RELEASE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
## Creation of npm packages
1818

19-
Each release of the Fastly CLI triggers a workflow in `.github/workflows/publish_release.yml` that results in the creation of a new version of the `@fastly/cli` npm package, as well as multiple packages each representing a supported platform/arch combo (e.g. `@fastly/cli-darwin-arm64`). These packages are given the same version number as the Fastly CLI release. The workflow then publishes the `@fastly/cli` package and the per-platform/arch packages to npmjs.com using the `NPM_TOKEN` secret in this repository. The per-platform/arch packages are generated on each release and not committed to source control.
19+
Each release of the Fastly CLI triggers a workflow in `.github/workflows/publish_release.yml` that results in the creation of a new version of the `@fastly/cli` npm package, as well as multiple packages each representing a supported platform/arch combo (e.g. `@fastly/cli-darwin-arm64`). These packages are given the same version number as the Fastly CLI release. The workflow then publishes the `@fastly/cli` package and the per-platform/arch packages to npmjs.com using [Trusted Publishing](https://docs.npmjs.com/trusted-publishers). The per-platform/arch packages are generated on each release and not committed to source control.
2020

2121
> [!NOTE]
2222
> The workflow step that performs `npm version` in the directory of the `@fastly/cli` package triggers the execution of the `version` script listed in its `package.json`. In turn, this script creates the per-platform/arch packages.

go.mod

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ require (
2222
github.com/pelletier/go-toml v1.9.5
2323
github.com/segmentio/textio v1.2.0
2424
github.com/tomnomnom/linkheader v0.0.0-20250811210735-e5fe3b51442e
25-
golang.org/x/sys v0.40.0 // indirect
26-
golang.org/x/term v0.39.0
25+
golang.org/x/sys v0.41.0 // indirect
26+
golang.org/x/term v0.40.0
2727
)
2828

2929
require (
@@ -33,14 +33,13 @@ require (
3333
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06
3434
github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966
3535
github.com/theckman/yacspin v0.13.12
36-
golang.org/x/crypto v0.47.0
36+
golang.org/x/crypto v0.48.0
3737
golang.org/x/exp v0.0.0-20260112195511-716be5621a96
38-
golang.org/x/mod v0.32.0
38+
golang.org/x/mod v0.33.0
3939
)
4040

4141
require (
42-
github.com/clipperhouse/stringish v0.1.1 // indirect
43-
github.com/clipperhouse/uax29/v2 v2.5.0 // indirect
42+
github.com/clipperhouse/uax29/v2 v2.7.0 // indirect
4443
github.com/dnaeon/go-vcr v1.2.0 // indirect
4544
github.com/go-jose/go-jose/v4 v4.1.3 // indirect
4645
github.com/kr/pretty v0.3.1 // indirect
@@ -62,26 +61,26 @@ require (
6261
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
6362
github.com/hashicorp/go-hclog v1.6.3 // indirect
6463
github.com/hashicorp/go-uuid v1.0.3 // indirect
65-
github.com/klauspost/compress v1.18.3 // indirect
64+
github.com/klauspost/compress v1.18.4 // indirect
6665
github.com/klauspost/pgzip v1.2.6 // indirect
6766
github.com/mattn/go-colorable v0.1.14 // indirect
68-
github.com/mattn/go-runewidth v0.0.19 // indirect
67+
github.com/mattn/go-runewidth v0.0.20 // indirect
6968
github.com/nwaples/rardecode v1.1.3 // indirect
7069
github.com/peterhellberg/link v1.2.0 // indirect
7170
github.com/pierrec/lz4/v4 v4.1.25 // indirect
7271
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
7372
github.com/ulikunitz/xz v0.5.15 // indirect
7473
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 // indirect
75-
golang.org/x/net v0.49.0 // indirect
76-
golang.org/x/oauth2 v0.34.0 // indirect
74+
golang.org/x/net v0.50.0 // indirect
75+
golang.org/x/oauth2 v0.35.0 // indirect
7776
golang.org/x/sync v0.19.0 // indirect
78-
golang.org/x/text v0.33.0
77+
golang.org/x/text v0.34.0
7978
gopkg.in/yaml.v2 v2.4.0 // indirect
8079
gopkg.in/yaml.v3 v3.0.1 // indirect
8180
)
8281

8382
require (
8483
4d63.com/optional v0.2.0
85-
github.com/fastly/go-fastly/v12 v12.1.2
84+
github.com/fastly/go-fastly/v13 v13.0.0
8685
github.com/mitchellh/go-ps v1.0.0
8786
)

0 commit comments

Comments
 (0)