Skip to content

Commit e0e4e23

Browse files
jstirnamansrebhandependabot[bot]bednarmavarius
authored
Release/2026 04 20 (#7128)
* Telegraf v1.38.3 (#7126) * Updating changelog * Updating plugin list * Updating product version * Updating plugins --------- Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com> * chore(ci): add lockfile-lint PR check to prevent yarn.lock injection (#7114) Add a GitHub Actions workflow that validates yarn.lock on every PR, ensuring all resolved URLs use HTTPS and point to registry.yarnpkg.com. Prevents lockfile injection attacks where a PR modifies resolved URLs to fetch packages from attacker-controlled hosts. Uses lockfile-lint@5.0.0 via npx (no new dependencies in package.json). SHA-pinned actions, sparse checkout of yarn.lock only, least-privilege permissions. * chore(deps): bump dompurify from 3.3.3 to 3.4.0 (#7109) Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.3.3 to 3.4.0. - [Release notes](https://github.com/cure53/DOMPurify/releases) - [Commits](cure53/DOMPurify@3.3.3...3.4.0) --- updated-dependencies: - dependency-name: dompurify dependency-version: 3.4.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Release Chronograf v1.11.1 (#7105) * Release Chronograf v1.11.1 * Update content/chronograf/v1/about_the_project/release-notes.md Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com> * Update content/chronograf/v1/about_the_project/release-notes.md Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com> * Update content/chronograf/v1/about_the_project/release-notes.md --------- Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com> Co-authored-by: Daniel Campbell <metalwhirlwind@gmail.com> * feat(products): add oss_repo field for products with public repos (#7106) Adds `oss_repo` to data/products.yml for products that have a public GitHub repository. Each entry captures the repo name and the product's default branch. Presence of the field indicates the product has a public repo; absence indicates it does not (e.g., v3 Enterprise, Cloud Dedicated, Cloud Serverless, Clustered, Enterprise v1). This separates repo identity from `namespace`, which currently conflates URL path / menu grouping with GitHub repo name. Templates can derive issue, source, or release URLs from `oss_repo.name` + `oss_repo.branch` without hardcoded product fixups. For multi-version products (influxdb OSS v1/v2), `branch` uses a version-keyed map consistent with other versioned fields like `content_path` and `latest_patches`. Groundwork for #7095 feedback-button routing redesign. Co-authored-by: Claude <noreply@anthropic.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Sven Rebhan <36194019+srebhan@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jakub Bednář <jakub.bednar@gmail.com> Co-authored-by: Daniel Campbell <metalwhirlwind@gmail.com> Co-authored-by: Claude <noreply@anthropic.com>
1 parent 13ab3c6 commit e0e4e23

363 files changed

Lines changed: 674 additions & 373 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.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Lockfile Lint
2+
3+
# Prevents lockfile injection attacks by validating that every `resolved`
4+
# URL in yarn.lock uses HTTPS and points to a trusted registry host
5+
# (registry.yarnpkg.com). See:
6+
# https://github.com/lirantal/lockfile-lint
7+
8+
on:
9+
pull_request:
10+
paths:
11+
- 'yarn.lock'
12+
13+
permissions:
14+
contents: read
15+
16+
jobs:
17+
lockfile-lint:
18+
name: Validate yarn.lock
19+
runs-on: ubuntu-latest
20+
steps:
21+
- name: Checkout repository
22+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
23+
with:
24+
persist-credentials: false
25+
sparse-checkout: |
26+
yarn.lock
27+
sparse-checkout-cone-mode: false
28+
29+
- name: Setup Node.js
30+
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
31+
with:
32+
node-version: '22'
33+
34+
- name: Run lockfile-lint
35+
run: |
36+
npx --yes lockfile-lint@5.0.0 \
37+
--path yarn.lock \
38+
--type yarn \
39+
--allowed-hosts yarn \
40+
--validate-https

PLAN.md

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
# Plan: npm Supply-Chain Security — Lockfile Lint
2+
3+
## Goal
4+
5+
Add a PR check that validates `yarn.lock` against trusted registries,
6+
preventing lockfile injection attacks (modified `resolved` URLs pointing
7+
to attacker-controlled hosts).
8+
9+
## Scope decisions
10+
11+
| Decision | Choice | Rationale |
12+
|----------|--------|-----------|
13+
| Scope | Lockfile-lint only | See "Cooldown abandoned" below |
14+
| Dependabot | Skip — handled at org level | Already configured organization-wide |
15+
| Enforcement | PR check (GitHub Actions) | Cannot be bypassed; no local friction |
16+
| Workflow style | Dedicated `pr-lockfile-lint.yml` | Separate concern, separate trigger path |
17+
| lockfile-lint install | `npx` with pinned version | Zero new dependencies in `package.json` |
18+
| Pinned version | `lockfile-lint@5.0.0` | Latest stable, published with provenance via GitHub Actions OIDC |
19+
20+
## Cooldown abandoned (originally Step 1)
21+
22+
The original plan included adding `.npmrc` with `min-release-age=3`.
23+
Dropped after verification revealed two independent reasons it provides
24+
zero runtime protection to this repo today:
25+
26+
1. **Yarn Classic v1 ignores the setting.** Yarn Classic was frozen in
27+
early 2022; npm CLI 11.10.0 added `min-release-age` in late 2025.
28+
Yarn Classic reads `.npmrc` only for registry URL and auth tokens,
29+
not arbitrary npm resolution config. Verified empirically — `yarn
30+
install --frozen-lockfile` runs cleanly with `.npmrc` present and
31+
silently ignores the key.
32+
33+
2. **Node 22.x bundles npm 10.9.7** (verified from `deps/npm/package.json`
34+
on the `v22.x` branch of `nodejs/node`). The one workflow in this repo
35+
that uses `npm install` (`auto-label.yml`) pins `node-version: '22'`,
36+
so even if it did use an `.npmrc`, the bundled npm is too old to
37+
understand `min-release-age`. Node 24.x ships npm 11.11.0 and would
38+
work, but upgrading `auto-label.yml` is out of scope for this PR.
39+
40+
Real cooldown protection for this repo requires migrating away from
41+
Yarn Classic. Tracked separately — see "Follow-up: pnpm migration".
42+
43+
## Steps
44+
45+
### Step 1: Create `pr-lockfile-lint.yml` workflow
46+
47+
Create `.github/workflows/pr-lockfile-lint.yml` that:
48+
49+
- Triggers on PRs that modify `yarn.lock`
50+
- Checks out the repo (no auth, shallow)
51+
- Runs `npx --yes lockfile-lint@5.0.0` against `yarn.lock`
52+
- Validates: all resolved URLs use HTTPS and resolve to
53+
`registry.yarnpkg.com` (the `yarn` alias)
54+
- Fails the check if any URL is non-HTTPS or points to an untrusted host
55+
56+
### Step 2: Verify
57+
58+
- Baseline check: `grep 'resolved ' yarn.lock | grep -v 'https://registry.yarnpkg.com/'`
59+
currently returns zero matches (802 entries, all clean). The first
60+
run of the check must pass.
61+
- `actionlint` validates workflow syntax.
62+
- Open this PR; confirm the `Lockfile Lint` check appears and passes.
63+
64+
## Follow-up: pnpm migration (separate PR)
65+
66+
Real cooldown protection — plus several additional security benefits —
67+
requires migrating from Yarn Classic to pnpm. Tracked separately.
68+
Summary of what pnpm provides that Yarn Classic does not:
69+
70+
- **First-class `minimumReleaseAge` cooldown** with exclude list support
71+
- **Post-install scripts disabled by default** (explicit allowlist via
72+
`onlyBuiltDependencies`)
73+
- **`trustPolicy: no-downgrade`** — detects when a package's publish-time
74+
trust level decreases (e.g., previously via GitHub Actions OIDC,
75+
now without provenance)
76+
- **Stricter peer dependency resolution** (catches latent issues)
77+
- **Faster installs** via content-addressable store
78+
- **Drop-in compatible** with this PR's `lockfile-lint` check
79+
80+
Migration scope for docs-v2 (single-package repo, no workspaces):
81+
82+
- 14 workflow files: `yarn install --frozen-lockfile``pnpm install --frozen-lockfile`
83+
- Lockfile: `yarn.lock``pnpm-lock.yaml` (regenerated fresh)
84+
- New config: `pnpm-workspace.yaml` (optional but needed for cooldown/trust config)
85+
- Developer onboarding: `corepack enable` (built into Node 16+)
86+
- Risk: stricter peer deps may surface latent issues; mitigated by
87+
running full test suite before merge
88+
89+
## Out of scope (future work)
90+
91+
### Medium priority
92+
93+
- **Add `lint:lockfile` to lefthook pre-push** — local enforcement as
94+
belt-and-suspenders alongside the PR check. Skippable with
95+
`LEFTHOOK=0`, so lower priority than CI.
96+
- **Pin version ranges** — replace `^` and `>=` with exact versions for
97+
production dependencies in `package.json`. High churn, moderate risk
98+
reduction.
99+
100+
### Low priority
101+
102+
- **Install npq or sfw globally** — document recommended developer
103+
machine hardening for ad-hoc `npm install` commands.
104+
- **Document the postinstall exemption** — explain in CONTRIBUTING or
105+
CLAUDE.md why `--ignore-scripts` cannot be used globally (the repo's
106+
`postinstall` script sets up the `docs` CLI).

content/chronograf/v1/about_the_project/release-notes.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,16 @@ aliases:
1010
- /chronograf/v1/about_the_project/release-notes-changelog/
1111
---
1212

13+
## v1.11.1 {date="2026-04-15"}
14+
15+
- Adds support for Darwin arm64.
16+
17+
### Maintenance updates
18+
19+
- Various security updates.
20+
- Upgrade Go to 1.25.8.
21+
- Upgrade Flux to 0.200.
22+
1323
## v1.11.0 {date="2026-02-19"}
1424

1525
> [!Warning]

content/telegraf/v1/aggregator-plugins/basicstats/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ introduced: "v1.5.0"
1010
os_support: "freebsd, linux, macos, solaris, windows"
1111
related:
1212
- /telegraf/v1/configure_plugins/
13-
- https://github.com/influxdata/telegraf/tree/v1.38.2/plugins/aggregators/basicstats/README.md, Basic Statistics Plugin Source
13+
- https://github.com/influxdata/telegraf/tree/v1.38.3/plugins/aggregators/basicstats/README.md, Basic Statistics Plugin Source
1414
---
1515

1616
# Basic Statistics Aggregator Plugin

content/telegraf/v1/aggregator-plugins/derivative/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ introduced: "v1.18.0"
1010
os_support: "freebsd, linux, macos, solaris, windows"
1111
related:
1212
- /telegraf/v1/configure_plugins/
13-
- https://github.com/influxdata/telegraf/tree/v1.38.2/plugins/aggregators/derivative/README.md, Derivative Plugin Source
13+
- https://github.com/influxdata/telegraf/tree/v1.38.3/plugins/aggregators/derivative/README.md, Derivative Plugin Source
1414
---
1515

1616
# Derivative Aggregator Plugin

content/telegraf/v1/aggregator-plugins/final/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ introduced: "v1.11.0"
1010
os_support: "freebsd, linux, macos, solaris, windows"
1111
related:
1212
- /telegraf/v1/configure_plugins/
13-
- https://github.com/influxdata/telegraf/tree/v1.38.2/plugins/aggregators/final/README.md, Final Plugin Source
13+
- https://github.com/influxdata/telegraf/tree/v1.38.3/plugins/aggregators/final/README.md, Final Plugin Source
1414
---
1515

1616
# Final Aggregator Plugin

content/telegraf/v1/aggregator-plugins/histogram/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ introduced: "v1.4.0"
1010
os_support: "freebsd, linux, macos, solaris, windows"
1111
related:
1212
- /telegraf/v1/configure_plugins/
13-
- https://github.com/influxdata/telegraf/tree/v1.38.2/plugins/aggregators/histogram/README.md, Histogram Plugin Source
13+
- https://github.com/influxdata/telegraf/tree/v1.38.3/plugins/aggregators/histogram/README.md, Histogram Plugin Source
1414
---
1515

1616
# Histogram Aggregator Plugin

content/telegraf/v1/aggregator-plugins/merge/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ introduced: "v1.13.0"
1010
os_support: "freebsd, linux, macos, solaris, windows"
1111
related:
1212
- /telegraf/v1/configure_plugins/
13-
- https://github.com/influxdata/telegraf/tree/v1.38.2/plugins/aggregators/merge/README.md, Merge Plugin Source
13+
- https://github.com/influxdata/telegraf/tree/v1.38.3/plugins/aggregators/merge/README.md, Merge Plugin Source
1414
---
1515

1616
# Merge Aggregator Plugin

content/telegraf/v1/aggregator-plugins/minmax/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ introduced: "v1.1.0"
1010
os_support: "freebsd, linux, macos, solaris, windows"
1111
related:
1212
- /telegraf/v1/configure_plugins/
13-
- https://github.com/influxdata/telegraf/tree/v1.38.2/plugins/aggregators/minmax/README.md, Minimum-Maximum Plugin Source
13+
- https://github.com/influxdata/telegraf/tree/v1.38.3/plugins/aggregators/minmax/README.md, Minimum-Maximum Plugin Source
1414
---
1515

1616
# Minimum-Maximum Aggregator Plugin

content/telegraf/v1/aggregator-plugins/quantile/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ introduced: "v1.18.0"
1010
os_support: "freebsd, linux, macos, solaris, windows"
1111
related:
1212
- /telegraf/v1/configure_plugins/
13-
- https://github.com/influxdata/telegraf/tree/v1.38.2/plugins/aggregators/quantile/README.md, Quantile Plugin Source
13+
- https://github.com/influxdata/telegraf/tree/v1.38.3/plugins/aggregators/quantile/README.md, Quantile Plugin Source
1414
---
1515

1616
# Quantile Aggregator Plugin

0 commit comments

Comments
 (0)