From 3a676cd63cf446d21a2f32fae07bfb61a19dfad0 Mon Sep 17 00:00:00 2001 From: mbaj Date: Thu, 16 Jul 2026 14:59:15 -0400 Subject: [PATCH 01/10] SSR 7.0.5 release notes as well as improvements to release-note-generation prompt --- .../prompts/generate-release-notes.prompt.md | 74 ++++- docs/release_notes_128t_7.0.md | 296 ++++++++++++++++++ scripts/release-notes/assemble-section.js | 195 ++++++++++++ scripts/release-notes/categorize.js | 146 +++++++++ scripts/release-notes/collect-cves.js | 106 +++++++ .../release-notes/find-existing-entries.js | 150 +++++++++ scripts/release-notes/insert-section.js | 114 +++++++ 7 files changed, 1080 insertions(+), 1 deletion(-) create mode 100644 scripts/release-notes/assemble-section.js create mode 100644 scripts/release-notes/categorize.js create mode 100644 scripts/release-notes/collect-cves.js create mode 100644 scripts/release-notes/find-existing-entries.js create mode 100644 scripts/release-notes/insert-section.js diff --git a/.github/prompts/generate-release-notes.prompt.md b/.github/prompts/generate-release-notes.prompt.md index 1696343b522..63d8996f2f3 100644 --- a/.github/prompts/generate-release-notes.prompt.md +++ b/.github/prompts/generate-release-notes.prompt.md @@ -18,12 +18,47 @@ Ask for the following if not provided: 4. **Mode** — `generate` (create a new release notes file or section) or `update` (add new issues to an existing release notes section). If the output file already exists and contains the target version heading, infer `update` mode unless the user explicitly requests `generate`. 5. **Target release section** *(update mode only)* — the specific `## Release ` heading to update (e.g., `## Release 7.1.6-r2`). Required when mode is `update`. +## Helper Scripts + +Reusable Node.js scripts live in `scripts/release-notes/`. These handle mechanical data transformations so the agent can focus on AI-dependent synthesis. All scripts accept `--help` for usage details. + +| Script | Purpose | Invoked In | +|--------|---------|------------| +| `categorize.js` | Categorize JQL results into CVE / Feature / Caveat / Resolved | Step 1 | +| `find-existing-entries.js` | Search existing release notes for reusable entry text | Step 2.0 | +| `collect-cves.js` | Extract and sort all unique CVE identifiers | Step 5 | +| `assemble-section.js` | Combine entries + CVEs into a complete markdown section | Step 5 | +| `insert-section.js` | Insert the assembled section into the target file | Step 6 | + +All scripts use file-based I/O. Save intermediate data to `/tmp/rn-*` files. + ## Workflow +### Step 0 — Verify MCP Servers Are Running + +Before starting any work, confirm that both required MCP servers are available: + +1. **JIRA MCP** — Call `mcp_ssr-jira-mcp_get_issue` with a known issue key (e.g., `I95-1`) or any lightweight JIRA MCP tool. If the call fails or times out, stop. +2. **GitHub MCP** — Call `mcp_github_mcp_se_get_me` to verify the GitHub MCP server is reachable. If the call fails or times out, stop. + +If **either** server is not running, halt immediately and inform the user: + +> "The release notes workflow requires both the **SSR JIRA MCP** and **GitHub MCP** servers to be running. Please start the missing server(s) and re-run this prompt." + +Do NOT proceed to Step 1 until both checks pass. + ### Step 1 — Fetch Issues Run the provided JQL query using the SSR JIRA MCP tools. Collect all returned issues. If the JQL query returns zero issues, inform the user and ask them to verify the query or version labels before proceeding. +After fetching, save the raw JQL results JSON to `/tmp/rn-jql-results.json`, then run: + +```bash +node scripts/release-notes/categorize.js --input /tmp/rn-jql-results.json --output /tmp/rn-categorized.json +``` + +This produces a categorized breakdown. Use the output to identify which issues are CVEs (grouped automatically), features, caveats, and resolved issues. + ### Step 1.5 — Diff Against Existing Notes (Update Mode Only) Skip this step entirely if mode is `generate`. @@ -43,7 +78,13 @@ For each issue identified as needing processing: - In **generate** mode: all issues returned by the JQL query. - In **update** mode: only the **new issues** identified in Step 1.5. -0. **Check for existing release-note language first.** Search the existing release notes under [docs/](../../docs/) (for example, `release_notes_128t_*.md`) for the issue key (e.g., `I95-12345`, `WAN-1234`). If a prior entry for that issue exists in a *different* release section or file, reuse its title and description verbatim and **skip Steps 2.1, 3, and 4** for that issue — do not call the JIRA or GitHub MCP tools for it. Only continue with the steps below if no prior entry exists anywhere. +0. **Check for existing release-note language first.** Write the non-CVE issue keys (features + caveats + resolved from `/tmp/rn-categorized.json`) to `/tmp/rn-non-cve-keys.txt` (one per line), then run: + +```bash +node scripts/release-notes/find-existing-entries.js --keys /tmp/rn-non-cve-keys.txt --found /tmp/rn-found-entries.json --not-found /tmp/rn-needs-entries.txt +``` + +Issues listed in `/tmp/rn-found-entries.json` already have reusable entry text — skip Steps 2.1, 3, and 4 for those. Only process issues listed in `/tmp/rn-needs-entries.txt` through the steps below. 1. Read the JIRA issue and collect all available context: - **Summary** (title) - **Description** (full body, often contains root cause and fix details) @@ -88,6 +129,27 @@ Do not copy any single source verbatim. Synthesize all inputs into one clear, co Use the format from [docs/release_notes_128t_7.1.md](../../docs/release_notes_128t_7.1.md) as the template. +#### Using helper scripts for assembly + +After synthesizing new entries (Step 4), save them as a JSON mapping to `/tmp/rn-new-entries.json` (format: `{ "KEY": "- **KEY title:** description" }`). Then run: + +```bash +# Collect CVEs +node scripts/release-notes/collect-cves.js --input /tmp/rn-jql-results.json --output /tmp/rn-cves.txt + +# Assemble the section +node scripts/release-notes/assemble-section.js \ + --found /tmp/rn-found-entries.json \ + --new /tmp/rn-new-entries.json \ + --cves /tmp/rn-cves.txt \ + --version "" \ + --date "" \ + --features "" \ + --output /tmp/rn-section.md +``` + +Review the output in `/tmp/rn-section.md` before inserting. + #### Update mode — merge new entries into the existing section When mode is `update`, do NOT regenerate the document from scratch. Instead: @@ -159,6 +221,16 @@ If Step 1.5 identified any **stale issues** (entries in the existing section tha ### Step 6 — Review and Save +To insert the assembled section into the target file, run: + +```bash +# Insert before an existing section (newer versions go first) +node scripts/release-notes/insert-section.js --file --section /tmp/rn-section.md --before "## Release " + +# Or append to end of file if no later section exists +node scripts/release-notes/insert-section.js --file --section /tmp/rn-section.md --append +``` + **Generate mode:** Present the complete draft for review. After approval, save to the specified output file. **Update mode:** Present a summary that includes: diff --git a/docs/release_notes_128t_7.0.md b/docs/release_notes_128t_7.0.md index 3651d97ad8a..2094b616338 100644 --- a/docs/release_notes_128t_7.0.md +++ b/docs/release_notes_128t_7.0.md @@ -64,6 +64,302 @@ An issue has been identified that may be observed in conductor deployments runni An issue has been identified when onboarding SSR routers installed with older versions of software (such as 5.4.4) to Conductors running 6.3.x, when running in offline-mode. In some cases, certain software packages are not available to be installed during onboarding. To work around this issue, import the **package-based** (the "128T" prefixed) ISO for the current conductor version onto the conductor. This provides the necessary software packages to complete the onboarding process. This issue will be resolved in a future release. +## Release 7.0.5-lts + +**Release Date:** July 23, 2026 + +### New Features + +- **I95-26081 Display negotiated BFD Interval:** The command `show peers bfd-interval` has been added to display the negotiated bfd-interval in three columns, `Rx Timer`, `Tx Timer`, and `Multiplier`. See [Negotiated BFD Intervals](howto_tune_bfd.md#negotiated-bfd-intervals) for more information. +------ +- **I95-55746 Connection to Mist via proxy server/Support Mist Secure ZTP Onboarding:** Support has been added to allow a connection to a public URL or to MIST using an explicit proxy and a private web proxy. See [Proxy Server Configuration](config_proxy_server.md) for information to configure the SSR to identify and use the non-transparent proxy. For information about the secure ztp process using Mist, see [Secure ZTP Onboarding Using a Mist Proxy](sec-ztp-web-proxy.md). +------ +- **I95-59235 HTTP/S proxy server for all public URLs:** Support has been added to allow a connection to a public URL or to MIST using an explicit proxy and a private web proxy. See [Proxy Server Configuration](config_proxy_server.md) for information to configure the SSR to identify and use the non-transparent proxy. This process can also be used to support the [Mist secure ZTP onboarding](sec-ztp-web-proxy.md) process. +------ +- **I95-63012 AppID Scale Optimization:** Improved application identification performance and scale for WAN deployments. Optimizations reduce resource consumption on spoke routers where application identification is enabled by default, improving capacity under high traffic loads. +------ +- **I95-63604 GUI import/export config only shows uncompressed size:** Resolved an issue where the GUI import and export operations were only showing the uncompressed side of the configuration. Both the compressed and uncompressed size are now shown in the UI. +------ +- **I95-63985 VRRP Non-revertive Active/Active Recovery:** Added support for VRRP to automatically revert from an active/active state back to active/standby when the underlying Layer 2 connectivity is restored, without requiring manual intervention such as priority changes or interface flaps. +------ +- **I95-65332 BGP Authentication with MD5 in FIPS Mode:** BGP and MSDP now support TCP MD5 authentication when the system is operating in FIPS mode. Previously, enabling FIPS mode prevented BGP authentication from functioning. + +### Resolved Issues + +- **The following CVEs have been identified and resolved in this release:** CVE-2018-10906, CVE-2018-14468, CVE-2020-11023, CVE-2021-28651, CVE-2021-47670, CVE-2022-25883, CVE-2022-49058, CVE-2022-49111, CVE-2022-49136, CVE-2022-49788, CVE-2022-49846, CVE-2022-49977, CVE-2022-49985, CVE-2022-50020, CVE-2022-50087, CVE-2022-50228, CVE-2022-50367, CVE-2022-50386, CVE-2022-50543, CVE-2023-26604, CVE-2023-31484, CVE-2023-40403, CVE-2023-49083, CVE-2023-52572, CVE-2023-52621, CVE-2023-52757, CVE-2023-53125, CVE-2023-53178, CVE-2023-53226, CVE-2023-53257, CVE-2023-53297, CVE-2023-53305, CVE-2023-53386, CVE-2023-53401, CVE-2023-53513, CVE-2023-53539, CVE-2024-5642, CVE-2024-6174, CVE-2024-12086, CVE-2024-12087, CVE-2024-23337, CVE-2024-26686, CVE-2024-26739, CVE-2024-26952, CVE-2024-27402, CVE-2024-28956, CVE-2024-34459, CVE-2024-35790, CVE-2024-35866, CVE-2024-35867, CVE-2024-35943, CVE-2024-36350, CVE-2024-36357, CVE-2024-36908, CVE-2024-38540, CVE-2024-38541, CVE-2024-42160, CVE-2024-42322, CVE-2024-43876, CVE-2024-43877, CVE-2024-44938, CVE-2024-46742, CVE-2024-46751, CVE-2024-46774, CVE-2024-46784, CVE-2024-46816, CVE-2024-47252, CVE-2024-49960, CVE-2024-49989, CVE-2024-50047, CVE-2024-50125, CVE-2024-50154, CVE-2024-50258, CVE-2024-50272, CVE-2024-50280, CVE-2024-53128, CVE-2024-53185, CVE-2024-53203, CVE-2024-54458, CVE-2024-56326, CVE-2024-56551, CVE-2024-56599, CVE-2024-56644, CVE-2024-56655, CVE-2024-56658, CVE-2024-56751, CVE-2024-57980, CVE-2024-58002, CVE-2025-3576, CVE-2025-4802, CVE-2025-4945, CVE-2025-5278, CVE-2025-5318, CVE-2025-5987, CVE-2025-6020, CVE-2025-6021, CVE-2025-6069, CVE-2025-6075, CVE-2025-6176, CVE-2025-6395, CVE-2025-6965, CVE-2025-7425, CVE-2025-8058, CVE-2025-8194, CVE-2025-8291, CVE-2025-9086, CVE-2025-9230, CVE-2025-9714, CVE-2025-10911, CVE-2025-11021, CVE-2025-11083, CVE-2025-11187, CVE-2025-11561, CVE-2025-12084, CVE-2025-12748, CVE-2025-13151, CVE-2025-13601, CVE-2025-13699, CVE-2025-14087, CVE-2025-14104, CVE-2025-14512, CVE-2025-14523, CVE-2025-15467, CVE-2025-15468, CVE-2025-15469, CVE-2025-21681, CVE-2025-21727, CVE-2025-21759, CVE-2025-21839, CVE-2025-21853, CVE-2025-21905, CVE-2025-21919, CVE-2025-21928, CVE-2025-21991, CVE-2025-22004, CVE-2025-22020, CVE-2025-22026, CVE-2025-22027, CVE-2025-22058, CVE-2025-22062, CVE-2025-22097, CVE-2025-23048, CVE-2025-23140, CVE-2025-23142, CVE-2025-23143, CVE-2025-23144, CVE-2025-23145, CVE-2025-23146, CVE-2025-23147, CVE-2025-23148, CVE-2025-23150, CVE-2025-23151, CVE-2025-23156, CVE-2025-23157, CVE-2025-23158, CVE-2025-23159, CVE-2025-23161, CVE-2025-23163, CVE-2025-30749, CVE-2025-30754, CVE-2025-30761, CVE-2025-32414, CVE-2025-32415, CVE-2025-32462, CVE-2025-32988, CVE-2025-32989, CVE-2025-32990, CVE-2025-37738, CVE-2025-37739, CVE-2025-37740, CVE-2025-37741, CVE-2025-37742, CVE-2025-37749, CVE-2025-37752, CVE-2025-37756, CVE-2025-37757, CVE-2025-37758, CVE-2025-37765, CVE-2025-37766, CVE-2025-37767, CVE-2025-37768, CVE-2025-37770, CVE-2025-37771, CVE-2025-37773, CVE-2025-37780, CVE-2025-37781, CVE-2025-37787, CVE-2025-37788, CVE-2025-37789, CVE-2025-37790, CVE-2025-37792, CVE-2025-37794, CVE-2025-37796, CVE-2025-37797, CVE-2025-37803, CVE-2025-37805, CVE-2025-37808, CVE-2025-37810, CVE-2025-37812, CVE-2025-37817, CVE-2025-37819, CVE-2025-37823, CVE-2025-37824, CVE-2025-37829, CVE-2025-37830, CVE-2025-37836, CVE-2025-37838, CVE-2025-37839, CVE-2025-37840, CVE-2025-37841, CVE-2025-37844, CVE-2025-37850, CVE-2025-37857, CVE-2025-37858, CVE-2025-37859, CVE-2025-37862, CVE-2025-37867, CVE-2025-37875, CVE-2025-37881, CVE-2025-37883, CVE-2025-37885, CVE-2025-37890, CVE-2025-37892, CVE-2025-37905, CVE-2025-37909, CVE-2025-37911, CVE-2025-37913, CVE-2025-37914, CVE-2025-37915, CVE-2025-37923, CVE-2025-37927, CVE-2025-37929, CVE-2025-37930, CVE-2025-37940, CVE-2025-37949, CVE-2025-37967, CVE-2025-37969, CVE-2025-37970, CVE-2025-37982, CVE-2025-37983, CVE-2025-37985, CVE-2025-37989, CVE-2025-37990, CVE-2025-37991, CVE-2025-37992, CVE-2025-37994, CVE-2025-37995, CVE-2025-37997, CVE-2025-37998, CVE-2025-38005, CVE-2025-38009, CVE-2025-38023, CVE-2025-38024, CVE-2025-38031, CVE-2025-38052, CVE-2025-38079, CVE-2025-38085, CVE-2025-38086, CVE-2025-38089, CVE-2025-38159, CVE-2025-38200, CVE-2025-38211, CVE-2025-38250, CVE-2025-38332, CVE-2025-38350, CVE-2025-38352, CVE-2025-38380, CVE-2025-38392, CVE-2025-38449, CVE-2025-38461, CVE-2025-38464, CVE-2025-38477, CVE-2025-38498, CVE-2025-38527, CVE-2025-38556, CVE-2025-38566, CVE-2025-38571, CVE-2025-38678, CVE-2025-38718, CVE-2025-38724, CVE-2025-39697, CVE-2025-39718, CVE-2025-39730, CVE-2025-39810, CVE-2025-39817, CVE-2025-39825, CVE-2025-39841, CVE-2025-39849, CVE-2025-39864, CVE-2025-39880, CVE-2025-39883, CVE-2025-39885, CVE-2025-39898, CVE-2025-39911, CVE-2025-39913, CVE-2025-39923, CVE-2025-39945, CVE-2025-39949, CVE-2025-39953, CVE-2025-39955, CVE-2025-39964, CVE-2025-39967, CVE-2025-39968, CVE-2025-39969, CVE-2025-39970, CVE-2025-39971, CVE-2025-39972, CVE-2025-39973, CVE-2025-39980, CVE-2025-39993, CVE-2025-39994, CVE-2025-39996, CVE-2025-39998, CVE-2025-40001, CVE-2025-40006, CVE-2025-40011, CVE-2025-40018, CVE-2025-40019, CVE-2025-40020, CVE-2025-40021, CVE-2025-40022, CVE-2025-40026, CVE-2025-40027, CVE-2025-40030, CVE-2025-40035, CVE-2025-40042, CVE-2025-40044, CVE-2025-40048, CVE-2025-40049, CVE-2025-40053, CVE-2025-40055, CVE-2025-40070, CVE-2025-40078, CVE-2025-40081, CVE-2025-40085, CVE-2025-40087, CVE-2025-40092, CVE-2025-40094, CVE-2025-40105, CVE-2025-40109, CVE-2025-40111, CVE-2025-40115, CVE-2025-40118, CVE-2025-40120, CVE-2025-40121, CVE-2025-40125, CVE-2025-40134, CVE-2025-40140, CVE-2025-40153, CVE-2025-40154, CVE-2025-40167, CVE-2025-40171, CVE-2025-40173, CVE-2025-40178, CVE-2025-40179, CVE-2025-40183, CVE-2025-40186, CVE-2025-40187, CVE-2025-40190, CVE-2025-40194, CVE-2025-40197, CVE-2025-40200, CVE-2025-40204, CVE-2025-40205, CVE-2025-40215, CVE-2025-40248, CVE-2025-40250, CVE-2025-40258, CVE-2025-40271, CVE-2025-40280, CVE-2025-40300, CVE-2025-40778, CVE-2025-45582, CVE-2025-47273, CVE-2025-48060, CVE-2025-48964, CVE-2025-49794, CVE-2025-49796, CVE-2025-49812, CVE-2025-49844, CVE-2025-50106, CVE-2025-53057, CVE-2025-53066, CVE-2025-53905, CVE-2025-53906, CVE-2025-54389, CVE-2025-54574, CVE-2025-58060, CVE-2025-58098, CVE-2025-58364, CVE-2025-58436, CVE-2025-61662, CVE-2025-61726, CVE-2025-61728, CVE-2025-61729, CVE-2025-61732, CVE-2025-61915, CVE-2025-61984, CVE-2025-61985, CVE-2025-62168, CVE-2025-64720, CVE-2025-65018, CVE-2025-65082, CVE-2025-66199, CVE-2025-66200, CVE-2025-66293, CVE-2025-66418, CVE-2025-66471, CVE-2025-67873, CVE-2025-68114, CVE-2025-68121, CVE-2025-68160, CVE-2025-68209, CVE-2025-68615, CVE-2025-68973, CVE-2025-69418, CVE-2025-69419, CVE-2025-69420, CVE-2025-69421, CVE-2026-0719, CVE-2026-0865, CVE-2026-1519, CVE-2026-1761, CVE-2026-1933, CVE-2026-2291, CVE-2026-2340, CVE-2026-3012, CVE-2026-3039, CVE-2026-3497, CVE-2026-3832, CVE-2026-3833, CVE-2026-4046, CVE-2026-4111, CVE-2026-4408, CVE-2026-4424, CVE-2026-4437, CVE-2026-4438, CVE-2026-4480, CVE-2026-4519, CVE-2026-4786, CVE-2026-4878, CVE-2026-4890, CVE-2026-4891, CVE-2026-4892, CVE-2026-4893, CVE-2026-5119, CVE-2026-5121, CVE-2026-5260, CVE-2026-5419, CVE-2026-5450, CVE-2026-5946, CVE-2026-6100, CVE-2026-6893, CVE-2026-7383, CVE-2026-9076, CVE-2026-9256, CVE-2026-21441, CVE-2026-21710, CVE-2026-22695, CVE-2026-22795, CVE-2026-22796, CVE-2026-22801, CVE-2026-23479, CVE-2026-23631, CVE-2026-25243, CVE-2026-25646, CVE-2026-25749, CVE-2026-26996, CVE-2026-27135, CVE-2026-27651, CVE-2026-27654, CVE-2026-27784, CVE-2026-27904, CVE-2026-28390, CVE-2026-28417, CVE-2026-28421, CVE-2026-28780, CVE-2026-28847, CVE-2026-28883, CVE-2026-28901, CVE-2026-28902, CVE-2026-28903, CVE-2026-28904, CVE-2026-28905, CVE-2026-28907, CVE-2026-28942, CVE-2026-28946, CVE-2026-28947, CVE-2026-28953, CVE-2026-28955, CVE-2026-28958, CVE-2026-29111, CVE-2026-29518, CVE-2026-31431, CVE-2026-32647, CVE-2026-32748, CVE-2026-33007, CVE-2026-33278, CVE-2026-33412, CVE-2026-33416, CVE-2026-33526, CVE-2026-33636, CVE-2026-33845, CVE-2026-33846, CVE-2026-33857, CVE-2026-34032, CVE-2026-34059, CVE-2026-34180, CVE-2026-34181, CVE-2026-34182, CVE-2026-34183, CVE-2026-34982, CVE-2026-35177, CVE-2026-35385, CVE-2026-35386, CVE-2026-35387, CVE-2026-35388, CVE-2026-35414, CVE-2026-35535, CVE-2026-37555, CVE-2026-39979, CVE-2026-40164, CVE-2026-40170, CVE-2026-40355, CVE-2026-40356, CVE-2026-40460, CVE-2026-40622, CVE-2026-40701, CVE-2026-41035, CVE-2026-41242, CVE-2026-41292, CVE-2026-41411, CVE-2026-42009, CVE-2026-42010, CVE-2026-42011, CVE-2026-42012, CVE-2026-42013, CVE-2026-42014, CVE-2026-42015, CVE-2026-42534, CVE-2026-42764, CVE-2026-42766, CVE-2026-42767, CVE-2026-42768, CVE-2026-42769, CVE-2026-42770, CVE-2026-42926, CVE-2026-42934, CVE-2026-42944, CVE-2026-42945, CVE-2026-42946, CVE-2026-42959, CVE-2026-43284, CVE-2026-43500, CVE-2026-43618, CVE-2026-43658, CVE-2026-43660, CVE-2026-44390, CVE-2026-44431, CVE-2026-44432, CVE-2026-44673, CVE-2026-45186, CVE-2026-45445, CVE-2026-45446, CVE-2026-45447, CVE-2026-46300, CVE-2026-46333 +------ +- **The following issues have been addressed and delivered to increase the overall security posture of the SSR:** I95-65017, I95-65018, I95-65021, I95-65026, I95-65030, I95-65033, I95-65039, I95-65054, I95-65055, I95-65080, I95-65205, I95-65210, I95-65211, I95-65217, I95-65219, I95-65221, I95-65225, I95-65226, I95-65228, I95-65236, I95-65237, I95-65238, I95-65239, I95-65247, I95-65249, I95-65297, I95-65677. +------ +- **I95-58007 Add ability to set PIM graceful restart-time:** The `routing default-instance pim restart-time` command has been added to allow users to define the number of seconds that the PIM protocol will perform `graceful-restart` after a node failure. This resolution addresses all the listed issues. For more information, see [PIM Graceful Restart Timer](config_multicast.md#pim-graceful-restart-timer). This also addresses I95-57702, I95-57906, I95-60637, and I95-60731. +------ +- **I95-60545 Attempting network interface lookup with invalid ID:** Resolved an issue where errors due to an invalid ID were flooding the logs. Error logs in highway regarding a failed interface lookup for an invalid interface are now suppressed. +------ +- **I95-60719 BGP routes take ~70 seconds to be withdrawn:** Resolved an issue where BGP route withdrawal after a WAN interface failure took approximately 70 seconds, causing extended multicast traffic outages during failover scenarios. +------ +- **I95-60799 Tenant prefix use within a VRF:** The SSR allows the configuration of tenant-prefixes without giving an error, and correctly handles interfaces with tenant-prefixes within the protocol code. +------ +- **I95-60912 PIM and PIMv6 cannot be enabled on the same interface:** Resolved an issue where enabling both PIM (IPv4) and PIMv6 on the same interface was not possible, preventing dual-stack multicast configurations. +------ +- **I95-61058 Peer paths fail when additional IPs are added to a WAN interface:** Resolved a case where adding a second address for use in nat-pools to a peering interface caused continuous bfd peer flaps. The SSR now handles address changes when the local IP address changes. +------ +- **I95-61075 BGP does not re-establish after firewall failover:** Resolved an issue where when initiating a BFD for BGP session, the cached MAC to IP mapping was being used. If the MAC address had changed, stale information was used and the BFD session would not be established. We now issue an ARP request to get the latest MAC Address. +------ +- **I95-61580 CLI does not prompt for required router restart:** Resolved an issue where making a configuration change requiring a restart only generates a warning only for the router that the PCLI is running on. Committing a configuration change that requires a restart now results in a warning even when the change is on a different router. +------ +- **I95-61588 Console access failures post-migration:** Resolved an issue where a lower baud rate was being used by the serial console, resulting in unreadable output. The check and enforcement for the 115200 baud rate has been improved. +------ +- **I95-62011 Stats from adjacency traffic engineering throw an exception when a hostname is used:** Resolved an issue where dynamic reconfiguration when adding neighbors/adjacencies that use an FQDN and have adjacency Traffic Engineering enabled, caused the device interface to reach a failure state. +------ +- **I95-62071 Multicast Traffic contributing to service area resource contention:** Resolved an issue when we have an mroute with no outgoing interfaces. We now use a Detour Path instead of NoServicePaths to prevent resource contention. +------ +- **I95-62179 Software Lifecycle History not up to date:** Resolved an issue where the software lifecycle page was not showing any history, or in some cases, the history was outdated. Internal functionality has been updated, and both the GUI and CLI outputs now show the correct information. +------ +- **I95-62258 Packet steered to egress non-existent interface causes highway crash:** Added logic to capture the errant packet and prevent the crash. An exception is logged so that the issue can be more easily rectified. +------ +- **I95-62343 Routers disconnecting from the Conductor while still successfully routing traffic:** Resolved an issue where Salt gets stuck with a bad network connection. Added new functionality to the `minion-watchdog` service which will restart the `salt-minion` if there is a salt job stuck for over an hour. +------ +- **I95-62369 Session error record shows 0s for session-id:** Resolved an issue where the session record information was incomplete. The SSR now also uses the redundancy session data to gather records. +------ +- **I95-62421 DHCP relay failures causing clients to miss IP assignment:** Resolved an issue where DHCP session information is lost on the hub, causing the session reverse flow to collide with the forward flow of the session initiated originally from the spoke. This includes a new (configurable) default behavior for collision resolution. For detailed information, see [`configure authority service-policy prefer-established-session {true | false}`](config_command_guide.md#configure-authority-service-policy-prefer-established-session). +------ +- **I95-62580 Conflicting network interface names slowing application traffic:** Resolved an issue in the app summary tracking logic related to conflicting network interface names for non-redundant ports of an HA router. +------ +- **I95-62631 Race condition for multiple dhcp servers startup:** Resolved and issue where the multiple DHCP server config change from single DHCP server to multiple DHCP server under the same device interface would stop working. Updates have been made to the monitoring script to identify the changes and prevent the issue. +------ +- **I95-62668 Routers disconnected following conductor upgrade:** Resolved an issue where SSH keys were erroneously written to the authorized-keys file. +------ +- **I95-62695 Management interface placed in incorrect zone during conductor onboarding:** Resolved an issue where an earlier change did not put the management infterface in the t128 zone. +------ +- **I95-62703 Highway process crashed when BGP over SVR is activated:** Resolved an issue where the unicast code path was incorrectly calling the multicast code path causing a highway crash. +------ +- **I95-62710 Unnecessary web server processing for `router all` in the PCLI:** Addressed a problem where the web server performed unnecessary work when PCLI commands referenced `router all`. This optimization reduces overhead and improves responsiveness. +------ +- **I95-62742 Cannot see sync errors for nodes that are stuck synchronizing:** Resolved an issue where errors in `show assets` disappeared when the synchronizing state retries. +------ +- **I95-62758 BGP Establishment Taking Incorrect Path Over GRE:** Resolved an issue where BGP SYN packets were sent over the wrong GRE tunnel instead of using the direct path, causing BGP to establish over an unintended interface. +------ +- **I95-62772 Add details to `show peers certificate` output:** The `show peers certificate` output no longer just shows PEM file output; the data has been rendered in a more friendly format. +------ +- **I95-62859 Duplicate alarms created for duplicate asset IDs:** Resolved an issue where the Conductor created a duplicate asset ID alarm each time an asset with a duplicate ID tried to authenticate. +------ +- **I95-62860 Web server connection limit not enforced:** Resolved an issue where the 250 maximum connection limit was not being properly enforced by the web server. +------ +- **I95-62956 Configuration failure due to service definition expecting subnet mask:** Resolved an issue where the Anti-Virus and IDP configuration expected a subnet mask as part of the Service Address. The subnet mask has been added. +------ +- **I95-62957 Configuration failure due to invalid name:** Anti-Virus and IDP do not allow policy names using a dot (.). This has been resolved — configurations will use an underscore for policy name creation. +------ +- **I95-62982 SSR limits the number of supported network-interfaces:** Resolved an issue where the limit on the number of network-interfaces was low. Improved implementation of data structure storing network-interface objects, resulting in an increase of 7x the current capacity. +------ +- **I95-63018 Memory corruption after reading VSA:** Resolved a rare issue where in remote authentication through a RADIUS server, pam_radius was causing memory corruption after a Vendor Specific Attribute (VSA) is read. +------ +- **I95-63033 `show lte detail` crash when LTE apn-name is invalid:** Resolved an issue where executing `show lte detail` when an invalid APN name is configured caused a CLI crash due to an unhandled dictionary update error. +------ +- **I95-63035 Antivirus warning when missing tenant for AV traffic:** Resolved an issue where an antivirus alert was incorrectly raised on the passive node in an HA system, indicating AV was not active. +------ +- **I95-63174 IDP `Critical` profile not applied:** Resolved an issue where setting the IDP policy/profile to `Critical` was not properly applied on IDP. With this fix, profile changes to `Critical` now take effect as expected. +------ +- **I95-63190 Router intermittently disconnects from conductor:** Resolved an issue where process errors were filling the buffer queue, dropping messages, and causing node disconnections from the Conductor. +------ +- **I95-63195 Highway Crash During ESKM Session Scaling:** Resolved an issue where the highway process could crash during high session scaling due to incorrect metadata propagation in ESKM encrypt/decrypt contexts. +------ +- **I95-63228 Premature route installation complete notification:** In some cases a premature internal notification that the route installation was complete was being transmitted, causing the Graceful Restart process to terminate early. This issue has been resolved. +------ +- **I95-63288 automatedProvisioner Crash on Conductor Shutdown:** Resolved an issue where the automatedProvisioner process could crash during shutdown due to ZooKeeper watcher callbacks firing during object destruction. +------ +- **I95-63295 Highway crash when `show fib` is executed on very large FIB:** Resolved an issue where a time intensive operation on a large entry was preventing other threads from accessing data and causing a crash. +------ +- **I95-63299 Keys signed with ECDSA do not work with Enhanced Security Key Management:** Resolved an issue where ECC-based keys fail during the validation process, because the SSR was using hardcoded SHA256 for its signature validation checking. This issue has been resolved. +------ +- **I95-63324 Duplicate static DHCP addresses cause crashes:** Added validation steps to identify and prevent duplicate MAC addresses for the static address assignment. +------ +- **I95-63330 Repeated interface flaps on vSSR led to crash in highway process:** Truncated packets are validated prior to processing, preventing crash. +------ +- **I95-63355 Node-level security controls for serial console and USB:** Restored support for configuring node-level security features that disable serial console output and USB boot/mass storage (for example, settings such as `serial-console-enabled` and `usb-mass-storage-enabled`). This allows users to reapply hardened platform settings where supported. +------ +- **I95-63422 Factory reset routers not re-onboarding when ESKM enabled:** Resolved an issue where if ESKM was initially started using invalid certificate on one node, it would be unable to onboard until the remote peering relationship is restarted. +------ +- **I95-63462 Conductor Monitoring Fails When One HA Node is Down:** Resolved an issue where conductor UI monitoring calls at the router level failed when one node in an HA pair was down, even though node-level queries succeeded. +------ +- **I95-63554 Stale Sessions Causing Site-to-Site Communication Issues:** Resolved an issue where stuck or stale sessions interrupted site-to-site communication in hub-and-spoke topologies. +------ +- **I95-63590 Repeated interface flaps leading to highway coredumps:** Truncated packets are now validated prior to processing, preventing a crash. An exception is logged so that the issue can be more easily rectified. +------ +- **I95-63664 Salt packages incorrectly downgraded:** Resolved an issue where salt downgraded a package if the highest available version of a package was lower than the currently installed version of that package. +------ +- **I95-63673 Peer Paths `no paths` text fix:** Resolved a styling issue on the web interface where the `no paths` text on the Peer Paths page was not displayed correctly. +------ +- **I95-63675 Node page in the GUI appears to load indefinitely:** Resolved an issue where the GUI Node page would load infinitely. +------ +- **I95-63676 Waypoints fail to allocate when the `service-path peer next-hop gateway` is off the subnet:** Resolved an issue where the first network-interface IP was selected as the local IP for waypoint allocation, even if that IP is not a valid waypoint. +------ +- **I95-63729 Asset state not accurately reported in conductor:** Resolved an issue where issue where the SSH authorized keys from one HA conductor node were deleted after restarting both HA conductor nodes. +------ +- **I95-63794 `show lte detail` error handling for invalid APN configuration:** Resolved an issue where executing `show lte detail` with an invalid APN configuration caused a `ValueError` crash. The CLI now handles unexpected response formats gracefully. +------ +- **I95-63811 IPv6 Service with ICMP Transport Not Routed:** Resolved an issue where PINGv6 sessions were not routed when an IPv6 service was configured with ICMP as the transport protocol. The system now correctly remaps ICMP to ICMPv6 for IPv6 service prefixes. +------ +- **I95-63839 SNMP walk failures on Conductors onboarding to NMS:** Resolved an issue where SNMP walks on Conductors could fail with a `genError`, preventing successful onboarding into some network management systems. System MIB walks on Conductors now complete successfully; IF-MIB is no longer exposed on Conductors where it is not supported. +------ +- **I95-63873 DHCP leases not showing in Conductor UI:** Resolved an issue where attempting to retrieve DHCP v4 leases via the Conductor UI for a specific router results in `no leases found`. Also resolved an issue where viewing a router Logs page via the Conductor UI displayed ALL logs rather than using the selected time range. +------ +- **I95-63876 Route Flapping and Inaccessibility:** Resolved an issue where routes would flap or become inaccessible in hub-and-spoke topologies with inter-hub steering preferences configured, causing intermittent connectivity failures. +------ +- **I95-63895 SSR sending packets larger than configured MTU:** Resolved an issue where the SSR was sending packets larger than the configured MTU (e.g., 1518 bytes instead of 1500), causing packet drops on downstream network elements. +------ +- **I95-63913 Session-source incorrect in BFD pinhole:** Resolved an issue where session-source was incorrectly set to public when a BFD pinhole also happened to be a flow-move scenario. +------ +- **I95-63923 Redundant conductor fails to upgrade:** Resolved an issue where a minion disconnects from the conductor node and never attempts to reconnect. The minion watchdog process now restarts the salt minion if it is not connected to all conductor nodes. +------ +- **I95-63943 Edge-case crash when changing from regular services to app-id:** Resolved an issue where a system that never had app-id services or had app-id services, reverted them and restarted the highway process; and then modified an existing service to use app-id caused a crash. Protections have been added to safeguard against this edge case. +------ +- **I95-63951 BGP Graceful Restart Sending EOR Prematurely:** Resolved an issue where the SSR sent End-of-RIB (EOR) markers prematurely during BGP graceful restart, without waiting to receive EOR from its peers as required by RFC 4724, potentially causing route convergence issues. +------ +- **I95-63965 SNMP MIB subinterfaces not reporting correct stats:** Resolved an issue where SNMP MIB walks on subinterfaces were not reporting correct statistics, causing inaccurate monitoring data in network management systems. +------ +- **I95-63970 Highway crash due to null app-id service reference:** Resolved a rare highway crash that can occur when an App-ID session is modified at the same time that a module or configuration update is occurring. +------ +- **I95-63996 LTE is not wiped with factory reset:** Resolved an issue where performing a factory reset did not clear the LTE configuration, allowing the router to reconnect using the previous LTE connection without a configured WAN interface. +------ +- **I95-64052 Software History Missing Rollback and Revert Events:** Resolved an issue where the software lifecycle history in the GUI only displayed upgrades and did not show rollback or revert operations. +------ +- **I95-64054 Highway Crash with ESKM Jumbo Packets:** Resolved an issue where the highway process could crash with a null pointer dereference when processing jumbo packets with SVRv2 due to an uninitialized encryption context. +------ +- **I95-64061 Azure kernel hung task after upgrade:** Resolved an issue where Azure VMs could experience a kernel hung task condition related to the `uio_hv_generic` driver after upgrading to 7.1.3. +------ +- **I95-64063 Salt Minion restarting every minute when one Conductor is Unreachable:** Resolved an issue where the Salt Minion restarted once per minute whenever one conductor in a two-conductor deployment was unreachable, causing repeated instability in the management plane connection. +------ +- **I95-64104 Software History Not Showing Downgrades:** Resolved an issue where software downgrade operations were not displayed in the software lifecycle history UI. +------ +- **I95-64150 User-defined SNMP metrics not working:** Resolved an issue where custom SNMP metric MIBs were not functioning correctly after upgrading to 7.1.3, preventing SNMP-based polling systems from collecting metrics. +------ +- **I95-64152 Conductor connectivity blocked by stale SSH control sockets:** Resolved a condition where, after a router reboot (particularly following an unclean shutdown), the router could remain **Disconnected** in the Conductor due to stale SSH control sockets. The SSH coordination logic now cleans up stale control sockets automatically, restoring Conductor–router connectivity. +------ +- **I95-64218 Conductor upgrade failed with health check failure:** Resolved an issue where an upgrade of a redundant conductor could fail with a System Processes Check health check failure during the HA upgrade process. +------ +- **I95-64250 BGP routes received but not installed in RIB:** Resolved an issue where BGP routes were received from peers but not installed in the BGP table or the routing information base (RIB), preventing traffic from using those routes. +------ +- **I95-64291 NAT keep-alive statistics not accurately reported:** Resolved an issue where NAT keep-alive packets were not being sent at the expected interval, resulting in incorrect statistics and session flow verification failures. +------ +- **I95-64306 Optimize ICMP probe profile update on config change:** Resolved an issue where configuration changes that contained no actual ICMP probe modifications still triggered a full restart of all ICMP probes, causing unnecessary overhead and brief monitoring gaps. +------ +- **I95-64389 SSR440-2AC HA Port Not Working:** Resolved an issue where the HA synchronization port on SSR440-2AC hardware did not function because Linux was auto-creating wired connection profiles that interfered with the HA interface configuration. +------ +- **I95-64411 IPv6 BGP route-map `set ipv6 next-hop peer-address` support:** Added support for the `set ipv6 next-hop peer-address` directive in route-maps, which is required for IPv6 WAN assurance deployments. +------ +- **I95-64434 IDP bypass `alert` policy not working:** Resolved an issue where setting the IDP bypass policy to `alert` mode was not functioning correctly, preventing traffic from being properly inspected and alerts issued. +------ +- **I95-64448 Metrics retrieval failing for node1 when HA is down:** Resolved an issue where empty data was returned when HA links were down. Peer node system metrics (CPU, memory, disk) now return an error response instead of silently returning empty data. +------ +- **I95-64464 Slow Initial Router Onboarding to Conductor:** Resolved an issue where router onboarding to the conductor was slow, causing assets to remain stuck in a synchronizing state for extended periods before reaching the synchronized state. +------ +- **I95-64479 Invalid application WEBEX not recognized:** Resolved an issue where the WEBEX application was not being recognized by the application identification module after an upgrade, resulting in `invalid application` events and missing FIB entries for the associated service. +------ +- **I95-64541 Node disconnection during upgrade:** Resolved an issue where upgrading HA router nodes could result in one node entering a disconnected state with stale SSH control sockets, while the other node became stuck in the upgrading state, requiring a manual reboot to recover. +------ +- **I95-64542 Highway crash during service path refresh:** Resolved a highway crash that occurred during service path load-balanced route refresh operations. Protections have been added to prevent the crash. +------ +- **I95-64549 Onboarding routers cannot install salt packages:** Resolved an issue where routers being onboarded to a conductor could not install the required salt packages, preventing successful onboarding completion. +------ +- **I95-64567 SSR router status Disconnected on Conductor:** Resolved an issue where configuring a loopback address on a router node caused the router to become Disconnected from the Conductor due to incorrect source NAT behavior on internal sessions. +------ +- **I95-64568 TPM details in platform information:** The `show platform security` command has been added to display TPM information such as TPM family (version number), revision, firmware version, and manufacturer. This allows users to verify TPM availability and configuration for security and compliance workflows. +------ +- **I95-64575 Unable to login to SSR routers from conductor in cloud deployment:** Resolved an issue where the SSH configuration on cloud-deployed routers disabled password authentication, preventing login from the conductor. +------ +- **I95-64595 Excessive audit log severity:** Adjusted the log severity for the audit log event collector to better match expected operational conditions and reduce unnecessary log noise. +------ +- **I95-64603 Chronyd requires manual restart after reboot:** Resolved an issue where all NTP servers appeared as rejected after a reboot, requiring a manual restart of chronyd to restore time synchronization. +------ +- **I95-64619 Config validation rejects DHCP network-interface when VRRP is present:** Resolved an issue where configuration validation incorrectly rejected DHCP-enabled network-interfaces when VRRP was configured on the same interface, even if VRRP was not enabled. +------ +- **I95-64684 HMAC cipher mode information in logs and session output:** Added HMAC mode and cipher information to session logs and `show sessions` output, improving visibility into the encryption parameters used for active sessions. +------ +- **I95-64688 Highway coredumps causing peer path flaps:** Resolved an issue where highway process coredumps were occurring, resulting in peer path flaps. +------ +- **I95-64696 Salt connectivity issues after Conductor upgrade:** Resolved an issue where salt-minion lost connectivity to the salt-master after a Conductor upgrade, affecting approximately 20% of routers. The minion-connector service now correctly manages the salt master address. +------ +- **I95-64709 BGP stale-routes-time and Selection Deferral Timer alignment:** Resolved an issue where the `stale-routes-time` parameter behavior did not properly align with RFC 4724's Selection_Deferral_Timer semantics, potentially causing premature route selection during graceful restart. +------ +- **I95-64811 Highway crash causing session drops:** Resolved a highway process crash that occurred under specific traffic conditions, resulting in session drops and temporary traffic disruption. +------ +- **I95-64829 Device disconnected from Mist and stopped processing sessions:** Resolved an issue where a device could disconnect from Mist and stop processing sessions after a configuration push, requiring a power cycle to recover. +------ +- **I95-64835 Remove UI checkbox for Rollback on Failure during Conductor migration:** Removed the erroneous `Rollback on Failure` checkbox from the Conductor migration UI, as the underlying feature was never implemented. This prevents user confusion during migration operations. +------ +- **I95-64876 Intermittent application issues due to child service design:** Resolved an issue where hierarchical service configurations with child services could intermittently fail to match traffic correctly, causing application connectivity issues. +------ +- **I95-64877 Changes to guard against L7 security stack crash:** Resolved an issue where the IDP attack database was lost on reboot. The database is now stored persistently, and additional safeguards have been added for AV engine health checks, SSL certificate staging retries, and error code accuracy. +------ +- **I95-64929 Peer certificate expiration time unit conversion error:** Resolved an issue where a seconds-to-milliseconds conversion error caused premature peer certificate expiration. +------ +- **I95-64977 Certificate ingestion ignores expiry and revocation validation:** Resolved an issue where ingesting a certificate did not properly validate its expiry date or revocation status, allowing expired or revoked certificates to be accepted. +------ +- **I95-64978 Highway crash on head-end router causing interface flaps:** Resolved an issue where a race condition on session classification fields (such as domain name, URI, and application classification) could cause the highway process to crash with a core dump, resulting in interface flaps. Access to these fields is now properly synchronized. +------ +- **I95-65056 `show app-id cache-sizes` command not found:** Resolved an issue where the `show app-id cache-sizes` command was missing from the CLI, preventing users from inspecting application identification cache utilization. +------ +- **I95-65075 Process Crash During Configuration Processing:** Resolved an issue where an uncaught exception during configuration processing could cause a process abort when looking up node identifiers in the endpoint manager. +------ +- **I95-65099 Traffic engineering stats displaying incorrect output:** Resolved an issue where `show stats traffic-eng internal-application per-traffic-class` displayed incorrect or unexpected output. +------ +- **I95-65128 nodeMonitor crash loop on hub node:** Resolved an issue where the nodeMonitor process entered a continuous crash loop on hub nodes during conductor-based Hub-and-Spoke setup, preventing the hub from becoming operational. +------ +- **I95-65129 Peer Path Up Using Mixed Certificates:** Resolved an issue where peer paths could come up using certificates from different issuers (default Juniper certificate on one side and a custom CA-signed certificate on the other), even with a custom trusted CA configured. +------ +- **I95-65171 TSI Download Missing File Extension:** Resolved an issue where Tech Support Info (TSI) bundles downloaded from the SSR Web UI had no file extension, preventing extraction with standard archive tools. Tech support files downloaded from the web UI now have the correct `.zip` extension. +------ +- **I95-65296 ESKM peering failures with fragmentation:** Resolved an issue where ESKM peering connections failed when packet fragmentation occurred on the path between peers, preventing secure peer relationships from establishing. +------ +- **I95-65314 Sessions Not Switching to Available Source NAT IPs:** Resolved an issue where a source NAT database corruption and race condition prevented sessions from switching to additional available IP addresses on a WAN interface, causing packet drops. +------ +- **I95-65337 Missing FIB Entries After Router Migration:** Resolved an issue where FIB entries were missing after migrating WAN interfaces from one router to another using the same IP addresses. The system now correctly detects new peers and triggers path addition for peers that are already up. +------ +- **I95-65340 DHCP Relay Failure After Adding New Tenant on HA Topology:** Resolved an issue where adding a new tenant as an allowed policy to a DHCP relay service on an HA topology did not function correctly. +------ +- **I95-65352 Bootstrap Configuration Symlink Protection Extended:** Resolved an issue where the bootstrap.json symlink attack protection was not applied to an additional route introduced in later software versions. +------ +- **I95-65354 Missing dependencies in offline ISO:** Resolved an issue where certain package dependencies were missing from the offline ISO, preventing successful package installation in air-gapped environments. +------ +- **I95-65365 PCLI Command to Trigger GARP:** A new PCLI command has been added to manually trigger Gratuitous ARP (GARP) on VRRP interfaces, accepting device and network-interface as arguments. +------ +- **I95-65366 Maximum GARP interval for VRRP:** Added a configurable `maximum-garp-interval` parameter for VRRP, allowing control over how frequently gratuitous ARP messages are sent during VRRP state transitions. This prevents excessive ARP traffic in environments with many VRRP instances. +------ +- **I95-65392 Hierarchical services ping traffic failure between sites:** Resolved an issue where ICMP ping traffic between specific sites failed when using hierarchical service configurations with application identification groups. +------ +- **I95-65403 Disallow CA certificates from being used for peering:** Added validation to prevent CA certificates (those with `CA:True` in basic constraints) from being used as peering certificates, which would cause unexpected trust chain behavior. +------ +- **I95-65410 Incorrect RBAC requirements for certificate API:** Resolved an issue where the POST `/api/v1/certificate` endpoint required READ permission for the entire configuration instead of WRITE permission, allowing unintended access. +------ +- **I95-65431 SSR failing to sync with NTP server:** Resolved an issue where the SSR failed to synchronize with configured NTP servers after boot, requiring manual intervention to restore time synchronization. +------ +- **I95-65432 Conflux process crash during upgrade:** Resolved an issue where the Conflux process exited unexpectedly during or after an upgrade, causing temporary loss of analytics data collection. +------ +- **I95-65439 CRL in certificate not taken into account:** Resolved an issue where the CRL distribution point embedded in a certificate was not being used for revocation checking, requiring manual CRL configuration on the conductor. +------ +- **I95-65455 Network Manager interface preventing HA sync:** Resolved an issue where a spurious "Wired Connection" entry in Network Manager could prevent HA sync interfaces from obtaining IP addresses after an upgrade. +------ +- **I95-65486 Highway crash during upgrade from older versions:** Resolved a highway crash that could occur during router upgrades from significantly older software versions (e.g., 5.5.x to 7.x). +------ +- **I95-65535 Assets Stuck in Synchronizing State:** Resolved an issue where assets could become stuck in a synchronizing state for extended periods (up to 24 hours) due to overly aggressive watchdog timer defaults. The default timer settings have been relaxed. +------ +- **I95-65545 Incorrect Fragmentation Stats Table Name:** Resolved an issue where the PCLI displayed an incorrect table name ("Non-Fabric IPv6 Fragmented Packets" instead of "Non-Fabric IPv4 Fragmented Packets") for IPv4 fragmentation statistics. +------ +- **I95-65557 Highway Crash During Show Commands on HA Router:** Resolved an issue where issuing show commands on an HA router could cause a highway crash on both nodes due to FIB table contention. FIB table operations are now batched to prevent mutex lock errors. +------ +- **I95-65635 Source NAT Port Exhaustion on Loopback Interface:** Resolved an issue where a large number of SourceNatPortException errors for the local KNI interface caused SSH connection failures to the SSR loopback IP. Host-type service routes no longer use the KNI IPv6 control interface for source NAT. +------ +- **I95-65656 Conductor upgrade fails on health check:** Resolved an issue where conductor upgrades could fail due to a health check timeout, preventing the upgrade from completing successfully. +------ +- **I95-65680 RoutingManager Not Running on HA Headend Router:** Resolved an issue where the RoutingManager process was incorrectly deactivated on an HA headend router due to a race condition in ZED-driven leadership election, causing BGP sessions to go down. +------ +- **I95-65691 Node disconnected after headend partial rollback:** Resolved an issue where a node could remain disconnected from the conductor after a partial rollback scenario on a headend router. +------ +- **I95-65797 ESKM Peering Stays Down After Late Metadata Key:** Resolved an issue where ESKM peering remained down when BFD received the local metadata key late because retransmit timers were not being restarted after their initial firing. +------ +- **WAN-4440 Config error validation for DHCP:** Added configuration error validation for DHCP at the inspector level to catch and report invalid DHCP configurations before they are applied. +------ +- **WAN-4466 LTE interface incorrect graphing and interface behavior:** Resolved an issue where LTE interfaces with no signal were incorrectly reporting RX traffic in interface graphs, despite the WAN path being down and the SIM card not being connected to the carrier network. + ## Release 7.0.1-1r1 :::important diff --git a/scripts/release-notes/assemble-section.js b/scripts/release-notes/assemble-section.js new file mode 100644 index 00000000000..80335e67665 --- /dev/null +++ b/scripts/release-notes/assemble-section.js @@ -0,0 +1,195 @@ +#!/usr/bin/env node +/** + * assemble-section.js — Assemble a complete release notes section from components. + * + * Usage: + * node scripts/release-notes/assemble-section.js \ + * --found \ + * --new \ + * --cves \ + * --version \ + * --date \ + * --features \ + * --output + * + * Input: + * --found JSON mapping { "KEY": "- **KEY ...:** ..." } of reused entries + * --new JSON mapping { "KEY": "- **KEY ...:** ..." } of newly synthesized entries + * --cves Text file with comma-separated CVE list (or empty if no CVEs) + * --version Release version string (e.g., "7.0.5-lts") + * --date Release date string (e.g., "July 2026") + * --features Comma-separated list of issue keys that are features/epics + * --caveats (optional) Comma-separated list of issue keys that are caveats + * + * Output: Complete markdown section ready for insertion + */ + +const fs = require('fs'); +const path = require('path'); + +function printHelp() { + console.log(` +assemble-section.js — Assemble a complete release notes section from components. + +Usage: + node scripts/release-notes/assemble-section.js \\ + --found \\ + --new \\ + --cves \\ + --version \\ + --date \\ + --features \\ + [--caveats ] \\ + --output + +Options: + --found Path to JSON file mapping issue keys to reused entry text + --new Path to JSON file mapping issue keys to newly synthesized entry text + --cves Path to text file with comma-separated sorted CVE list (empty file = no CVEs) + --version Release version (e.g., "7.0.5-lts") + --date Release date (e.g., "July 2026") + --features Comma-separated issue keys categorized as features/epics + --caveats (optional) Comma-separated issue keys categorized as caveats + --output Path to write the assembled markdown section + --help Show this help message + +Output structure: + ## Release + **Release Date:** + ### New Features (if any feature keys present) + ### Resolved Issues (CVE group first, then individual entries) + ### Caveats (if any caveat keys present) +`); +} + +function parseArgs(argv) { + const args = {}; + for (let i = 2; i < argv.length; i++) { + if (argv[i] === '--help' || argv[i] === '-h') { + args.help = true; + } else if (argv[i] === '--found' && argv[i + 1]) { + args.found = argv[++i]; + } else if (argv[i] === '--new' && argv[i + 1]) { + args.new = argv[++i]; + } else if (argv[i] === '--cves' && argv[i + 1]) { + args.cves = argv[++i]; + } else if (argv[i] === '--version' && argv[i + 1]) { + args.version = argv[++i]; + } else if (argv[i] === '--date' && argv[i + 1]) { + args.date = argv[++i]; + } else if (argv[i] === '--features' && argv[i + 1]) { + args.features = argv[++i]; + } else if (argv[i] === '--caveats' && argv[i + 1]) { + args.caveats = argv[++i]; + } else if (argv[i] === '--output' && argv[i + 1]) { + args.output = argv[++i]; + } + } + return args; +} + +function sortByKey(a, b) { + const ma = a.match(/^(.+?)-(\d+)$/); + const mb = b.match(/^(.+?)-(\d+)$/); + if (!ma || !mb) return 0; + if (ma[1] !== mb[1]) return ma[1].localeCompare(mb[1]); + return parseInt(ma[2]) - parseInt(mb[2]); +} + +function buildSubsection(keys, allEntries) { + const sorted = [...keys].sort(sortByKey); + const lines = []; + for (let i = 0; i < sorted.length; i++) { + const entry = allEntries[sorted[i]]; + if (!entry) { + console.warn(`Warning: No entry text found for ${sorted[i]}, skipping.`); + continue; + } + lines.push(entry); + if (i < sorted.length - 1) { + lines.push('------'); + } + } + return lines.join('\n'); +} + +function main() { + const args = parseArgs(process.argv); + + if (args.help) { + printHelp(); + process.exit(0); + } + + if (!args.found || !args.new || !args.cves || !args.version || !args.date || !args.output) { + console.error('Error: --found, --new, --cves, --version, --date, and --output are required. Use --help for usage.'); + process.exit(1); + } + + // Load inputs + const foundEntries = JSON.parse(fs.readFileSync(path.resolve(args.found), 'utf8')); + const newEntries = JSON.parse(fs.readFileSync(path.resolve(args.new), 'utf8')); + const cvesText = fs.readFileSync(path.resolve(args.cves), 'utf8').trim(); + const featureKeys = new Set((args.features || '').split(',').filter(Boolean)); + const caveatKeys = new Set((args.caveats || '').split(',').filter(Boolean)); + + // Merge all entries + const allEntries = { ...foundEntries, ...newEntries }; + const allKeys = Object.keys(allEntries); + + // Partition keys into sections + const featureList = allKeys.filter(k => featureKeys.has(k)); + const caveatList = allKeys.filter(k => caveatKeys.has(k)); + const resolvedList = allKeys.filter(k => !featureKeys.has(k) && !caveatKeys.has(k)); + + // Build section + let section = `## Release ${args.version}\n\n**Release Date:** ${args.date}\n`; + + // New Features + if (featureList.length > 0) { + section += '\n### New Features\n\n'; + section += buildSubsection(featureList, allEntries); + section += '\n'; + } + + // Resolved Issues + if (resolvedList.length > 0 || cvesText) { + section += '\n### Resolved Issues\n\n'; + + // CVE group first + if (cvesText) { + section += `- **The following CVEs have been identified and resolved in this release:** ${cvesText}`; + if (resolvedList.length > 0) { + section += '\n------\n'; + } else { + section += '\n'; + } + } + + // Individual resolved entries + if (resolvedList.length > 0) { + section += buildSubsection(resolvedList, allEntries); + section += '\n'; + } + } + + // Caveats + if (caveatList.length > 0) { + section += '\n### Caveats\n\n'; + section += buildSubsection(caveatList, allEntries); + section += '\n'; + } + + // Write output + const outputPath = path.resolve(args.output); + fs.mkdirSync(path.dirname(outputPath), { recursive: true }); + fs.writeFileSync(outputPath, section); + + console.log(`Assembled section for Release ${args.version}:`); + console.log(` Features: ${featureList.length}`); + console.log(` Resolved: ${resolvedList.length}` + (cvesText ? ' + CVE group' : '')); + console.log(` Caveats: ${caveatList.length}`); + console.log(`Output: ${outputPath}`); +} + +main(); diff --git a/scripts/release-notes/categorize.js b/scripts/release-notes/categorize.js new file mode 100644 index 00000000000..b0bc0ebcdd3 --- /dev/null +++ b/scripts/release-notes/categorize.js @@ -0,0 +1,146 @@ +#!/usr/bin/env node +/** + * categorize.js — Categorize JQL results into CVE, Feature, Caveat, and Resolved buckets. + * + * Usage: + * node scripts/release-notes/categorize.js --input --output + * + * Input: JSON file from JIRA MCP jql_query tool (contains .issues[] with key, issue_type, labels) + * Output: JSON file with categorized issue keys: + * { + * "cve": [{ "key": "I95-...", "cveLabels": ["CVE-2024-..."] }], + * "features": ["I95-..."], + * "caveats": ["I95-..."], + * "resolved": ["I95-..."], + * "summary": { "total": N, "cve": N, "features": N, "caveats": N, "resolved": N } + * } + */ + +const fs = require('fs'); +const path = require('path'); + +function printHelp() { + console.log(` +categorize.js — Categorize JQL results into CVE, Feature, Caveat, and Resolved buckets. + +Usage: + node scripts/release-notes/categorize.js --input --output + +Options: + --input Path to the JQL results JSON file (from JIRA MCP tool) + --output Path to write the categorized output JSON + --help Show this help message + +Categorization rules: + - CVE: Any issue with a label matching CVE-YYYY-XXXXX + - Feature: issue_type is "Epic" or "Feature Request" + - Caveat: Has label "Caveats" (and is NOT a CVE issue) + - Resolved: Everything else (Bug, Story, Task, Sub-task without Caveats label) +`); +} + +function parseArgs(argv) { + const args = {}; + for (let i = 2; i < argv.length; i++) { + if (argv[i] === '--help' || argv[i] === '-h') { + args.help = true; + } else if (argv[i] === '--input' && argv[i + 1]) { + args.input = argv[++i]; + } else if (argv[i] === '--output' && argv[i + 1]) { + args.output = argv[++i]; + } + } + return args; +} + +const CVE_PATTERN = /^CVE-\d{4}-\d+$/; + +function categorize(issues) { + const cve = []; + const features = []; + const caveats = []; + const resolved = []; + + for (const issue of issues) { + const labels = issue.labels || []; + const cveLabels = labels.filter(l => CVE_PATTERN.test(l)); + const hasCVE = cveLabels.length > 0; + const isCaveat = labels.includes('Caveats'); + const isFeature = issue.issue_type === 'Epic' || issue.issue_type === 'Feature Request'; + + if (hasCVE) { + cve.push({ key: issue.key, cveLabels }); + } else if (isFeature) { + features.push(issue.key); + } else if (isCaveat) { + caveats.push(issue.key); + } else { + resolved.push(issue.key); + } + } + + return { + cve, + features: features.sort(sortByKey), + caveats: caveats.sort(sortByKey), + resolved: resolved.sort(sortByKey), + summary: { + total: issues.length, + cve: cve.length, + features: features.length, + caveats: caveats.length, + resolved: resolved.length, + }, + }; +} + +function sortByKey(a, b) { + const ma = a.match(/^(.+?)-(\d+)$/); + const mb = b.match(/^(.+?)-(\d+)$/); + if (!ma || !mb) return 0; + if (ma[1] !== mb[1]) return ma[1].localeCompare(mb[1]); + return parseInt(ma[2]) - parseInt(mb[2]); +} + +function main() { + const args = parseArgs(process.argv); + + if (args.help) { + printHelp(); + process.exit(0); + } + + if (!args.input || !args.output) { + console.error('Error: --input and --output are required. Use --help for usage.'); + process.exit(1); + } + + const inputPath = path.resolve(args.input); + if (!fs.existsSync(inputPath)) { + console.error(`Error: Input file not found: ${inputPath}`); + process.exit(1); + } + + const data = JSON.parse(fs.readFileSync(inputPath, 'utf8')); + const issues = data.issues || data; + + if (!Array.isArray(issues)) { + console.error('Error: Input JSON must contain an "issues" array or be an array.'); + process.exit(1); + } + + const result = categorize(issues); + + const outputPath = path.resolve(args.output); + fs.mkdirSync(path.dirname(outputPath), { recursive: true }); + fs.writeFileSync(outputPath, JSON.stringify(result, null, 2)); + + console.log(`Categorized ${result.summary.total} issues:`); + console.log(` CVE: ${result.summary.cve}`); + console.log(` Features: ${result.summary.features}`); + console.log(` Caveats: ${result.summary.caveats}`); + console.log(` Resolved: ${result.summary.resolved}`); + console.log(`Output: ${outputPath}`); +} + +main(); diff --git a/scripts/release-notes/collect-cves.js b/scripts/release-notes/collect-cves.js new file mode 100644 index 00000000000..1a508c6bb6f --- /dev/null +++ b/scripts/release-notes/collect-cves.js @@ -0,0 +1,106 @@ +#!/usr/bin/env node +/** + * collect-cves.js — Extract all unique CVE identifiers from JQL results. + * + * Usage: + * node scripts/release-notes/collect-cves.js --input --output + * + * Input: JSON file from JIRA MCP jql_query tool + * Output: Comma-separated sorted list of all unique CVE-YYYY-XXXXX identifiers + */ + +const fs = require('fs'); +const path = require('path'); + +function printHelp() { + console.log(` +collect-cves.js — Extract all unique CVE identifiers from JQL results. + +Usage: + node scripts/release-notes/collect-cves.js --input --output + +Options: + --input Path to the JQL results JSON file (from JIRA MCP tool) + --output Path to write the comma-separated sorted CVE list + --help Show this help message + +Scans all issue labels for values matching CVE-YYYY-XXXXX, deduplicates, +and sorts by year then numeric ID. +`); +} + +function parseArgs(argv) { + const args = {}; + for (let i = 2; i < argv.length; i++) { + if (argv[i] === '--help' || argv[i] === '-h') { + args.help = true; + } else if (argv[i] === '--input' && argv[i + 1]) { + args.input = argv[++i]; + } else if (argv[i] === '--output' && argv[i + 1]) { + args.output = argv[++i]; + } + } + return args; +} + +const CVE_PATTERN = /^CVE-\d{4}-\d+$/; + +function collectCVEs(issues) { + const allCVEs = new Set(); + for (const issue of issues) { + const labels = issue.labels || []; + for (const label of labels) { + if (CVE_PATTERN.test(label)) { + allCVEs.add(label); + } + } + } + + const sorted = [...allCVEs].sort((a, b) => { + const [, ya, na] = a.match(/CVE-(\d{4})-(\d+)/); + const [, yb, nb] = b.match(/CVE-(\d{4})-(\d+)/); + if (ya !== yb) return ya.localeCompare(yb); + return parseInt(na) - parseInt(nb); + }); + + return sorted; +} + +function main() { + const args = parseArgs(process.argv); + + if (args.help) { + printHelp(); + process.exit(0); + } + + if (!args.input || !args.output) { + console.error('Error: --input and --output are required. Use --help for usage.'); + process.exit(1); + } + + const inputPath = path.resolve(args.input); + if (!fs.existsSync(inputPath)) { + console.error(`Error: Input file not found: ${inputPath}`); + process.exit(1); + } + + const data = JSON.parse(fs.readFileSync(inputPath, 'utf8')); + const issues = data.issues || data; + + if (!Array.isArray(issues)) { + console.error('Error: Input JSON must contain an "issues" array or be an array.'); + process.exit(1); + } + + const cves = collectCVEs(issues); + + const outputPath = path.resolve(args.output); + fs.mkdirSync(path.dirname(outputPath), { recursive: true }); + fs.writeFileSync(outputPath, cves.join(', ')); + + console.log(`Collected ${cves.length} unique CVEs from ${issues.length} issues.`); + console.log(`Output: ${outputPath}`); +} + +main(); diff --git a/scripts/release-notes/find-existing-entries.js b/scripts/release-notes/find-existing-entries.js new file mode 100644 index 00000000000..3f36b1051d0 --- /dev/null +++ b/scripts/release-notes/find-existing-entries.js @@ -0,0 +1,150 @@ +#!/usr/bin/env node +/** + * find-existing-entries.js — Search existing release notes for reusable entry text. + * + * Usage: + * node scripts/release-notes/find-existing-entries.js --keys --found --not-found [--docs-dir docs/] + * + * Input: Newline-separated file of issue keys to search for + * Output: JSON mapping of key → entry text for found entries, plus a text file of keys not found + */ + +const fs = require('fs'); +const path = require('path'); +const { globSync } = (() => { + // Use native glob if available (Node 22+), otherwise fall back to manual + try { + const { globSync } = require('fs'); + if (globSync) return { globSync }; + } catch (e) {} + return { globSync: null }; +})(); + +function printHelp() { + console.log(` +find-existing-entries.js — Search existing release notes for reusable entry text. + +Usage: + node scripts/release-notes/find-existing-entries.js --keys --found --not-found [--docs-dir docs/] + +Options: + --keys Path to newline-separated file of issue keys to search for + --found Path to write JSON mapping { "KEY": "- **KEY ...** ..." } for found entries + --not-found Path to write newline-separated list of keys without existing entries + --docs-dir Directory to search for release_notes_128t_*.md files (default: docs/) + --help Show this help message + +The script searches all release_notes_128t_*.md files for lines matching: + - ** ... +and returns the first match found (preferring 7.x files over 6.x). +`); +} + +function parseArgs(argv) { + const args = {}; + for (let i = 2; i < argv.length; i++) { + if (argv[i] === '--help' || argv[i] === '-h') { + args.help = true; + } else if (argv[i] === '--keys' && argv[i + 1]) { + args.keys = argv[++i]; + } else if (argv[i] === '--found' && argv[i + 1]) { + args.found = argv[++i]; + } else if (argv[i] === '--not-found' && argv[i + 1]) { + args.notFound = argv[++i]; + } else if (argv[i] === '--docs-dir' && argv[i + 1]) { + args.docsDir = argv[++i]; + } + } + return args; +} + +function findReleaseNotesFiles(docsDir) { + const entries = fs.readdirSync(docsDir); + const files = entries + .filter(f => /^release_notes_128t_\d+\.\d+\.md$/.test(f)) + .map(f => path.join(docsDir, f)); + + // Sort so that higher versions come first (prefer recent entries) + files.sort((a, b) => { + const va = a.match(/(\d+)\.(\d+)/); + const vb = b.match(/(\d+)\.(\d+)/); + if (!va || !vb) return 0; + const majDiff = parseInt(vb[1]) - parseInt(va[1]); + if (majDiff !== 0) return majDiff; + return parseInt(vb[2]) - parseInt(va[2]); + }); + + return files; +} + +function searchForEntry(key, files) { + // Escape special regex chars in key + const escaped = key.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&'); + const pattern = new RegExp(`^- \\*\\*${escaped}[^*]*\\*\\*:?.*$`, 'm'); + + for (const file of files) { + const content = fs.readFileSync(file, 'utf8'); + const match = content.match(pattern); + if (match) { + return match[0]; + } + } + return null; +} + +function main() { + const args = parseArgs(process.argv); + + if (args.help) { + printHelp(); + process.exit(0); + } + + if (!args.keys || !args.found || !args.notFound) { + console.error('Error: --keys, --found, and --not-found are required. Use --help for usage.'); + process.exit(1); + } + + const docsDir = path.resolve(args.docsDir || 'docs'); + const keysPath = path.resolve(args.keys); + + if (!fs.existsSync(keysPath)) { + console.error(`Error: Keys file not found: ${keysPath}`); + process.exit(1); + } + + const keys = fs.readFileSync(keysPath, 'utf8').trim().split('\n').filter(Boolean); + const files = findReleaseNotesFiles(docsDir); + + if (files.length === 0) { + console.error(`Error: No release_notes_128t_*.md files found in ${docsDir}`); + process.exit(1); + } + + const found = {}; + const notFound = []; + + for (const key of keys) { + const entry = searchForEntry(key, files); + if (entry) { + found[key] = entry; + } else { + notFound.push(key); + } + } + + const foundPath = path.resolve(args.found); + const notFoundPath = path.resolve(args.notFound); + fs.mkdirSync(path.dirname(foundPath), { recursive: true }); + fs.mkdirSync(path.dirname(notFoundPath), { recursive: true }); + + fs.writeFileSync(foundPath, JSON.stringify(found, null, 2)); + fs.writeFileSync(notFoundPath, notFound.join('\n')); + + console.log(`Searched ${keys.length} keys across ${files.length} release notes files:`); + console.log(` Found: ${Object.keys(found).length}`); + console.log(` Not found: ${notFound.length}`); + console.log(`Output: ${foundPath}, ${notFoundPath}`); +} + +main(); diff --git a/scripts/release-notes/insert-section.js b/scripts/release-notes/insert-section.js new file mode 100644 index 00000000000..d2738e0d31c --- /dev/null +++ b/scripts/release-notes/insert-section.js @@ -0,0 +1,114 @@ +#!/usr/bin/env node +/** + * insert-section.js — Insert a release notes section into an existing file. + * + * Usage: + * node scripts/release-notes/insert-section.js --file --section --before "## Release X" + * node scripts/release-notes/insert-section.js --file --section --append + * + * Inserts the content of into immediately before + * the specified heading, or appends to the end of the file. + */ + +const fs = require('fs'); +const path = require('path'); + +function printHelp() { + console.log(` +insert-section.js — Insert a release notes section into an existing file. + +Usage: + node scripts/release-notes/insert-section.js --file --section --before "## Release X" + node scripts/release-notes/insert-section.js --file --section --append + +Options: + --file Path to the existing release notes markdown file to modify + --section Path to the markdown section file to insert + --before The heading text to insert before (e.g., "## Release 7.0.1-1r1") + --append Append the section to the end of the file instead + --help Show this help message + +The file is modified in-place. A blank line is added between the inserted section +and the following content. +`); +} + +function parseArgs(argv) { + const args = {}; + for (let i = 2; i < argv.length; i++) { + if (argv[i] === '--help' || argv[i] === '-h') { + args.help = true; + } else if (argv[i] === '--file' && argv[i + 1]) { + args.file = argv[++i]; + } else if (argv[i] === '--section' && argv[i + 1]) { + args.section = argv[++i]; + } else if (argv[i] === '--before' && argv[i + 1]) { + args.before = argv[++i]; + } else if (argv[i] === '--append') { + args.append = true; + } + } + return args; +} + +function main() { + const args = parseArgs(process.argv); + + if (args.help) { + printHelp(); + process.exit(0); + } + + if (!args.file || !args.section) { + console.error('Error: --file and --section are required. Use --help for usage.'); + process.exit(1); + } + + if (!args.before && !args.append) { + console.error('Error: Either --before or --append must be specified. Use --help for usage.'); + process.exit(1); + } + + const filePath = path.resolve(args.file); + const sectionPath = path.resolve(args.section); + + if (!fs.existsSync(filePath)) { + console.error(`Error: File not found: ${filePath}`); + process.exit(1); + } + if (!fs.existsSync(sectionPath)) { + console.error(`Error: Section file not found: ${sectionPath}`); + process.exit(1); + } + + const existing = fs.readFileSync(filePath, 'utf8'); + const section = fs.readFileSync(sectionPath, 'utf8'); + + let updated; + + if (args.append) { + // Append to end with a blank line separator + updated = existing.trimEnd() + '\n\n' + section; + } else { + // Insert before the specified heading + const idx = existing.indexOf(args.before); + if (idx === -1) { + console.error(`Error: Heading not found in file: "${args.before}"`); + console.error('Available ## headings:'); + const headings = existing.match(/^## .+$/gm) || []; + headings.forEach(h => console.error(` ${h}`)); + process.exit(1); + } + updated = existing.slice(0, idx) + section + '\n' + existing.slice(idx); + } + + fs.writeFileSync(filePath, updated); + console.log(`Inserted section into ${filePath}`); + if (args.before) { + console.log(` Position: before "${args.before}"`); + } else { + console.log(' Position: appended to end of file'); + } +} + +main(); From a4c0ccfcd6e80d1ac1b59aab4eff9db001657bf3 Mon Sep 17 00:00:00 2001 From: Chris Date: Mon, 20 Jul 2026 11:19:19 -0400 Subject: [PATCH 02/10] review/revise release notes info --- docs/about_releases.md | 2 +- docs/release_notes_128t_6.2.md | 2 +- docs/release_notes_128t_6.3.md | 2 +- docs/release_notes_128t_7.0.md | 34 ++++++++++++++++------------------ docs/release_notes_128t_7.1.md | 2 +- 5 files changed, 20 insertions(+), 22 deletions(-) diff --git a/docs/about_releases.md b/docs/about_releases.md index 8bab6d6002f..8f3d99d0f00 100644 --- a/docs/about_releases.md +++ b/docs/about_releases.md @@ -56,7 +56,7 @@ However, issues resolved in `4.3.12`, which was released on 3/12/2021 are not ad | -- | -- | -- | -- | -- | -- | -- | | Release 7.2 | [7.2.0](release_notes_128t_7.2.md#release-720-29r1) | July 1, 2026 | [7.2.1](release_notes_128t_7.2.md#release-721-1r1) | LTS | January 1, 2029 | July 1, 2029 | | Release 7.1 | [7.1.0](release_notes_128t_7.1.md#release-710-50r1) | December 4, 2025 | [7.1.6](release_notes_128t_7.1.md#release-716-7-sts) | STS | March 10, 2027 | September 10, 2027 | -| Release 7.0 | [7.0.1](release_notes_128t_7.0.md#release-701-1r1) | October 14, 2025 | [7.0.1](release_notes_128t_7.0.md#release-701-1r1) | LTS | August 24, 2028 | February 24, 2029 | +| Release 7.0 | [7.0.1](release_notes_128t_7.0.md#release-701-1r1) | October 14, 2025 | [7.0.5](release_notes_128t_7.0.md#release-705-6-lts) | LTS | August 24, 2028 | February 24, 2029 | | Release 6.3 | [6.3.0](release_notes_128t_6.3.md#release-630-107r1) | September 30, 2024 | [6.3.7-6-sts](release_notes_128t_6.3.md#release-637-6-sts) | STS | May 6, 2026 | November 6, 2026 | | Release 6.2 | [6.2.0](release_notes_128t_6.2.md#release-620-39r1) | November 16, 2023 | [6.2.12-3-lts](release_notes_128t_6.2.md#release-6212-3-lts) | LTS | September 6, 2026 | March 6, 2027 | diff --git a/docs/release_notes_128t_6.2.md b/docs/release_notes_128t_6.2.md index b804f57155e..9ce33fb0f2f 100644 --- a/docs/release_notes_128t_6.2.md +++ b/docs/release_notes_128t_6.2.md @@ -192,7 +192,7 @@ Before upgrading please review the [**Upgrade Considerations**](intro_upgrade_co ------ - **I95-62011 Stats from adjacency traffic engineering throw an exception when a hostname is used:** Resolved an issue where dynamic reconfiguration when adding neighbors/adjacencies that use an FQDN and have adjacency Traffic Engineering enabled, caused the device interface to reach a failure state. ------ -- **I95-62071 Multicast Traffic contributing to service area resource contention:** Resolved an issue when we have an mroute with no outgoing interfaces. We now use a Detour Path instead of NoServicePaths to prevent resource contention. +- **I95-62071 Multicast Traffic contributing to service area resource contention:** Resolved an issue when an mroute has no outgoing interfaces. A Detour Path is now used instead of NoServicePaths to prevent resource contention. ------ - **I95-62258 Packet steered to egress non-existent interface causes highway crash:** Added logic to capture the errant packet and prevent the crash. An exception is logged so that the issue can be more easily rectified. ------ diff --git a/docs/release_notes_128t_6.3.md b/docs/release_notes_128t_6.3.md index cd5140e4a80..b1ec99f85df 100644 --- a/docs/release_notes_128t_6.3.md +++ b/docs/release_notes_128t_6.3.md @@ -76,7 +76,7 @@ Beginning with SSR-6.3.5, conductor-managed **routers** running SSR-6.3.5 must b ------ - **I95-62011 Stats from adjacency traffic engineering throw an exception when a hostname is used:** Resolved an issue where dynamic reconfiguration when adding neighbors/adjacencies that use an FQDN and have adjacency Traffic Engineering enabled, caused the device interface to reach a failure state. ------ -- **I95-62071 Multicast Traffic contributing to service area resource contention:** Resolved an issue when we have an mroute with no outgoing interfaces. We now use a Detour Path instead of NoServicePaths to prevent resource contention. +- **I95-62071 Multicast Traffic contributing to service area resource contention:** Resolved an issue when an mroute has no outgoing interfaces. A Detour Path is now used instead of NoServicePaths to prevent resource contention. ------ - **I95-62179 Software Lifecycle History not up to date:** Resolved an issue where the software lifecycle page was not showing any history, or in some cases, the history was outdated. Internal functionality has been updated, and both the GUI and CLI outputs now show the correct information. ------ diff --git a/docs/release_notes_128t_7.0.md b/docs/release_notes_128t_7.0.md index 2094b616338..239a80125df 100644 --- a/docs/release_notes_128t_7.0.md +++ b/docs/release_notes_128t_7.0.md @@ -64,7 +64,7 @@ An issue has been identified that may be observed in conductor deployments runni An issue has been identified when onboarding SSR routers installed with older versions of software (such as 5.4.4) to Conductors running 6.3.x, when running in offline-mode. In some cases, certain software packages are not available to be installed during onboarding. To work around this issue, import the **package-based** (the "128T" prefixed) ISO for the current conductor version onto the conductor. This provides the necessary software packages to complete the onboarding process. This issue will be resolved in a future release. -## Release 7.0.5-lts +## Release 7.0.5-6-lts **Release Date:** July 23, 2026 @@ -86,7 +86,7 @@ An issue has been identified when onboarding SSR routers installed with older ve ### Resolved Issues -- **The following CVEs have been identified and resolved in this release:** CVE-2018-10906, CVE-2018-14468, CVE-2020-11023, CVE-2021-28651, CVE-2021-47670, CVE-2022-25883, CVE-2022-49058, CVE-2022-49111, CVE-2022-49136, CVE-2022-49788, CVE-2022-49846, CVE-2022-49977, CVE-2022-49985, CVE-2022-50020, CVE-2022-50087, CVE-2022-50228, CVE-2022-50367, CVE-2022-50386, CVE-2022-50543, CVE-2023-26604, CVE-2023-31484, CVE-2023-40403, CVE-2023-49083, CVE-2023-52572, CVE-2023-52621, CVE-2023-52757, CVE-2023-53125, CVE-2023-53178, CVE-2023-53226, CVE-2023-53257, CVE-2023-53297, CVE-2023-53305, CVE-2023-53386, CVE-2023-53401, CVE-2023-53513, CVE-2023-53539, CVE-2024-5642, CVE-2024-6174, CVE-2024-12086, CVE-2024-12087, CVE-2024-23337, CVE-2024-26686, CVE-2024-26739, CVE-2024-26952, CVE-2024-27402, CVE-2024-28956, CVE-2024-34459, CVE-2024-35790, CVE-2024-35866, CVE-2024-35867, CVE-2024-35943, CVE-2024-36350, CVE-2024-36357, CVE-2024-36908, CVE-2024-38540, CVE-2024-38541, CVE-2024-42160, CVE-2024-42322, CVE-2024-43876, CVE-2024-43877, CVE-2024-44938, CVE-2024-46742, CVE-2024-46751, CVE-2024-46774, CVE-2024-46784, CVE-2024-46816, CVE-2024-47252, CVE-2024-49960, CVE-2024-49989, CVE-2024-50047, CVE-2024-50125, CVE-2024-50154, CVE-2024-50258, CVE-2024-50272, CVE-2024-50280, CVE-2024-53128, CVE-2024-53185, CVE-2024-53203, CVE-2024-54458, CVE-2024-56326, CVE-2024-56551, CVE-2024-56599, CVE-2024-56644, CVE-2024-56655, CVE-2024-56658, CVE-2024-56751, CVE-2024-57980, CVE-2024-58002, CVE-2025-3576, CVE-2025-4802, CVE-2025-4945, CVE-2025-5278, CVE-2025-5318, CVE-2025-5987, CVE-2025-6020, CVE-2025-6021, CVE-2025-6069, CVE-2025-6075, CVE-2025-6176, CVE-2025-6395, CVE-2025-6965, CVE-2025-7425, CVE-2025-8058, CVE-2025-8194, CVE-2025-8291, CVE-2025-9086, CVE-2025-9230, CVE-2025-9714, CVE-2025-10911, CVE-2025-11021, CVE-2025-11083, CVE-2025-11187, CVE-2025-11561, CVE-2025-12084, CVE-2025-12748, CVE-2025-13151, CVE-2025-13601, CVE-2025-13699, CVE-2025-14087, CVE-2025-14104, CVE-2025-14512, CVE-2025-14523, CVE-2025-15467, CVE-2025-15468, CVE-2025-15469, CVE-2025-21681, CVE-2025-21727, CVE-2025-21759, CVE-2025-21839, CVE-2025-21853, CVE-2025-21905, CVE-2025-21919, CVE-2025-21928, CVE-2025-21991, CVE-2025-22004, CVE-2025-22020, CVE-2025-22026, CVE-2025-22027, CVE-2025-22058, CVE-2025-22062, CVE-2025-22097, CVE-2025-23048, CVE-2025-23140, CVE-2025-23142, CVE-2025-23143, CVE-2025-23144, CVE-2025-23145, CVE-2025-23146, CVE-2025-23147, CVE-2025-23148, CVE-2025-23150, CVE-2025-23151, CVE-2025-23156, CVE-2025-23157, CVE-2025-23158, CVE-2025-23159, CVE-2025-23161, CVE-2025-23163, CVE-2025-30749, CVE-2025-30754, CVE-2025-30761, CVE-2025-32414, CVE-2025-32415, CVE-2025-32462, CVE-2025-32988, CVE-2025-32989, CVE-2025-32990, CVE-2025-37738, CVE-2025-37739, CVE-2025-37740, CVE-2025-37741, CVE-2025-37742, CVE-2025-37749, CVE-2025-37752, CVE-2025-37756, CVE-2025-37757, CVE-2025-37758, CVE-2025-37765, CVE-2025-37766, CVE-2025-37767, CVE-2025-37768, CVE-2025-37770, CVE-2025-37771, CVE-2025-37773, CVE-2025-37780, CVE-2025-37781, CVE-2025-37787, CVE-2025-37788, CVE-2025-37789, CVE-2025-37790, CVE-2025-37792, CVE-2025-37794, CVE-2025-37796, CVE-2025-37797, CVE-2025-37803, CVE-2025-37805, CVE-2025-37808, CVE-2025-37810, CVE-2025-37812, CVE-2025-37817, CVE-2025-37819, CVE-2025-37823, CVE-2025-37824, CVE-2025-37829, CVE-2025-37830, CVE-2025-37836, CVE-2025-37838, CVE-2025-37839, CVE-2025-37840, CVE-2025-37841, CVE-2025-37844, CVE-2025-37850, CVE-2025-37857, CVE-2025-37858, CVE-2025-37859, CVE-2025-37862, CVE-2025-37867, CVE-2025-37875, CVE-2025-37881, CVE-2025-37883, CVE-2025-37885, CVE-2025-37890, CVE-2025-37892, CVE-2025-37905, CVE-2025-37909, CVE-2025-37911, CVE-2025-37913, CVE-2025-37914, CVE-2025-37915, CVE-2025-37923, CVE-2025-37927, CVE-2025-37929, CVE-2025-37930, CVE-2025-37940, CVE-2025-37949, CVE-2025-37967, CVE-2025-37969, CVE-2025-37970, CVE-2025-37982, CVE-2025-37983, CVE-2025-37985, CVE-2025-37989, CVE-2025-37990, CVE-2025-37991, CVE-2025-37992, CVE-2025-37994, CVE-2025-37995, CVE-2025-37997, CVE-2025-37998, CVE-2025-38005, CVE-2025-38009, CVE-2025-38023, CVE-2025-38024, CVE-2025-38031, CVE-2025-38052, CVE-2025-38079, CVE-2025-38085, CVE-2025-38086, CVE-2025-38089, CVE-2025-38159, CVE-2025-38200, CVE-2025-38211, CVE-2025-38250, CVE-2025-38332, CVE-2025-38350, CVE-2025-38352, CVE-2025-38380, CVE-2025-38392, CVE-2025-38449, CVE-2025-38461, CVE-2025-38464, CVE-2025-38477, CVE-2025-38498, CVE-2025-38527, CVE-2025-38556, CVE-2025-38566, CVE-2025-38571, CVE-2025-38678, CVE-2025-38718, CVE-2025-38724, CVE-2025-39697, CVE-2025-39718, CVE-2025-39730, CVE-2025-39810, CVE-2025-39817, CVE-2025-39825, CVE-2025-39841, CVE-2025-39849, CVE-2025-39864, CVE-2025-39880, CVE-2025-39883, CVE-2025-39885, CVE-2025-39898, CVE-2025-39911, CVE-2025-39913, CVE-2025-39923, CVE-2025-39945, CVE-2025-39949, CVE-2025-39953, CVE-2025-39955, CVE-2025-39964, CVE-2025-39967, CVE-2025-39968, CVE-2025-39969, CVE-2025-39970, CVE-2025-39971, CVE-2025-39972, CVE-2025-39973, CVE-2025-39980, CVE-2025-39993, CVE-2025-39994, CVE-2025-39996, CVE-2025-39998, CVE-2025-40001, CVE-2025-40006, CVE-2025-40011, CVE-2025-40018, CVE-2025-40019, CVE-2025-40020, CVE-2025-40021, CVE-2025-40022, CVE-2025-40026, CVE-2025-40027, CVE-2025-40030, CVE-2025-40035, CVE-2025-40042, CVE-2025-40044, CVE-2025-40048, CVE-2025-40049, CVE-2025-40053, CVE-2025-40055, CVE-2025-40070, CVE-2025-40078, CVE-2025-40081, CVE-2025-40085, CVE-2025-40087, CVE-2025-40092, CVE-2025-40094, CVE-2025-40105, CVE-2025-40109, CVE-2025-40111, CVE-2025-40115, CVE-2025-40118, CVE-2025-40120, CVE-2025-40121, CVE-2025-40125, CVE-2025-40134, CVE-2025-40140, CVE-2025-40153, CVE-2025-40154, CVE-2025-40167, CVE-2025-40171, CVE-2025-40173, CVE-2025-40178, CVE-2025-40179, CVE-2025-40183, CVE-2025-40186, CVE-2025-40187, CVE-2025-40190, CVE-2025-40194, CVE-2025-40197, CVE-2025-40200, CVE-2025-40204, CVE-2025-40205, CVE-2025-40215, CVE-2025-40248, CVE-2025-40250, CVE-2025-40258, CVE-2025-40271, CVE-2025-40280, CVE-2025-40300, CVE-2025-40778, CVE-2025-45582, CVE-2025-47273, CVE-2025-48060, CVE-2025-48964, CVE-2025-49794, CVE-2025-49796, CVE-2025-49812, CVE-2025-49844, CVE-2025-50106, CVE-2025-53057, CVE-2025-53066, CVE-2025-53905, CVE-2025-53906, CVE-2025-54389, CVE-2025-54574, CVE-2025-58060, CVE-2025-58098, CVE-2025-58364, CVE-2025-58436, CVE-2025-61662, CVE-2025-61726, CVE-2025-61728, CVE-2025-61729, CVE-2025-61732, CVE-2025-61915, CVE-2025-61984, CVE-2025-61985, CVE-2025-62168, CVE-2025-64720, CVE-2025-65018, CVE-2025-65082, CVE-2025-66199, CVE-2025-66200, CVE-2025-66293, CVE-2025-66418, CVE-2025-66471, CVE-2025-67873, CVE-2025-68114, CVE-2025-68121, CVE-2025-68160, CVE-2025-68209, CVE-2025-68615, CVE-2025-68973, CVE-2025-69418, CVE-2025-69419, CVE-2025-69420, CVE-2025-69421, CVE-2026-0719, CVE-2026-0865, CVE-2026-1519, CVE-2026-1761, CVE-2026-1933, CVE-2026-2291, CVE-2026-2340, CVE-2026-3012, CVE-2026-3039, CVE-2026-3497, CVE-2026-3832, CVE-2026-3833, CVE-2026-4046, CVE-2026-4111, CVE-2026-4408, CVE-2026-4424, CVE-2026-4437, CVE-2026-4438, CVE-2026-4480, CVE-2026-4519, CVE-2026-4786, CVE-2026-4878, CVE-2026-4890, CVE-2026-4891, CVE-2026-4892, CVE-2026-4893, CVE-2026-5119, CVE-2026-5121, CVE-2026-5260, CVE-2026-5419, CVE-2026-5450, CVE-2026-5946, CVE-2026-6100, CVE-2026-6893, CVE-2026-7383, CVE-2026-9076, CVE-2026-9256, CVE-2026-21441, CVE-2026-21710, CVE-2026-22695, CVE-2026-22795, CVE-2026-22796, CVE-2026-22801, CVE-2026-23479, CVE-2026-23631, CVE-2026-25243, CVE-2026-25646, CVE-2026-25749, CVE-2026-26996, CVE-2026-27135, CVE-2026-27651, CVE-2026-27654, CVE-2026-27784, CVE-2026-27904, CVE-2026-28390, CVE-2026-28417, CVE-2026-28421, CVE-2026-28780, CVE-2026-28847, CVE-2026-28883, CVE-2026-28901, CVE-2026-28902, CVE-2026-28903, CVE-2026-28904, CVE-2026-28905, CVE-2026-28907, CVE-2026-28942, CVE-2026-28946, CVE-2026-28947, CVE-2026-28953, CVE-2026-28955, CVE-2026-28958, CVE-2026-29111, CVE-2026-29518, CVE-2026-31431, CVE-2026-32647, CVE-2026-32748, CVE-2026-33007, CVE-2026-33278, CVE-2026-33412, CVE-2026-33416, CVE-2026-33526, CVE-2026-33636, CVE-2026-33845, CVE-2026-33846, CVE-2026-33857, CVE-2026-34032, CVE-2026-34059, CVE-2026-34180, CVE-2026-34181, CVE-2026-34182, CVE-2026-34183, CVE-2026-34982, CVE-2026-35177, CVE-2026-35385, CVE-2026-35386, CVE-2026-35387, CVE-2026-35388, CVE-2026-35414, CVE-2026-35535, CVE-2026-37555, CVE-2026-39979, CVE-2026-40164, CVE-2026-40170, CVE-2026-40355, CVE-2026-40356, CVE-2026-40460, CVE-2026-40622, CVE-2026-40701, CVE-2026-41035, CVE-2026-41242, CVE-2026-41292, CVE-2026-41411, CVE-2026-42009, CVE-2026-42010, CVE-2026-42011, CVE-2026-42012, CVE-2026-42013, CVE-2026-42014, CVE-2026-42015, CVE-2026-42534, CVE-2026-42764, CVE-2026-42766, CVE-2026-42767, CVE-2026-42768, CVE-2026-42769, CVE-2026-42770, CVE-2026-42926, CVE-2026-42934, CVE-2026-42944, CVE-2026-42945, CVE-2026-42946, CVE-2026-42959, CVE-2026-43284, CVE-2026-43500, CVE-2026-43618, CVE-2026-43658, CVE-2026-43660, CVE-2026-44390, CVE-2026-44431, CVE-2026-44432, CVE-2026-44673, CVE-2026-45186, CVE-2026-45445, CVE-2026-45446, CVE-2026-45447, CVE-2026-46300, CVE-2026-46333 +- **The following CVEs have been identified and resolved in this release:** CVE-2018-10906, CVE-2018-14468, CVE-2020-11023, CVE-2021-28651, CVE-2021-47670, CVE-2022-25883, CVE-2022-49058, CVE-2022-49111, CVE-2022-49136, CVE-2022-49788, CVE-2022-49846, CVE-2022-49977, CVE-2022-49985, CVE-2022-50020, CVE-2022-50087, CVE-2022-50228, CVE-2022-50367, CVE-2022-50386, CVE-2022-50543, CVE-2023-26604, CVE-2023-31484, CVE-2023-40403, CVE-2023-49083, CVE-2023-52572, CVE-2023-52621, CVE-2023-52757, CVE-2023-53125, CVE-2023-53178, CVE-2023-53226, CVE-2023-53257, CVE-2023-53297, CVE-2023-53305, CVE-2023-53386, CVE-2023-53401, CVE-2023-53513, CVE-2023-53539, CVE-2024-5642, CVE-2024-6174, CVE-2024-12086, CVE-2024-12087, CVE-2024-23337, CVE-2024-26686, CVE-2024-26739, CVE-2024-26952, CVE-2024-27402, CVE-2024-28956, CVE-2024-34459, CVE-2024-35790, CVE-2024-35866, CVE-2024-35867, CVE-2024-35943, CVE-2024-36350, CVE-2024-36357, CVE-2024-36908, CVE-2024-38540, CVE-2024-38541, CVE-2024-42160, CVE-2024-42322, CVE-2024-43876, CVE-2024-43877, CVE-2024-44938, CVE-2024-46742, CVE-2024-46751, CVE-2024-46774, CVE-2024-46784, CVE-2024-46816, CVE-2024-47252, CVE-2024-49960, CVE-2024-49989, CVE-2024-50047, CVE-2024-50125, CVE-2024-50154, CVE-2024-50258, CVE-2024-50272, CVE-2024-50280, CVE-2024-53128, CVE-2024-53185, CVE-2024-53203, CVE-2024-54458, CVE-2024-56326, CVE-2024-56551, CVE-2024-56599, CVE-2024-56644, CVE-2024-56655, CVE-2024-56658, CVE-2024-56751, CVE-2024-57980, CVE-2024-58002, CVE-2025-3576, CVE-2025-4802, CVE-2025-4945, CVE-2025-5278, CVE-2025-5318, CVE-2025-5987, CVE-2025-6020, CVE-2025-6021, CVE-2025-6069, CVE-2025-6075, CVE-2025-6176, CVE-2025-6395, CVE-2025-6965, CVE-2025-7425, CVE-2025-8058, CVE-2025-8194, CVE-2025-8291, CVE-2025-9086, CVE-2025-9230, CVE-2025-9714, CVE-2025-10911, CVE-2025-11021, CVE-2025-11083, CVE-2025-11187, CVE-2025-11561, CVE-2025-12084, CVE-2025-12748, CVE-2025-13151, CVE-2025-13601, CVE-2025-13699, CVE-2025-14087, CVE-2025-14104, CVE-2025-14512, CVE-2025-14523, CVE-2025-15467, CVE-2025-15468, CVE-2025-15469, CVE-2025-21681, CVE-2025-21727, CVE-2025-21759, CVE-2025-21839, CVE-2025-21853, CVE-2025-21905, CVE-2025-21919, CVE-2025-21928, CVE-2025-21991, CVE-2025-22004, CVE-2025-22020, CVE-2025-22026, CVE-2025-22027, CVE-2025-22058, CVE-2025-22062, CVE-2025-22097, CVE-2025-23048, CVE-2025-23140, CVE-2025-23142, CVE-2025-23143, CVE-2025-23144, CVE-2025-23145, CVE-2025-23146, CVE-2025-23147, CVE-2025-23148, CVE-2025-23150, CVE-2025-23151, CVE-2025-23156, CVE-2025-23157, CVE-2025-23158, CVE-2025-23159, CVE-2025-23161, CVE-2025-23163, CVE-2025-30749, CVE-2025-30754, CVE-2025-30761, CVE-2025-32414, CVE-2025-32415, CVE-2025-32462, CVE-2025-32988, CVE-2025-32989, CVE-2025-32990, CVE-2025-37738, CVE-2025-37739, CVE-2025-37740, CVE-2025-37741, CVE-2025-37742, CVE-2025-37749, CVE-2025-37752, CVE-2025-37756, CVE-2025-37757, CVE-2025-37758, CVE-2025-37765, CVE-2025-37766, CVE-2025-37767, CVE-2025-37768, CVE-2025-37770, CVE-2025-37771, CVE-2025-37773, CVE-2025-37780, CVE-2025-37781, CVE-2025-37787, CVE-2025-37788, CVE-2025-37789, CVE-2025-37790, CVE-2025-37792, CVE-2025-37794, CVE-2025-37796, CVE-2025-37797, CVE-2025-37803, CVE-2025-37805, CVE-2025-37808, CVE-2025-37810, CVE-2025-37812, CVE-2025-37817, CVE-2025-37819, CVE-2025-37823, CVE-2025-37824, CVE-2025-37829, CVE-2025-37830, CVE-2025-37836, CVE-2025-37838, CVE-2025-37839, CVE-2025-37840, CVE-2025-37841, CVE-2025-37844, CVE-2025-37850, CVE-2025-37857, CVE-2025-37858, CVE-2025-37859, CVE-2025-37862, CVE-2025-37867, CVE-2025-37875, CVE-2025-37881, CVE-2025-37883, CVE-2025-37885, CVE-2025-37890, CVE-2025-37892, CVE-2025-37905, CVE-2025-37909, CVE-2025-37911, CVE-2025-37913, CVE-2025-37914, CVE-2025-37915, CVE-2025-37923, CVE-2025-37927, CVE-2025-37929, CVE-2025-37930, CVE-2025-37940, CVE-2025-37949, CVE-2025-37967, CVE-2025-37969, CVE-2025-37970, CVE-2025-37982, CVE-2025-37983, CVE-2025-37985, CVE-2025-37989, CVE-2025-37990, CVE-2025-37991, CVE-2025-37992, CVE-2025-37994, CVE-2025-37995, CVE-2025-37997, CVE-2025-37998, CVE-2025-38005, CVE-2025-38009, CVE-2025-38023, CVE-2025-38024, CVE-2025-38031, CVE-2025-38052, CVE-2025-38079, CVE-2025-38085, CVE-2025-38086, CVE-2025-38089, CVE-2025-38159, CVE-2025-38200, CVE-2025-38211, CVE-2025-38250, CVE-2025-38332, CVE-2025-38350, CVE-2025-38352, CVE-2025-38380, CVE-2025-38392, CVE-2025-38449, CVE-2025-38461, CVE-2025-38464, CVE-2025-38477, CVE-2025-38498, CVE-2025-38527, CVE-2025-38556, CVE-2025-38566, CVE-2025-38571, CVE-2025-38678, CVE-2025-38718, CVE-2025-38724, CVE-2025-39697, CVE-2025-39718, CVE-2025-39730, CVE-2025-39810, CVE-2025-39817, CVE-2025-39825, CVE-2025-39841, CVE-2025-39849, CVE-2025-39864, CVE-2025-39880, CVE-2025-39883, CVE-2025-39885, CVE-2025-39898, CVE-2025-39911, CVE-2025-39913, CVE-2025-39923, CVE-2025-39945, CVE-2025-39949, CVE-2025-39953, CVE-2025-39955, CVE-2025-39964, CVE-2025-39967, CVE-2025-39968, CVE-2025-39969, CVE-2025-39970, CVE-2025-39971, CVE-2025-39972, CVE-2025-39973, CVE-2025-39980, CVE-2025-39993, CVE-2025-39994, CVE-2025-39996, CVE-2025-39998, CVE-2025-40001, CVE-2025-40006, CVE-2025-40011, CVE-2025-40018, CVE-2025-40019, CVE-2025-40020, CVE-2025-40021, CVE-2025-40022, CVE-2025-40026, CVE-2025-40027, CVE-2025-40030, CVE-2025-40035, CVE-2025-40042, CVE-2025-40044, CVE-2025-40048, CVE-2025-40049, CVE-2025-40053, CVE-2025-40055, CVE-2025-40070, CVE-2025-40078, CVE-2025-40081, CVE-2025-40085, CVE-2025-40087, CVE-2025-40092, CVE-2025-40094, CVE-2025-40105, CVE-2025-40109, CVE-2025-40111, CVE-2025-40115, CVE-2025-40118, CVE-2025-40120, CVE-2025-40121, CVE-2025-40125, CVE-2025-40134, CVE-2025-40140, CVE-2025-40153, CVE-2025-40154, CVE-2025-40167, CVE-2025-40171, CVE-2025-40173, CVE-2025-40178, CVE-2025-40179, CVE-2025-40183, CVE-2025-40186, CVE-2025-40187, CVE-2025-40190, CVE-2025-40194, CVE-2025-40197, CVE-2025-40200, CVE-2025-40204, CVE-2025-40205, CVE-2025-40215, CVE-2025-40248, CVE-2025-40250, CVE-2025-40258, CVE-2025-40271, CVE-2025-40280, CVE-2025-40300, CVE-2025-40778, CVE-2025-45582, CVE-2025-47273, CVE-2025-48060, CVE-2025-48964, CVE-2025-49794, CVE-2025-49796, CVE-2025-49812, CVE-2025-49844, CVE-2025-50106, CVE-2025-53057, CVE-2025-53066, CVE-2025-53905, CVE-2025-53906, CVE-2025-54389, CVE-2025-54574, CVE-2025-58060, CVE-2025-58098, CVE-2025-58364, CVE-2025-58436, CVE-2025-61662, CVE-2025-61726, CVE-2025-61728, CVE-2025-61729, CVE-2025-61732, CVE-2025-61915, CVE-2025-61984, CVE-2025-61985, CVE-2025-62168, CVE-2025-64720, CVE-2025-65018, CVE-2025-65082, CVE-2025-66199, CVE-2025-66200, CVE-2025-66293, CVE-2025-66418, CVE-2025-66471, CVE-2025-67873, CVE-2025-68114, CVE-2025-68121, CVE-2025-68160, CVE-2025-68209, CVE-2025-68615, CVE-2025-68973, CVE-2025-69418, CVE-2025-69419, CVE-2025-69420, CVE-2025-69421, CVE-2026-0719, CVE-2026-0865, CVE-2026-1519, CVE-2026-1761, CVE-2026-1933, CVE-2026-2291, CVE-2026-2340, CVE-2026-3012, CVE-2026-3039, CVE-2026-3497, CVE-2026-3832, CVE-2026-3833, CVE-2026-4046, CVE-2026-4111, CVE-2026-4408, CVE-2026-4424, CVE-2026-4437, CVE-2026-4438, CVE-2026-4480, CVE-2026-4519, CVE-2026-4786, CVE-2026-4878, CVE-2026-4890, CVE-2026-4891, CVE-2026-4892, CVE-2026-4893, CVE-2026-5119, CVE-2026-5121, CVE-2026-5260, CVE-2026-5419, CVE-2026-5450, CVE-2026-5946, CVE-2026-6100, CVE-2026-6893, CVE-2026-7383, CVE-2026-9076, CVE-2026-9256, CVE-2026-21441, CVE-2026-21710, CVE-2026-22695, CVE-2026-22795, CVE-2026-22796, CVE-2026-22801, CVE-2026-23479, CVE-2026-23631, CVE-2026-25243, CVE-2026-25646, CVE-2026-25749, CVE-2026-26996, CVE-2026-27135, CVE-2026-27651, CVE-2026-27654, CVE-2026-27784, CVE-2026-27904, CVE-2026-28390, CVE-2026-28417, CVE-2026-28421, CVE-2026-28780, CVE-2026-28847, CVE-2026-28883, CVE-2026-28901, CVE-2026-28902, CVE-2026-28903, CVE-2026-28904, CVE-2026-28905, CVE-2026-28907, CVE-2026-28942, CVE-2026-28946, CVE-2026-28947, CVE-2026-28953, CVE-2026-28955, CVE-2026-28958, CVE-2026-29111, CVE-2026-29518, CVE-2026-31431, CVE-2026-32647, CVE-2026-32748, CVE-2026-33007, CVE-2026-33278, CVE-2026-33412, CVE-2026-33416, CVE-2026-33526, CVE-2026-33636, CVE-2026-33845, CVE-2026-33846, CVE-2026-33857, CVE-2026-34032, CVE-2026-34059, CVE-2026-34180, CVE-2026-34181, CVE-2026-34182, CVE-2026-34183, CVE-2026-34982, CVE-2026-35177, CVE-2026-35385, CVE-2026-35386, CVE-2026-35387, CVE-2026-35388, CVE-2026-35414, CVE-2026-35535, CVE-2026-37555, CVE-2026-39979, CVE-2026-40164, CVE-2026-40170, CVE-2026-40355, CVE-2026-40356, CVE-2026-40460, CVE-2026-40622, CVE-2026-40701, CVE-2026-41035, CVE-2026-41242, CVE-2026-41292, CVE-2026-41411, CVE-2026-42009, CVE-2026-42010, CVE-2026-42011, CVE-2026-42012, CVE-2026-42013, CVE-2026-42014, CVE-2026-42015, CVE-2026-42534, CVE-2026-42764, CVE-2026-42766, CVE-2026-42767, CVE-2026-42768, CVE-2026-42769, CVE-2026-42770, CVE-2026-42926, CVE-2026-42934, CVE-2026-42944, CVE-2026-42945, CVE-2026-42946, CVE-2026-42959, CVE-2026-43284, CVE-2026-43500, CVE-2026-43618, CVE-2026-43658, CVE-2026-43660, CVE-2026-44390, CVE-2026-44431, CVE-2026-44432, CVE-2026-44673, CVE-2026-45186, CVE-2026-45445, CVE-2026-45446, CVE-2026-45447, CVE-2026-46300, CVE-2026-46333. ------ - **The following issues have been addressed and delivered to increase the overall security posture of the SSR:** I95-65017, I95-65018, I95-65021, I95-65026, I95-65030, I95-65033, I95-65039, I95-65054, I95-65055, I95-65080, I95-65205, I95-65210, I95-65211, I95-65217, I95-65219, I95-65221, I95-65225, I95-65226, I95-65228, I95-65236, I95-65237, I95-65238, I95-65239, I95-65247, I95-65249, I95-65297, I95-65677. ------ @@ -110,7 +110,7 @@ An issue has been identified when onboarding SSR routers installed with older ve ------ - **I95-62011 Stats from adjacency traffic engineering throw an exception when a hostname is used:** Resolved an issue where dynamic reconfiguration when adding neighbors/adjacencies that use an FQDN and have adjacency Traffic Engineering enabled, caused the device interface to reach a failure state. ------ -- **I95-62071 Multicast Traffic contributing to service area resource contention:** Resolved an issue when we have an mroute with no outgoing interfaces. We now use a Detour Path instead of NoServicePaths to prevent resource contention. +- **I95-62071 Multicast Traffic contributing to service area resource contention:** Resolved an issue when an mroute has no outgoing interfaces. A Detour Path is now used instead of NoServicePaths to prevent resource contention. ------ - **I95-62179 Software Lifecycle History not up to date:** Resolved an issue where the software lifecycle page was not showing any history, or in some cases, the history was outdated. Internal functionality has been updated, and both the GUI and CLI outputs now show the correct information. ------ @@ -124,9 +124,9 @@ An issue has been identified when onboarding SSR routers installed with older ve ------ - **I95-62580 Conflicting network interface names slowing application traffic:** Resolved an issue in the app summary tracking logic related to conflicting network interface names for non-redundant ports of an HA router. ------ -- **I95-62631 Race condition for multiple dhcp servers startup:** Resolved and issue where the multiple DHCP server config change from single DHCP server to multiple DHCP server under the same device interface would stop working. Updates have been made to the monitoring script to identify the changes and prevent the issue. +- **I95-62631 Race condition for multiple dhcp servers startup:** Resolved and issue where the multiple DHCP server config change from single DHCP server to multiple DHCP servers under the same device interface would stop working. Updates have been made to the monitoring script to identify the changes and prevent the issue. ------ -- **I95-62668 Routers disconnected following conductor upgrade:** Resolved an issue where SSH keys were erroneously written to the authorized-keys file. +- **I95-62668 Routers disconnected following conductor upgrade:** Resolved an issue where SSH keys were erroneously written to the `authorized-keys` file. ------ - **I95-62695 Management interface placed in incorrect zone during conductor onboarding:** Resolved an issue where an earlier change did not put the management infterface in the t128 zone. ------ @@ -150,7 +150,7 @@ An issue has been identified when onboarding SSR routers installed with older ve ------ - **I95-62982 SSR limits the number of supported network-interfaces:** Resolved an issue where the limit on the number of network-interfaces was low. Improved implementation of data structure storing network-interface objects, resulting in an increase of 7x the current capacity. ------ -- **I95-63018 Memory corruption after reading VSA:** Resolved a rare issue where in remote authentication through a RADIUS server, pam_radius was causing memory corruption after a Vendor Specific Attribute (VSA) is read. +- **I95-63018 Memory corruption after reading VSA:** Resolved a rare issue where in remote authentication through a RADIUS server, `pam_radius` was causing memory corruption after a Vendor Specific Attribute (VSA) is read. ------ - **I95-63033 `show lte detail` crash when LTE apn-name is invalid:** Resolved an issue where executing `show lte detail` when an invalid APN name is configured caused a CLI crash due to an unhandled dictionary update error. ------ @@ -172,15 +172,15 @@ An issue has been identified when onboarding SSR routers installed with older ve ------ - **I95-63324 Duplicate static DHCP addresses cause crashes:** Added validation steps to identify and prevent duplicate MAC addresses for the static address assignment. ------ -- **I95-63330 Repeated interface flaps on vSSR led to crash in highway process:** Truncated packets are validated prior to processing, preventing crash. +- **I95-63330 Repeated interface flaps on vSSR led to crash in highway process:** Truncated packets are validated prior to processing, preventing a crash. ------ - **I95-63355 Node-level security controls for serial console and USB:** Restored support for configuring node-level security features that disable serial console output and USB boot/mass storage (for example, settings such as `serial-console-enabled` and `usb-mass-storage-enabled`). This allows users to reapply hardened platform settings where supported. ------ - **I95-63422 Factory reset routers not re-onboarding when ESKM enabled:** Resolved an issue where if ESKM was initially started using invalid certificate on one node, it would be unable to onboard until the remote peering relationship is restarted. ------ -- **I95-63462 Conductor Monitoring Fails When One HA Node is Down:** Resolved an issue where conductor UI monitoring calls at the router level failed when one node in an HA pair was down, even though node-level queries succeeded. +- **I95-63462 Conductor monitoring fails when one HA node is down:** Resolved an issue where conductor UI monitoring calls at the router level failed when one node in an HA pair was down, even though node-level queries succeeded. ------ -- **I95-63554 Stale Sessions Causing Site-to-Site Communication Issues:** Resolved an issue where stuck or stale sessions interrupted site-to-site communication in hub-and-spoke topologies. +- **I95-63554 Stale sessions causing site-to-site communication issues:** Resolved an issue where stuck or stale sessions interrupted site-to-site communication in hub-and-spoke topologies. ------ - **I95-63590 Repeated interface flaps leading to highway coredumps:** Truncated packets are now validated prior to processing, preventing a crash. An exception is logged so that the issue can be more easily rectified. ------ @@ -222,19 +222,19 @@ An issue has been identified when onboarding SSR routers installed with older ve ------ - **I95-64052 Software History Missing Rollback and Revert Events:** Resolved an issue where the software lifecycle history in the GUI only displayed upgrades and did not show rollback or revert operations. ------ -- **I95-64054 Highway Crash with ESKM Jumbo Packets:** Resolved an issue where the highway process could crash with a null pointer dereference when processing jumbo packets with SVRv2 due to an uninitialized encryption context. +- **I95-64054 Highway Crash with ESKM Jumbo Packets:** Resolved an issue where the highway process could crash with a null pointer dereference when processing jumbo packets with ESKM due to an uninitialized encryption context. ------ -- **I95-64061 Azure kernel hung task after upgrade:** Resolved an issue where Azure VMs could experience a kernel hung task condition related to the `uio_hv_generic` driver after upgrading to 7.1.3. +- **I95-64061 Azure kernel hung task after upgrade:** Resolved an issue where Azure VMs could experience a kernel hung task condition related to the `uio_hv_generic` driver after upgrading. ------ - **I95-64063 Salt Minion restarting every minute when one Conductor is Unreachable:** Resolved an issue where the Salt Minion restarted once per minute whenever one conductor in a two-conductor deployment was unreachable, causing repeated instability in the management plane connection. ------ - **I95-64104 Software History Not Showing Downgrades:** Resolved an issue where software downgrade operations were not displayed in the software lifecycle history UI. ------ -- **I95-64150 User-defined SNMP metrics not working:** Resolved an issue where custom SNMP metric MIBs were not functioning correctly after upgrading to 7.1.3, preventing SNMP-based polling systems from collecting metrics. +- **I95-64150 User-defined SNMP metrics not working:** Resolved an issue where custom SNMP metric MIBs were not functioning correctly after upgrading, preventing SNMP-based polling systems from collecting metrics. ------ - **I95-64152 Conductor connectivity blocked by stale SSH control sockets:** Resolved a condition where, after a router reboot (particularly following an unclean shutdown), the router could remain **Disconnected** in the Conductor due to stale SSH control sockets. The SSH coordination logic now cleans up stale control sockets automatically, restoring Conductor–router connectivity. ------ -- **I95-64218 Conductor upgrade failed with health check failure:** Resolved an issue where an upgrade of a redundant conductor could fail with a System Processes Check health check failure during the HA upgrade process. +- **I95-64218 Conductor upgrade failed with health check failure:** Resolved an issue where an upgrade of a redundant conductor could fail with a `System Processes Check` health check failure during the HA upgrade process. ------ - **I95-64250 BGP routes received but not installed in RIB:** Resolved an issue where BGP routes were received from peers but not installed in the BGP table or the routing information base (RIB), preventing traffic from using those routes. ------ @@ -262,8 +262,6 @@ An issue has been identified when onboarding SSR routers installed with older ve ------ - **I95-64567 SSR router status Disconnected on Conductor:** Resolved an issue where configuring a loopback address on a router node caused the router to become Disconnected from the Conductor due to incorrect source NAT behavior on internal sessions. ------ -- **I95-64568 TPM details in platform information:** The `show platform security` command has been added to display TPM information such as TPM family (version number), revision, firmware version, and manufacturer. This allows users to verify TPM availability and configuration for security and compliance workflows. ------- - **I95-64575 Unable to login to SSR routers from conductor in cloud deployment:** Resolved an issue where the SSH configuration on cloud-deployed routers disabled password authentication, preventing login from the conductor. ------ - **I95-64595 Excessive audit log severity:** Adjusted the log severity for the audit log event collector to better match expected operational conditions and reduce unnecessary log noise. @@ -346,13 +344,13 @@ An issue has been identified when onboarding SSR routers installed with older ve ------ - **I95-65557 Highway Crash During Show Commands on HA Router:** Resolved an issue where issuing show commands on an HA router could cause a highway crash on both nodes due to FIB table contention. FIB table operations are now batched to prevent mutex lock errors. ------ -- **I95-65635 Source NAT Port Exhaustion on Loopback Interface:** Resolved an issue where a large number of SourceNatPortException errors for the local KNI interface caused SSH connection failures to the SSR loopback IP. Host-type service routes no longer use the KNI IPv6 control interface for source NAT. +- **I95-65635 Source NAT Port Exhaustion on Loopback Interface:** Resolved an issue where a large number of `SourceNatPortException` errors for the local KNI interface caused SSH connection failures to the SSR loopback IP. Host-type service routes no longer use the KNI IPv6 control interface for source NAT. ------ - **I95-65656 Conductor upgrade fails on health check:** Resolved an issue where conductor upgrades could fail due to a health check timeout, preventing the upgrade from completing successfully. ------ -- **I95-65680 RoutingManager Not Running on HA Headend Router:** Resolved an issue where the RoutingManager process was incorrectly deactivated on an HA headend router due to a race condition in ZED-driven leadership election, causing BGP sessions to go down. +- **I95-65680 RoutingManager Not Running on HA Headend Router:** Resolved an issue where the routingManager could remain in STANDBY after a session interruption, leaving the router without an active routing process (loss of BGP/routing connectivity) until restarted. ------ -- **I95-65691 Node disconnected after headend partial rollback:** Resolved an issue where a node could remain disconnected from the conductor after a partial rollback scenario on a headend router. +- **I95-65754 Highway Crash on Shutdown Due to Static Sessions:** Resolved an issue where the highway process crashed during shutdown on HA nodes performing a downgrade. Static sessions were not being cleared during the shutdown sequence, causing a use-after-free condition when session destructors ran after the worker thread pool had already been destroyed. Static sessions are now properly cleared alongside the session table during shutdown, preventing the crash. ------ - **I95-65797 ESKM Peering Stays Down After Late Metadata Key:** Resolved an issue where ESKM peering remained down when BFD received the local metadata key late because retransmit timers were not being restarted after their initial firing. ------ diff --git a/docs/release_notes_128t_7.1.md b/docs/release_notes_128t_7.1.md index 6898f77b6ba..c06fd9adba1 100644 --- a/docs/release_notes_128t_7.1.md +++ b/docs/release_notes_128t_7.1.md @@ -480,7 +480,7 @@ If you have an SSR400 or SSR440, it is strongly recommended that you upgrade to ------ - **I95-62011 Stats from adjacency traffic engineering throw an exception when a hostname is used:** Resolved an issue where dynamic reconfiguration when adding neighbors/adjacencies that use an FQDN and have adjacency Traffic Engineering enabled, caused the device interface to reach a failure state. ------ -- **I95-62071 Multicast Traffic contributing to service area resource contention:** Resolved an issue when we have an mroute with no outgoing interfaces. We now use a Detour Path instead of NoServicePaths to prevent resource contention. +- **I95-62071 Multicast Traffic contributing to service area resource contention:** Resolved an issue when an mroute has no outgoing interfaces. A Detour Path is now used instead of NoServicePaths to prevent resource contention. ------ - **I95-62179 Software Lifecycle History not up to date:** Resolved an issue where the software lifecycle page was not showing any history, or in some cases, the history was outdated. Internal functionality has been updated, and both the GUI and CLI outputs now show the correct information. ------ From 609ae49ef71d0448de13ac3496c1281a59a5be56 Mon Sep 17 00:00:00 2001 From: Chris Date: Mon, 20 Jul 2026 13:43:36 -0400 Subject: [PATCH 03/10] adding I95-65680 and updating build number. --- docs/about_releases.md | 2 +- docs/release_notes_128t_7.0.md | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/about_releases.md b/docs/about_releases.md index 8f3d99d0f00..51146152a71 100644 --- a/docs/about_releases.md +++ b/docs/about_releases.md @@ -56,7 +56,7 @@ However, issues resolved in `4.3.12`, which was released on 3/12/2021 are not ad | -- | -- | -- | -- | -- | -- | -- | | Release 7.2 | [7.2.0](release_notes_128t_7.2.md#release-720-29r1) | July 1, 2026 | [7.2.1](release_notes_128t_7.2.md#release-721-1r1) | LTS | January 1, 2029 | July 1, 2029 | | Release 7.1 | [7.1.0](release_notes_128t_7.1.md#release-710-50r1) | December 4, 2025 | [7.1.6](release_notes_128t_7.1.md#release-716-7-sts) | STS | March 10, 2027 | September 10, 2027 | -| Release 7.0 | [7.0.1](release_notes_128t_7.0.md#release-701-1r1) | October 14, 2025 | [7.0.5](release_notes_128t_7.0.md#release-705-6-lts) | LTS | August 24, 2028 | February 24, 2029 | +| Release 7.0 | [7.0.1](release_notes_128t_7.0.md#release-701-1r1) | October 14, 2025 | [7.0.5](release_notes_128t_7.0.md#release-705-7-lts) | LTS | August 24, 2028 | February 24, 2029 | | Release 6.3 | [6.3.0](release_notes_128t_6.3.md#release-630-107r1) | September 30, 2024 | [6.3.7-6-sts](release_notes_128t_6.3.md#release-637-6-sts) | STS | May 6, 2026 | November 6, 2026 | | Release 6.2 | [6.2.0](release_notes_128t_6.2.md#release-620-39r1) | November 16, 2023 | [6.2.12-3-lts](release_notes_128t_6.2.md#release-6212-3-lts) | LTS | September 6, 2026 | March 6, 2027 | diff --git a/docs/release_notes_128t_7.0.md b/docs/release_notes_128t_7.0.md index 239a80125df..d76814a2c60 100644 --- a/docs/release_notes_128t_7.0.md +++ b/docs/release_notes_128t_7.0.md @@ -64,7 +64,7 @@ An issue has been identified that may be observed in conductor deployments runni An issue has been identified when onboarding SSR routers installed with older versions of software (such as 5.4.4) to Conductors running 6.3.x, when running in offline-mode. In some cases, certain software packages are not available to be installed during onboarding. To work around this issue, import the **package-based** (the "128T" prefixed) ISO for the current conductor version onto the conductor. This provides the necessary software packages to complete the onboarding process. This issue will be resolved in a future release. -## Release 7.0.5-6-lts +## Release 7.0.5-7-lts **Release Date:** July 23, 2026 @@ -354,6 +354,8 @@ An issue has been identified when onboarding SSR routers installed with older ve ------ - **I95-65797 ESKM Peering Stays Down After Late Metadata Key:** Resolved an issue where ESKM peering remained down when BFD received the local metadata key late because retransmit timers were not being restarted after their initial firing. ------ +- **I95-65850 Redundant conductor fails upgrade:** Resolved an issue where runtime RPM upgrades of the minion-connector on SSR400-series platforms failed to start due to missing IMA file signatures, resulting in loss of conductor connectivity. +------ - **WAN-4440 Config error validation for DHCP:** Added configuration error validation for DHCP at the inspector level to catch and report invalid DHCP configurations before they are applied. ------ - **WAN-4466 LTE interface incorrect graphing and interface behavior:** Resolved an issue where LTE interfaces with no signal were incorrectly reporting RX traffic in interface graphs, despite the WAN path being down and the SIM card not being connected to the carrier network. From ee278a564b13fddd89f15ab50689485099412b6d Mon Sep 17 00:00:00 2001 From: Chris Date: Wed, 22 Jul 2026 14:08:19 -0400 Subject: [PATCH 04/10] adding caveat, build number, 65850, and new date. --- docs/about_releases.md | 2 +- docs/release_notes_128t_7.0.md | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/docs/about_releases.md b/docs/about_releases.md index 51146152a71..0beb36bf77e 100644 --- a/docs/about_releases.md +++ b/docs/about_releases.md @@ -56,7 +56,7 @@ However, issues resolved in `4.3.12`, which was released on 3/12/2021 are not ad | -- | -- | -- | -- | -- | -- | -- | | Release 7.2 | [7.2.0](release_notes_128t_7.2.md#release-720-29r1) | July 1, 2026 | [7.2.1](release_notes_128t_7.2.md#release-721-1r1) | LTS | January 1, 2029 | July 1, 2029 | | Release 7.1 | [7.1.0](release_notes_128t_7.1.md#release-710-50r1) | December 4, 2025 | [7.1.6](release_notes_128t_7.1.md#release-716-7-sts) | STS | March 10, 2027 | September 10, 2027 | -| Release 7.0 | [7.0.1](release_notes_128t_7.0.md#release-701-1r1) | October 14, 2025 | [7.0.5](release_notes_128t_7.0.md#release-705-7-lts) | LTS | August 24, 2028 | February 24, 2029 | +| Release 7.0 | [7.0.1](release_notes_128t_7.0.md#release-701-1r1) | October 14, 2025 | [7.0.5](release_notes_128t_7.0.md#release-705-9-lts) | LTS | August 24, 2028 | February 24, 2029 | | Release 6.3 | [6.3.0](release_notes_128t_6.3.md#release-630-107r1) | September 30, 2024 | [6.3.7-6-sts](release_notes_128t_6.3.md#release-637-6-sts) | STS | May 6, 2026 | November 6, 2026 | | Release 6.2 | [6.2.0](release_notes_128t_6.2.md#release-620-39r1) | November 16, 2023 | [6.2.12-3-lts](release_notes_128t_6.2.md#release-6212-3-lts) | LTS | September 6, 2026 | March 6, 2027 | diff --git a/docs/release_notes_128t_7.0.md b/docs/release_notes_128t_7.0.md index d76814a2c60..1c1af2ecf4e 100644 --- a/docs/release_notes_128t_7.0.md +++ b/docs/release_notes_128t_7.0.md @@ -29,7 +29,7 @@ An issue has been identified involving the use of the HA Sync Redundancy Plugin **7.0.1 Conductor Upgrades** -If you are upgrading a conductor that is currently installed with version 6.3.4 or lower, and you wish to upgrade to version 7.0.1 or higher, you must first upgrade the conductor to any version of the 6.3.x software, including and higher than 6.3.5. +If you are upgrading a conductor that is currently installed with version 6.3.4 or lower, and you wish to upgrade to version 7.0.1 or higher, you must first upgrade the conductor to a version of the 6.3.x software, including and higher than 6.3.5. Routers running SSR software versions earlier than 6.3.5 cannot connect to conductors running SSR software version 7.0.1 and higher. A transitional step is required to enable routers running versions earlier than 6.3.5 (6.0.x, 6.1.x, 6.2.x, 6.3.4 and lower) to communicate with a conductor running 7.0.1+. @@ -64,9 +64,15 @@ An issue has been identified that may be observed in conductor deployments runni An issue has been identified when onboarding SSR routers installed with older versions of software (such as 5.4.4) to Conductors running 6.3.x, when running in offline-mode. In some cases, certain software packages are not available to be installed during onboarding. To work around this issue, import the **package-based** (the "128T" prefixed) ISO for the current conductor version onto the conductor. This provides the necessary software packages to complete the onboarding process. This issue will be resolved in a future release. -## Release 7.0.5-7-lts +**Downgrades are not supported** + +After the installation of SSR 7.0.x, it is not possible to downgrade to a 6.x version of the SSR software. Because of the format of the image based installation (dividing the disk into two partitions), downgrading from SSR 7.0.x to any package based installation (6.x) is not possible. A downgrade is defined as uninstalling the 7.0.x software, and attempting to install a 6.x version. + +**[Rollback](intro_rollback.md) (to the previously installed version) is supported.** + +## Release 7.0.5-9-lts -**Release Date:** July 23, 2026 +**Release Date:** July 27, 2026 ### New Features From da98344010d5c8c3824dd42064d0a9e84e684e3a Mon Sep 17 00:00:00 2001 From: Chris Date: Wed, 22 Jul 2026 16:11:17 -0400 Subject: [PATCH 05/10] text edit --- docs/release_notes_128t_7.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release_notes_128t_7.0.md b/docs/release_notes_128t_7.0.md index 1c1af2ecf4e..c7c2aa581e1 100644 --- a/docs/release_notes_128t_7.0.md +++ b/docs/release_notes_128t_7.0.md @@ -66,7 +66,7 @@ An issue has been identified when onboarding SSR routers installed with older ve **Downgrades are not supported** -After the installation of SSR 7.0.x, it is not possible to downgrade to a 6.x version of the SSR software. Because of the format of the image based installation (dividing the disk into two partitions), downgrading from SSR 7.0.x to any package based installation (6.x) is not possible. A downgrade is defined as uninstalling the 7.0.x software, and attempting to install a 6.x version. +After the installation of SSR 7.x, it is not possible to downgrade to a 6.x version of the SSR software. Because of the format of the image based installation (dividing the disk into two partitions), downgrading from SSR 7.x to any package based installation (6.x) is not possible. A downgrade is defined as uninstalling the 7.x software, and attempting to install a 6.x version. **[Rollback](intro_rollback.md) (to the previously installed version) is supported.** From aa7a6d06de877dacb49c0fb15189d5f5ba8ded1f Mon Sep 17 00:00:00 2001 From: Chris Date: Mon, 27 Jul 2026 11:35:22 -0400 Subject: [PATCH 06/10] update build number and date --- docs/about_releases.md | 2 +- docs/release_notes_128t_7.0.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/about_releases.md b/docs/about_releases.md index 0beb36bf77e..1c9a92f76f0 100644 --- a/docs/about_releases.md +++ b/docs/about_releases.md @@ -56,7 +56,7 @@ However, issues resolved in `4.3.12`, which was released on 3/12/2021 are not ad | -- | -- | -- | -- | -- | -- | -- | | Release 7.2 | [7.2.0](release_notes_128t_7.2.md#release-720-29r1) | July 1, 2026 | [7.2.1](release_notes_128t_7.2.md#release-721-1r1) | LTS | January 1, 2029 | July 1, 2029 | | Release 7.1 | [7.1.0](release_notes_128t_7.1.md#release-710-50r1) | December 4, 2025 | [7.1.6](release_notes_128t_7.1.md#release-716-7-sts) | STS | March 10, 2027 | September 10, 2027 | -| Release 7.0 | [7.0.1](release_notes_128t_7.0.md#release-701-1r1) | October 14, 2025 | [7.0.5](release_notes_128t_7.0.md#release-705-9-lts) | LTS | August 24, 2028 | February 24, 2029 | +| Release 7.0 | [7.0.1](release_notes_128t_7.0.md#release-701-1r1) | October 14, 2025 | [7.0.5](release_notes_128t_7.0.md#release-705-10-lts) | LTS | August 24, 2028 | February 24, 2029 | | Release 6.3 | [6.3.0](release_notes_128t_6.3.md#release-630-107r1) | September 30, 2024 | [6.3.7-6-sts](release_notes_128t_6.3.md#release-637-6-sts) | STS | May 6, 2026 | November 6, 2026 | | Release 6.2 | [6.2.0](release_notes_128t_6.2.md#release-620-39r1) | November 16, 2023 | [6.2.12-3-lts](release_notes_128t_6.2.md#release-6212-3-lts) | LTS | September 6, 2026 | March 6, 2027 | diff --git a/docs/release_notes_128t_7.0.md b/docs/release_notes_128t_7.0.md index c7c2aa581e1..99b838f5551 100644 --- a/docs/release_notes_128t_7.0.md +++ b/docs/release_notes_128t_7.0.md @@ -70,9 +70,9 @@ After the installation of SSR 7.x, it is not possible to downgrade to a 6.x vers **[Rollback](intro_rollback.md) (to the previously installed version) is supported.** -## Release 7.0.5-9-lts +## Release 7.0.5-10-lts -**Release Date:** July 27, 2026 +**Release Date:** July 30, 2026 ### New Features From 7164c203daca67d147e760144c1449b19c5de023 Mon Sep 17 00:00:00 2001 From: Chris Date: Thu, 30 Jul 2026 12:37:49 -0400 Subject: [PATCH 07/10] adding 65411. --- docs/release_notes_128t_7.0.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/release_notes_128t_7.0.md b/docs/release_notes_128t_7.0.md index 99b838f5551..56a8d4e8190 100644 --- a/docs/release_notes_128t_7.0.md +++ b/docs/release_notes_128t_7.0.md @@ -334,6 +334,8 @@ After the installation of SSR 7.x, it is not possible to downgrade to a 6.x vers ------ - **I95-65410 Incorrect RBAC requirements for certificate API:** Resolved an issue where the POST `/api/v1/certificate` endpoint required READ permission for the entire configuration instead of WRITE permission, allowing unintended access. ------ +- **I95-65411 Show commands adding erroneous output:** Resolved an issue where `show peer router all force` (and other multi-router show commands) was adding unrelated information to the output of the command. +------ - **I95-65431 SSR failing to sync with NTP server:** Resolved an issue where the SSR failed to synchronize with configured NTP servers after boot, requiring manual intervention to restore time synchronization. ------ - **I95-65432 Conflux process crash during upgrade:** Resolved an issue where the Conflux process exited unexpectedly during or after an upgrade, causing temporary loss of analytics data collection. From 057c091fd488fcb5df008aa109729f99f507f54a Mon Sep 17 00:00:00 2001 From: Chris Date: Thu, 30 Jul 2026 14:52:20 -0400 Subject: [PATCH 08/10] add 65769 to 7.0.5, and correct the wording in 7.1.6. --- docs/release_notes_128t_7.0.md | 2 ++ docs/release_notes_128t_7.1.md | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/release_notes_128t_7.0.md b/docs/release_notes_128t_7.0.md index 56a8d4e8190..c76afbc9954 100644 --- a/docs/release_notes_128t_7.0.md +++ b/docs/release_notes_128t_7.0.md @@ -360,6 +360,8 @@ After the installation of SSR 7.x, it is not possible to downgrade to a 6.x vers ------ - **I95-65754 Highway Crash on Shutdown Due to Static Sessions:** Resolved an issue where the highway process crashed during shutdown on HA nodes performing a downgrade. Static sessions were not being cleared during the shutdown sequence, causing a use-after-free condition when session destructors ran after the worker thread pool had already been destroyed. Static sessions are now properly cleared alongside the session table during shutdown, preventing the crash. ------ +- **I95-65769 Minion connector update:** Resolved an issue where runtime RPM upgrades of the minion-connector on SSR400-series platforms failed to start due to missing IMA file signatures, resulting in loss of conductor connectivity. +------ - **I95-65797 ESKM Peering Stays Down After Late Metadata Key:** Resolved an issue where ESKM peering remained down when BFD received the local metadata key late because retransmit timers were not being restarted after their initial firing. ------ - **I95-65850 Redundant conductor fails upgrade:** Resolved an issue where runtime RPM upgrades of the minion-connector on SSR400-series platforms failed to start due to missing IMA file signatures, resulting in loss of conductor connectivity. diff --git a/docs/release_notes_128t_7.1.md b/docs/release_notes_128t_7.1.md index c06fd9adba1..3ba0333bd59 100644 --- a/docs/release_notes_128t_7.1.md +++ b/docs/release_notes_128t_7.1.md @@ -233,7 +233,7 @@ An issue has been identified when onboarding SSR routers installed with older ve ------ - **I95-65719 Secure Conductor Onboarding (SCO) failing:** Resolved an issue where Secure Conductor Onboarding (SCO) failed when using RSA certificates in full chain format, incorrectly reporting that only RSA certificates are supported. ------ -- **I95-65769 Minion connector update:** Updated the minion connector to version 1.7.6, incorporating connectivity reliability improvements. +- **I95-65769 Minion connector update:** Resolved an issue where runtime RPM upgrades of the minion-connector on SSR400-series platforms failed to start due to missing IMA file signatures, resulting in loss of conductor connectivity. ------ - **WAN-4774 Configuration model list key derivation:** Improved internal configuration model handling by deriving list keys from the consolidated configuration model instead of using a hardcoded path map, improving accuracy for Mist-managed deployments. From 15f3f863333ca42d9374f9a03ae6da56cb6635b1 Mon Sep 17 00:00:00 2001 From: Chris Date: Thu, 6 Aug 2026 08:06:29 -0400 Subject: [PATCH 09/10] release date change --- docs/release_notes_128t_7.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release_notes_128t_7.0.md b/docs/release_notes_128t_7.0.md index c76afbc9954..27bb31c3728 100644 --- a/docs/release_notes_128t_7.0.md +++ b/docs/release_notes_128t_7.0.md @@ -72,7 +72,7 @@ After the installation of SSR 7.x, it is not possible to downgrade to a 6.x vers ## Release 7.0.5-10-lts -**Release Date:** July 30, 2026 +**Release Date:** August 6, 2026 ### New Features From fc044651541149970615bebd78dee1d4abbf9d3a Mon Sep 17 00:00:00 2001 From: Chris Date: Thu, 6 Aug 2026 08:09:48 -0400 Subject: [PATCH 10/10] build number update --- docs/about_releases.md | 2 +- docs/release_notes_128t_7.0.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/about_releases.md b/docs/about_releases.md index 5929cf31493..b70bc076142 100644 --- a/docs/about_releases.md +++ b/docs/about_releases.md @@ -56,7 +56,7 @@ However, issues resolved in `4.3.12`, which was released on 3/12/2021 are not ad | -- | -- | -- | -- | -- | -- | -- | | Release 7.2 | [7.2.0](release_notes_128t_7.2.md#release-720-29r1) | July 1, 2026 | [7.2.1](release_notes_128t_7.2.md#release-721-1r1) | LTS | January 1, 2029 | July 1, 2029 | | Release 7.1 | [7.1.0](release_notes_128t_7.1.md#release-710-50r1) | December 4, 2025 | [7.1.6](release_notes_128t_7.1.md#release-716-7-sts) | STS | March 10, 2027 | September 10, 2027 | -| Release 7.0 | [7.0.1](release_notes_128t_7.0.md#release-701-1r1) | October 14, 2025 | [7.0.5](release_notes_128t_7.0.md#release-705-10-lts) | LTS | August 24, 2028 | February 24, 2029 | +| Release 7.0 | [7.0.1](release_notes_128t_7.0.md#release-701-1r1) | October 14, 2025 | [7.0.5](release_notes_128t_7.0.md#release-705-12-lts) | LTS | August 24, 2028 | February 24, 2029 | | Release 6.3 | [6.3.0](release_notes_128t_6.3.md#release-630-107r1) | September 30, 2024 | [6.3.7-6-sts](release_notes_128t_6.3.md#release-637-6-sts) | STS | May 6, 2026 | November 6, 2026 | | Release 6.2 | [6.2.0](release_notes_128t_6.2.md#release-620-39r1) | November 16, 2023 | [6.2.13-1-lts](release_notes_128t_6.2.md#release-6213-1-lts) | LTS | September 6, 2026 | March 6, 2027 | diff --git a/docs/release_notes_128t_7.0.md b/docs/release_notes_128t_7.0.md index 27bb31c3728..76c01629ef7 100644 --- a/docs/release_notes_128t_7.0.md +++ b/docs/release_notes_128t_7.0.md @@ -70,7 +70,7 @@ After the installation of SSR 7.x, it is not possible to downgrade to a 6.x vers **[Rollback](intro_rollback.md) (to the previously installed version) is supported.** -## Release 7.0.5-10-lts +## Release 7.0.5-12-lts **Release Date:** August 6, 2026