|
2 | 2 | "$comment": [ |
3 | 3 | "Every upstream this repo tracks, in three groups.", |
4 | 4 | "", |
5 | | - "`vendored` are submodules whose pin has no sync workflow of its own. Their pin", |
6 | | - "is the gitlink in git, not a field here, so it has one source of truth; the entry", |
7 | | - "records which branch to compare against and what a bump affects. `motoko` and", |
8 | | - "`internetidentity` are absent on purpose: sync-motoko.yml and sync-ii-spec.yml", |
9 | | - "already check for a new release and open the bump PR themselves.", |
10 | | - "", |
11 | 5 | "`watched` are repos where a release can silently invalidate a lot of published", |
12 | 6 | "content, so they get a pinned ref and a weekly issue when they move. Verify", |
13 | 7 | "claims against the pinned ref, not against main, so a review is reproducible.", |
14 | 8 | "", |
| 9 | + "`vendored` are submodules whose pin has no sync workflow of its own. Their pin", |
| 10 | + "is the gitlink, so git stays the single source of truth. `motoko` and", |
| 11 | + "`internetidentity` are absent on purpose: sync-motoko.yml and sync-ii-spec.yml", |
| 12 | + "already release-check and open the bump PR themselves.", |
| 13 | + "", |
15 | 14 | "`reference` are repos the docs draw on too lightly to be worth a weekly issue:", |
16 | 15 | "each `why` records the footprint that decided it. They carry no pin. Verify", |
17 | | - "against the latest release on demand; the surface is small enough that the next", |
18 | | - "edit to those pages catches any drift. Promote one to `watched` if its footprint", |
19 | | - "grows.", |
| 16 | + "against the latest release on demand. Promote one if that changes.", |
20 | 17 | "", |
21 | | - "scripts/check-upstream-releases.mjs checks `vendored` and `watched` only, and", |
| 18 | + "scripts/check-upstream-releases.mjs checks `watched` and `vendored`, and", |
22 | 19 | ".github/workflows/upstream-releases.yml opens an issue per repo that moved.", |
23 | 20 | "See AGENTS.md 'Source material' and .agents/upstream-tracking.md.", |
24 | 21 | "", |
25 | 22 | "Fields (watched):", |
26 | 23 | " repo owner/name on GitHub", |
| 24 | + " name optional, when one repo releases several things independently", |
27 | 25 | " pinned the ref docs are currently verified against", |
28 | 26 | " track where releases appear: 'release' (git tags matching tagPattern),", |
29 | 27 | " 'crate' (crates.io, needs `crate`), 'npm' (npm registry, needs", |
30 | | - " `package`), or 'commit' (no releases; the default branch head).", |
31 | | - " Entries in `vendored` use 'branch' and name the branch instead.", |
| 28 | + " `package`), or 'commit' (no releases; the default branch head)", |
32 | 29 | " tagPattern anchored JS regex selecting the tags that count as a release", |
33 | 30 | " verify file whose diff between the two refs is the review payload", |
34 | 31 | " affects what to re-check in docs/ when this moves", |
35 | | - " reference authoritative published docs for the topic" |
| 32 | + " reference authoritative published docs for the topic, deliberately the", |
| 33 | + " living version rather than a pinned one: an issue exists because a", |
| 34 | + " NEW release shipped, so a maintainer opening it wants the docs for", |
| 35 | + " that release, not for the version being replaced. This is why the", |
| 36 | + " icp-cli entry uses the bare root while AGENTS.md requires a", |
| 37 | + " versioned slug in docs/ pages, and why every other entry here", |
| 38 | + " points at docs.rs/latest, mops.one, js.icp.build or a branch.", |
| 39 | + "", |
| 40 | + "Fields (vendored): path, repo, track 'branch', branch, affects, and an optional", |
| 41 | + "pathFilter. 'snippets' reports only when the range touched a file quoted by a", |
| 42 | + "`snippet=` in docs/, so an unrelated commit on an active repo stays silent." |
36 | 43 | ], |
37 | 44 | "vendored": [ |
38 | 45 | { |
39 | 46 | "path": ".sources/examples", |
40 | 47 | "repo": "dfinity/examples", |
41 | 48 | "track": "branch", |
42 | 49 | "branch": "master", |
43 | | - "affects": "Every `snippet=` path and `#region` marker resolved at build time by plugins/remark-snippet.mjs. A renamed region is a build error, so verify each one after bumping." |
| 50 | + "pathFilter": "snippets", |
| 51 | + "affects": "Bump the submodule and re-read the affected pages: the example moved on, so the code the docs quote is behind. The build already fails if a `snippet=` path or `#region` marker stops resolving, so this reports the case the build cannot see, an example that changed while still resolving.", |
| 52 | + "reference": "https://github.com/dfinity/examples" |
44 | 53 | } |
45 | 54 | ], |
46 | 55 | "watched": [ |
47 | 56 | { |
48 | 57 | "repo": "dfinity/icp-cli", |
49 | | - "pinned": "v1.1.0", |
| 58 | + "pinned": "v1.3.0", |
50 | 59 | "track": "release", |
51 | 60 | "tagPattern": "^v\\d+\\.\\d+\\.\\d+$", |
52 | 61 | "verify": "docs/reference/cli.md", |
53 | | - "affects": "Every `icp` command and flag in docs/. A new minor also moves the cli.internetcomputer.org link slug (AGENTS.md 'Linking rules'). NOTE: the doc links were moved to the 1.3 slug in #354, but the commands themselves were last verified against v1.1.0, so the first bump of this pin carries that verification pass.", |
| 62 | + "affects": "Every `icp` command and flag in docs/. A new minor also moves the cli.internetcomputer.org link slug (AGENTS.md 'Linking rules'), so check the slug procedure in .agents/upstream-tracking.md when the minor changes.", |
54 | 63 | "reference": "https://cli.internetcomputer.org/" |
55 | 64 | }, |
56 | 65 | { |
57 | 66 | "repo": "dfinity/motoko-core", |
58 | | - "pinned": "v2.4.0", |
| 67 | + "pinned": "v2.6.1", |
59 | 68 | "track": "release", |
60 | 69 | "tagPattern": "^v\\d+\\.\\d+\\.\\d+$", |
61 | 70 | "affects": "Every `mo:core` import and API signature in Motoko code blocks.", |
|
64 | 73 | }, |
65 | 74 | { |
66 | 75 | "repo": "dfinity/cdk-rs", |
67 | | - "pinned": "0.20.1", |
| 76 | + "pinned": "0.20.2", |
68 | 77 | "track": "crate", |
69 | 78 | "crate": "ic-cdk", |
70 | 79 | "affects": "`ic-cdk` APIs in Rust code blocks. The repo stopped tagging releases (its newest bare-semver tag is two minors behind the published crate), so the crate version on crates.io is the release identity. Read the sections newer than the pin in https://github.com/dfinity/cdk-rs/blob/master/ic-cdk/CHANGELOG.md, then grep docs/ for the symbols they name. `ic-cdk-timers` and `ic-cdk-executor` version separately; check whether they moved too.", |
71 | 80 | "reference": "https://docs.rs/ic-cdk/latest/ic_cdk/" |
72 | 81 | }, |
73 | 82 | { |
74 | 83 | "repo": "dfinity/icp-js-core", |
75 | | - "pinned": "v5.4.0", |
| 84 | + "pinned": "v6.1.0", |
76 | 85 | "track": "release", |
77 | 86 | "tagPattern": "^v\\d+\\.\\d+\\.\\d+$", |
78 | 87 | "verify": "CHANGELOG.md", |
|
81 | 90 | }, |
82 | 91 | { |
83 | 92 | "repo": "dfinity/icp-js-canisters", |
84 | | - "pinned": "3.5.0", |
| 93 | + "pinned": "3.6.0", |
85 | 94 | "track": "npm", |
86 | 95 | "package": "@icp-sdk/canisters", |
87 | 96 | "affects": "`@icp-sdk/canisters` APIs, notably `AssetManager` in references/application-canisters.md and guides/frontends/asset-canister.md, which states a minimum of 3.5.0. This repo's semver tags lag its published versions, so npm is the release signal. Changelog: https://github.com/dfinity/icp-js-canisters/blob/main/CHANGELOG.md", |
|
90 | 99 | { |
91 | 100 | "repo": "dfinity/icp-cli-recipes", |
92 | 101 | "name": "asset-canister", |
93 | | - "pinned": "asset-canister-v2.2.1", |
| 102 | + "pinned": "asset-canister-v2.3.0", |
94 | 103 | "track": "release", |
95 | 104 | "tagPattern": "^asset-canister-v\\d+\\.\\d+\\.\\d+$", |
96 | 105 | "affects": "Cited in 10 places across docs/, including references/application-canisters.md and guides/frontends/asset-canister.md. The legacy frontend recipe; static-site supersedes it. Each recipe in this repo tags and releases on its own prefix, so it gets its own entry: a single pattern across prefixes would compare `rust-` against `static-site-` textually and only ever surface one of them.", |
|
108 | 117 | { |
109 | 118 | "repo": "dfinity/icp-cli-recipes", |
110 | 119 | "name": "rust", |
111 | | - "pinned": "rust-v3.3.0", |
| 120 | + "pinned": "rust-v3.4.0", |
112 | 121 | "track": "release", |
113 | 122 | "tagPattern": "^rust-v\\d+\\.\\d+\\.\\d+$", |
114 | 123 | "affects": "Cited in 6 places as the Rust canister recipe in icp.yaml examples. Each recipe in this repo tags and releases on its own prefix, so it gets its own entry: a single pattern across prefixes would compare `rust-` against `static-site-` textually and only ever surface one of them.", |
|
117 | 126 | { |
118 | 127 | "repo": "dfinity/icp-cli-recipes", |
119 | 128 | "name": "motoko", |
120 | | - "pinned": "motoko-v5.0.0", |
| 129 | + "pinned": "motoko-v5.1.0", |
121 | 130 | "track": "release", |
122 | 131 | "tagPattern": "^motoko-v\\d+\\.\\d+\\.\\d+$", |
123 | 132 | "affects": "Cited in 3 places as the Motoko canister recipe in icp.yaml examples. Each recipe in this repo tags and releases on its own prefix, so it gets its own entry: a single pattern across prefixes would compare `rust-` against `static-site-` textually and only ever surface one of them.", |
|
126 | 135 | { |
127 | 136 | "repo": "dfinity/icp-cli-recipes", |
128 | 137 | "name": "prebuilt", |
129 | | - "pinned": "prebuilt-v2.0.0", |
| 138 | + "pinned": "prebuilt-v2.1.0", |
130 | 139 | "track": "release", |
131 | 140 | "tagPattern": "^prebuilt-v\\d+\\.\\d+\\.\\d+$", |
132 | 141 | "affects": "Cited once, in guides/canister-management/reproducible-builds.md. Each recipe in this repo tags and releases on its own prefix, so it gets its own entry: a single pattern across prefixes would compare `rust-` against `static-site-` textually and only ever surface one of them.", |
|
0 commit comments